<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <title>Sagnik Ghosh</title>
  <subtitle>Offensive security student writing about CTFs, penetration testing and security tooling. Writeups, projects and a timeline of my work by Sagnik Ghosh.</subtitle>
  <link href="https://sagnikbuilds.tech/feed.xml" rel="self" type="application/atom+xml"/>
  <link href="https://sagnikbuilds.tech/" rel="alternate" type="text/html"/>
  <id>https://sagnikbuilds.tech/</id>
  <updated>2026-10-09T00:00:00.000Z</updated>
  <author><name>Sagnik Ghosh</name></author>
  <entry>
    <title>Carribean: Spectronas CTF 2026 B2R</title>
    <link href="https://sagnikbuilds.tech/blogs/carribean/"/>
    <id>https://sagnikbuilds.tech/blogs/carribean/</id>
    <updated>2026-10-09T00:00:00.000Z</updated>
    <summary>The Caribbean B2R machine involves anonymous FTP enumeration, steganography, web directory discovery, cookie manipulation, and file upload exploitation to gain a shell. SSH keys recovered from an encrypted ZIP provide user access. Privilege escalation is achieved through a tar wildcard injection vulnerability in a custom backup script, leading to root access and the final flag.</summary>
  </entry>
  <entry>
    <title>Amongus: Spectronas CTF 2026 B2R</title>
    <link href="https://sagnikbuilds.tech/blogs/amongus/"/>
    <id>https://sagnikbuilds.tech/blogs/amongus/</id>
    <updated>2026-10-08T00:00:00.000Z</updated>
    <summary>A complete walkthrough of the Amongus B2R machine, covering SMB and FTP enumeration, virtual host discovery, PHP Local File Inclusion (LFI), writable NFS exploitation for initial access, SSH credential discovery, and privilege escalation to root using PwnKit (CVE-2021-4034).</summary>
  </entry>
  <entry>
    <title>Nexus: HTB Walkthrough</title>
    <link href="https://sagnikbuilds.tech/blogs/nexus/"/>
    <id>https://sagnikbuilds.tech/blogs/nexus/</id>
    <updated>2026-07-31T00:00:00.000Z</updated>
    <summary>A penetration test of the Nexus HTB machine, covering port scanning, virtual host enumeration, credential discovery through a Gitea instance, and initial access via a vulnerable Krayin CRM installation. Privilege escalation to root was achieved by exploiting a path traversal weakness in a root-owned Gitea template synchronization service, allowing an SSH public key to be written to root&#39;s `authorized_keys` file.</summary>
  </entry>
  <entry>
    <title>Implementing Repeating-key XOR cipher</title>
    <link href="https://sagnikbuilds.tech/blogs/repeating-key-xor-cipher-implementation/"/>
    <id>https://sagnikbuilds.tech/blogs/repeating-key-xor-cipher-implementation/</id>
    <updated>2026-04-03T00:00:00.000Z</updated>
    <summary>Implementing a repeating-key XOR cipher in Python: a Cryptopals Set 1 Challenge 5 writeup covering XOR basics, strings and a full implementation.</summary>
  </entry>
  <entry>
    <title>Basic Pentesting 1 Walkthrough</title>
    <link href="https://sagnikbuilds.tech/blogs/basic-pentesting-1/"/>
    <id>https://sagnikbuilds.tech/blogs/basic-pentesting-1/</id>
    <updated>2026-03-24T00:00:00.000Z</updated>
    <summary>Basic Pentesting 1 boot2root walkthrough: Nmap recon, exploiting a vulnerable FTP service with Metasploit, and web enumeration with Gobuster.</summary>
  </entry>
  <entry>
    <title>Blue TryHackMe Walkthrough</title>
    <link href="https://sagnikbuilds.tech/blogs/blue/"/>
    <id>https://sagnikbuilds.tech/blogs/blue/</id>
    <updated>2025-10-21T00:00:00.000Z</updated>
    <summary>TryHackMe Blue walkthrough: scanning a Windows 7 host with Nmap, confirming MS17-010 (EternalBlue) and gaining a Meterpreter session with Metasploit.</summary>
  </entry>
  <entry>
    <title>NetSec Challenge TryHackMe Walkthrough</title>
    <link href="https://sagnikbuilds.tech/blogs/netsec/"/>
    <id>https://sagnikbuilds.tech/blogs/netsec/</id>
    <updated>2025-10-21T00:00:00.000Z</updated>
    <summary>TryHackMe NetSec Challenge walkthrough: using Nmap to find open ports, service versions and hidden services on a target host.</summary>
  </entry>
</feed>
