<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Swetha Jagannathan</title>
    <description>The latest articles on DEV Community by Swetha Jagannathan (@swetha_jagannathan).</description>
    <link>https://dev.to/swetha_jagannathan</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3409563%2F76052188-16c6-427f-b71e-948f17954b29.jpg</url>
      <title>DEV Community: Swetha Jagannathan</title>
      <link>https://dev.to/swetha_jagannathan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/swetha_jagannathan"/>
    <language>en</language>
    <item>
      <title>Can you get the root access? THM ROOTME ROOM</title>
      <dc:creator>Swetha Jagannathan</dc:creator>
      <pubDate>Mon, 25 Aug 2025 14:41:28 +0000</pubDate>
      <link>https://dev.to/swetha_jagannathan/can-you-get-the-root-access-thm-rootme-room-1325</link>
      <guid>https://dev.to/swetha_jagannathan/can-you-get-the-root-access-thm-rootme-room-1325</guid>
      <description>&lt;p&gt;There’s nothing like the thrill of a challenge that whispers, “try me.” Today, I dove into the RootMe CTF room and walked away with root access—all while sharpening my hands-on skills in web security and pentesting.&lt;/p&gt;

&lt;p&gt;Here’s how it went down:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Recon Like a Pro&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Started with Nmap, scanning the target:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;nmap -sC -sV -p- &lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Two ports were wide open. Curious, I ran an aggressive scan to pull service versions and get the Apache fingerprint. Knowing what you’re up against is half the battle.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hunting for Hidden Paths&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Time to map the terrain. Enter Gobuster:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;gobuster dir -u http:// -w /usr/share/wordlists/dirb/common.txt&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Two juicy paths popped up:&lt;/p&gt;

&lt;p&gt;/uploads/ → seemed standard&lt;/p&gt;

&lt;p&gt;/panel/ → the real playground&lt;/p&gt;

&lt;p&gt;It was /panel/ that caught my eye. File upload functionality? Oh yes, vulnerabilities waiting to be discovered.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Upload Trick&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Classic move: I prepared a PHP reverse shell. But the site didn’t allow .php files. So… I went stealth mode: changed the extension to .phtml.&lt;/p&gt;

&lt;p&gt;BANG! Uploaded!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Getting the Shell&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Set up Netcat to listen:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;nc -lvnp 1234&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Ping… connection established. Boom! I was inside the server.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Privilege Escalation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Shell in hand, the target’s crown jewels were within reach. Using enumeration scripts and careful analysis, I escalated privileges and grabbed root access.&lt;/p&gt;

&lt;p&gt;Lessons:&lt;/p&gt;

&lt;p&gt;Recon is everything. Know the target before touching anything.&lt;/p&gt;

&lt;p&gt;File upload vulnerabilities? Still a real threat today.&lt;/p&gt;

&lt;p&gt;Small tweaks (like .phtml instead of .php) make the difference between “blocked” and “owned.”&lt;/p&gt;

&lt;p&gt;Hands-on practice in CTFs = real-world skills. This is how you bridge the gap between theory and impact.&lt;/p&gt;

&lt;p&gt;Takeaway:&lt;br&gt;
Whether it’s CTFs or pentesting, the thrill isn’t just in “getting root”—it’s in learning, improvising, and leaving nothing unchecked. And yes… vibes means doing it with style.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;       ~Swetha Jagannathan
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>cybersecurity</category>
      <category>linux</category>
      <category>php</category>
      <category>learning</category>
    </item>
    <item>
      <title>From Enumeration to Escalation — Basic Pentesting room on TryHackMe</title>
      <dc:creator>Swetha Jagannathan</dc:creator>
      <pubDate>Mon, 11 Aug 2025 14:05:16 +0000</pubDate>
      <link>https://dev.to/swetha_jagannathan/from-enumeration-to-escalation-basic-pentesting-room-on-tryhackme-30fl</link>
      <guid>https://dev.to/swetha_jagannathan/from-enumeration-to-escalation-basic-pentesting-room-on-tryhackme-30fl</guid>
      <description>&lt;p&gt;Every exploit leaves a scar.&lt;br&gt;
