{"id":135,"date":"2026-05-24T23:17:17","date_gmt":"2026-05-25T03:17:17","guid":{"rendered":"https:\/\/securebydefault.io\/blog\/?p=135"},"modified":"2026-05-24T23:27:10","modified_gmt":"2026-05-25T03:27:10","slug":"soc146-phishing-excel-40-macro-walkthrough","status":"publish","type":"post","link":"https:\/\/securebydefault.io\/blog\/soc146-phishing-excel-40-macro-walkthrough\/","title":{"rendered":"SOC146 LetsDefend Walkthrough: Phishing Mail Detected \u2014 Excel 4.0 Macros"},"content":{"rendered":"\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"376\" src=\"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/146wdiY00wMRj6cMR_bp4ig.jpg\" alt=\"\" class=\"wp-image-136\" srcset=\"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/146wdiY00wMRj6cMR_bp4ig.jpg 720w, https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/146wdiY00wMRj6cMR_bp4ig-300x157.jpg 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Excel 4.0 macros are older than most SOC analysts. They date to 1992, were designed for legitimate spreadsheet automation, and were effectively obsolete by the time VBA arrived in Office 97. Microsoft never removed them. Attackers noticed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The reason Excel 4.0 macros\u200a\u2014\u200aalso called XLM macros\u200a\u2014\u200akeep showing up in phishing campaigns is simple: most organizations block VBA macros. Endpoint protection tools are tuned to catch VBA. Security awareness training warns employees about VBA. But XLM? The old format gets far less scrutiny, it runs without triggering the same warnings, and it can call the same dangerous Windows utilities as its modern equivalent. Defenders got good at blocking the new thing and forgot about the old one.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SOC146 is a textbook example of this technique in practice. Here\u2019s how the investigation went\u200a\u2014\u200aand more importantly, why each step matters.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The Alert<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">EventID: 93\u200a\u2014\u200aSOC146\u200a\u2014\u200aPhishing Mail Detected\u200a\u2014\u200aExcel 4.0 Macros<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">First action: take ownership of the alert and open a case. This matters not just administratively\u200a\u2014\u200astarting a case creates a timestamp, establishes a chain of custody for your findings, and ensures nothing is lost if the investigation runs long or is handed off to another analyst. In a real SOC environment, owning it means you\u2019re accountable for it. That accountability is what keeps investigations from falling through the cracks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then: start the playbook. A playbook is a structured decision tree for a specific incident type. It sounds bureaucratic, but it serves a real purpose\u200a\u2014\u200aunder pressure, during a live incident, a playbook keeps you from skipping steps. The questions it asks are the questions you\u2019d eventually ask anyway. It just makes sure you ask them in the right order before you start taking action.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"343\" src=\"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1Jcap4CoLQR31kmhwlLFU7A.png\" alt=\"\" class=\"wp-image-139\" srcset=\"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1Jcap4CoLQR31kmhwlLFU7A.png 800w, https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1Jcap4CoLQR31kmhwlLFU7A-300x129.png 300w, https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1Jcap4CoLQR31kmhwlLFU7A-768x329.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\"><sup>SOC146 alert details\u200a\u2014\u200aEventID 93, severity High, flagged as a phishing mail with Excel 4.0 macro attachment.<\/sup><\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1\u200a\u2014\u200aExamine the&nbsp;Email<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The first job is understanding what we\u2019re dealing with. Navigate to the Email Security tab and use the SMTP address from the alert to pull the email logs. What we find:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sent: June 13, 2021, 2:11 PM<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SMTP (sending server): 24.213.228.54<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sender address: trenton@tritowncomputers.com<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Recipient: lars@letsdefend.io<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Attachment: 11f44531fb088d31307d87b01e8eabff.zip<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"741\" height=\"453\" src=\"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/18Q-mwlHBL98OQnam2flYHA.png\" alt=\"\" class=\"wp-image-137\" srcset=\"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/18Q-mwlHBL98OQnam2flYHA.png 741w, https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/18Q-mwlHBL98OQnam2flYHA-300x183.png 300w\" sizes=\"auto, (max-width: 741px) 100vw, 741px\" \/><figcaption class=\"wp-element-caption\"><sup>Email log pulled from the SMTP address\u200a\u2014\u200asender domain, recipient, and attachment name (an MD5 hash used as a filename, a pattern associated with automated malware distribution).<\/sup><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The sender domain\u200a\u2014\u200atritowncomputers.com\u200a\u2014\u200ais worth noting. It looks like a plausible small business. That\u2019s deliberate. This isn\u2019t a Nigerian prince email with obvious tells. The sender has a real-looking domain and a real-looking name. The email content was flagged as suspicious, but subtle. This is what modern phishing looks like: just credible enough to make someone hesitate before deleting it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The attachment name is also worth flagging immediately. 11f44531fb088d31307d87b01e8eabff is an MD5 hash\u200a\u2014\u200asomeone took the file&#8217;s hash and used it as the filename, a pattern associated with automated malware distribution. The zip extension tells us we need to look inside before we know what we\u2019re actually dealing with.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At this point in the playbook, is the email suspicious? Yes. Continue with the investigation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2\u200a\u2014\u200aAnalyze the Attachment<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Never open a suspicious attachment on a production machine. This should be obvious, but it\u2019s worth saying clearly because the cost of getting it wrong is an active compromise on your own endpoint, which is a significantly worse day than the one you started with.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Download the attachment and extract it in an isolated environment. REMnux is a solid choice for this\u200a\u2014\u200ait\u2019s a Linux distribution built specifically for malware analysis. I used the <a href=\"https:\/\/app.letsdefend.io\">LetsDefend<\/a> built-in Linux sandbox, which works for the same reason: isolated, disposable, no path back to anything that matters.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The zip contains three files:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">research-1646684671.xls\u200a\u2014\u200athe delivery mechanism<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">iroto.dll\u200a\u2014\u200amalicious DLL, payload component<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">iroto1.dll\u200a\u2014\u200asecond malicious DLL, payload component<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The XLS filename pattern (filename-timestamp.xls) is another automated distribution tell. This wasn\u2019t crafted manually for lars@letsdefend.io\u200a\u2014\u200ait was generated and sent at scale.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The three-file structure immediately suggests the attack chain: the XLS executes first and uses the DLLs to do its real work. DLLs (Dynamic Link Libraries) are shared code libraries that Windows applications load at runtime. Attackers bundle malicious DLLs with their payloads because these DLLs can be loaded by legitimate Windows utilities, making them much harder to detect and block than standalone executables.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3\u200a\u2014\u200aVirusTotal Scan<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Run all three files through VirusTotal. VirusTotal aggregates results from dozens of antivirus engines and gives you a quick picture of whether a file is known malicious and what family it belongs to.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Results: all three files come back flagged as malicious. That confirms what the structure suggested\u200a\u2014\u200athis isn\u2019t an accidental zip or a false positive. But VirusTotal alone isn\u2019t the whole picture. It tells you a file is bad. It doesn\u2019t tell you what it does, which matters for understanding scope and writing a useful incident summary.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That\u2019s what the sandbox is for.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"652\" src=\"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1zMj4QlVF0tCnsK08NTr8Zw.png\" alt=\"\" class=\"wp-image-141\" srcset=\"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1zMj4QlVF0tCnsK08NTr8Zw.png 800w, https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1zMj4QlVF0tCnsK08NTr8Zw-300x245.png 300w, https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1zMj4QlVF0tCnsK08NTr8Zw-768x626.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\"><sup>VirusTotal flags all three extracted files as malicious. Detection count confirms known-bad status\u200a\u2014\u200abut VirusTotal alone doesn\u2019t tell you what the files do. That\u2019s what the sandbox is\u00a0for.<\/sup><\/figcaption><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Dynamic Link Libraries (DLL) are an essential Windows operating system component, providing reusable code and functionality that multiple programs can utilize.<\/p>\n<\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">By placing a malicious DLL in a location where an application searches for the required DLL, attackers can execute arbitrary code with the privileges of the hijacked application. This allows them to compromise the integrity and security of the system.<\/p>\n<\/blockquote>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"650\" src=\"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/12gSJ88COvJP1LTnzHduElw.png\" alt=\"\" class=\"wp-image-145\" srcset=\"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/12gSJ88COvJP1LTnzHduElw.png 800w, https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/12gSJ88COvJP1LTnzHduElw-300x244.png 300w, https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/12gSJ88COvJP1LTnzHduElw-768x624.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"658\" src=\"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1Nantz56Zgpfvd06X8lb3WQ.png\" alt=\"\" class=\"wp-image-146\" srcset=\"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1Nantz56Zgpfvd06X8lb3WQ.png 800w, https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1Nantz56Zgpfvd06X8lb3WQ-300x247.png 300w, https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1Nantz56Zgpfvd06X8lb3WQ-768x632.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4\u200a\u2014\u200aSandbox Analysis&nbsp;(AnyRun)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">AnyRun is an interactive malware sandbox\u200a\u2014\u200ayou submit a file, it executes in a controlled environment, and you watch what happens. Process tree, network connections, file system changes, registry modifications. The attack plays out in front of you.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What AnyRun shows for research-1646684671.xls:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Excel file executes its XLM macros on open. Those macros call regsvr32.exe\u200a\u2014\u200athe Windows utility for registering DLLs\u200a\u2014\u200ato load iroto.dll and iroto1.dll. This is the core of the Excel 4.0 macro technique: use a built-in Windows tool (regsvr32) to execute the malicious payload. Regsvr32 is a legitimate, signed Microsoft binary. Many security tools and detection rules don\u2019t flag it by default. The malicious activity is occurring within the DLL being loaded, not in the utility loading it.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"359\" src=\"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1LVa3rXTIh4WUJ3zaFxqQ_Q.png\" alt=\"\" class=\"wp-image-140\" srcset=\"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1LVa3rXTIh4WUJ3zaFxqQ_Q.png 800w, https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1LVa3rXTIh4WUJ3zaFxqQ_Q-300x135.png 300w, https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1LVa3rXTIh4WUJ3zaFxqQ_Q-768x345.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\"><sup>AnyRun process tree showing the full execution chain: Excel opens, XLM macros execute, regsvr32.exe loads iroto.dll and iroto1.dll. The malicious work happens inside the DLLs\u200a\u2014\u200anot in the signed Windows binary loading\u00a0them.<\/sup><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This technique maps to MITRE ATT&amp;CK T1218.010 (Signed Binary Proxy Execution: Regsvr32). The XLM macros themselves map to T1137.001 (Office Application Startup: Office Template Macros), and the delivery via spearphishing attachment maps to T1566.001.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After the DLLs load, the malware establishes outbound network connections to two C2 (command and control) domains:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">nws.visionconsulting.ro<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">royalpalm.sparkblue.lk<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"809\" src=\"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/17lFG_xZEzUV-YYug5Bsu8Q.png\" alt=\"\" class=\"wp-image-142\" srcset=\"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/17lFG_xZEzUV-YYug5Bsu8Q.png 800w, https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/17lFG_xZEzUV-YYug5Bsu8Q-297x300.png 297w, https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/17lFG_xZEzUV-YYug5Bsu8Q-768x777.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\"><sup>AnyRun network connections confirming C2 beaconing to both domains. This is the moment the investigation changes classification\u200a\u2014\u200afrom \u201cdelivered phishing\u201d to \u201cactive compromise.\u201d<\/sup><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">C2 infrastructure is where attackers maintain communication with a compromised host\u200a\u2014\u200asending commands, receiving exfiltrated data, and potentially downloading additional payloads. The presence of C2 beaconing in the sandbox analysis indicates that this isn\u2019t just a malware sample. This is a full compromise chain: delivery \u2192 execution \u2192 persistence attempt \u2192 calling home.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 5\u200a\u2014\u200aWas It Delivered? Did They Open&nbsp;It?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Two questions that change everything about the response.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Check the alert details for Device Action. The email was marked Allowed\u200a\u2014\u200ait was delivered to lars@letsdefend.io\u2019s inbox. The mail gateway didn\u2019t catch it. That moves this from \u2018attempted phishing\u2019 to \u2018delivered phishing,\u2019 and the response changes accordingly.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Immediate action: delete the email from the recipient\u2019s mailbox. This prevents the user from opening it if they haven\u2019t already\u200a\u2014\u200aand more importantly, from forwarding it or accessing it on another device.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now the critical question: did lars open it?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Take the C2 domains from AnyRun and search them in Log Management. What comes back: outbound GET requests from an internal IP to both nws.visionconsulting.ro and royalpalm.sparkblue.lk. The device action on those requests was allowed. The connection went through.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This confirms it. The file was opened. The macros ran. The DLLs are loaded. The malware successfully called home. This is no longer a phishing attempt\u200a\u2014\u200ait\u2019s an active compromise.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"366\" src=\"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1-jwgkdqPwh9wwnGZSkZt3w.png\" alt=\"\" class=\"wp-image-138\" srcset=\"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1-jwgkdqPwh9wwnGZSkZt3w.png 800w, https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1-jwgkdqPwh9wwnGZSkZt3w-300x137.png 300w, https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1-jwgkdqPwh9wwnGZSkZt3w-768x351.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\"><sup>Log management confirms what AnyRun predicted\u200a\u2014\u200aoutbound GET requests from an internal IP to both C2 domains, Device Action Allowed. The file was opened. The macros ran. The malware called\u00a0home.<\/sup><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"404\" src=\"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1XIooJlgO_RBP5XI3kDl59g.png\" alt=\"\" class=\"wp-image-144\" srcset=\"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1XIooJlgO_RBP5XI3kDl59g.png 800w, https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1XIooJlgO_RBP5XI3kDl59g-300x152.png 300w, https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1XIooJlgO_RBP5XI3kDl59g-768x388.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Step 6\u200a\u2014\u200aIdentify and Contain the&nbsp;Endpoint<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use the source IP from the log management results to find the endpoint in Endpoint Security. The internal IP traces back to the device LarsPRD\u200a\u2014\u200aLars\u2019s workstation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Review the endpoint\u2019s command history before containment. The CMD history on LarsPRD confirms regsvr32 execution\u200a\u2014\u200amatching exactly what the AnyRun sandbox predicted would happen. Browser history and network connections show sustained communication with the malicious domains.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"546\" src=\"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1fGKnmZg3edx3RcqmSH501A.png\" alt=\"\" class=\"wp-image-143\" srcset=\"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1fGKnmZg3edx3RcqmSH501A.png 800w, https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1fGKnmZg3edx3RcqmSH501A-300x205.png 300w, https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1fGKnmZg3edx3RcqmSH501A-768x524.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\"><sup>Endpoint security confirms regsvr32 execution on LarsPRD, matching exactly what AnyRun predicted. Endpoint contained\u200a\u2014\u200aisolated from the network, state preserved for forensics.<\/sup><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"286\" src=\"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1P1__lkON4GXZjny8ssWErA.png\" alt=\"\" class=\"wp-image-147\" srcset=\"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1P1__lkON4GXZjny8ssWErA.png 800w, https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1P1__lkON4GXZjny8ssWErA-300x107.png 300w, https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/1P1__lkON4GXZjny8ssWErA-768x275.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Contain the machine immediately. Containment in an endpoint management tool cuts the device off from the network while preserving its state for forensics. Don\u2019t wipe it. Don\u2019t reimage it yet. The device is evidence. Isolate it, document what you found, and preserve the artifacts for the post-incident investigation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 7\u200a\u2014\u200aArtifacts and&nbsp;Verdict<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Document your artifacts. In incident response, an artifact is any piece of evidence generated during the incident\u200a\u2014\u200afile hashes, IP addresses, domains, process names, registry entries. These are logged for threat intelligence, for the post-incident report, and to ensure that other alerts referencing the same indicators are correctly correlated.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Artifacts from this investigation:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SMTP server: 24.213.228.54<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sender: trenton@tritowncomputers.com<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Attachment hash (ZIP): 11f44531fb088d31307d87b01e8eabff<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Malicious XLS: research-1646684671.xls<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DLL payloads: iroto.dll, iroto1.dll<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C2 domain 1: nws.visionconsulting.ro<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C2 domain 2: royalpalm.sparkblue.lk<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Compromised device: LarsPRD<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Malicious process: regsvr32.exe loading iroto.dll \/ iroto1.dll<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Verdict: True Positive.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The email was a phishing attempt carrying an Excel 4.0 macro payload. The file was delivered, opened, and executed. The XLM macros invoked regsvr32 to load two malicious DLLs, which established C2 communication with two external domains. Log evidence confirmed the outbound connections succeeded. The endpoint LarsPRD has been confirmed compromised and contained.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Why Excel 4.0 Macros Specifically<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The question worth asking after every incident is: why did this work? Not just technically\u200a\u2014\u200athat part we\u2019ve covered\u200a\u2014\u200abut why did it work when it should have been caught?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Excel 4.0 macros persist in modern Office not because Microsoft forgot about them, but because removing them would break legitimate legacy workflows. That\u2019s a real operational constraint, and it\u2019s one that attackers actively exploit. VBA macro security controls\u200a\u2014\u200awhich Microsoft has strengthened significantly over the years, and which many organizations configure aggressively\u200a\u2014\u200adon\u2019t apply to XLM macros by default. An organization that locked down VBA macros and felt good about it may have left XLM completely open.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The regsvr32 technique compounds this. By calling a signed, legitimate Windows binary to do the malicious work, the attack avoids the profile of \u2018malware executing directly.\u2019 The malicious code runs with the permissions of regsvr32, which is trusted by the operating system. Application whitelisting that doesn\u2019t account for signed binary proxy execution won\u2019t stop this.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The practical takeaway isn\u2019t \u2018trust nothing\u2019\u200a\u2014\u200athat\u2019s not actionable. It\u2019s: know what your defenses actually cover and what they don\u2019t. If your organization restricts VBA macros, verify that XLM macros are also restricted. If you use application whitelisting, check whether it accounts for regsvr32 abuse. The gap between \u2018we have controls\u2019 and \u2018we know what our controls cover\u2019 is exactly where this kind of attack lives.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">MITRE ATT&amp;CK&nbsp;Mapping<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/attack.mitre.org\/techniques\/T1566\/001\/\">T1566.001\u200a\u2014\u200aPhishing: Spearphishing Attachment (initial delivery)<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/attack.mitre.org\/techniques\/T1137\/001\/\">T1137.001\u200a\u2014\u200aOffice Application Startup: Office Template Macros (XLM macro execution)<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/attack.mitre.org\/techniques\/T1218\/010\/\">T1218.010\u200a\u2014\u200aSystem Binary Proxy Execution: Regsvr32 (DLL loading via signed binary)<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/attack.mitre.org\/techniques\/T1055\/\">T1055\u200a\u2014\u200aProcess Injection (malicious DLL loaded into legitimate process)<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/attack.mitre.org\/techniques\/T1071\/001\/\">T1071.001\u200a\u2014\u200aApplication Layer Protocol: Web Protocols (C2 over HTTP\/S)<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/attack.mitre.org\/techniques\/T1105\/\">T1105\u200a\u2014\u200aIngress Tool Transfer (DLL payloads delivered with the initial attachment)<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Key Takeaways<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Excel 4.0 (XLM) macros predate VBA and bypass many macro security controls that organizations think protect them. If you block VBA macros, verify XLM is also restricted.<\/li>\n\n\n\n<li>Two DLLs bundled with an XLS in a ZIP is a recognizable loader pattern. The structure of an attachment tells you something before you even open it.<\/li>\n\n\n\n<li>Regsvr32 executing a DLL from an unexpected location is a high-confidence malicious indicator. It maps to a well-documented MITRE technique and should trigger immediate investigation.<\/li>\n\n\n\n<li>VirusTotal tells you a file is bad. AnyRun tells you what it does. You need both to write a useful incident summary.<\/li>\n\n\n\n<li>C2 beaconing in sandbox analysis means treat the incident as active compromise, not attempted compromise. The response is different.<\/li>\n\n\n\n<li>Contain before you remediate. The endpoint is evidence. Isolate it, document it, then remediate.<\/li>\n\n\n\n<li>The gap between \u2018we have security controls\u2019 and \u2018we know what our controls actually cover\u2019 is where this class of attack lives.<\/li>\n<\/ul>\n\n\n\n<div style=\"margin:48px 0 20px;padding:36px 32px;background:#050C18;border:1px solid #1A3A5C;border-top:3px solid #00D4FF;border-radius:8px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;text-align:center;\">\n\n  <div style=\"font-family:'Courier New',monospace;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:#00D4FF;margin-bottom:14px;\">\n    \/\/ Before you go\n  <\/div>\n\n  <h3 style=\"margin:0 0 14px;font-size:24px;font-weight:800;color:#EEF5FF;line-height:1.25;\">\n    Get the security checklist most<br>businesses skip.\n  <\/h3>\n\n  <p style=\"margin:0 auto 24px;max-width:440px;font-size:15px;line-height:1.65;color:#8BB8D8;\">\n    A free 25-point audit covering the exact gaps attackers hit first \u2014\n    engineer-built, no jargon. Plus one practical security breakdown\n    every Tuesday. No fluff, no fear-mongering.\n  <\/p>\n\n  <a href=\"https:\/\/newsletter.securebydefault.io\" target=\"_blank\" rel=\"noopener\"\n     style=\"display:inline-block;background:#00D4FF;color:#050C18;text-decoration:none;\n     font-weight:700;font-size:15px;padding:15px 36px;border-radius:4px;letter-spacing:0.02em;\">\n    Get the Free Checklist &rarr;\n  <\/a>\n\n  <p style=\"margin:18px 0 0;font-family:'Courier New',monospace;font-size:11px;color:#4A7A9B;letter-spacing:0.04em;\">\n    Free on signup &nbsp;\u00b7&nbsp; Unsubscribe anytime &nbsp;\u00b7&nbsp; ~1 email per week\n  <\/p>\n\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A full SOC analyst walkthrough of LetsDefend alert SOC146 \u2014 phishing email delivering Excel 4.0 XLM macros, DLL loading via regsvr32, and confirmed C2 beaconing. MITRE ATT&#038;CK mapped, verdict explained.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[38,37],"tags":[48,46,45,42,41,39,47,49,33,44,40,51,50,43],"class_list":["post-135","post","type-post","status-publish","format-standard","hentry","category-blue-team","category-incident-response","tag-blue-team","tag-c2","tag-dll-injection","tag-excel-4-0-macros","tag-incident-response","tag-letsdefend","tag-malware-analysis","tag-mitre-attck","tag-phishing","tag-regsvr32","tag-soc-analyst","tag-soc-walkthrough","tag-sql-injection","tag-xlm-macros"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>SOC146 LetsDefend Walkthrough: Phishing Mail Detected \u2014 Excel 4.0 Macros - SecureByDefault<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/securebydefault.io\/blog\/soc146-phishing-excel-40-macro-walkthrough\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SOC146 LetsDefend Walkthrough: Phishing Mail Detected \u2014 Excel 4.0 Macros - SecureByDefault\" \/>\n<meta property=\"og:description\" content=\"A full SOC analyst walkthrough of LetsDefend alert SOC146 \u2014 phishing email delivering Excel 4.0 XLM macros, DLL loading via regsvr32, and confirmed C2 beaconing. MITRE ATT&amp;CK mapped, verdict explained.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/securebydefault.io\/blog\/soc146-phishing-excel-40-macro-walkthrough\/\" \/>\n<meta property=\"og:site_name\" content=\"SecureByDefault\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-25T03:17:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-25T03:27:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/146wdiY00wMRj6cMR_bp4ig.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"720\" \/>\n\t<meta property=\"og:image:height\" content=\"376\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ron Mercier\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ron Mercier\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/soc146-phishing-excel-40-macro-walkthrough\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/soc146-phishing-excel-40-macro-walkthrough\\\/\"},\"author\":{\"name\":\"Ron Mercier\",\"@id\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/#\\\/schema\\\/person\\\/2ee989263a69e3324bce0cbed28ec0e8\"},\"headline\":\"SOC146 LetsDefend Walkthrough: Phishing Mail Detected \u2014 Excel 4.0 Macros\",\"datePublished\":\"2026-05-25T03:17:17+00:00\",\"dateModified\":\"2026-05-25T03:27:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/soc146-phishing-excel-40-macro-walkthrough\\\/\"},\"wordCount\":2258,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/#\\\/schema\\\/person\\\/2ee989263a69e3324bce0cbed28ec0e8\"},\"image\":{\"@id\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/soc146-phishing-excel-40-macro-walkthrough\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/146wdiY00wMRj6cMR_bp4ig.jpg\",\"keywords\":[\"blue team\",\"C2\",\"DLL injection\",\"Excel 4.0 macros\",\"incident response\",\"LetsDefend\",\"malware analysis\",\"MITRE ATT&amp;CK\",\"phishing\",\"regsvr32\",\"SOC analyst\",\"SOC walkthrough\",\"SQL injection\",\"XLM macros\"],\"articleSection\":[\"Blue Team\",\"Incident Response\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/securebydefault.io\\\/blog\\\/soc146-phishing-excel-40-macro-walkthrough\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/soc146-phishing-excel-40-macro-walkthrough\\\/\",\"url\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/soc146-phishing-excel-40-macro-walkthrough\\\/\",\"name\":\"SOC146 LetsDefend Walkthrough: Phishing Mail Detected \u2014 Excel 4.0 Macros - SecureByDefault\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/soc146-phishing-excel-40-macro-walkthrough\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/soc146-phishing-excel-40-macro-walkthrough\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/146wdiY00wMRj6cMR_bp4ig.jpg\",\"datePublished\":\"2026-05-25T03:17:17+00:00\",\"dateModified\":\"2026-05-25T03:27:10+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/soc146-phishing-excel-40-macro-walkthrough\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/securebydefault.io\\\/blog\\\/soc146-phishing-excel-40-macro-walkthrough\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/soc146-phishing-excel-40-macro-walkthrough\\\/#primaryimage\",\"url\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/146wdiY00wMRj6cMR_bp4ig.jpg\",\"contentUrl\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/146wdiY00wMRj6cMR_bp4ig.jpg\",\"width\":720,\"height\":376},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/soc146-phishing-excel-40-macro-walkthrough\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SOC146 LetsDefend Walkthrough: Phishing Mail Detected \u2014 Excel 4.0 Macros\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/\",\"name\":\"SecureByDefault\",\"description\":\"Cloud Security &amp; Cybersecurity for IT Professionals\",\"publisher\":{\"@id\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/#\\\/schema\\\/person\\\/2ee989263a69e3324bce0cbed28ec0e8\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/#\\\/schema\\\/person\\\/2ee989263a69e3324bce0cbed28ec0e8\",\"name\":\"Ron Mercier\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/SecureByDefault_Log.png\",\"url\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/SecureByDefault_Log.png\",\"contentUrl\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/SecureByDefault_Log.png\",\"width\":512,\"height\":512,\"caption\":\"Ron Mercier\"},\"logo\":{\"@id\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/SecureByDefault_Log.png\"},\"sameAs\":[\"https:\\\/\\\/securebydefault.io\\\/blog\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/ron-mercier\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCDyWOTMI23S8Y3zwPoX3UkQ\"],\"url\":\"https:\\\/\\\/securebydefault.io\\\/blog\\\/author\\\/sbd_admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SOC146 LetsDefend Walkthrough: Phishing Mail Detected \u2014 Excel 4.0 Macros - SecureByDefault","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/securebydefault.io\/blog\/soc146-phishing-excel-40-macro-walkthrough\/","og_locale":"en_US","og_type":"article","og_title":"SOC146 LetsDefend Walkthrough: Phishing Mail Detected \u2014 Excel 4.0 Macros - SecureByDefault","og_description":"A full SOC analyst walkthrough of LetsDefend alert SOC146 \u2014 phishing email delivering Excel 4.0 XLM macros, DLL loading via regsvr32, and confirmed C2 beaconing. MITRE ATT&CK mapped, verdict explained.","og_url":"https:\/\/securebydefault.io\/blog\/soc146-phishing-excel-40-macro-walkthrough\/","og_site_name":"SecureByDefault","article_published_time":"2026-05-25T03:17:17+00:00","article_modified_time":"2026-05-25T03:27:10+00:00","og_image":[{"width":720,"height":376,"url":"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/146wdiY00wMRj6cMR_bp4ig.jpg","type":"image\/jpeg"}],"author":"Ron Mercier","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ron Mercier","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/securebydefault.io\/blog\/soc146-phishing-excel-40-macro-walkthrough\/#article","isPartOf":{"@id":"https:\/\/securebydefault.io\/blog\/soc146-phishing-excel-40-macro-walkthrough\/"},"author":{"name":"Ron Mercier","@id":"https:\/\/securebydefault.io\/blog\/#\/schema\/person\/2ee989263a69e3324bce0cbed28ec0e8"},"headline":"SOC146 LetsDefend Walkthrough: Phishing Mail Detected \u2014 Excel 4.0 Macros","datePublished":"2026-05-25T03:17:17+00:00","dateModified":"2026-05-25T03:27:10+00:00","mainEntityOfPage":{"@id":"https:\/\/securebydefault.io\/blog\/soc146-phishing-excel-40-macro-walkthrough\/"},"wordCount":2258,"commentCount":0,"publisher":{"@id":"https:\/\/securebydefault.io\/blog\/#\/schema\/person\/2ee989263a69e3324bce0cbed28ec0e8"},"image":{"@id":"https:\/\/securebydefault.io\/blog\/soc146-phishing-excel-40-macro-walkthrough\/#primaryimage"},"thumbnailUrl":"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/146wdiY00wMRj6cMR_bp4ig.jpg","keywords":["blue team","C2","DLL injection","Excel 4.0 macros","incident response","LetsDefend","malware analysis","MITRE ATT&amp;CK","phishing","regsvr32","SOC analyst","SOC walkthrough","SQL injection","XLM macros"],"articleSection":["Blue Team","Incident Response"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/securebydefault.io\/blog\/soc146-phishing-excel-40-macro-walkthrough\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/securebydefault.io\/blog\/soc146-phishing-excel-40-macro-walkthrough\/","url":"https:\/\/securebydefault.io\/blog\/soc146-phishing-excel-40-macro-walkthrough\/","name":"SOC146 LetsDefend Walkthrough: Phishing Mail Detected \u2014 Excel 4.0 Macros - SecureByDefault","isPartOf":{"@id":"https:\/\/securebydefault.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/securebydefault.io\/blog\/soc146-phishing-excel-40-macro-walkthrough\/#primaryimage"},"image":{"@id":"https:\/\/securebydefault.io\/blog\/soc146-phishing-excel-40-macro-walkthrough\/#primaryimage"},"thumbnailUrl":"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/146wdiY00wMRj6cMR_bp4ig.jpg","datePublished":"2026-05-25T03:17:17+00:00","dateModified":"2026-05-25T03:27:10+00:00","breadcrumb":{"@id":"https:\/\/securebydefault.io\/blog\/soc146-phishing-excel-40-macro-walkthrough\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/securebydefault.io\/blog\/soc146-phishing-excel-40-macro-walkthrough\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/securebydefault.io\/blog\/soc146-phishing-excel-40-macro-walkthrough\/#primaryimage","url":"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/146wdiY00wMRj6cMR_bp4ig.jpg","contentUrl":"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/146wdiY00wMRj6cMR_bp4ig.jpg","width":720,"height":376},{"@type":"BreadcrumbList","@id":"https:\/\/securebydefault.io\/blog\/soc146-phishing-excel-40-macro-walkthrough\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/securebydefault.io\/blog\/"},{"@type":"ListItem","position":2,"name":"SOC146 LetsDefend Walkthrough: Phishing Mail Detected \u2014 Excel 4.0 Macros"}]},{"@type":"WebSite","@id":"https:\/\/securebydefault.io\/blog\/#website","url":"https:\/\/securebydefault.io\/blog\/","name":"SecureByDefault","description":"Cloud Security &amp; Cybersecurity for IT Professionals","publisher":{"@id":"https:\/\/securebydefault.io\/blog\/#\/schema\/person\/2ee989263a69e3324bce0cbed28ec0e8"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/securebydefault.io\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/securebydefault.io\/blog\/#\/schema\/person\/2ee989263a69e3324bce0cbed28ec0e8","name":"Ron Mercier","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/SecureByDefault_Log.png","url":"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/SecureByDefault_Log.png","contentUrl":"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/SecureByDefault_Log.png","width":512,"height":512,"caption":"Ron Mercier"},"logo":{"@id":"https:\/\/securebydefault.io\/blog\/wp-content\/uploads\/2026\/05\/SecureByDefault_Log.png"},"sameAs":["https:\/\/securebydefault.io\/blog","https:\/\/www.linkedin.com\/in\/ron-mercier\/","https:\/\/www.youtube.com\/channel\/UCDyWOTMI23S8Y3zwPoX3UkQ"],"url":"https:\/\/securebydefault.io\/blog\/author\/sbd_admin\/"}]}},"_links":{"self":[{"href":"https:\/\/securebydefault.io\/blog\/wp-json\/wp\/v2\/posts\/135","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/securebydefault.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/securebydefault.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/securebydefault.io\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/securebydefault.io\/blog\/wp-json\/wp\/v2\/comments?post=135"}],"version-history":[{"count":3,"href":"https:\/\/securebydefault.io\/blog\/wp-json\/wp\/v2\/posts\/135\/revisions"}],"predecessor-version":[{"id":152,"href":"https:\/\/securebydefault.io\/blog\/wp-json\/wp\/v2\/posts\/135\/revisions\/152"}],"wp:attachment":[{"href":"https:\/\/securebydefault.io\/blog\/wp-json\/wp\/v2\/media?parent=135"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/securebydefault.io\/blog\/wp-json\/wp\/v2\/categories?post=135"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/securebydefault.io\/blog\/wp-json\/wp\/v2\/tags?post=135"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}