<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>forensic - RiskInsight</title>
	<atom:link href="https://www.riskinsight-wavestone.com/en/tag/forensic/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.riskinsight-wavestone.com/en/tag/forensic/</link>
	<description>The cybersecurity &#38; digital trust blog by Wavestone&#039;s consultants</description>
	<lastBuildDate>Thu, 16 Apr 2026 12:55:26 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.riskinsight-wavestone.com/wp-content/uploads/2024/02/Blogs-2024_RI-39x39.png</url>
	<title>forensic - RiskInsight</title>
	<link>https://www.riskinsight-wavestone.com/en/tag/forensic/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>StormCell: How our blue team scales up incident response</title>
		<link>https://www.riskinsight-wavestone.com/en/2026/04/stormcell-how-our-blue-team-scales-up-incident-response/</link>
					<comments>https://www.riskinsight-wavestone.com/en/2026/04/stormcell-how-our-blue-team-scales-up-incident-response/#respond</comments>
		
		<dc:creator><![CDATA[Clément Gonnaud]]></dc:creator>
		<pubDate>Thu, 16 Apr 2026 12:10:04 +0000</pubDate>
				<category><![CDATA[Ethical Hacking & Incident Response]]></category>
		<category><![CDATA[Focus]]></category>
		<category><![CDATA[blue team]]></category>
		<category><![CDATA[CERT]]></category>
		<category><![CDATA[CERT-W]]></category>
		<category><![CDATA[CERT-W Stormcell]]></category>
		<category><![CDATA[CERT-Wavestone]]></category>
		<category><![CDATA[Cyber incident response]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<category><![CDATA[forensic]]></category>
		<category><![CDATA[Incident response]]></category>
		<category><![CDATA[Indicators of Compromise]]></category>
		<category><![CDATA[investigation]]></category>
		<category><![CDATA[IoC]]></category>
		<category><![CDATA[SIEM]]></category>
		<category><![CDATA[Windows Forensics]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=29788</guid>

					<description><![CDATA[<p>CERT-Wavestone handles cybersecurity incidents of all types and magnitudes, from investigating a single suspicious workstation to large-scale overnight ransomware outbreaks. After 10 years of forensics investigations and crisis management at Wavestone, one thing stands out: attackers are more sophisticated than...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2026/04/stormcell-how-our-blue-team-scales-up-incident-response/">StormCell: How our blue team scales up incident response</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com/en/">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p style="text-align: justify;"><strong>CERT-Wavestone handles cybersecurity incidents of all types and magnitudes,</strong> from investigating a single suspicious workstation to large-scale overnight ransomware outbreaks. After 10 years of forensics investigations and crisis management at Wavestone, one thing stands out: <strong>attackers are more sophisticated than ever, and every hour matters for blue teams.</strong></p>
<p style="text-align: justify;">When CERT-Wavestone is called, three priorities drive every action and decision making:<strong> containing the threat, understanding the attack and eradicating the attacker.</strong> To achieve these objectives,<strong> establishing visibility</strong> across the impacted perimeter is the <strong>critical first step</strong>.</p>
<p style="text-align: justify;">In such contexts where<strong> speed and effectiveness are mandatory,</strong> CERT-Wavestone relies on many tools: cybersecurity solutions (EDR, SIEM, etc.), open-source collectors and parsers, and its own internally developed tools.</p>
<p style="text-align: justify;">Among these, <strong>StormCell stands out as an open-source tool developed by CERT-Wavestone</strong> to automate Windows triage processing and<strong> free analysts’ time to focus on what truly matters: the investigation itself.</strong></p>
<p style="text-align: justify;"> </p>
<h2 style="text-align: justify;">Contain. Understand. Eradicate. Every hour counts.</h2>
<h3 style="text-align: justify;">Increasingly effective attackers</h3>
<p style="text-align: justify;">Several cybersecurity incident response actors agree that <strong>certain types of cyberattacks</strong>, such as ransomware and data exfiltration attacks, <strong>are becoming increasingly fast paced.</strong> The charts published by Zero Day Clock (<span style="color: #451dc7;"><a style="color: #451dc7;" href="https://zerodayclock.com">https://zerodayclock.com</a></span>) illustrate this trend:</p>
<ul style="text-align: justify;">
<li><strong>A growing share of zero day vulnerabilities are being actively exploited each year</strong>, rising from 16% in 2018 to 71% in 2026,</li>
<li><strong>A decreasing time to exploit</strong> (TTE) for these vulnerabilities is noted, falling from several years in 2018 to less than one day in 2026.</li>
</ul>
<p style="text-align: justify;">This is also a <strong>commonly shared observation among Wavestone’s incident response team</strong> in its latest annual report (see: <a href="https://www.wavestone.com/en/insight/2025-wavestone-cert-report/"><span style="color: #451dc7;">CERT-Wavestone annual report</span></a>), which is based on a set of around twenty major incidents affecting Wavestone clients during 2025:</p>
<figure id="attachment_29792" aria-describedby="caption-attachment-29792" style="width: 1688px" class="wp-caption aligncenter"><img fetchpriority="high" decoding="async" class="size-full wp-image-29792" style="border: 1px solid #000000;" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/1-Ransomware-An-end-to-end-attack-in-15-days-e1776342358749.png" alt="Ransomware - An end-to-end attack in 1,5 days" width="1688" height="943" /><figcaption id="caption-attachment-29792" class="wp-caption-text"><em>Ransomware &#8211; An end-to-end attack in 1,5 days</em></figcaption></figure>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">As a result, to contain and remediate incidents as early as possible our incident response team <strong>must be effective in its analysis and decision‑making</strong>. This requires an especially <strong>quick understanding of the context and of the incident.</strong></p>
<p style="text-align: justify;"> </p>
<h2 style="text-align: justify;">The anatomy of a CERT-Wavestone investigation</h2>
<p style="text-align: justify;">Each CERT-Wavestone investigation typically begins with a limited scope before rapidly expanding to cover dozens of systems as the situation evolves:</p>
<ul style="text-align: justify;">
<li><strong>Stage 1 — Initial analysis:</strong> Once the perimeter is secured and initial containment measures are in place, CERT-Wavestone is engaged and assesses the situation on a <strong>handful of suspicious or confirmed compromised machines.</strong> If the client has a SOC or CERT, existing telemetry and detection tooling provide an immediate starting point. If not, CERT-Wavestone leverages available resources to perform initial forensic collections and <strong>outline an initial overview of the attack.</strong></li>
<li><strong>Stage 2 — Broader investigation:</strong> As the killchain becomes clearer, the investigation expands to dozens of compromised machines. When the client’s infrastructure cannot support <strong>large-scale acquisitions,</strong> CERT-Wavestone <strong>deploys its own forensic collection tool to gather triage data efficiently.</strong></li>
<li><strong>Stage 3 — IoC hunting across the entire IS:</strong> Indicators of compromise are established, and the search extends to the entire information system. If not already in place, <strong>EDR or alternative tools can be deployed by CERT-Wavestone</strong>. Large-scale IoC sweeps rely on the built-in capabilities of the EDR, SIEM or log collection platforms.</li>
</ul>
<p style="text-align: justify;">Whether on Stage 1 or Stage 2, each collection requires the<strong> same standardized pipeline:</strong> retrieval, parsing, ingestion, Indicator of Compromise (IoC) identification, and cross-collection correlation. Consequently, <strong>manual forensic processing consumes valuable time and effort,</strong> forcing analysts to handle routine data operations instead of focusing on investigations.</p>
<p style="text-align: justify;"><strong>Handling each collection individually</strong> by each analyst <strong>is slow, prone to errors and discrepancies,</strong> and <strong>poorly scales</strong> to the <strong>number of machines</strong> to investigate, and the<strong> number of analysts</strong> mobilized on the incident.</p>
<p style="text-align: justify;"><strong>This is precisely the problem that StormCell, a tool developed by the CERT-W, was designed to solve.</strong></p>
<p style="text-align: justify;"> </p>
<h2 style="text-align: justify;">StormCell : what is it ?</h2>
<p style="text-align: justify;">StormCell is a tool developed by CERT-Wavestone to address a <strong>long-standing need:</strong> a Windows forensic analysis orchestrator that <strong>adapts to multiple investigation contexts, automates the end-to-end processing of triage data</strong> from artifact extraction to centralized ingestion into a SIEM platform, and frees analysts to <strong>focus on the investigation</strong>, not the pipeline.</p>
<p style="text-align: justify;">Developed in Python to make it easy to use, <strong>the tool was recently published on GitHub</strong> so that the entire incident response community can access it as open source: <strong><span style="color: #451dc7;"><a style="color: #451dc7;" href="https://github.com/CERT-W/StormCell">https://github.com/CERT-W/StormCell</a></span></strong>. <strong>CERT‑Wavestone intends for this tool to be used, tested, and improved directly by the community.</strong></p>
<p style="text-align: justify;">Although other similar tools have been developed and released since the beginning of its development, <strong>StormCell stands out through its modularity and its underlying technology choices, both geared towards speed and adaptability.</strong></p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: justify;">Three key stages : ingest, process and enrich, centralize</h3>
<p style="text-align: justify;">StormCell’s workflow is based on three key stages:</p>
<figure id="attachment_29799" aria-describedby="caption-attachment-29799" style="width: 1750px" class="wp-caption aligncenter"><img decoding="async" class="wp-image-29799 size-full" style="border: 1px solid #000000;" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/2-Three-key-stages-Ingest-Process-and-Enrich-Centralize_old.png" alt="Three key stages - Ingest, Process and Enrich, Centralize_old" width="1750" height="774" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/2-Three-key-stages-Ingest-Process-and-Enrich-Centralize_old.png 1750w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/2-Three-key-stages-Ingest-Process-and-Enrich-Centralize_old-432x191.png 432w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/2-Three-key-stages-Ingest-Process-and-Enrich-Centralize_old-71x31.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/2-Three-key-stages-Ingest-Process-and-Enrich-Centralize_old-768x340.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/2-Three-key-stages-Ingest-Process-and-Enrich-Centralize_old-1536x679.png 1536w" sizes="(max-width: 1750px) 100vw, 1750px" /><figcaption id="caption-attachment-29799" class="wp-caption-text"><em>Three key stages &#8211; Ingest, Process and Enrich, Centralize</em></figcaption></figure>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">To properly perform those steps, StormCell relies on several third-party tools : whether it is for artifacts collection with <span style="color: #451dc7;"><a style="color: #451dc7;" href="https://www.kroll.com/en/services/cyber/incident-response-recovery/kroll-artifact-parser-and-extractor-kape">Kape</a></span>, enrichment and ingestion of logs into a SIEM with <span style="color: #451dc7;"><a style="color: #451dc7;" href="https://vector.dev/">Vector</a></span> or SIEM built-in functionalities with <a href="https://www.splunk.com/"><span style="color: #451dc7;">Splunk</span></a> or <a href="https://www.elastic.co/fr/elastic-stack"><span style="color: #451dc7;">ELK</span>.</a></p>
<p style="text-align: justify;">Despite these dependencies, <strong>the tool only needs to be installed and configured once on a single workstation before it can be used throughout the incident response by all analysts.</strong></p>
<p> </p>
<h3 style="text-align: justify;">Extract and Ingest</h3>
<p style="text-align: justify;">StormCell is designed to work with <strong>two types of forensics collections:</strong> disk images and artifact ZIP extracts produced by Kape.</p>
<p style="text-align: justify;">When StormCell is run against a disk image, it directly <strong>uses Kape to extract the relevant artifacts.</strong></p>
<p style="text-align: justify;">Compatible ZIP archives can also be generated with the CERT‑Wavestone tool <a href="https://github.com/CERT-W/CollectRaptor"><span style="color: #451dc7;">CollectRaptor</span></a>, which is based on Velociraptor, or with any other collection performed using the Velociraptor KapeTarget module.</p>
<p> </p>
<h3 style="text-align: justify;">Process and Enrich</h3>
<p style="text-align: justify;">Once raw artifacts are extracted, the core of the processing chain comes into play: <strong>the artifacts are processed with Kape.</strong></p>
<p style="text-align: justify;">Kape is used because it is a <strong>tool dedicated to Windows forensics artifacts parsing</strong>. It allows, through modules, to automatically execute several tools such as the <a href="https://ericzimmerman.github.io/#!index.md"><span style="color: #451dc7;">Zimmerman Suite</span></a>, <span style="color: #451dc7;"><a style="color: #451dc7;" href="https://github.com/Yamato-Security/hayabusa">Hayabusa</a></span> or even <span style="color: #451dc7;"><a style="color: #451dc7;" href="https://github.com/WithSecureLabs/chainsaw">Chainsaw</a></span>. Moreover, logs parsed by Kape are <strong>directly organized on the filesystem by artifact category</strong> (executions, filesystem, registries, etc.) allowing to perform efficient local and manual analysis whenever necessary.</p>
<p style="text-align: justify;">As a whole, StormCell <strong>uses Kape to run more than thirty artifact‑processing tools</strong>, each covering a complementary analysis scope and <strong>ensuring a high level of exhaustiveness for the elements available to analysts.</strong></p>
<p style="text-align: justify;">All these tools <strong>can be easily downloaded through the StormCell installation command</strong> described in its Readme. <strong>StormCell’s modular configuration</strong> also makes it <strong>simple to integrate new artifact‑processing tools as needed.</strong></p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: justify;">Centralize</h3>
<p style="text-align: justify;">Once the artifacts have been parsed by Kape,<strong> the generated logs are normalized, enriched, and sent to a SIEM platform through Vector,</strong> an open‑source tool <strong>particularly well‑suited to handling large volumes of data.</strong></p>
<p style="text-align: justify;">To determine which artifacts to send, as well as the normalizations and enrichments to apply, <strong>Vector relies on its TOML configuration files. These files include parsers that structure raw data into meaningful fields, and sinks (output destinations) that route events to the target environment,</strong> whether a client’s ELK or Splunk instance, or an internal ELK instance dedicated to CERT‑Wavestone.</p>
<p style="text-align: justify;">To retrieve these configurations, <strong>StormCell uses the configuration files from the GitHub repository <span style="color: #451dc7;"><a style="color: #451dc7;" href="https://github.com/Qazeer/Vector4IR">Vector4IR</a> </span></strong>whose CERT‑Wavestone is a contributor.</p>
<p> </p>
<h3 style="text-align: justify;">A major time-saver for analysts</h3>
<p style="text-align: justify;">By chaining these three stages together, <strong>each forensic collection only needs to be processed once before it becomes available in the SIEM for all analysts</strong>. This makes it possible to carry out global investigations while fully <strong>leveraging the built‑in capabilities of SIEM technologies:</strong> search languages, dashboards and saved searches, lookups and data tables, correlation features, and so on.</p>
<p style="text-align: justify;">The retrieval of collections and their<strong> handling with StormCell can be handled by a single analyst, while the others can already begin investigating in real time</strong> as the logs are being sent.</p>
<p> </p>
<h2 style="text-align: justify;">StormCell execution modes</h2>
<p style="text-align: justify;">According to the setup and configuration details provided in the Readme of the <span style="color: #451dc7;"><a style="color: #451dc7;" href="https://github.com/CERT-W/StormCell">Github repository</a></span>,<strong> a dedicated setup command can be used to download all the tools required</strong> for StormCell to properly operate. In addition, <strong>numerous options,</strong> described in the default configuration file and the help command, <strong>are available to accommodate different execution requirements.</strong></p>
<p style="text-align: justify;">For example, <strong>it is possible to specify which Kape modules should run, or to force a fresh processing and re‑ingestion of logs.</strong> Because StormCell <strong>uses a local database file to maintain state across successive executions,</strong> its behavior can be completely reset by removing this database.</p>
<p style="text-align: justify;">Finally, StormCell offers <strong>three complementary execution modes,</strong> designed to adapt to every investigation context, from small scopes to large‑scale crises, and to let analysts be operational as quickly as possible, regardless of the types of resources available to them.</p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: justify;">Once mode: small scopes and need for rapid investigation</h3>
<p style="text-align: justify;"><strong>Designed specifically for targeted investigations</strong> on a limited scope, this mode <strong>handles a set of preexisting collections in a single execution.</strong></p>
<p style="text-align: justify;">After an initial configuration by the analysts, <strong>the tool executes and enables the analysis of the collections without any additional steps.</strong></p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: justify;">Mountpoint mode: local collect and analysis in a single command</h3>
<p style="text-align: justify;">Mountpoint is StormCell’s end‑to‑end execution mode:<strong> from collecting artifacts on a disk or a locally mounted forensic copy all the way to sending them into the SIEM.</strong></p>
<p style="text-align: justify;">This mode is preferred when analyzing disk copies, and it <strong>natively includes artifact extraction through Kape’s built‑in capabilities.</strong> Once the extraction is complete, <strong>its behavior is similar to the Once mode.</strong></p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: justify;">Loop mode : Continuous processing for large‑scale investigations</h3>
<p style="text-align: justify;">CERT-Wavestone’s preferred mode, it is <strong>designed for large‑scale crises</strong> and aims to enable StormCell to run continuously throughout the incident. Once configured, the tool monitors a designated folder and automatically processes all collections placed there by the analysts.</p>
<p style="text-align: justify;"><strong>This centralized drop‑off folder becomes the logistical core of the investigation:</strong> once it is set up, analysts no longer need to worry about processing collections, whether the incident lasts a few days or several weeks, and<strong> can simply deposit the triage images then access the processed data in the SIEM platform being used.</strong></p>
<p style="text-align: justify;">Finally, <strong>two levels of artifact processing can be configured</strong> to best match analysts’ needs when investigations are carried out <strong>on new machines:</strong></p>
<ul style="text-align: justify;">
<li><strong>Short</strong>: a <strong>lightweight treatment</strong> prioritizing speed, suited to surface‑level analyses that quickly assess a machine and help prioritize investigations.</li>
<li><strong>Long</strong>: an <strong>exhaustive treatment</strong> that activates in‑depth analysis modules, intended for detailed investigations requiring a full view of the machine’s activity.</li>
</ul>
<p style="text-align: justify;"><strong>The modules to be executed in both modes can be freely configured</strong> by the analyst using StormCell. These two complementary modes make it possible to deposit archives initially into the <strong>Short folder to obtain a quick but non-exhaustive list of artifacts</strong>, then later in the investigations, deposit them into the <strong>Long folder to obtain an exhaustive list of artifacts.</strong></p>
<p style="text-align: justify;"> </p>
<h2 style="text-align: justify;">StormCell : What’s next ?</h2>
<p style="text-align: justify;">StormCell is currently a key tool frequently used within CERT‑Wavestone to accelerate the processing of Windows artifacts during its investigations.</p>
<p style="text-align: justify;"><strong>Its orchestration capabilities are planned to be extended to investigations on Cloud environments, particularly M365, as well as Linux and macOS,</strong> while also exploring the integration of new forensic sources and advanced technologies such as the use of AI.</p>
<p style="text-align: justify;">That’s why CERT‑Wavestone invites you to <strong>contribute to its evolution:</strong> forks, pull requests, and feedback from your operational experience are welcome, so that StormCell can become the most suitable tool possible for incident response needs.</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2026/04/stormcell-how-our-blue-team-scales-up-incident-response/">StormCell: How our blue team scales up incident response</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com/en/">RiskInsight</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.riskinsight-wavestone.com/en/2026/04/stormcell-how-our-blue-team-scales-up-incident-response/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Zimbra Mailbox Compromise: From Analysis to Remediation (Part 2)</title>
		<link>https://www.riskinsight-wavestone.com/en/2026/01/zimbra-mailbox-compromise-from-analysis-to-remediation-part-2/</link>
					<comments>https://www.riskinsight-wavestone.com/en/2026/01/zimbra-mailbox-compromise-from-analysis-to-remediation-part-2/#respond</comments>
		
		<dc:creator><![CDATA[Evenson Jeunesse]]></dc:creator>
		<pubDate>Wed, 07 Jan 2026 09:47:27 +0000</pubDate>
				<category><![CDATA[Deep-dive]]></category>
		<category><![CDATA[Ethical Hacking & Incident Response]]></category>
		<category><![CDATA[Amavis]]></category>
		<category><![CDATA[CERT]]></category>
		<category><![CDATA[CERT-W]]></category>
		<category><![CDATA[forensic]]></category>
		<category><![CDATA[Incident response]]></category>
		<category><![CDATA[incident response CERT-W]]></category>
		<category><![CDATA[investigation]]></category>
		<category><![CDATA[Spam]]></category>
		<category><![CDATA[spoofing]]></category>
		<category><![CDATA[Zimbra]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=28717</guid>

					<description><![CDATA[<p>It&#8217;s time to begin the second part of our Zimbra investigation. If you haven&#8217;t read the first part yet, we strongly recommend starting HERE before continuing.In this second part, we&#8217;ll assume that an attacker has managed to compromise a Zimbra...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2026/01/zimbra-mailbox-compromise-from-analysis-to-remediation-part-2/">Zimbra Mailbox Compromise: From Analysis to Remediation (Part 2)</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com/en/">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p style="text-align: justify;">It&#8217;s time to begin the second part of our Zimbra investigation. If you haven&#8217;t read the first part yet, we strongly recommend starting <a href="https://www.riskinsight-wavestone.com/en/2025/12/zimbra-mailbox-compromise-from-analysis-to-remediation/"><span style="color: #000080;">HERE</span> </a>before continuing.<br />In this second part, we&#8217;ll assume that an attacker has managed to compromise a Zimbra account and that we&#8217;ve already identified their entry point (initial access). We&#8217;ll now analyze how to leverage Zimbra logs to identify the malicious actions the attacker could have carried out from their access. We&#8217;ll then see what remediation measures to implement to prevent this type of incident and respond to it effectively.<br />Get comfortable (and make sure your coffee is still hot): let&#8217;s dive right into the heart of the matter!</p>
<p> </p>
<h2>Investigating in a Zimbra Environment</h2>
<p style="text-align: justify;">Now that Zimbra’s infrastructure and logs <strong>hold no secrets for you</strong>, it’s time to get <strong>practical</strong>.</p>
<p style="text-align: justify;">Imagine you’re a forensic analyst, arriving early one morning, when suddenly: <strong>the phone rings.</strong> You’re being called because several users are reporting that emails, <strong>they didn’t send</strong> are appearing in their “Sent” folder.</p>
<p style="text-align: justify;"><strong>Panic ensues</strong>! Users are afraid to log into their mailboxes, and some administrators start wondering whether the <strong>Zimbra infrastructure itself</strong> might be <strong>compromised</strong>.</p>
<p style="text-align: justify;">Since you know Zimbra inside out, the team naturally turns to you to <strong>investigate this incident</strong>!</p>
<p style="text-align: justify;">As a forensic analyst, many questions come to mind:</p>
<ul style="text-align: justify;">
<li><em>Have the accounts really been compromised? If so, how and since when?</em></li>
<li><em>How many users are affected?</em></li>
<li><em>What is the attacker’s objective, and what malicious actions have been carried out from these accounts?</em></li>
<li><em>Have the mail server or other Zimbra components been compromised?</em></li>
<li><em>And, most importantly: do I have time for a coffee </em><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2615.png" alt="☕" class="wp-smiley" style="height: 1em; max-height: 1em;" /><em> before the information hunt begins?</em></li>
</ul>
<p style="text-align: justify;">To help you in your investigation, we’ll look at how to answer these questions through Zimbra log analysis. But first, here are some tips to guide your investigation.</p>
<p style="text-align: justify;">During incident response, it’s easy to feel <strong>overwhelmed</strong> by the <strong>amount of logs</strong> <strong>and</strong> <strong>events</strong> <strong>to analyze</strong>. Keeping a clear line of reasoning is essential. A few simple practices can help maintain focus:</p>
<ul style="text-align: justify;">
<li><strong>Confirm:</strong> Verify the information that triggered the incident. Before diving deeper, ensure the initial alert is accurate. This undeniable baseline will serve as the foundation for the entire investigation.</li>
<li><strong>Correlate:</strong> Cross-check suspicious IP addresses and domains with other sources (proxy, VPN, EDR, online antivirus databases). This provides additional context related to the identified indicator.</li>
<li><strong>Pivot:</strong> Use the collected information to expand your analysis. An attacker might reuse the same IP address or user-agent across multiple accounts. Conversely, a compromised account might be accessed from different IP addresses or user-agents. Pivoting can reveal other indicators that help identify the attacker.</li>
<li><strong>Compare patterns:</strong> Even without direct access to email content or attachments, certain elements can reveal similarities (file size, identical filenames, repeated sequences of actions after account compromise). This behavioral analysis approach can help identify multiple users compromised by the same attacker. Such hypotheses should be formulated and handled cautiously, but they can be valuable for confirming intuition.</li>
<li><strong>Ensure log preservation:</strong> This may seem obvious, but as soon as an incident is detected, securing the logs is critical. Collect logs immediately from the entire Zimbra infrastructure and extend their retention period to prevent automatic deletion. Because let’s be honest: logs disappearing just as the forensic team arrives is a way too common scenario… one you definitely want to avoid.</li>
</ul>
<p style="text-align: justify;">While these tips <strong>aren’t exhaustive</strong>, they provide a solid foundation for conducting an analysis that is both <strong>fast</strong> and <strong>efficient</strong>.</p>
<p> </p>
<h2>Post-compromise activity</h2>
<h3>Analysis of user activity  </h3>
<p style="text-align: justify;"><strong>What mastery</strong>! You have successfully traced back to the initial entry point used by the attacker to compromise user accounts. You have identified the malicious IP addresses, spotted the User-Agent used, and even uncovered other compromised accounts thanks to this information. In short, clean and efficient work. Impressive!</p>
<p style="text-align: justify;">But… we still haven’t answered a crucial question: &#8220;<em>What was the attacker’s objective, and what actions did they take from the compromised accounts?</em>&#8220;</p>
<p style="text-align: justify;">To find out, you now need to analyze the <strong>attacker’s activity within the Zimbra infrastructure</strong>. Once authenticated, an attacker can indeed:</p>
<ul style="text-align: justify;">
<li>Launch an <strong>internal</strong> or <strong>external</strong> <strong>phishing</strong> <strong>campaign</strong></li>
<li>Send messages aimed at tricking a colleague, partner, or client into taking action (CEO fraud, fictitious urgent requests, etc.)</li>
<li><strong>Exfiltrate sensitive data</strong> from mailboxes</li>
</ul>
<p style="text-align: justify;">In this section, we will examine <strong>some examples of suspicious activities</strong> that can be identified from Zimbra logs.</p>
<p> </p>
<h4>Sending a large number of emails in a short amount of time</h4>
<p style="text-align: justify;">You want to determine whether compromised accounts were used to co<strong>nduct additional phishing attempts</strong> by sending <strong>mass emails</strong> to <strong>internal</strong> or <strong>external</strong> <strong>recipients</strong>. Unfortunately, Zimbra does not provide a native event that allows you to retrieve this information directly. However, a simple <strong>grep</strong> command will get the job done.</p>
<p style="text-align: justify;">The command below extracts the <strong>number of messages sent by each user</strong> over a specific period (here, from <strong>November</strong> <strong>21 to November 27, 2025</strong>):</p>
<figure id="attachment_28721" aria-describedby="caption-attachment-28721" style="width: 1377px" class="wp-caption aligncenter"><img decoding="async" class="size-full wp-image-28721" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/1-Retrieving-the-number-of-emails-sent-per-user-mailbox.log_.png" alt="Retrieving the number of emails sent per user (mailbox.log)" width="1377" height="444" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/1-Retrieving-the-number-of-emails-sent-per-user-mailbox.log_.png 1377w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/1-Retrieving-the-number-of-emails-sent-per-user-mailbox.log_-437x141.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/1-Retrieving-the-number-of-emails-sent-per-user-mailbox.log_-71x23.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/1-Retrieving-the-number-of-emails-sent-per-user-mailbox.log_-768x248.png 768w" sizes="(max-width: 1377px) 100vw, 1377px" /><figcaption id="caption-attachment-28721" class="wp-caption-text"><em>Retrieving the number of emails sent per user (mailbox.log)</em></figcaption></figure>
<p> </p>
<p style="text-align: justify;">In this example, <strong>user25@wavestone.corp</strong> clearly <strong>stands out</strong> with a <strong>sending volume far above normal</strong>. An <strong>unusually high volume</strong> of emails sent from a mailbox <strong>over a short period</strong> constitutes <strong>suspicious activity</strong>.</p>
<p style="text-align: justify;">In legitimate use, mass email sending is relatively rare and is generally associated with <strong>generic addresses</strong> or <strong>internal communication systems</strong> (e.g., newsletters, HR announcements). When a standard user account exhibits this type of behavior, it is important to:</p>
<ul style="text-align: justify;">
<li>Determine whether this is normal, recurring activity for the user</li>
<li>Check the sending time frame, IP address, and User-Agent</li>
<li>Verify whether any suspicious attachments were associated with the emails</li>
</ul>
<p style="text-align: justify;">Mass email sending can <strong>trigger built-in protection mechanisms</strong> in Zimbra, including <strong>quota rules</strong>. These thresholds are designed to limit the volume of messages sent by an account over a given period to prevent abuse, spam, or phishing campaigns.</p>
<p style="text-align: justify;">The two commands below allow you to retrieve events related to quota exceedances:</p>
<figure id="attachment_28723" aria-describedby="caption-attachment-28723" style="width: 1378px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28723" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/2-Retrieval-of-quota-overruns-mailbox.log_.png" alt="Retrieval of quota overruns (mailbox.log)" width="1378" height="146" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/2-Retrieval-of-quota-overruns-mailbox.log_.png 1378w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/2-Retrieval-of-quota-overruns-mailbox.log_-437x46.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/2-Retrieval-of-quota-overruns-mailbox.log_-71x8.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/2-Retrieval-of-quota-overruns-mailbox.log_-768x81.png 768w" sizes="auto, (max-width: 1378px) 100vw, 1378px" /><figcaption id="caption-attachment-28723" class="wp-caption-text"><em>Retrieval of quota overruns (mailbox.log)</em></figcaption></figure>
<figure id="attachment_28727" aria-describedby="caption-attachment-28727" style="width: 1375px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28727" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/3-Retrieval-of-quota-overruns-mail.log_.png" alt="Retrieval of quota overruns (mail.log)" width="1375" height="187" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/3-Retrieval-of-quota-overruns-mail.log_.png 1375w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/3-Retrieval-of-quota-overruns-mail.log_-437x59.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/3-Retrieval-of-quota-overruns-mail.log_-71x10.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/3-Retrieval-of-quota-overruns-mail.log_-768x104.png 768w" sizes="auto, (max-width: 1375px) 100vw, 1375px" /><figcaption id="caption-attachment-28727" class="wp-caption-text"><em>Retrieval of quota overruns (mail.log)</em></figcaption></figure>
<p> </p>
<p style="text-align: justify;">The appearance of error messages related to quota exceedances is a signal <strong>not to be ignored</strong>, because:</p>
<ul style="text-align: justify;">
<li>Either the legitimate user accidentally exceeded a quota</li>
<li>Or the account is being used fraudulently to send mass emails</li>
</ul>
<p style="text-align: justify;">Since this indicator can generate a <strong>large number of false positives</strong>, it is recommended to <strong>correlate it with other information</strong> in order to draw meaningful conclusions.</p>
<p> </p>
<h4>Sending an email to a large number of recipients</h4>
<p style="text-align: justify;">To avoid triggering a quota‑exceedance alert, a more seasoned attacker may adopt a more &#8220;<em>subtle</em>&#8221; strategy. Instead of sending <strong>dozens of individual</strong> emails (a noisy method), they may choose to send a <strong>single message</strong> addressed to a <strong>long list of recipients</strong>: an efficient way to optimize their phishing campaign.</p>
<p style="text-align: justify;">Fortunately for you, Zimbra logs make it possible to identify the <strong>number of recipients associated with each sent email</strong>, which makes this type of maneuver detectable without too much effort.</p>
<p style="text-align: justify;">The commands below allow you to identify emails sent to an unusually <strong>high number of recipients</strong>:</p>
<figure id="attachment_28729" aria-describedby="caption-attachment-28729" style="width: 1377px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28729" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/4-Retrieval-of-emails-sent-to-more-than-100-recipients-mail.log_.png" alt="Retrieval of emails sent to more than 100 recipients (mail.log)" width="1377" height="144" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/4-Retrieval-of-emails-sent-to-more-than-100-recipients-mail.log_.png 1377w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/4-Retrieval-of-emails-sent-to-more-than-100-recipients-mail.log_-437x46.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/4-Retrieval-of-emails-sent-to-more-than-100-recipients-mail.log_-71x7.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/4-Retrieval-of-emails-sent-to-more-than-100-recipients-mail.log_-768x80.png 768w" sizes="auto, (max-width: 1377px) 100vw, 1377px" /><figcaption id="caption-attachment-28729" class="wp-caption-text"><em>Retrieval of emails sent to more than 100 recipients (mail.log)</em></figcaption></figure>
<figure id="attachment_28731" aria-describedby="caption-attachment-28731" style="width: 1371px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28731" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/5-Retrieval-of-emails-sent-to-more-than-100-recipients-mailbox.log_.png" alt="Retrieval of emails sent to more than 100 recipients (mailbox.log)" width="1371" height="185" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/5-Retrieval-of-emails-sent-to-more-than-100-recipients-mailbox.log_.png 1371w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/5-Retrieval-of-emails-sent-to-more-than-100-recipients-mailbox.log_-437x59.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/5-Retrieval-of-emails-sent-to-more-than-100-recipients-mailbox.log_-71x10.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/5-Retrieval-of-emails-sent-to-more-than-100-recipients-mailbox.log_-768x104.png 768w" sizes="auto, (max-width: 1371px) 100vw, 1371px" /><figcaption id="caption-attachment-28731" class="wp-caption-text"><em>Retrieval of emails sent to more than 100 recipients (mailbox.log)</em></figcaption></figure>
<p> </p>
<p style="text-align: justify;">Here, you can observe that the user <strong>user25@wavestone.corp</strong> sent an email to <strong>211 recipients</strong>. Such behavior is clearly <strong>suspicious</strong>.</p>
<p style="text-align: justify;">In practice, it is <strong>rare</strong> for a <strong>personal email address</strong> to send a message to s<strong>everal dozen recipients simultaneously</strong>. This type of volume is usually associated with <strong>shared mailboxes</strong> or <strong>generic addresses</strong> (e.g., internal communications, HR services, institutional announcements).</p>
<p style="text-align: justify;">When a standard user account exhibits this kind of activity, it is essential to:</p>
<ul style="text-align: justify;">
<li>identify the usual communication practices within the organization</li>
<li>determine whether this sending volume is normal or recurrent for the user in question</li>
<li>examine the time window, IP address, and user agent used during the sending</li>
<li>check if any potentially malicious attachments were associated with the messages</li>
</ul>
<p style="text-align: justify;">To save time, it is often relevant to <strong>confirm directly with the user</strong> whether the sending was legitimate.</p>
<p style="text-align: justify;">The example presented here isolates sends containing <strong>more than 100 recipients</strong>. However, this <strong>threshold should be adjusted</strong> depending on:</p>
<ul>
<li style="text-align: justify;">the usual volume within the organization</li>
<li style="text-align: justify;">the type of accounts involved</li>
<li style="text-align: justify;">and the period covered by the logs analyzed</li>
</ul>
<p> </p>
<h4>Uploading suspicious attachments</h4>
<p style="text-align: justify;">Unlike email reception, the <strong>upload of suspicious attachments</strong> is better logged by Zimbra. Each time a user attaches a file to a new email, Zimbra carefully records the operation in its logs.</p>
<p style="text-align: justify;">Using the commands below, you can <strong>retrieve the attachments added to emails</strong> by a potentially compromised user:</p>
<figure id="attachment_28737" aria-describedby="caption-attachment-28737" style="width: 1374px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28737" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/6-Retrieval-of-attachment-upload-events-mailbox.log-1-2.png" alt="Retrieval of attachment upload events (mailbox.log) (1/2)" width="1374" height="184" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/6-Retrieval-of-attachment-upload-events-mailbox.log-1-2.png 1374w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/6-Retrieval-of-attachment-upload-events-mailbox.log-1-2-437x59.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/6-Retrieval-of-attachment-upload-events-mailbox.log-1-2-71x10.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/6-Retrieval-of-attachment-upload-events-mailbox.log-1-2-768x103.png 768w" sizes="auto, (max-width: 1374px) 100vw, 1374px" /><figcaption id="caption-attachment-28737" class="wp-caption-text"><em>Retrieval of attachment upload events (mailbox.log) (1/2)</em></figcaption></figure>
<figure id="attachment_28739" aria-describedby="caption-attachment-28739" style="width: 1377px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28739" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/7-Retrieval-of-attachment-upload-events-mailbox.log-2-2.png" alt="Retrieval of attachment upload events (mailbox.log) (2/2)" width="1377" height="147" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/7-Retrieval-of-attachment-upload-events-mailbox.log-2-2.png 1377w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/7-Retrieval-of-attachment-upload-events-mailbox.log-2-2-437x47.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/7-Retrieval-of-attachment-upload-events-mailbox.log-2-2-71x8.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/7-Retrieval-of-attachment-upload-events-mailbox.log-2-2-768x82.png 768w" sizes="auto, (max-width: 1377px) 100vw, 1377px" /><figcaption id="caption-attachment-28739" class="wp-caption-text"><em>Retrieval of attachment upload events (mailbox.log) (2/2)</em></figcaption></figure>
<p> </p>
<p style="text-align: justify;">Similarly to the reception of malicious attachments, you can search in the logs for:</p>
<ul style="text-align: justify;">
<li>the <strong>upload of attachments with suspicious extensions</strong> (e.g., .htm, .html, .exe, .js, .arj, .iso, .bat, .ps1, or Office/PDF documents containing macros);</li>
<li><strong>files already observed earlier</strong> during the initial phases of the incident (for example, a document downloaded by patient zero);</li>
<li><strong>correlating upload activities</strong> with malicious source IP addresses or accounts identified as compromised.</li>
</ul>
<p style="text-align: justify;">This list is <strong>not exhaustive</strong>; it may be relevant to search for <strong>any type of file</strong> that seems <strong>pertinent</strong> <strong>to the context of your investigation</strong>.</p>
<p> </p>
<h4>Removal of traces</h4>
<p style="text-align: justify;">Now that you have a clear picture of what the attacker did with the compromised accounts, you are disappointed because you <strong>cannot locate the emails in question</strong>. You suspect that the attacker <strong>erased its traces</strong>. But how can you verify this?</p>
<p style="text-align: justify;">Indeed, after sending malicious emails, an experienced attacker may try to <strong>hide its tracks</strong> from the legitimate mailbox owner by <strong>deleting sent emails</strong> or returned messages.</p>
<p style="text-align: justify;">Fortunately, the following commands will allow you to <strong>identify email deletions </strong>performed in Zimbra:</p>
<figure id="attachment_28743" aria-describedby="caption-attachment-28743" style="width: 1373px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28743" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/8-Retrieval-of-deleted-items-from-the-trash-mailbox.log_.png" alt="Retrieval of deleted items from the trash (mailbox.log)" width="1373" height="361" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/8-Retrieval-of-deleted-items-from-the-trash-mailbox.log_.png 1373w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/8-Retrieval-of-deleted-items-from-the-trash-mailbox.log_-437x115.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/8-Retrieval-of-deleted-items-from-the-trash-mailbox.log_-71x19.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/8-Retrieval-of-deleted-items-from-the-trash-mailbox.log_-768x202.png 768w" sizes="auto, (max-width: 1373px) 100vw, 1373px" /><figcaption id="caption-attachment-28743" class="wp-caption-text"><em>Retrieval of deleted items from the trash (mailbox.log)</em></figcaption></figure>
<figure id="attachment_28746" aria-describedby="caption-attachment-28746" style="width: 1375px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28746" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/9-Retrieval-of-permanently-deleted-files-mail.log_.png" alt="Retrieval of permanently deleted files (mail.log)" width="1375" height="364" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/9-Retrieval-of-permanently-deleted-files-mail.log_.png 1375w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/9-Retrieval-of-permanently-deleted-files-mail.log_-437x116.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/9-Retrieval-of-permanently-deleted-files-mail.log_-71x19.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/9-Retrieval-of-permanently-deleted-files-mail.log_-768x203.png 768w" sizes="auto, (max-width: 1375px) 100vw, 1375px" /><figcaption id="caption-attachment-28746" class="wp-caption-text"><em>Retrieval of permanently deleted files (mail.log)</em></figcaption></figure>
<p> </p>
<p style="text-align: justify;">In legitimate use, it is not uncommon for a user to <strong>delete multiple emails</strong> (e.g., inbox cleanup, managing newsletters). However, the situation becomes <strong>suspicious</strong> when deletions occur:</p>
<ul style="text-align: justify;">
<li><strong>Immediately</strong> after a <strong>mass email sending</strong></li>
<li>Targeting specifically the <strong>most recently sent messages</strong></li>
</ul>
<p style="text-align: justify;">During your investigation, keep in mind that an attacker may also attempt to delete:</p>
<ul style="text-align: justify;">
<li><strong>Read receipts generated by their emails</strong></li>
<li><strong>Automatic replies</strong> (out-of-office messages, NDRs) that could alert the victim</li>
</ul>
<p style="text-align: justify;">It is therefore important <strong>not to overlook deletions</strong> and to <strong>correlate them with other indicators</strong> (suspicious authentications, mass email sending, quota exceedances, connections from malicious IPs) to assess the <strong>legitimacy</strong> <strong>of these actions</strong>.</p>
<p> </p>
<h4>Data exfiltration</h4>
<p style="text-align: justify;"><strong>One question still troubles you</strong>… Among the compromised accounts, some belonged to users who handled sensitive data for the company. You therefore want to determine whether the attacker attempted to <strong>exfiltrate any email</strong> they had access to.</p>
<p style="text-align: justify;">Unfortunately for you, <strong>Zimbra does not log the direct download of emails</strong>. After all, retrieving messages via IMAP or SMTP is essentially a &#8220;<em>download</em>&#8221; from the server to the mail client. It is therefore difficult to distinguish a <strong>normal transfer</strong> from a <strong>malicious download</strong>. And in the Nginx logs (which expose the webmail), the same issue arises: it is impossible to precisely identify whether an email was downloaded.</p>
<p style="text-align: justify;">As a small consolation, Zimbra does log certain internal operations, particularly <strong>copy actions</strong> performed within the mailbox. An attacker could, for example, create a folder to store sensitive emails before extraction.</p>
<p style="text-align: justify;">The following command allows you to identify a <strong>massive copy of emails</strong> <strong>into a folder</strong> (here named &#8220;<em>Exfiltration</em>&#8220;) from the web client:</p>
<figure id="attachment_28748" aria-describedby="caption-attachment-28748" style="width: 1254px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28748" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/10-Retrieval-of-mass-email-copy-events-mailbox.log-1-2.png" alt="Retrieval of mass email copy events (mailbox.log) (1/2)" width="1254" height="785" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/10-Retrieval-of-mass-email-copy-events-mailbox.log-1-2.png 1254w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/10-Retrieval-of-mass-email-copy-events-mailbox.log-1-2-305x191.png 305w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/10-Retrieval-of-mass-email-copy-events-mailbox.log-1-2-62x39.png 62w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/10-Retrieval-of-mass-email-copy-events-mailbox.log-1-2-768x481.png 768w" sizes="auto, (max-width: 1254px) 100vw, 1254px" /><figcaption id="caption-attachment-28748" class="wp-caption-text"><em>Retrieval of mass email copy events (mailbox.log) (1/2)</em></figcaption></figure>
<p> </p>
<p style="text-align: justify;">The following command allows you to identify a copy of a large number of emails in a folder from an IMAP thick client:</p>
<figure id="attachment_28750" aria-describedby="caption-attachment-28750" style="width: 1129px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28750" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/11-Retrieval-of-mass-email-copy-events-mailbox.log-2-2.png" alt="Retrieval of mass email copy events (mailbox.log) (2/2)" width="1129" height="708" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/11-Retrieval-of-mass-email-copy-events-mailbox.log-2-2.png 1129w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/11-Retrieval-of-mass-email-copy-events-mailbox.log-2-2-305x191.png 305w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/11-Retrieval-of-mass-email-copy-events-mailbox.log-2-2-62x39.png 62w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/11-Retrieval-of-mass-email-copy-events-mailbox.log-2-2-768x482.png 768w" sizes="auto, (max-width: 1129px) 100vw, 1129px" /><figcaption id="caption-attachment-28750" class="wp-caption-text"><em>Retrieval of mass email copy events (mailbox.log) (2/2)</em></figcaption></figure>
<p> </p>
<p style="text-align: justify;">Although there are legitimate cases (e.g., manual backup by the user), this type of activity should <strong>raise attention</strong>, especially when correlated with:</p>
<ul style="text-align: justify;">
<li>Logins from unusual IP addresses</li>
<li>Suspicious authentications</li>
<li>Mass email sending</li>
</ul>
<p style="text-align: justify;">However, as you can see, it is very difficult to <strong>confirm a data exfiltration</strong>. Therefore, it should be assumed that if a <strong>mailbox is compromised</strong>, the attacker potentially had the ability to <strong>download all emails</strong> <strong>of the affected user</strong>.</p>
<p> </p>
<h3>Detection of antivirus and antispam solutions</h3>
<p style="text-align: justify;">We haven’t really covered this until now, but it’s important to know that Zimbra natively integrates <strong>Amavis</strong>, a &#8220;<em>central</em>&#8221; component that <strong>orchestrates various security engines</strong>. These engines help identify suspicious files, phishing campaigns, and mass spam sending. It is therefore valuable to leverage these detection mechanisms when analyzing an attacker’s activities.</p>
<p style="text-align: justify;">During your investigations, examining the messages generated by Amavis can help highlight:</p>
<ul>
<li style="text-align: justify;"><strong>Messages blocked</strong> before reaching the user’s mailbox (e.g., spoofing attempts)</li>
<li style="text-align: justify;"><strong>Malicious attachments</strong> detected and placed in quarantine</li>
<li style="text-align: justify;"><strong>Violations of certain security policies</strong> defined on the platform</li>
</ul>
<p> </p>
<h4>Amavis</h4>
<p style="text-align: justify;">It is possible to retrieve certain events generated by <strong>Amavis</strong> with the following commands:</p>
<figure id="attachment_28754" aria-describedby="caption-attachment-28754" style="width: 1124px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28754" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/12-Retrieval-of-amavis-events-mail.log_.png" alt="Retrieval of amavis events (mail.log)" width="1124" height="185" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/12-Retrieval-of-amavis-events-mail.log_.png 1124w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/12-Retrieval-of-amavis-events-mail.log_-437x72.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/12-Retrieval-of-amavis-events-mail.log_-71x12.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/12-Retrieval-of-amavis-events-mail.log_-768x126.png 768w" sizes="auto, (max-width: 1124px) 100vw, 1124px" /><figcaption id="caption-attachment-28754" class="wp-caption-text"><em>Retrieval of amavis events (mail.log)</em></figcaption></figure>
<figure id="attachment_28757" aria-describedby="caption-attachment-28757" style="width: 1127px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28757" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/13-Retrieval-of-amavis-events-mailbox.log_.png" alt="Retrieval of amavis events (mailbox.log)" width="1127" height="272" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/13-Retrieval-of-amavis-events-mailbox.log_.png 1127w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/13-Retrieval-of-amavis-events-mailbox.log_-437x105.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/13-Retrieval-of-amavis-events-mailbox.log_-71x17.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/13-Retrieval-of-amavis-events-mailbox.log_-768x185.png 768w" sizes="auto, (max-width: 1127px) 100vw, 1127px" /><figcaption id="caption-attachment-28757" class="wp-caption-text"><em>Retrieval of amavis events (mailbox.log)</em></figcaption></figure>
<p> </p>
<p style="text-align: justify;">Since Amavis generates a <strong>large number of events</strong>, it may be wise to focus your investigation on detections related to <strong>spam</strong> and <strong>phishing</strong>. Note that the identification of phishing messages has already been discussed in a previous section of this article (&#8220;<em>Account Compromise via Phishing Attack</em>&#8220;)</p>
<p> </p>
<h4>Incoming spam</h4>
<p style="text-align: justify;">It may be useful to identify messages that have triggered incoming <strong>spam detections</strong>. When a message is classified as spam, Zimbra generates logs indicating the <strong>reason for this categorization</strong>.</p>
<p style="text-align: justify;">These events can contain <strong>several useful pieces of information</strong>:</p>
<ul style="text-align: justify;">
<li>The affected account</li>
<li>The unique identifier of the message in the mailbox</li>
<li>The originating IP address of the email</li>
<li>Additionally, in the case of a SpamReport:
<ul>
<li>The result of the analysis (isSpam field)</li>
<li>The action taken (e.g., moving the message from the Inbox to Junk)</li>
<li>Sometimes the recipient of the report used for training or reporting purposes (e.g., a dedicated address such as spam@wavestone.corp</li>
</ul>
</li>
</ul>
<p style="text-align: justify;">The following command can help you <strong>identify events related to the processing of incoming spam:</strong></p>
<figure id="attachment_28759" aria-describedby="caption-attachment-28759" style="width: 1124px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28759" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/14-Retrieval-of-events-related-to-incoming-spam-zimbra.log_.png" alt="Retrieval of events related to incoming spam (zimbra.log)" width="1124" height="456" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/14-Retrieval-of-events-related-to-incoming-spam-zimbra.log_.png 1124w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/14-Retrieval-of-events-related-to-incoming-spam-zimbra.log_-437x177.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/14-Retrieval-of-events-related-to-incoming-spam-zimbra.log_-71x29.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/14-Retrieval-of-events-related-to-incoming-spam-zimbra.log_-768x312.png 768w" sizes="auto, (max-width: 1124px) 100vw, 1124px" /><figcaption id="caption-attachment-28759" class="wp-caption-text"><em>Retrieval of events related to incoming spam (zimbra.log)</em></figcaption></figure>
<figure id="attachment_28761" aria-describedby="caption-attachment-28761" style="width: 1127px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28761" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/15-Retrieval-of-events-related-to-incoming-spam-mailbox.log_.png" alt="Retrieval of events related to incoming spam (mailbox.log)" width="1127" height="154" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/15-Retrieval-of-events-related-to-incoming-spam-mailbox.log_.png 1127w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/15-Retrieval-of-events-related-to-incoming-spam-mailbox.log_-437x60.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/15-Retrieval-of-events-related-to-incoming-spam-mailbox.log_-71x10.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/15-Retrieval-of-events-related-to-incoming-spam-mailbox.log_-768x105.png 768w" sizes="auto, (max-width: 1127px) 100vw, 1127px" /><figcaption id="caption-attachment-28761" class="wp-caption-text"><em>Retrieval of events related to incoming spam (mailbox.log)</em></figcaption></figure>
<p> </p>
<p style="text-align: justify;">Since spam detections generate a <strong>large number of false positives</strong>, it may be useful to <strong>narrow the scope of your investigation</strong> as much as possible (for example, by focusing on a specific time period or a specific set of users).</p>
<p> </p>
<h4>Outgoing spam</h4>
<p style="text-align: justify;">The threat does not always come from outside. Some malicious emails <strong>sent from compromised internal accounts</strong> to external recipients can leave very interesting traces in Zimbra’s logs. Indeed, if the message sent from the compromised account is <strong>blocked by the recipient mail server’s antispam solution</strong>, that server will send an error notification back to the Zimbra server to report the rejection.</p>
<p style="text-align: justify;">Analyzing these <strong>non-delivery reports (NDRs)</strong> can therefore raise a red flag:<br />it may reveal that a user is compromised… or that an account has been used in an <strong>attempt to send malicious emails</strong>.</p>
<p style="text-align: justify;">It is possible to extract these rejected messages using the following command:</p>
<figure id="attachment_28763" aria-describedby="caption-attachment-28763" style="width: 1130px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28763" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/16-Retrieval-of-events-related-to-outgoing-spam.png" alt="Retrieval of events related to outgoing spam" width="1130" height="188" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/16-Retrieval-of-events-related-to-outgoing-spam.png 1130w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/16-Retrieval-of-events-related-to-outgoing-spam-437x73.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/16-Retrieval-of-events-related-to-outgoing-spam-71x12.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/01/16-Retrieval-of-events-related-to-outgoing-spam-768x128.png 768w" sizes="auto, (max-width: 1130px) 100vw, 1130px" /><figcaption id="caption-attachment-28763" class="wp-caption-text"><em>Retrieval of events related to outgoing spam</em></figcaption></figure>
<p> </p>
<p style="text-align: justify;">Outgoing spam is generally rare. Analyzing it only becomes truly useful in cases where the attacker attempts to <strong>lateralize</strong> to <strong>external email accounts</strong>.</p>
<p> </p>
<h2>Remediation measures</h2>
<p style="text-align: justify;"><strong>You have conducted your investigation at full speed</strong>: compromised users identified, malicious IP addresses cataloged, suspicious activities analyzed… in short, you have traced the attack with surgical precision. It is now time to move to the next step: <strong>remediation</strong>.</p>
<p style="text-align: justify;">The primary goal of remediation is to <strong>remove the attacker’s access</strong> to the infrastructure, <strong>implement detection mechanisms</strong> capable of preventing further compromise attempts, and <strong>strengthen user awareness</strong> to limit the impact of <strong>ongoing</strong> and <strong>future</strong> <strong>phishing</strong> <strong>campaigns</strong>.</p>
<p style="text-align: justify;">By <strong>collecting various indicators</strong> related to the phishing campaign (compromised or suspected accounts, email addresses, malicious IPs and domains, etc.), it is recommended to implement a series of <strong>corrective</strong> and <strong>preventive</strong> <strong>actions</strong> (non-exhaustive):</p>
<ul style="text-align: justify;">
<li><strong>Reset passwords for suspected accounts</strong>: For any user who has been compromised or is suspected of being compromised, a password reset is required.</li>
<li><strong>Block malicious domains, IP addresses, and email addresses</strong>: Infrastructure elements used by the attacker (domains, IPs, senders) should be blocked using available network solutions (proxy, firewall, mail filters) as soon as they are detected. This will limit the risk of further propagation.</li>
<li><strong>Perform antivirus/EDR scans on compromised user workstations</strong>: Workstations of compromised users should undergo antivirus or EDR analysis to:
<ul>
<li>Detect and remove any potential malicious files</li>
<li>Ensure that phishing-related files are no longer present on the workstation</li>
</ul>
</li>
<li><strong>Strengthen user awareness</strong>: Communication about ongoing phishing campaigns should be sent to users to prevent further compromise. Regular phishing awareness campaigns are strongly recommended, particularly for users who have already been compromised.</li>
<li><strong>Implement multi-factor authentication (MFA) for Zimbra mail access</strong>: Deploying a second authentication factor is highly recommended to secure mailbox access. While MFA can be perceived as inconvenient, using a Single Sign-On (SSO) with unified MFA can reduce friction while strengthening overall authentication security.</li>
<li><strong>Deploy a specialized phishing detection and filtering solution</strong>: It is recommended to install a specialized solution in detecting malicious activity in email environments. The solution should be able to identify:
<ul>
<li>Logins from unusual IP addresses</li>
<li>Brute-force attempts on user accounts</li>
<li>Mass email sending to numerous recipients</li>
<li>Use of suspicious attachments or links to untrusted domains</li>
<li>Active phishing campaigns (e.g., identified by a CTI service)</li>
</ul>
</li>
<li><strong>Ensure Zimbra log retention</strong>: It is important to secure the collection and retention of logs. It is recommended to centralize logs from the entire Zimbra infrastructure on a server external to that infrastructure. This ensures that even in the event of compromise, modification, or encryption of Zimbra servers, logs remain intact and accessible, allowing reliable forensic investigations.</li>
</ul>
<p style="text-align: justify;">Although non-exhaustive, these remediation measures will help <strong>restore confidence</strong> in your Zimbra infrastructure and user accounts. <strong>Continuous monitoring</strong> and <strong>improvement</strong> <strong>of</strong> <strong>the</strong> <strong>security</strong> <strong>posture</strong> will, however, be necessary to adapt to <strong>future</strong> <strong>threats</strong>.</p>
<h1 style="text-align: justify;"> </h1>
<p style="text-align: justify;">At the end of this little investigation, one thing is certain: while the attacker can choose the easiest path, the forensic analyst doesn’t have that luxury. Between <strong>scattered</strong> (or sometimes <strong>missing</strong>) <strong>logs</strong>, <strong>conflicting</strong> <strong>user</strong> <strong>testimonials</strong>, and <strong>limited</strong> <strong>visibility</strong> into certain Zimbra events, conducting an investigation can sometimes feel <strong>like solving a Rubik’s Cube</strong>… <strong>in the dark</strong>… <strong>with mittens on</strong>.</p>
<p style="text-align: justify;">But with a <strong>solid methodology</strong> and a <strong>few good habits</strong>, Zimbra can reveal far more information than it might seem at first glance. Its logs are a <strong>real goldmine</strong>, provided you <strong>don’t get lost in them</strong>.</p>
<p style="text-align: justify;">Ultimately, this article does not aim to turn every reader into a J<strong>edi master of Zimbra forensics</strong>… but if it can save you two days of trying to <strong>decode Zimbra logs</strong> or <strong>hunt down the useful information</strong>, then the goal has been achieved!</p>
<p style="text-align: justify;">And as is often said, in cybersecurity as elsewhere, <strong>prevention is better than cure</strong>. So harden your Zimbra infrastructure, back up your logs, raise user awareness… and above all, don&#8217;t be short on coffee supplies!</p>
<p> </p>
<h1>Sources</h1>
<ul>
<li><span style="color: #000080;"><a style="color: #000080;" href="https://wiki.zimbra.com/wiki/Log_Files">https://wiki.zimbra.com/wiki/Log_Files</a></span></li>
<li><span style="color: #000080;"><a style="color: #000080;" href="https://wiki.zimbra.com/wiki/Troubleshooting_Course_Content_Rough_Drafts-Zimbra_Architecture_Component_Overview">https://wiki.zimbra.com/wiki/Troubleshooting_Course_Content_Rough_Drafts-Zimbra_Architecture_Component_Overview</a></span></li>
<li><span style="color: #000080;"><a style="color: #000080;" href="https://wiki.zimbra.com/wiki/Trouble_Shooting_Spam_Score_Changes">https://wiki.zimbra.com/wiki/Trouble_Shooting_Spam_Score_Changes</a></span></li>
</ul>
<p> </p>


<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2026/01/zimbra-mailbox-compromise-from-analysis-to-remediation-part-2/">Zimbra Mailbox Compromise: From Analysis to Remediation (Part 2)</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com/en/">RiskInsight</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.riskinsight-wavestone.com/en/2026/01/zimbra-mailbox-compromise-from-analysis-to-remediation-part-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Zimbra Mailbox Compromise: From Analysis to Remediation (Part 1)</title>
		<link>https://www.riskinsight-wavestone.com/en/2025/12/zimbra-mailbox-compromise-from-analysis-to-remediation/</link>
					<comments>https://www.riskinsight-wavestone.com/en/2025/12/zimbra-mailbox-compromise-from-analysis-to-remediation/#respond</comments>
		
		<dc:creator><![CDATA[Evenson Jeunesse]]></dc:creator>
		<pubDate>Thu, 18 Dec 2025 09:07:27 +0000</pubDate>
				<category><![CDATA[Deep-dive]]></category>
		<category><![CDATA[Ethical Hacking & Incident Response]]></category>
		<category><![CDATA[CERT]]></category>
		<category><![CDATA[CERT-W]]></category>
		<category><![CDATA[Compromission]]></category>
		<category><![CDATA[forensic]]></category>
		<category><![CDATA[Incident response]]></category>
		<category><![CDATA[incident response CERT-W]]></category>
		<category><![CDATA[investigation]]></category>
		<category><![CDATA[SPF]]></category>
		<category><![CDATA[spoofing]]></category>
		<category><![CDATA[Zimbra]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=28540</guid>

					<description><![CDATA[<p>The simplest attacks are often the most effective. In most companies, webmail access portals are exposed on the internet and do not always benefit from sufficient access-control mechanisms. In addition, some messaging services offer extended features that go beyond simple...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2025/12/zimbra-mailbox-compromise-from-analysis-to-remediation/">Zimbra Mailbox Compromise: From Analysis to Remediation (Part 1)</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com/en/">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p style="text-align: justify;">The <strong>simplest</strong> attacks are often the <strong>most effective</strong>.</p>
<p style="text-align: justify;">In most companies, <strong>webmail access portals</strong> are <strong>exposed on the internet</strong> and do not always benefit from <strong>sufficient access-control mechanisms</strong>. In addition, some messaging services offer extended features that go beyond simple email consultation, such as <strong>file sharing</strong> or access to <strong>collaborative applications</strong>.</p>
<p style="text-align: justify;"><strong>Poorly secured messaging services</strong> therefore represent <strong>prime targets for attackers</strong>. Compromising a mailbox can then be used to launch phishing campaigns, <strong>access sensitive data</strong>, carry out <strong>fraud attempts</strong>, or even gain <strong>access to other services</strong>.</p>
<p style="text-align: justify;">At <strong>CERT-W</strong>, we regularly deal with this type of compromise. In particular, several of our investigations in 2025 involved the <strong>compromise of Zimbra email accounts</strong>, a solution used by many public and private organizations. Faced with these incidents, we noticed a clear <strong>lack of forensic documentation</strong> specific to Zimbra infrastructures.</p>
<p style="text-align: justify;">This article is therefore our modest contribution to filling this gap. We share a <strong>pragmatic</strong> approach and a <strong>few tips</strong> to help you save time when analyzing this type of environment, as well as some remediation measures.</p>
<p> </p>
<h2>The Zimbra Infrastructure</h2>
<p style="text-align: justify;">If you’re not familiar with Zimbra infrastructures, don’t worry: <strong>this section is for you</strong>! For the more experienced readers, feel free to jump straight to the investigation section (<em>we won’t hold it against you</em>).</p>
<h3>The architecture</h3>
<p style="text-align: justify;">Zimbra isn’t just &#8220;<em>another mail server</em>&#8220;. It’s a complete <strong>open-source collaborative suite</strong> that brings together several useful components<strong>:</strong></p>
<ul style="text-align: justify;">
<li><strong>A mail server:</strong> the core of the system.</li>
<li><strong>A calendar, contacts, and task manager:</strong> so you never forget that 9 AM meeting.</li>
<li><strong>A web client:</strong> accessible from any browser.</li>
<li><strong>Additional services:</strong> antispam, antivirus, mobile synchronization, and more.</li>
</ul>
<p style="text-align: justify;">But like any infrastructure used by hundreds (or even thousands) of users simultaneously, sizing and performance quickly become important topics. That’s why Zimbra can be deployed in two different ways:</p>
<ul style="text-align: justify;">
<li><strong>Monolithic mode:</strong> everything on a single server (simple and effective… up to a point).</li>
<li><strong>Distributed mode:</strong> multiple servers, each with a specific role, to better handle load, availability, and maintenance.</li>
</ul>
<p style="text-align: justify;">In simplified form, a distributed Zimbra infrastructure looks like this<strong>:</strong></p>



<figure id="attachment_28574" aria-describedby="caption-attachment-28574" style="width: 1196px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28574" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/Architecture-zimbra-EN.png" alt="Architecture of a Distributed Zimbra Infrastructure" width="1196" height="669" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/Architecture-zimbra-EN.png 1196w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/Architecture-zimbra-EN-341x191.png 341w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/Architecture-zimbra-EN-71x39.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/Architecture-zimbra-EN-768x430.png 768w" sizes="auto, (max-width: 1196px) 100vw, 1196px" /><figcaption id="caption-attachment-28574" class="wp-caption-text"><em>Architecture of a Distributed Zimbra Infrastructure</em></figcaption></figure>
<p> </p>
<p style="text-align: justify;">Although the architecture may vary, the following components are usually present:</p>
<ul style="text-align: justify;">
<li><strong>Proxy Server:</strong> the entry point for Web, IMAP/POP, and ActiveSync clients. Logs generated at this level provide visibility into user connections (IP addresses, user agents, timestamps, etc.).</li>
<li><strong>Web Client Server (Mailboxd UI):</strong> hosts the Webmail interface used by users to access their mailbox through a browser.</li>
<li><strong>Mailbox Server (Mailboxd):</strong> hosts user mailboxes and manages messages, folders, and calendars. This component generates the richest logs (e.g., <em>mailbox.log</em>, <em>audit.log</em>, <em>sync.log</em>).</li>
<li><strong>MTA Server (Message Transfer Agent):</strong> receives emails via SMTP and delivers them to the appropriate Zimbra mailbox server using the LMTP (Local Mail Transfer Protocol).</li>
</ul>
<p style="text-align: justify;">The Zimbra MTA relies on several complementary services:</p>
<ul style="text-align: justify;">
<li><strong>Postfix MTA:</strong> handles message routing, relaying, and filtering (including attachments).</li>
<li><strong>ClamAV:</strong> antivirus engine responsible for scanning messages and attachments.</li>
<li><strong>SpamAssassin and DSPAM:</strong> spam filters that use various mechanisms to identify unwanted emails.</li>
<li><strong>Amavis:</strong> the orchestrator that runs the configured antivirus and antispam engines, then applies processing policies to incoming messages.</li>
</ul>
<p style="text-align: justify;">The <strong>MTA server</strong> plays a key role in the Zimbra infrastructure. This is where <strong>most of the security checks</strong> applied to <strong>incoming emails</strong> are performed. The diagram below illustrates the main stages of this analysis workflow:</p>
<figure id="attachment_28578" aria-describedby="caption-attachment-28578" style="width: 1448px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28578" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/Zimbra-MTA-scans-EN.png" alt="Zimbra incoming email analysis process" width="1448" height="596" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/Zimbra-MTA-scans-EN.png 1448w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/Zimbra-MTA-scans-EN-437x180.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/Zimbra-MTA-scans-EN-71x29.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/Zimbra-MTA-scans-EN-768x316.png 768w" sizes="auto, (max-width: 1448px) 100vw, 1448px" /><figcaption id="caption-attachment-28578" class="wp-caption-text"><em>Zimbra incoming email analysis process</em></figcaption></figure>
<p> </p>
<p style="text-align: justify;">In the process of receiving an incoming email, the message is first handled by <strong>Postfix</strong>, which then forwards it to <strong>Amavis</strong> for analysis. <strong>Amavis</strong> invokes the <strong>various configured analysis engines</strong> and submits the email to each of them to collect their results. Based on the defined policies, Amavis returns a verdict to Postfix: deliver the message, block it, or move it to a specific folder.</p>
<p> </p>
<h3>Zimbra logs</h3>
<p style="text-align: justify;">Now that you’re practically a Zimbra architecture expert (or almost <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" />), you’ve probably noticed that <strong>many services</strong> are required to handle users’ email <strong>sending</strong> and <strong>receiving</strong>. The good news is that <strong>each of these services generates its own logs</strong>, providing significant <strong>visibility</strong> into the activity of the mail infrastructure. And for us forensic analysts, that’s excellent news: <strong>we love logs</strong>!</p>
<p style="text-align: justify;">Studying the logs generated by Zimbra allows us to <strong>reconstruct the timeline of a compromise</strong>, identify compromised mailboxes, spot malicious attachments, and even detect potential internal relays.</p>
<p style="text-align: justify;">This <strong>wealth of information</strong> is made possible thanks to logs, which are mainly located in:</p>
<ul style="text-align: justify;">
<li><strong>/opt/zimbra/log/mailbox.log:</strong> main log of user activities (authentications, sending/receiving emails, managing mails, folders, contacts, calendars, etc.).</li>
<li><strong>/opt/zimbra/log/access_log:</strong> Webmail access log (IP addresses, user agents, visited URLs).</li>
<li><strong>/opt/zimbra/log/audit.log:</strong> authentication traces (successes, failures, mechanisms used).</li>
<li><strong>/opt/zimbra/log/sync.log:</strong> mobile synchronization traces (ActiveSync/EAS).</li>
<li><strong>/opt/zimbra/log/convertd.log:</strong> file conversion traces (Webmail previews, indexing).</li>
<li><strong>/opt/zimbra/log/clamd.log | /opt/zimbra/log/freshclam.log:</strong> ClamAV antivirus activity.</li>
<li><strong>/opt/zimbra/log/spamtrain.log:</strong> traces of user-initiated antispam training.</li>
<li><strong>/opt/zimbra/log/cbpolicyd.log:</strong> Postfix policy enforcement (quotas, anti-relay, restrictions).</li>
<li><strong>/var/log/mail.log:</strong> system Postfix logs (SMTP, LMTP, Amavis).</li>
<li><strong>/var/log/nginx.access.log | /var/log/nginx.log:</strong> Nginx web server logs (useful for contextualizing web sessions).</li>
</ul>
<p style="text-align: justify;">Unfortunately, in a <strong>distributed Zimbra architecture</strong>, logs are <strong>not centralized</strong>. In other words, to get a complete picture of an incident, an analyst often needs to <strong>collect logs from each node</strong>: proxy, mailstore, MTA, or any other peripheral server. Yes, it requires a bit of gymnastics (<em>and patience</em>).</p>
<p style="text-align: justify;">As we mentioned, the wealth of Zimbra logs is a real <strong>goldmine</strong> for investigations… but, like any mine, you need to <strong>dig methodically</strong>, or you’ll quickly find yourself buried under tons of log lines. Some effort in <strong>sorting</strong> and <strong>correlating</strong> data is therefore necessary to <strong>extract relevant information</strong>.</p>
<p style="text-align: justify;">And despite their undeniable usefulness, Zimbra logs have some <strong>notable limitations</strong>:</p>
<ul>
<li style="text-align: justify;"><strong>No access to the full content of emails</strong> or their attachments.</li>
<li style="text-align: justify;"><strong>Email subjects are rarely available</strong>, except when intercepted by antispam or antivirus modules.</li>
<li style="text-align: justify;"><strong>No native visibility into the creation of forwarding rules</strong>.</li>
<li style="text-align: justify;"><strong>Rapid rotation of verbose logs</strong> (like <em>log</em>), which limits the analysis time window if logs are not centralized.</li>
</ul>
<p> </p>
<h2>Investigating in a Zimbra Environment</h2>
<p style="text-align: justify;">Now that Zimbra’s infrastructure and logs <strong>hold no secrets for you</strong>, it’s time to get <strong>practical</strong>.</p>
<p style="text-align: justify;">Imagine you’re a forensic analyst, arriving early one morning, when suddenly: <strong>the phone rings.</strong> You’re being called because several users are reporting that emails, <strong>they didn’t send</strong> are appearing in their “Sent” folder.</p>
<p style="text-align: justify;"><strong>Panic ensues</strong>! Users are afraid to log into their mailboxes, and some administrators start wondering whether the <strong>Zimbra infrastructure itself</strong> might be <strong>compromised</strong>.</p>
<p style="text-align: justify;">Since you know Zimbra inside out, the team naturally turns to you to <strong>investigate this incident</strong>!</p>
<p style="text-align: justify;">As a forensic analyst, many questions come to mind:</p>
<ul style="text-align: justify;">
<li><em>Have the accounts really been compromised? If so, how and since when?</em></li>
<li><em>How many users are affected?</em></li>
<li><em>What is the attacker’s objective, and what malicious actions have been carried out from these accounts?</em></li>
<li><em>Have the mail server or other Zimbra components been compromised?</em></li>
<li><em>And, most importantly: do I have time for a coffee </em><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2615.png" alt="☕" class="wp-smiley" style="height: 1em; max-height: 1em;" /><em> before the information hunt begins?</em></li>
</ul>
<p style="text-align: justify;">To help you in your investigation, we’ll look at how to answer these questions through Zimbra log analysis. But first, here are some tips to guide your investigation.</p>
<p style="text-align: justify;">During incident response, it’s easy to feel <strong>overwhelmed</strong> by the <strong>amount of logs</strong> <strong>and</strong> <strong>events</strong> <strong>to analyze</strong>. Keeping a clear line of reasoning is essential. A few simple practices can help maintain focus:</p>
<ul style="text-align: justify;">
<li><strong>Confirm:</strong> Verify the information that triggered the incident. Before diving deeper, ensure the initial alert is accurate. This undeniable baseline will serve as the foundation for the entire investigation.</li>
<li><strong>Correlate:</strong> Cross-check suspicious IP addresses and domains with other sources (proxy, VPN, EDR, online antivirus databases). This provides additional context related to the identified indicator.</li>
<li><strong>Pivot:</strong> Use the collected information to expand your analysis. An attacker might reuse the same IP address or user-agent across multiple accounts. Conversely, a compromised account might be accessed from different IP addresses or user-agents. Pivoting can reveal other indicators that help identify the attacker.</li>
<li><strong>Compare patterns:</strong> Even without direct access to email content or attachments, certain elements can reveal similarities (file size, identical filenames, repeated sequences of actions after account compromise). This behavioral analysis approach can help identify multiple users compromised by the same attacker. Such hypotheses should be formulated and handled cautiously, but they can be valuable for confirming intuition.</li>
<li><strong>Ensure log preservation:</strong> This may seem obvious, but as soon as an incident is detected, securing the logs is critical. Collect logs immediately from the entire Zimbra infrastructure and extend their retention period to prevent automatic deletion. Because let’s be honest: logs disappearing just as the forensic team arrives is a way too common scenario… one you definitely want to avoid.</li>
</ul>
<p style="text-align: justify;">While these tips <strong>aren’t exhaustive</strong>, they provide a solid foundation for conducting an analysis that is both <strong>fast</strong> and <strong>efficient</strong>.</p>
<p> </p>
<h3>Compromise and initial access</h3>
<h4><em>The spoofing trap</em></h4>
<p style="text-align: justify;"><strong>You are not fooled</strong>! You know that sometimes one might believe the attacker is already inside the system, when in reality, they are still outside (fake it until you make it). Especially when multiple users start reporting concerning incidents, such as:</p>
<ul style="text-align: justify;">
<li>&#8220;<em>I received an email from so-and-so, yet they claim they never sent it.</em>&#8220;</li>
<li>&#8220;<em>I received an email from my own address, which makes no sense!</em>&#8220;</li>
</ul>
<p style="text-align: justify;">But your experience pushes you to verify that the current confusion is not simply the result of… a <strong>spoofing attack</strong>.</p>
<p style="text-align: justify;">Indeed, <strong>spoofing</strong> is a relatively simple identity impersonation attack used by malicious actors to <strong>falsify email header information</strong> (e.g. sender address) in order to <strong>deceive a victim</strong>. Spoofing allows an email to be sent while pretending to be from a <strong>legitimate sender</strong> (for example, an internal user of the company or the recipient themselves), when in reality the email comes from an infrastructure that has <strong>no authorization</strong> <strong>to use that email address</strong>.</p>
<p style="text-align: justify;">The goal is to <strong>gain the recipient’s trust</strong> to prompt them to <strong>take an action</strong> (click a link, open an attachment, provide credentials, etc.) or bypass<strong> filtering mechanisms</strong>.</p>
<p style="text-align: justify;">Mechanisms such as <strong>SPF</strong>, <strong>DKIM</strong>, and <strong>DMARC</strong> were designed to reduce the risks associated with spoofing by allowing verification of the sender domain and server authenticity.</p>
<p style="text-align: justify;">More specifically, the <strong>Sender Policy Framework (SPF)</strong> is an email security mechanism that allows verification that the sending server of a message is indeed authorized to send emails on behalf of the domain indicated in the sender’s address. The steps of an SPF check are illustrated below:</p>
<figure id="attachment_28576" aria-describedby="caption-attachment-28576" style="width: 1143px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28576" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/SPF-check-Zimbra-EN.png" alt="Steps involved in an SPF check" width="1143" height="478" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/SPF-check-Zimbra-EN.png 1143w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/SPF-check-Zimbra-EN-437x183.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/SPF-check-Zimbra-EN-71x30.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/SPF-check-Zimbra-EN-768x321.png 768w" sizes="auto, (max-width: 1143px) 100vw, 1143px" /><figcaption id="caption-attachment-28576" class="wp-caption-text"><em>Steps involved in an SPF check</em></figcaption></figure>
<p> </p>
<p style="text-align: justify;">Concretely, the domain owner publishes in the DNS records a li<strong>st of IP addresses authorized to send emails</strong> on behalf of their domain. When a mail server receives an email, it can <strong>compare the sender’s IP address</strong> to this list and determine whether the message is legitimate or potentially fraudulent.</p>
<p style="text-align: justify;">An <strong>SPF check failure</strong> indicates that the email was sent from a <strong>server not authorized</strong> by the sender’s domain. This serves as an indicator for identifying <strong>potential spoofing attempts</strong>.</p>
<p style="text-align: justify;">In Zimbra logs, <strong>SPF check failures</strong> can be identified using the following command:</p>
<figure id="attachment_28544" aria-describedby="caption-attachment-28544" style="width: 1682px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28544" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/1-Retrieval-of-messages-that-failed-SPF-check-zimbra.log_.png" alt="Retrieval of messages that failed SPF check (zimbra.log)" width="1682" height="333" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/1-Retrieval-of-messages-that-failed-SPF-check-zimbra.log_.png 1682w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/1-Retrieval-of-messages-that-failed-SPF-check-zimbra.log_-437x87.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/1-Retrieval-of-messages-that-failed-SPF-check-zimbra.log_-71x14.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/1-Retrieval-of-messages-that-failed-SPF-check-zimbra.log_-768x152.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/1-Retrieval-of-messages-that-failed-SPF-check-zimbra.log_-1536x304.png 1536w" sizes="auto, (max-width: 1682px) 100vw, 1682px" /><figcaption id="caption-attachment-28544" class="wp-caption-text"><em>Retrieval of messages that failed SPF check (zimbra.log)</em></figcaption></figure>
<p> </p>
<p style="text-align: justify;">In above example, we can see that the message sent from <strong>attacker@microsoft.com</strong> to <strong>user25@wavestone.corp</strong> <strong>does not pass SPF validation</strong> (SPF_FAIL). The &#8220;<em>Yes</em>&#8221; field indicates that it is classified as spam. Since its score (9.172) exceeds the required threshold (4), this message will therefore <strong>not be delivered</strong> to its recipient.</p>
<p style="text-align: justify;">However, you should not place blind trust in the antispam engine! Some emails that <strong>fail SPF checks may still be delivered</strong>. To extract only these messages, you can use the following command:</p>
<figure id="attachment_28546" aria-describedby="caption-attachment-28546" style="width: 1692px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28546" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/2-Retrieval-of-messages-that-failed-SPF-check-and-were-delivered-zimbra.log_.png" alt="Retrieval of messages that failed SPF check and were delivered (zimbra.log)" width="1692" height="360" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/2-Retrieval-of-messages-that-failed-SPF-check-and-were-delivered-zimbra.log_.png 1692w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/2-Retrieval-of-messages-that-failed-SPF-check-and-were-delivered-zimbra.log_-437x93.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/2-Retrieval-of-messages-that-failed-SPF-check-and-were-delivered-zimbra.log_-71x15.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/2-Retrieval-of-messages-that-failed-SPF-check-and-were-delivered-zimbra.log_-768x163.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/2-Retrieval-of-messages-that-failed-SPF-check-and-were-delivered-zimbra.log_-1536x327.png 1536w" sizes="auto, (max-width: 1692px) 100vw, 1692px" /><figcaption id="caption-attachment-28546" class="wp-caption-text"><em>Retrieval of messages that failed SPF check and were delivered (zimbra.log)</em></figcaption></figure>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">In the example below, the message <strong>fails the SPF check</strong>, but its score is negative (-2.06) and below the spam threshold (4). It is therefore considered <strong>legitimate</strong> and <strong>delivered to the recipient despite the SPF failure.</strong></p>
<p style="text-align: justify;">As you can see, Zimbra logs make it possible to quickly <strong>identify senders responsible for spoofing attacks</strong>. Detecting a <strong>spoofing case</strong> <strong>early</strong> in the investigation helps to quickly reduce concerns and restore a certain level of <strong>trust in the Zimbra infrastructure</strong>.</p>
<p style="text-align: justify;"> </p>
<h4><em>Analysis of the attacker&#8217;s initial access</em></h4>
<p style="text-align: justify;">Once you have confirmed that you are <strong>not dealing with a spoofing attack</strong>, it means the attacker has, in one way or another, succeeded in compromising an account or a component of the infrastructure. The first step of your investigation will be to <strong>identify the attacker’s initial point of entry</strong>. This means finding the answers to the questions “Where?”, “When?”, and “How?”. But when it comes to compromising a mailbox, several approaches are possible…<br /><br /></p>
<p><span style="text-decoration: underline;"><em><strong>Account compromise through password brute‑forcing</strong></em></span></p>
<p style="text-align: justify;">One path you can explore is the possibility that the attacker attempted to compromise certain accounts through a <strong>brute‑force attack</strong>.</p>
<p style="text-align: justify;">To do this, simply examine authentication failures in the Zimbra logs<strong>:</strong></p>
<figure id="attachment_28548" aria-describedby="caption-attachment-28548" style="width: 1693px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28548" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/3-Retrieval-of-connection-failures-mail.log_.png" alt="Retrieval of connection failures (mail.log)" width="1693" height="229" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/3-Retrieval-of-connection-failures-mail.log_.png 1693w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/3-Retrieval-of-connection-failures-mail.log_-437x59.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/3-Retrieval-of-connection-failures-mail.log_-71x10.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/3-Retrieval-of-connection-failures-mail.log_-768x104.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/3-Retrieval-of-connection-failures-mail.log_-1536x208.png 1536w" sizes="auto, (max-width: 1693px) 100vw, 1693px" /><figcaption id="caption-attachment-28548" class="wp-caption-text"><em>Retrieval of connection failures (mail.log)</em></figcaption></figure>
<figure id="attachment_28550" aria-describedby="caption-attachment-28550" style="width: 1690px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28550" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/4-Retrieval-of-connection-failures-audit.log_.png" alt="Retrieval of connection failures (audit.log)" width="1690" height="384" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/4-Retrieval-of-connection-failures-audit.log_.png 1690w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/4-Retrieval-of-connection-failures-audit.log_-437x99.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/4-Retrieval-of-connection-failures-audit.log_-71x16.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/4-Retrieval-of-connection-failures-audit.log_-768x175.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/4-Retrieval-of-connection-failures-audit.log_-1536x349.png 1536w" sizes="auto, (max-width: 1690px) 100vw, 1690px" /><figcaption id="caption-attachment-28550" class="wp-caption-text"><em>Retrieval of connection failures (audit.log)</em></figcaption></figure>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">In the events above, we can see <strong>authentication attempts</strong> coming from the IP address <strong>100.100.4.111 </strong>that failed for the account <strong>user25@wavestone.corp</strong>.</p>
<p style="text-align: justify;">A <strong>large number of unsuccessful login</strong> <strong>attempts</strong> over a <strong>short period</strong>, from the <strong>same IP address</strong> or targeting the <strong>same account</strong>, is indicative of a <strong>brute‑force attempt</strong>.</p>
<p style="text-align: justify;">An excessive number of authentication failures can also <strong>trigger automatic</strong> <strong>account lockout</strong> by Zimbra:</p>
<figure id="attachment_28552" aria-describedby="caption-attachment-28552" style="width: 1692px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28552" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/5-Retrieval-of-account-lockout-events-mail.log_.png" alt="Retrieval of account lockout events (mail.log)" width="1692" height="180" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/5-Retrieval-of-account-lockout-events-mail.log_.png 1692w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/5-Retrieval-of-account-lockout-events-mail.log_-437x46.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/5-Retrieval-of-account-lockout-events-mail.log_-71x8.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/5-Retrieval-of-account-lockout-events-mail.log_-768x82.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/5-Retrieval-of-account-lockout-events-mail.log_-1536x163.png 1536w" sizes="auto, (max-width: 1692px) 100vw, 1692px" /><figcaption id="caption-attachment-28552" class="wp-caption-text"><em>Retrieval of account lockout events (mail.log)</em></figcaption></figure>
<p> </p>
<p style="text-align: justify;">From a forensic perspective, the appearance of such an event in the logs may suggest that an account was <strong>potentially targeted</strong>.</p>
<p style="text-align: justify;">Once the brute‑force attempt has been identified, it is possible to check when the attacker may have used the compromised account by analyzing the <strong>successful logins</strong> associated with that user:</p>
<figure id="attachment_28554" aria-describedby="caption-attachment-28554" style="width: 1689px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28554" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/6-Retrieval-of-successful-authentication-events-audit.log_.png" alt="Retrieval of successful authentication events (audit.log)" width="1689" height="280" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/6-Retrieval-of-successful-authentication-events-audit.log_.png 1689w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/6-Retrieval-of-successful-authentication-events-audit.log_-437x72.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/6-Retrieval-of-successful-authentication-events-audit.log_-71x12.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/6-Retrieval-of-successful-authentication-events-audit.log_-768x127.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/6-Retrieval-of-successful-authentication-events-audit.log_-1536x255.png 1536w" sizes="auto, (max-width: 1689px) 100vw, 1689px" /><figcaption id="caption-attachment-28554" class="wp-caption-text"><em>Retrieval of successful authentication events (audit.log)</em></figcaption></figure>
<figure id="attachment_28556" aria-describedby="caption-attachment-28556" style="width: 1692px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28556" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/7-Retrieval-of-successful-authentication-events-mailbox.log_.png" alt="Retrieval of successful authentication events (mailbox.log)" width="1692" height="335" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/7-Retrieval-of-successful-authentication-events-mailbox.log_.png 1692w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/7-Retrieval-of-successful-authentication-events-mailbox.log_-437x87.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/7-Retrieval-of-successful-authentication-events-mailbox.log_-71x14.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/7-Retrieval-of-successful-authentication-events-mailbox.log_-768x152.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/7-Retrieval-of-successful-authentication-events-mailbox.log_-1536x304.png 1536w" sizes="auto, (max-width: 1692px) 100vw, 1692px" /><figcaption id="caption-attachment-28556" class="wp-caption-text"><em>Retrieval of successful authentication events (mailbox.log)</em></figcaption></figure>
<p> </p>
<p style="text-align: justify;">Additionally, if you have <strong>identified the attacker&#8217;s IP address</strong>, you can find all <strong>successful connections from that address</strong> using the following commands:</p>
<figure id="attachment_28558" aria-describedby="caption-attachment-28558" style="width: 1694px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28558" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/8-Retrieval-of-successful-authentication-events-via-IP-audit.log_.png" alt="Retrieval of successful authentication events via IP (audit.log)" width="1694" height="49" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/8-Retrieval-of-successful-authentication-events-via-IP-audit.log_.png 1694w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/8-Retrieval-of-successful-authentication-events-via-IP-audit.log_-437x13.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/8-Retrieval-of-successful-authentication-events-via-IP-audit.log_-71x2.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/8-Retrieval-of-successful-authentication-events-via-IP-audit.log_-768x22.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/8-Retrieval-of-successful-authentication-events-via-IP-audit.log_-1536x44.png 1536w" sizes="auto, (max-width: 1694px) 100vw, 1694px" /><figcaption id="caption-attachment-28558" class="wp-caption-text"><em>Retrieval of successful authentication events via IP (audit.log)</em></figcaption></figure>
<figure id="attachment_28560" aria-describedby="caption-attachment-28560" style="width: 1693px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28560" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/9-Retrieval-of-successful-authentication-events-via-IP-mailbox.log_.png" alt="Retrieval of successful authentication events via IP (mailbox.log)" width="1693" height="48" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/9-Retrieval-of-successful-authentication-events-via-IP-mailbox.log_.png 1693w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/9-Retrieval-of-successful-authentication-events-via-IP-mailbox.log_-437x12.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/9-Retrieval-of-successful-authentication-events-via-IP-mailbox.log_-71x2.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/9-Retrieval-of-successful-authentication-events-via-IP-mailbox.log_-768x22.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/9-Retrieval-of-successful-authentication-events-via-IP-mailbox.log_-1536x44.png 1536w" sizes="auto, (max-width: 1693px) 100vw, 1693px" /><figcaption id="caption-attachment-28560" class="wp-caption-text"><em>Retrieval of successful authentication events via IP (mailbox.log)</em></figcaption></figure>
<p> </p>
<p style="text-align: justify;">Once malicious connections have been identified, it is necessary to <strong>analyze the account activity </strong>following these accesses in order to identify the <strong>actions performed by the attacker</strong>.</p>
<p> </p>
<p><span style="text-decoration: underline;"><em><strong>Account compromise through phishing attacks</strong></em></span></p>
<p style="text-align: justify;">If no brute‑force attempts have been identified, another common initial compromise vector is the way too familiar: <strong>phishing attack</strong>! In this case, the attack does not target the Zimbra infrastructure directly: the user first receives an email prompting them to <strong>visit a fraudulent page</strong> or <strong>open a malicious file</strong>. Only after clicking does the damage occur (such as credential or session token theft).</p>
<p style="text-align: justify;">In this scenario, you should, <strong>if possible</strong>, retrieve the malicious email from the user’s mailbox for analysis. If you can obtain it, here are the <strong>key pieces of information to collect</strong>:</p>
<ul style="text-align: justify;">
<li>Date and time of receipt</li>
<li>Subject of the email</li>
<li>Sender (From)</li>
<li>Recipients (To, Cc)</li>
<li>Reply addresses (Reply-To, Return-Path)</li>
<li>IP address of the originating sending server</li>
<li>Names of attachments (if any)</li>
<li>Results of SPF, DKIM, and DMARC checks</li>
<li>Identified phishing URLs (if present)</li>
</ul>
<p style="text-align: justify;">These elements will help reconstruct the <strong>attacker’s methodology</strong>, provide <strong>initial guidance</strong> for your investigation and define <strong>first remediation measures</strong>.</p>
<p style="text-align: justify;">Unfortunately, if you <strong>do not have direct access to the user’s mailbox</strong>, you will need to rely primarily on Zimbra logs, specifically the <strong>events generated by Amavis</strong> when analyzing <strong>incoming emails</strong>.</p>
<p style="text-align: justify;">Suppose you want to <strong>identify malicious attachments</strong> sent by an attacker to users. Zimbra logs are very useful in this case, as they allow you to track the files that were analyzed and extract information such as their name, size, type, and fingerprint (SHA1).</p>
<p style="text-align: justify;">The following command allows you to identify attachments processed by Amavis during the analysis of incoming messages:</p>
<figure id="attachment_28562" aria-describedby="caption-attachment-28562" style="width: 1694px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28562" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/10-Retrieval-of-attachments-scanned-by-amavis-zimbra.log_.png" alt="Retrieval of attachments scanned by amavis (zimbra.log)" width="1694" height="311" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/10-Retrieval-of-attachments-scanned-by-amavis-zimbra.log_.png 1694w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/10-Retrieval-of-attachments-scanned-by-amavis-zimbra.log_-437x80.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/10-Retrieval-of-attachments-scanned-by-amavis-zimbra.log_-71x13.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/10-Retrieval-of-attachments-scanned-by-amavis-zimbra.log_-768x141.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/10-Retrieval-of-attachments-scanned-by-amavis-zimbra.log_-1536x282.png 1536w" sizes="auto, (max-width: 1694px) 100vw, 1694px" /><figcaption id="caption-attachment-28562" class="wp-caption-text"><em>Retrieval of attachments scanned by amavis (zimbra.log)</em></figcaption></figure>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">The result above shows that the file <strong>Evil.htm</strong> was analyzed by Amavis. Several useful pieces of information can be found:</p>
<ul style="text-align: justify;">
<li>Date and time: <strong>November 12 at 11:15</strong></li>
<li>SHA‑1 signature of the file: <strong>9d57b71f9f758a27ccd680f701317574174e82d8</strong></li>
<li>Size: <strong>22,111 bytes</strong></li>
<li>Content-Type: <strong>text/html</strong></li>
<li>Amavis session ID associated with this analysis: <strong>4384125-19</strong></li>
</ul>
<p style="text-align: justify;">However, on their own, these elements do not allow you to determine <strong>which users received this attachment</strong> or <strong>who the sender was</strong>. To obtain this information, a second command must be executed to retrieve all traces associated with this Amavis session:</p>
<figure id="attachment_28564" aria-describedby="caption-attachment-28564" style="width: 1317px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28564" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/11-Retrieval-of-traces-generated-by-an-amavis-analysis-session-zimbra.log_.png" alt="Retrieval of traces generated by an amavis analysis session (zimbra.log)" width="1317" height="723" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/11-Retrieval-of-traces-generated-by-an-amavis-analysis-session-zimbra.log_.png 1317w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/11-Retrieval-of-traces-generated-by-an-amavis-analysis-session-zimbra.log_-348x191.png 348w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/11-Retrieval-of-traces-generated-by-an-amavis-analysis-session-zimbra.log_-71x39.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/11-Retrieval-of-traces-generated-by-an-amavis-analysis-session-zimbra.log_-768x422.png 768w" sizes="auto, (max-width: 1317px) 100vw, 1317px" /><figcaption id="caption-attachment-28564" class="wp-caption-text"><em>Retrieval of traces generated by an amavis analysis session (zimbra.log)</em></figcaption></figure>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">From this information, you can now deduce that <strong>attacker@example.com</strong> sent the file <strong>Evil.htm</strong> (22,111 bytes) to <strong>user25@wavestone.corp</strong> on <strong>November 12 at 11:15</strong>, and that its SHA‑1 signature is <strong>9d57b71f9f758a27ccd680f701317574174e82d8</strong>. Not bad, right?</p>
<p style="text-align: justify;">During your investigation, you can further filter the output of these commands to identify:</p>
<ul style="text-align: justify;">
<li><strong>Attachments with suspicious extensions</strong> (e.g., *.htm, *.html, *.exe, *.js, *.arj, *.iso, *.bat, <em>.ps1,</em> or Office/PDF documents containing macros)</li>
<li><strong>Files previously observed during the early stages of the incident</strong> (for example, a file downloaded by patient zero)</li>
</ul>
<p style="text-align: justify;">During a <strong>phishing campaign</strong> involving the <strong>delivery</strong> <strong>of</strong> <strong>a</strong> <strong>malicious</strong> <strong>file</strong>, attackers often tend to distribute the <strong>same file to multiple users</strong>. It is therefore possible to rely on <strong>statistical analysis</strong> to highlight <strong>abnormal values</strong>.</p>
<p style="text-align: justify;">The following command allows you to identify <strong>identical files</strong> present in several incoming emails:</p>
<figure id="attachment_28566" aria-describedby="caption-attachment-28566" style="width: 1320px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28566" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/12-Retrieval-of-traces-generated-by-an-amavis-analysis-session-zimbra.log_.png" alt="Retrieval of traces generated by an amavis analysis session (zimbra.log)" width="1320" height="528" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/12-Retrieval-of-traces-generated-by-an-amavis-analysis-session-zimbra.log_.png 1320w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/12-Retrieval-of-traces-generated-by-an-amavis-analysis-session-zimbra.log_-437x175.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/12-Retrieval-of-traces-generated-by-an-amavis-analysis-session-zimbra.log_-71x28.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/12-Retrieval-of-traces-generated-by-an-amavis-analysis-session-zimbra.log_-768x307.png 768w" sizes="auto, (max-width: 1320px) 100vw, 1320px" /><figcaption id="caption-attachment-28566" class="wp-caption-text"><em>Retrieval of traces generated by an amavis analysis session (zimbra.log)</em></figcaption></figure>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">The command above allows you to retrieve, for <strong>each attachment</strong> in emails received by Zimbra, the <strong>number of times it has been observed</strong> in other emails, based on its <strong>name</strong> and <strong>SHA‑1 signature</strong>.</p>
<p style="text-align: justify;">In this example, the file <strong>Evil.htm</strong> appears in <strong>40 emails</strong>, which, combined with its <em>.htm</em> extension, makes it particularly suspicious. It would therefore be relevant to attempt to <strong>retrieve this file from the affected users</strong> to verify its legitimacy.</p>
<p style="text-align: justify;">If the analysis of attachments did not help you identify the culprit, there is one last avenue to explore: retrieving phishing detections from <strong>SpamAssassin</strong> (an antispam engine executed by Amavis).</p>
<p style="text-align: justify;">The following command allows you to identify messages flagged as suspected phishing by SpamAssassin:</p>
<figure id="attachment_28568" aria-describedby="caption-attachment-28568" style="width: 1318px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28568" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/13-Retrieval-of-messages-categorized-as-phishing-by-SpamAssassin-zimbra.log-1-2.png" alt="Retrieval of messages categorized as phishing by SpamAssassin (zimbra.log) (1/2)" width="1318" height="438" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/13-Retrieval-of-messages-categorized-as-phishing-by-SpamAssassin-zimbra.log-1-2.png 1318w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/13-Retrieval-of-messages-categorized-as-phishing-by-SpamAssassin-zimbra.log-1-2-437x145.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/13-Retrieval-of-messages-categorized-as-phishing-by-SpamAssassin-zimbra.log-1-2-71x24.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/13-Retrieval-of-messages-categorized-as-phishing-by-SpamAssassin-zimbra.log-1-2-768x255.png 768w" sizes="auto, (max-width: 1318px) 100vw, 1318px" /><figcaption id="caption-attachment-28568" class="wp-caption-text"><em>Retrieval of messages categorized as phishing by SpamAssassin (zimbra.log) (1/2)</em></figcaption></figure>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">However, this command only provides <strong>limited information</strong>: the sender, the recipient, and the detection rules that were triggered. To obtain more details on the complete analysis, you must retrieve the <strong>Amavis session ID</strong> associated with the message (here <strong>765283-08</strong>), then execute the following command:</p>
<figure id="attachment_28570" aria-describedby="caption-attachment-28570" style="width: 1319px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28570" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/14-Retrieval-of-messages-categorized-as-phishing-by-SpamAssassin-zimbra.log-2-2.png" alt="Retrieval of messages categorized as phishing by SpamAssassin (zimbra.log) (2/2)" width="1319" height="40" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/14-Retrieval-of-messages-categorized-as-phishing-by-SpamAssassin-zimbra.log-2-2.png 1319w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/14-Retrieval-of-messages-categorized-as-phishing-by-SpamAssassin-zimbra.log-2-2-437x13.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/14-Retrieval-of-messages-categorized-as-phishing-by-SpamAssassin-zimbra.log-2-2-71x2.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/14-Retrieval-of-messages-categorized-as-phishing-by-SpamAssassin-zimbra.log-2-2-768x23.png 768w" sizes="auto, (max-width: 1319px) 100vw, 1319px" /><figcaption id="caption-attachment-28570" class="wp-caption-text"><em>Retrieval of messages categorized as phishing by SpamAssassin (zimbra.log) (2/2)</em></figcaption></figure>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">This second command provides access to <strong>additional information</strong> generated during the analysis of the message by Amavis.</p>
<p style="text-align: justify;">However, <strong>SpamAssassin results should be interpreted with caution</strong>, as its detection rules can generate a significant number of false positives.</p>
<p> </p>
<p><span style="text-decoration: underline;"><em><strong>Exploiting a vulnerability on the Zimbra web server</strong></em></span></p>
<p style="text-align: justify;"><strong>Your experience as a forensic investigator has taught you</strong>: this is neither the first nor the last time that an application vulnerability allows an attacker to hijack user sessions. <strong>Zimbra is no exception</strong>, and its web server, which provides access to mailboxes, could very well be vulnerable to this type of attack.</p>
<p style="text-align: justify;">Compromise of the Zimbra web server could, in theory, allow an attacker to <strong>capture credentials of users logging in</strong>. “But how can we check if Zimbra has been subjected to web intrusion attempts?” you might ask.</p>
<p style="text-align: justify;">A first step is to <strong>inspect the proxy (nginx) logs</strong> to identify <strong>malicious</strong> or <strong>suspicious</strong> <strong>HTTP</strong> <strong>requests</strong> targeting the web interface:</p>
<figure id="attachment_28572" aria-describedby="caption-attachment-28572" style="width: 1501px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-28572" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/15-Retrieval-of-web-exploitation-attempts-nginx.lognginx.access.log_.png" alt="Retrieval of web exploitation attempts (nginx.log/nginx.access.log)" width="1501" height="566" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/15-Retrieval-of-web-exploitation-attempts-nginx.lognginx.access.log_.png 1501w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/15-Retrieval-of-web-exploitation-attempts-nginx.lognginx.access.log_-437x165.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/15-Retrieval-of-web-exploitation-attempts-nginx.lognginx.access.log_-71x27.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/12/15-Retrieval-of-web-exploitation-attempts-nginx.lognginx.access.log_-768x290.png 768w" sizes="auto, (max-width: 1501px) 100vw, 1501px" /><figcaption id="caption-attachment-28572" class="wp-caption-text"><em>Retrieval of web exploitation attempts (nginx.log/nginx.access.log)</em></figcaption></figure>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">Among the indicators to look for in the logs are:</p>
<ul style="text-align: justify;">
<li>Unusual <strong>POST </strong>or<strong> PUT</strong> requests or requests to unexpected endpoints</li>
<li>Injection attempts (<strong>SQLi</strong>, <strong>LFI</strong>, <strong>RCE</strong> payloads visible in URIs or parameters)</li>
<li>Repeated access to non-public resources or atypical scripts</li>
<li>Strange <strong>User-Agents</strong> or a high concentration of requests from the same IP</li>
<li>Numerous <strong>4xx/5xx errors</strong> on sensitive paths (indicative of scanning/enumeration)</li>
<li>Signs of file uploads (attempts to access <strong>/tmp</strong>, <strong>/uploads</strong>, etc.) or hits on <strong>known web shells</strong></li>
</ul>
<p style="text-align: justify;">If you observe <strong>malicious requests</strong> that succeeded (for example, with an <strong>HTTP 200</strong> code), it is recommended to <strong>conduct a more in-depth investigation</strong> on the server to determine whether the exploitation was actually successful.</p>
<p> </p>
<p><span style="text-decoration: underline;"><em><strong>Compromise of the user&#8217;s workstation</strong></em></span></p>
<p style="text-align: justify;">If none of the previous scenarios seem to match what you are observing and the initial point of entry remains <strong>unidentified</strong>, it is possible that the attacker <strong>obtained access credentials directly from the user’s workstation</strong>.</p>
<p style="text-align: justify;">This type of compromise can occur, for example:</p>
<ul style="text-align: justify;">
<li>As a result of a <strong>previous phishing campaign</strong></li>
<li>Because the user <strong>executed a malicious program</strong> on their machine (cracks, software downloaded from a dubious site, connecting an infected USB drive, etc.)</li>
</ul>
<p style="text-align: justify;">Once able to execute code on the workstation, the attacker can easily extr<strong>act credentials stored in the browser</strong>, <strong>retrieve session cookies</strong>, or even <strong>install a keylogger</strong> to capture keystrokes.</p>
<p style="text-align: justify;">Detecting this type of compromise goes beyond the scope of this article. But keep this possibility in mind: if no intrusion traces appear in Zimbra, <strong>the problem may lie elsewhere</strong> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" />.</p>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">Yes! The investigation is far from over! This first part has allowed you to master Zimbra’s architecture, understand the different sources of evidence, and observe that through Zimbra logs it is possible to identify several compromise techniques. However, the initial access is only the starting point of our research. In a second part, we will continue the post–initial-access analysis. First, we will try to identify the malicious actions carried out by the attacker after compromising an account. Second, we will review the various remediation measures to implement. Stay tuned, a follow-up article will be published soon to delve deeper into these next steps!</p>
<p> </p>
<h2>Sources</h2>
<ul>
<li><a href="https://wiki.zimbra.com/wiki/Log_Files"><span style="color: #333399;">https://wiki.zimbra.com/wiki/Log_Files</span></a></li>
<li><a href="https://wiki.zimbra.com/wiki/Troubleshooting_Course_Content_Rough_Drafts-Zimbra_Architecture_Component_Overview"><span style="color: #333399;">https://wiki.zimbra.com/wiki/Troubleshooting_Course_Content_Rough_Drafts-Zimbra_Architecture_Component_Overview</span></a></li>
<li><a href="https://wiki.zimbra.com/wiki/Trouble_Shooting_Spam_Score_Changes"><span style="color: #333399;">https://wiki.zimbra.com/wiki/Trouble_Shooting_Spam_Score_Changes</span></a></li>
</ul>
<p> </p>


<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2025/12/zimbra-mailbox-compromise-from-analysis-to-remediation/">Zimbra Mailbox Compromise: From Analysis to Remediation (Part 1)</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com/en/">RiskInsight</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.riskinsight-wavestone.com/en/2025/12/zimbra-mailbox-compromise-from-analysis-to-remediation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