The Basic Pentesting room on TryHackMe wasn’t just a challenge — it was a battlefield.&lt;br&gt;
I walked in with curiosity, and walked out with root… and a few lessons carved deep.&lt;/p&gt;

&lt;p&gt;Let me tell you how I have survived the battle&lt;/p&gt;

&lt;p&gt;Reconnaissance — The First Glance at the Enemy&lt;br&gt;
Like any battle, I started with reconnaissance. A full Nmap scan revealed the battlefield:&lt;br&gt;
_&lt;br&gt;
22/tcp   open  ssh&lt;br&gt;
80/tcp   open  http&lt;br&gt;
139/tcp  open  netbios-ssn&lt;br&gt;
445/tcp  open  microsoft-ds&lt;br&gt;
8009/tcp open  ajp13_&lt;/p&gt;

&lt;p&gt;Each open port is like a wound in the armor. Some small. Some lethal.&lt;br&gt;
SSH for remote access. HTTP for web content. Samba (139 &amp;amp; 445) for file sharing. And AJP13 — a rare find, often linked to Apache Tomcat.&lt;/p&gt;

&lt;p&gt;Web Probing — The First Clues&lt;br&gt;
The port 80 web service looked too plain on the surface, but I wasn’t fooled. I deployed Gobuster to enumerate hidden directories:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;gobuster dir -u &lt;a href="http://target_ip" rel="noopener noreferrer"&gt;http://target_ip&lt;/a&gt; -w /usr/share/wordlists/dirb/common.txt&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;It didn’t take long before the loot dropped:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;/development/&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Inside, a few HTML comments whispered secrets — two names: K and J.&lt;br&gt;
The hunt now had faces.&lt;/p&gt;

&lt;p&gt;Samba Enumeration — Into the Shadows&lt;br&gt;
With ports 139 and 445 open, Samba was the next step. I fired up enum4linux:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;enum4linux -a target_ip&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The scan confirmed anonymous SMB access — no password required. Using smbclient, I connected:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;smbclient //target_ip/anonymous&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Inside, I found staff.txt. Opening it revealed the players:&lt;/p&gt;

&lt;p&gt;_Jan&lt;/p&gt;

&lt;p&gt;Kay_&lt;/p&gt;

&lt;p&gt;Two usernames. Two potential doors.&lt;/p&gt;

&lt;p&gt;Password Hunting — Cracking the Gate&lt;br&gt;
With a name like Jan, it was time for brute force. Hydra was my weapon of choice:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;hydra -l jan -P /usr/share/wordlists/rockyou.txt ssh://target_ip&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;After a few tense minutes, the password emerged from the digital fog:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;armando&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;One key down. One lock to pick.&lt;/p&gt;

&lt;p&gt;Foothold — Becoming Jan&lt;br&gt;
SSH gave me a way in:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;ssh jan@target_ip&lt;br&gt;
password: armando&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Now, I had a shell inside enemy territory. But Jan wasn’t root — and I wasn’t leaving without the crown.&lt;/p&gt;

&lt;p&gt;Privilege Escalation — Climbing the Ladder&lt;br&gt;
Time to hunt for privilege escalation paths. I searched for SUID binaries — files that run with elevated permissions:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;find / -perm -4000 2&amp;gt;/dev/null&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Every unusual binary was a potential weapon.&lt;br&gt;
One led me deeper into the system until I found it — the path to Kay’s files. Kay’s home directory was locked, but persistence pays. Eventually, I cracked it open and found the final password.&lt;/p&gt;

&lt;p&gt;Victory — Claiming the Flag&lt;br&gt;
With Kay’s credentials, I escalated to root.&lt;br&gt;
The final flag was mine — the proof that the system had fallen.&lt;/p&gt;

&lt;p&gt;Lessons from the Field&lt;br&gt;
This wasn’t just a challenge; it was a blueprint for real-world pentesting:&lt;/p&gt;

&lt;p&gt;Enumeration is king — every detail counts.&lt;/p&gt;

&lt;p&gt;Brute force is noisy but effective when paired with good intel.&lt;/p&gt;

&lt;p&gt;Privilege escalation requires patience and a sharp eye for misconfigurations.&lt;/p&gt;

&lt;p&gt;The flag was just proof.&lt;br&gt;
The real win? Leaving that machine broken&lt;/p&gt;

&lt;p&gt;Onto the next hunt! &lt;br&gt;
           ~ Swetha Jagannathan&lt;/p&gt;

</description>
      <category>security</category>
      <category>productivity</category>
      <category>learning</category>
      <category>linux</category>
    </item>
    <item>
      <title>Cracking TryHackMe’s “Simple CTF”: SQLi &amp; CVE-2019-9053 in the Wild</title>
      <dc:creator>Swetha Jagannathan</dc:creator>
      <pubDate>Sun, 03 Aug 2025 13:26:14 +0000</pubDate>
      <link>https://dev.to/swetha_jagannathan/cracking-tryhackmes-simple-ctf-sqli-cve-2019-9053-in-the-wild-23m1</link>
      <guid>https://dev.to/swetha_jagannathan/cracking-tryhackmes-simple-ctf-sqli-cve-2019-9053-in-the-wild-23m1</guid>
      <description>&lt;p&gt;"You don’t need permission to test the lock — only the courage to pick it."&lt;/p&gt;

&lt;p&gt;I recently tackled the Simple CTF room on TryHackMe — an entry-level but deeply satisfying box that reminded me how simplicity often hides sharp vulnerabilities.&lt;/p&gt;

&lt;p&gt;Phase 1: Reconnaissance&lt;br&gt;
Started with the usual:&lt;/p&gt;

&lt;p&gt;nmap -sC -sV -oN simplectf.nmap &lt;/p&gt;

&lt;p&gt;Dropped a scan. Ports 80 and 2222 welcomed me.&lt;/p&gt;

&lt;p&gt;Ran Gobuster to enumerate directories:&lt;/p&gt;

&lt;p&gt;gobuster dir -u http:// -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt&lt;/p&gt;

&lt;p&gt;Discovered /login.php and /robots.txt, which hinted at hidden admin or CMS content.&lt;/p&gt;

&lt;p&gt;Phase 2: Exploiting SQL Injection&lt;br&gt;
Manual testing of the login form revealed it was vulnerable to SQL Injection. &lt;br&gt;
 bypassed authentication — a red flag in any real-world app.&lt;/p&gt;

&lt;p&gt;Phase 3: CVE-2019-9053 – CuteNews CMS Exploit&lt;br&gt;
Digging deeper into the /CuteNews directory, I identified the CMS as CuteNews v2.1.2, vulnerable to a well-known Remote Code Execution (RCE) flaw — CVE-2019-9053.&lt;/p&gt;

&lt;p&gt;Exploited it using a Python script to upload a malicious PHP shell, then escalated privileges from there.&lt;/p&gt;

&lt;p&gt;Payload Delivered. Root Access Secured.&lt;br&gt;
Enumerated.&lt;br&gt;
Escalated.&lt;br&gt;
Exfiltrated.&lt;/p&gt;

&lt;p&gt;Both user and root flags were claimed.&lt;br&gt;
But more than that — control was mine.&lt;/p&gt;

&lt;p&gt;What They Forgot:&lt;br&gt;
[@] Input fields aren’t boxes. They’re entry points.&lt;/p&gt;

&lt;p&gt;[@] A CMS is only “Cute” until it leaks.&lt;/p&gt;

&lt;p&gt;[@] Security is a myth when curiosity is weaponized.&lt;/p&gt;

&lt;p&gt;If you're reading this and building something — ask yourself:&lt;br&gt;
Would it survive the hackers?&lt;br&gt;
Because we won’t knock.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;           ~Swetha Jagannathan
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;catch the trial: &lt;a href="https://www.linkedin.com/in/swetha-jagannathan-97b101333/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/swetha-jagannathan-97b101333/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>cybersecurity</category>
      <category>tryhackme</category>
      <category>learning</category>
    </item>
  </channel>
</rss>
