<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Rai Kaustubh]]></title><description><![CDATA[Rai Kaustubh]]></description><link>https://raikaustubh.com</link><generator>RSS for Node</generator><lastBuildDate>Tue, 07 Apr 2026 20:43:00 GMT</lastBuildDate><atom:link href="https://raikaustubh.com/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Beating the Credit Meter: Local LLM + MCP Inside BurpSuite]]></title><description><![CDATA[TL;DRBurpSuite’s built-in AI is powerful but credit-metered and Pro-only. I wanted the same locally, without burning credits, and even on Community Edition. So I built a small BurpSuite extension that talks to a local LLM (via Ollama or similar) or t...]]></description><link>https://raikaustubh.com/local-llm-mcp-inside-burpsuite</link><guid isPermaLink="true">https://raikaustubh.com/local-llm-mcp-inside-burpsuite</guid><category><![CDATA[kaustubh-rai]]></category><category><![CDATA[Security]]></category><category><![CDATA[Burpsuite  ]]></category><category><![CDATA[penetration testing]]></category><category><![CDATA[Local LLM]]></category><category><![CDATA[mcp]]></category><category><![CDATA[automation]]></category><dc:creator><![CDATA[Kaustubh Rai]]></dc:creator><pubDate>Sat, 01 Nov 2025 18:51:40 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1762022446910/aa6d3cf2-5593-49da-bc36-718ed5d8e9ae.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>TL;DR</strong><br />BurpSuite’s built-in AI is powerful but <strong>credit-metered</strong> and <strong>Pro-only</strong>. I wanted the same <strong>locally</strong>, <strong>without burning credits</strong>, and <strong>even on Community Edition</strong>. So I built a small BurpSuite extension that talks to a <strong>local LLM</strong> (via Ollama or similar) or to an <strong>MCP client</strong> (Claude Desktop / VS Code MCP).</p>
<p>The model proposes candidates; the extension mutates the seeded request and fires variants <strong>through Burp</strong> so logging, auth, proxy, and scope stay intact.</p>
<hr />
<h2 id="heading-why-not-just-use-burps-ai">Why not just use Burp’s AI?</h2>
<p>Because credit meters change how you test. Burp’s AI (and similar cloud features) are great, but:</p>
<ul>
<li><p>It’s <strong>Pro-only</strong> and <strong>credit-metered</strong>; credits deplete fast under real fuzz-iterate workflows.</p>
</li>
<li><p>Continuous iteration on internal/staging traffic becomes a budgeting exercise.</p>
</li>
<li><p>I wanted a <strong>local-first, human-in-the-loop</strong> flow where <strong>Burp remains the control plane</strong> and nothing leaves my box unless I say so.</p>
</li>
</ul>
<p>So I built the thing I wanted.</p>
<h2 id="heading-what-i-built-and-why-its-different">What I built (and why it’s different)</h2>
<p><strong>Local LLM Assistant (Montoya API)</strong> — a Burp extension that adds a <strong>Local LLM</strong> tab and context menu action.</p>
<p><strong>Key differences vs credit-metered AI:</strong></p>
<ul>
<li><p><strong>Works on Community Edition</strong> — no Pro lock-in.</p>
</li>
<li><p><strong>No credits, no cloud</strong> — run your <strong>own</strong> model with <strong>Ollama</strong> or any approved local runtime.</p>
</li>
<li><p><strong>MCP bridge</strong> — if you don’t have a local model, route via an <strong>MCP client</strong> (Claude Desktop / VS Code MCP) that can fetch seeds and send variants <em>through</em> Burp.</p>
</li>
<li><p><strong>Burp stays the network control plane</strong> — all traffic is visible in Burp’s Logger; auth, proxy, and scope rules still apply.</p>
</li>
</ul>
<h2 id="heading-how-it-helps-in-practice">How it helps in practice</h2>
<p><strong>Seed from Burp</strong><br />Right-click any request → <em>Use this request as seed</em>. The extension extracts params by location (URL / BODY / JSON / COOKIE) and cookies.</p>
<p><strong>Two generation modes</strong></p>
<ul>
<li><p><strong>Command mode</strong>: pick vulnerability family (SQL/NoSQL/XSS/etc.), choose location and count → get candidate inputs instantly.</p>
</li>
<li><p><strong>Prompt mode</strong>: write a short instruction (“vary boolean/time-based checks”) → get a structured list.</p>
</li>
</ul>
<p><strong>Send through Burp</strong><br />The extension mutates the seeded request and fires variants <strong>in parallel</strong> via Burp’s HTTP stack (optionally add each to Repeater).</p>
<p><strong>Encoding variants</strong><br />Turn on URL/Base64/HTML encoding to cover boring but useful permutations.</p>
<p><strong>Timing &amp; observability</strong><br />See generation time, send time, and total wall-clock — makes it obvious whether the model or the network is the bottleneck.</p>
<h2 id="heading-results-im-seeing">Results I’m seeing</h2>
<p>On representative staging runs: <strong>~11–20s end-to-end</strong> (generate + send), down from <strong>~3–4 minutes</strong> in my first prototype.<br />The wins came from <strong>parallel sends</strong> and a <strong>stricter structured output</strong> format. Fewer context switches; faster triage.</p>
<blockquote>
<p>This doesn’t replace human judgment. It just removes keystrokes so I can spend time on auth edges, tenant boundaries, weird encodings, and evidence.</p>
</blockquote>
<hr />
<h2 id="heading-where-ai-helps-and-where-it-doesnt">Where AI helps — and where it doesn’t</h2>
<p><strong>Helps</strong></p>
<ul>
<li><p>Quickly proposing benign detection inputs</p>
</li>
<li><p>Covering dull variants + alternate encodings</p>
</li>
<li><p>Promoting “plausible” cases into Repeater for human digging</p>
</li>
</ul>
<p><strong>Doesn’t replace</strong></p>
<ul>
<li><p>Understanding auth flows, tenant isolation, data paths</p>
</li>
<li><p>Turning a quirky response into a verified finding with evidence</p>
</li>
<li><p>Severity/exploitability judgment and remediation</p>
</li>
</ul>
<h2 id="heading-guardrails-by-design">Guardrails (by design)</h2>
<ul>
<li><p><strong>Human-in-the-loop</strong>: no autonomous crawling; I select the seed and click <strong>Send</strong>.</p>
</li>
<li><p><strong>Authorized targets only</strong>: defaults and docs emphasize <strong>staging/lab use</strong>.</p>
</li>
<li><p><strong>Local-first</strong>: local model or MCP via a local bridge with optional bearer tokens.</p>
</li>
<li><p><strong>Observability</strong>: everything flows through Burp’s Logger.</p>
</li>
</ul>
<h2 id="heading-architecture-at-a-glance">Architecture at a glance</h2>
<ul>
<li><p><strong>Burp extension (control plane)</strong>: mutates the seed, fires via Burp’s HTTP stack (Logger/Repeater visible).</p>
</li>
<li><p><strong>Tiny HTTP bridge</strong>: <code>/v1/seed</code>, <code>/v1/send</code> endpoints the MCP client or local model can call.</p>
</li>
<li><p><strong>Model</strong>: local runtime (Ollama etc.) <strong>or</strong> MCP client.</p>
</li>
<li><p><strong>Crucial</strong>: the <strong>LLM never talks directly to the target</strong>; Burp owns network I/O.</p>
</li>
</ul>
<p><img src="https://images.contentstack.io/v3/assets/blt77d44a06c81b1730/blte19d69cc1d93e5ef/68efa64455fd2727aed8cd21/burp_suite_extension_manual_penetration_testing_contentstack.png" alt="burp_suite_extension_manual_penetration_testing_contentstack.png" /></p>
<hr />
<h2 id="heading-quick-start">Quick start</h2>
<h2 id="heading-repo-githubcomkaustubhraiburpsuitelocalaihttpgithubcomkaustubhraiburpsuitelocalai"><strong>Repo</strong>: <a target="_blank" href="http://github.com/KaustubhRai/BurpSuite_LocalAI"><code>github.com/KaustubhRai/BurpSuite_LocalAI</code></a></h2>
<ol>
<li><p>Build the JAR or install the release JAR in <strong>Burp → Extensions → Add</strong>.</p>
</li>
<li><p><strong>Pick your brain:</strong></p>
<ul>
<li><p><strong>Local</strong>: run <strong>Ollama</strong> (or another approved local runtime) and set Base URL/Model in the extension tab, <strong>or</strong></p>
</li>
<li><p><strong>MCP</strong>: enable the MCP bridge and register the MCP server in your client (Claude Desktop / VS Code).</p>
</li>
</ul>
</li>
<li><p>Right-click a request → <strong>Use as seed</strong> → choose <strong>Command</strong> or <strong>Prompt</strong> mode → <strong>Send</strong>.</p>
</li>
<li><p>Watch <strong>Logger (Sources → Extensions)</strong> for traffic, status, size, and timings.</p>
</li>
</ol>
<hr />
<h2 id="heading-roadmap">Roadmap</h2>
<ul>
<li><p><strong>Auto-iterate</strong>: time-boxed rounds of plan → send → observe → rank by response deltas (status/latency/body/header), keep top-K, tweak strategy.</p>
</li>
<li><p><strong>Playbooks</strong>: repeatable sequences for common test families.</p>
</li>
<li><p><strong>Assertions library</strong>: non-destructive checks and diffing to speed triage.</p>
</li>
</ul>
<p>All still human-started and scope-bound. The model proposes; <strong>Burp executes</strong>.</p>
]]></content:encoded></item><item><title><![CDATA[One Year Quiet, One Cert Louder]]></title><description><![CDATA[I haven’t blogged in over a year. Not because I had nothing to write - I just didn’t publish.
Most of my time went into security cert prep, especially BSCP. Nearly every security nerd has heard or used BurpSuite in their life. Its creator PortSwigger...]]></description><link>https://raikaustubh.com/bscp</link><guid isPermaLink="true">https://raikaustubh.com/bscp</guid><category><![CDATA[BSCP]]></category><category><![CDATA[Burpsuite  ]]></category><category><![CDATA[portswigger]]></category><category><![CDATA[#cybersecurity]]></category><category><![CDATA[hacking]]></category><category><![CDATA[tools]]></category><dc:creator><![CDATA[Kaustubh Rai]]></dc:creator><pubDate>Fri, 16 May 2025 16:26:28 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1747405090356/b1304562-9fe9-434a-a401-8892f9e7f289.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I haven’t blogged in over a year. Not because I had nothing to write - I just didn’t publish.</p>
<p>Most of my time went into security cert prep, especially <a target="_blank" href="https://portswigger.net/web-security/certification">BSCP</a>. Nearly every security nerd has heard or used <a target="_blank" href="https://portswigger.net/burp/communitydownload">BurpSuite</a> in their life. Its creator PortSwigger, offers <a target="_blank" href="https://portswigger.net/web-security/certification">BSCP</a>. And for that certification, they have given a FREE and an extensive list of Theory + Labs to practice on - <a target="_blank" href="https://portswigger.net/web-security/all-topics">Web Security Academy</a>.</p>
<p>For the same, i have jotted down some rough notes throughout. These were meant to be private. But since I haven’t written anything else, and this pile has real value, I’m dumping it here.</p>
<h2 id="heading-noteshttpswwwnotionsoraikaustubhportswigger-web-academy-5ee21f7eb36045f0803414f1355b2445pvs4"><a target="_blank" href="https://www.notion.so/raikaustubh/PortSwigger-Web-Academy-5ee21f7eb36045f0803414f1355b2445?pvs=4">Notes</a></h2>
<p>Use it, skim it, steal from it - whatever helps.</p>
<p>Enjoy</p>
]]></content:encoded></item><item><title><![CDATA[Timeless Exploits]]></title><description><![CDATA[When someone starts their journey in cybersecurity or moves forward in their career, they eventually stumble upon certain legendary exploits, iconic CTF machines, and infamous bugs. These exploits, machines, and incidents have shaped how we see secur...]]></description><link>https://raikaustubh.com/timeless-exploits</link><guid isPermaLink="true">https://raikaustubh.com/timeless-exploits</guid><category><![CDATA[#cybersecurity]]></category><category><![CDATA[hacking]]></category><category><![CDATA[stories]]></category><dc:creator><![CDATA[Kaustubh Rai]]></dc:creator><pubDate>Tue, 25 Feb 2025 15:19:59 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1740496703628/3cd9d6f4-280b-4e29-9b97-e159860e200b.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When someone starts their journey in cybersecurity or moves forward in their career, they eventually stumble upon certain legendary exploits, iconic CTF machines, and infamous bugs. These exploits, machines, and incidents have shaped how we see security and fundamentally changed the 🌐 tech landscape across industries like 🌍 web and 📱 mobile.</p>
<p>These "escapades" represent pivotal moments in cybersecurity history, serving as landmarks for how vulnerabilities have been discovered, exploited, and fixed. They have shaped how we practice cybersecurity today and will definitely influence future decisions and technologies we build to protect our data, devices, and 🌐 networks.</p>
<p>Below, I’ll try to pen down some of the legendary exploits, classic CTF machines, infamous security bugs, and even geopolitically driven incidents that have impacted cybersecurity on a global scale.</p>
<hr />
<h3 id="heading-1-the-legendary-exploits">1. The Legendary Exploits:</h3>
<p>Classics that are considered timeless by the cybersecurity community - each one is unique in how it reshaped our understanding of vulnerabilities, attacks, and defenses:</p>
<ul>
<li><p><strong>EternalBlue (MS17-010)</strong>: A notorious exploit developed by the NSA, that got leaked by the Shadow Brokers. It led to large-scale ransomware attacks like WannaCry and NotPetya. EternalBlue was a gift to any hacker worth their salt because it targeted a super common SMB vulnerability on Windows. If it was unpatched, you were toast.</p>
<p>  <img src="https://media.npr.org/assets/img/2023/01/14/this-is-fine_custom-b7c50c845a78f5d7716475a92016d52655ba3115.jpg?s=1100&amp;c=85&amp;f=jpeg" alt /></p>
</li>
<li><p><strong>Heartbleed (CVE-2014-0160)</strong>: A vulnerability in the OpenSSL library that allowed attackers to read sensitive information directly from the memory of affected systems. <em>Like reading password of your bank account from a post-it note.</em> The impact was immense, leading to countless servers being compromised due to leaked encryption keys and private data that taught us that even <em>“secure”</em> tools can have massive holes.</p>
</li>
<li><p><strong>Stuxnet</strong>: The James Bond of malware. A sophisticated worm that targeted industrial control systems (ICS) in Iran, <em>believed to be a joint effort by the U.S. and Israel</em> to sabotage nuclear facilities. Stuxnet was the first instance of a malware that specifically targeted programmable logic controllers (PLCs), showcasing the potential for real-world consequences of cyberwarfare.</p>
</li>
<li><p><strong>Shellshock (CVE-2014-6271)</strong>: A vulnerability in the Unix Bash shell that allowed remote code execution - from web servers to your smart fridge. Shellshock impacted millions of servers, embedded systems, and IoT devices, as Bash was embedded deeply into many Unix-based environments. Why? Because someone thought it was a great idea to not sanitize inputs. Millions of devices could suddenly be commandeered remotely. Fun times 🙂.</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1728248821496/1a48bf61-91d6-473f-a376-a3fcfac3562c.gif" alt class="image--center mx-auto" /></p>
</li>
<li><p><strong>BlueKeep (CVE-2019-0708)</strong>: A critical vulnerability in Remote Desktop Services on older Windows systems. BlueKeep could allow attackers to remotely execute code without any form of authentication. Like leaving your front door open with a giant “come on in” sign in neon color for hackers.</p>
</li>
<li><p><strong>Spectre and Meltdown</strong>: These hardware-level vulnerabilities targeted CPUs and exploited side-channel attacks to extract sensitive data from kernel memory. It showed us that even CPUs could be tricked into leaking sensitive data. These bugs were a wake-up call for the entire industry, forcing chip manufacturers and OS vendors to rethink their security models.</p>
</li>
<li><p><strong>Stagefright (Android Vulnerability)</strong>: A bug affecting the Android media playback library, allowing RCE on vulnerable devices just by sending a malicious MMS. It was one of the biggest threats to Android devices globally back in the day.</p>
</li>
<li><p><strong>Dirty Cow (CVE-2016-5195)</strong>: A privilege escalation vulnerability in the Linux kernel, affecting Android devices and many Linux distributions. It was all about exploiting how Linux handled copy-on-write (COW). For Android users, this bug also meant anyone could root your device without asking nicely.</p>
</li>
</ul>
<p><strong>Other Notable Mentions:</strong></p>
<ul>
<li><p>SQL Slammer</p>
</li>
<li><p>WannaCry</p>
</li>
<li><p>Morris Worm</p>
</li>
<li><p>Conficker ( also known as Downup, Downadup, and Kido)</p>
</li>
<li><p>KRACK (Wi-Fi WPA2 Vulnerability)</p>
</li>
<li><p>Log4Shell (Log4j Vulnerability)</p>
</li>
</ul>
<hr />
<h3 id="heading-2-the-famous-ctf-machines-across-different-platforms">2. The famous CTF Machines across different platforms:</h3>
<p>CTF machines serve as practical learning playground for those wishing to practice security techniques in a controlled environment. Here are some of the most famous ones for different platforms:</p>
<ul>
<li><p><strong>Hack The Box: Legacy</strong> - Classic Windows machine that teaches the fundamentals of network and OS exploitation. If you haven’t mastered SMB vulnerabilities, it’s time to get cracking. Legacy is where you understand why patching is not optional.</p>
</li>
<li><p><strong>VulnHub: Kioptrix Series</strong> - A great Linux-based series focusing on <strong>privilege escalation and web vulnerabilities</strong>, ideal for beginners looking to dive into old-school Linux, and the series really makes you sweat through those privilege-escalation hoops.</p>
</li>
<li><p><strong>Hack The Box: Jeeves</strong> - Famous for quirky challenges from enumeration to Windows exploitation, great for those new to Active Directory and similar setups.</p>
</li>
<li><p><strong>TryHackMe: Blue</strong> - Another CTF related to EternalBlue, designed for beginners to understand the steps involved in exploiting SMB vulnerabilities.</p>
</li>
<li><p><strong>VulnHub: Mr. Robot</strong> - wanna feel like Elliot? A CTF inspired by the popular TV series - Mr Robot, covering web vulnerabilities and privilege escalation techniques, along with a touch of cryptography.</p>
</li>
<li><p><a target="_blank" href="https://docs.google.com/spreadsheets/u/1/d/1dwSMIAPIam0PuRBkCiDI88pU3yzrqqHkDtBngUHNCw8/htmlview#"><strong>TJ Null's List</strong></a> - If you're aiming for certifications like OSCP, PWK, OSWE, or any offensive cert, you’ve probably heard of TJ Null's famous list of machines. This list gives you a roadmap of what to <s>solve</s>hack on different platforms to achieve those certs.</p>
</li>
<li><p><strong>Mobile-Specific CTFs</strong>:</p>
<ul>
<li><p><strong>Androgochi</strong> (Android CTF) - Focuses on Android app security, covering reverse engineering and common vulnerabilities in Android apps.</p>
</li>
<li><p><strong>iOS Security Challenges</strong> - iOS-specific challenges from platforms like iCTF, which highlight vulnerabilities like insecure data storage and jailbreak techniques.</p>
</li>
</ul>
</li>
</ul>
<hr />
<h3 id="heading-3-famous-bugs-in-security">3. Famous Bugs in Security:</h3>
<p>Security problems usually happen because someone, somewhere, took a shortcut. That later became famous because it caused big problems. Let’s talk about the bugs that have haunted developers and kept us security folks employed 🥳.</p>
<ul>
<li><p><strong>Input Validation Failures</strong>: Wrote some code and thought, “<em>Nah, why would anyone enter a SQL command in that text box”?</em> <strong>Yeah, they will</strong>. Not validating input properly is like giving attackers a key to your database. SQLi and XSS are the gifts that keep on giving - all because some dev trusted user input a little too much.</p>
</li>
<li><p><strong>Authentication and Authorization Flaws</strong>: Using “12345” as password during testing and forgetting to change it later. Or just slapping together some session management without worrying too much about hijacking. The result? An attacker gets in because someone cut a corner. The <em>"I'll fix it later"</em> that never happens.</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1728249147152/5e6f891a-8a64-4e06-aec1-48830650bc7a.png" alt class="image--center mx-auto" /></p>
</li>
<li><p><strong>Hardcoded Secrets</strong>: Hardcoding the API keys directly in your code - like no one's gonna look in there. Until your repo goes public, and some bot scrapes your AWS credentials faster than you can say <strong><em>“oopsies”</em></strong>. The kind of mistake that turns a dev’s life into a fire drill on a Friday evening.</p>
</li>
<li><p><strong>Insecure Deserialization</strong>: A magic trick that works perfectly until you realize your magician friend is a con artist. Deserialization bugs let attackers take untrusted serialized data and use it to execute whatever code they like.</p>
</li>
<li><p><strong>Improper Error Handling</strong>: A normal <code>console.log(err)</code> is always good for debugging, right? Except when it ends up in production, and suddenly every user (or hacker) sees your entire stack trace. Sometimes less is more - like just throwing a “<strong><em>Something went wrong</em></strong>” instead of displaying your dirty laundry.</p>
</li>
<li><p><strong>Misconfigured Security Headers</strong>: Like forgetting to lock the door on your way out. Security headers like <code>CSP</code>, <code>HSTS</code>, <code>X-Frame-Options</code> - if you don’t set these, you’re basically inviting attackers to have a field day with XSS and MITM attacks. Annoying to set up? Sure. Necessary? Absolutely.</p>
</li>
<li><p><strong>Race Conditions in Code</strong>: Imagine two people racing to grab the same resource, and whoever gets there first wins—except in code, the winner gets root privileges. Dirty Cow showed us what happens when you don’t properly handle concurrent processes. It’s messy and gives attackers the upper hand.</p>
</li>
</ul>
<hr />
<h3 id="heading-4-geopolitical-incidents-that-shaped-security">4. Geopolitical Incidents That Shaped Security:</h3>
<p>Cybersecurity is not just nerds in hoodies - but also about countries flexing their muscles; thats heavily influenced by geopolitics. The following incidents show how vulnerabilities and exploits have played a role in shaping global security policies:</p>
<ul>
<li><p><strong>Stuxnet</strong>: <strong><em>Allegedly</em></strong> the U.S. and Israel dropped this beauty into Iran’s nuclear facilities, and boom - centrifuges were spinning out of control. It wasn’t just a cyber attack; it was cyber warfare in action, and it changed the game forever; to cause physical damage to infrastructure.</p>
</li>
<li><p><strong>The Shadow Brokers Leak</strong>: A bunch of exploits straight from the NSA’s vault got leaked, including EternalBlue. This leak changed the landscape of cybersecurity, giving both researchers and malicious actors tools that were never supposed to see the light of day. And in the hands of anyone with a grudge.</p>
</li>
<li><p><strong>NotPetya Attack</strong>: Russia decided to mess with Ukraine, and NotPetya happened. It pretended to be ransomware, but the goal was just chaos. The collateral damage was insane - the attack led billions in losses for companies worldwide.</p>
</li>
<li><p><strong>China and the Great Firewall</strong>: We've all heard about China's firewall. The software we use here? They have their own versions. Their Google isn't our Google, their Amazon/Flipkart isn't our Amazon/Flipkart - everything is different there. This is thanks to the Great Firewall of China. It's not about blocking websites; it's a mix of censorship, surveillance, and cyber skills. Not just keeping content out but controlling everything inside the borders. Impressive, but scarrry 🎃.</p>
</li>
<li><p><strong>SolarWinds Hack</strong>: Late 2020, Russians <em>allegedly</em> slipped a backdoor into SolarWinds, and it ended up in U.S. government and corporate networks. The attack was a masterclass in supply chain exploitation - you’re only as secure as your weakest vendor.</p>
</li>
<li><p><strong>Operation Olympic Games</strong>: Pre-Stuxnet, this operation was reportedly launched by the U.S. to disrupt Iran's nuclear progress. It laid the groundwork for how cyber operations could be a key tool in modern geopolitical conflicts causing real-world disruption.</p>
</li>
</ul>
<hr />
<p><strong>Conclusion: The Legacy of These Classics</strong></p>
<p>Cybersecurity isn’t just about code and 🛠️ exploits - it’s about people, history, and the stories behind how we got here. The vulnerabilities, exploits, machines, and incidents covered represent key lessons in security.</p>
<p>Understanding them is not just about mastering technical skills but also about comprehending how intertwined security is with global events, technological evolution, and human creativity.</p>
<p>By learning these iconic elements of cybersecurity, one gains an appreciation for both the offensive and defensive measures that have been developed over the years.</p>
<p>And hey, the next time you're stuck 🐞 debugging an error or 🔧 patching a vulnerability, just <strong>remember</strong> - you’re contributing to the next chapter of cybersecurity history.</p>
]]></content:encoded></item><item><title><![CDATA[Understanding Sources and Sinks: A Guide to Taint Analysis]]></title><description><![CDATA[During testing or code reviews, it’s crucial to understand how users input flows through a system. The ability to read the code of the application and understand it thoroughly is just as important as breaking that application.
This understanding enab...]]></description><link>https://raikaustubh.com/sources-and-sinks</link><guid isPermaLink="true">https://raikaustubh.com/sources-and-sinks</guid><dc:creator><![CDATA[Kaustubh Rai]]></dc:creator><pubDate>Sat, 13 Jul 2024 06:30:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/-g1bOEKZup0/upload/5090514714474539537a5aba4603d550.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>During testing or code reviews, it’s crucial to understand how users input flows through a system. The ability to read the code of the application and understand it thoroughly is just as important as breaking that application.</p>
<p>This understanding enables us to spot weaknesses and safeguard the system more effectively. One powerful technique to achieve this is taint analysis. In that spirit, let’s delve into the concepts of sources and sinks.</p>
<h2 id="heading-understanding-taint-analysis">Understanding Taint Analysis</h2>
<p>Taint analysis is a method used to track the flow of data through a program, start to end. It helps in identifying how data from an untrusted source can affect the execution of a program, potentially leading to security breaches.</p>
<h2 id="heading-the-role-of-sources-and-sinks">The Role of Sources and Sinks</h2>
<p>In taint analysis, the concepts of sources and sinks are fundamental:</p>
<p><img src="https://main-raikaustubh.netlify.app/assets/img/sourceandsink.png" alt="/sourceandsink" class="image--center mx-auto" /></p>
<ul>
<li><p>Sources: These are points in the program where untrusted data enters. Examples include user input fields, network interfaces, and external databases.</p>
</li>
<li><p>Sinks: These are points where the data ends up or is executed. Sinks can include places where data is written to a file, displayed on the UI, or used in a database query.</p>
</li>
</ul>
<h2 id="heading-why-taint-analysis-is-important">Why Taint Analysis is Important</h2>
<p>When we test systems or do code reviews, we don’t always have the luxury of a UI to observe how data flows. In such a scenario taint analysis is apt. It allows us to trace the path of user inputs through the system, highlighting how they interact with different components and where they ultimately end up.</p>
<p>This visibility is critical in identifying potential vulnerabilities, such as SQL injection points, cross-site scripting (XSS) vulnerabilities, and other forms of data mishandling.</p>
<h2 id="heading-finding-sources-and-sinks-in-different-languages-and-frameworks">Finding Sources and Sinks in Different Languages and Frameworks</h2>
<p>The methods for identifying sources and sinks can vary depending on the programming language and framework being used. Here’s a guide on how to approach this in some common scenarios:</p>
<h3 id="heading-javascript-and-web-development-sources">JavaScript and Web Development sources</h3>
<p>JavaScript sources include various properties and methods that can accept user input:</p>
<ul>
<li><p><code>document.URL</code>: Returns the URL of the document.</p>
</li>
<li><p><code>document.documentURI</code>: Returns the URI of the document.</p>
</li>
<li><p><code>document.cookie</code>: Accesses the cookies associated with the document.</p>
</li>
<li><p><code>document.referrer</code>: Returns the URI of the document that is linked to the current document.</p>
</li>
<li><p><code>window.name</code>: Returns the name of the window.</p>
</li>
<li><p><code>history.pushState()</code> and <code>history.replaceState()</code>: Allow manipulation of the browser history.</p>
</li>
</ul>
<h3 id="heading-typescript-and-react-sources">TypeScript and React sources</h3>
<ul>
<li><p>State Variable</p>
<ul>
<li><p>defined using the <code>useState</code> hook or other state management libraries.</p>
</li>
<li><p>e.g., <code>const [inputValue, setInputValue] = useState('');</code></p>
</li>
</ul>
</li>
<li><p>Event Handler</p>
<ul>
<li><p>functions that handle events like <code>onChange</code>, <code>onClick</code>, <code>onSubmit</code>, etc</p>
</li>
<li><p>e.g., <code>const handleInputChange = (event) =&gt; { ... }</code></p>
</li>
</ul>
</li>
<li><p>Input Element</p>
<ul>
<li><p>where the user types their input</p>
</li>
<li><p>e.g., <code>&lt;input type="text" value={inputValue} onChange={handleInputChange} /&gt;</code></p>
</li>
</ul>
</li>
<li><p>Form Elements</p>
<ul>
<li>HTML elements like <code>&lt;input&gt;</code>, <code>&lt;textarea&gt;</code>, and <code>&lt;select&gt;</code>. These elements are often sources of user input.</li>
</ul>
</li>
<li><p>Props</p>
<ul>
<li><p>It is a pattern to share information between a parent component and a child component. User input can be passed down as props from a parent component.</p>
</li>
<li><p>e.g., <code>const MyComponent = ({ initialValue }) =&gt; { ... }</code></p>
</li>
</ul>
</li>
</ul>
<h3 id="heading-dom-xss-sinks">DOM-XSS sinks</h3>
<p>These are some sinks that can lead to DOM-based XSS vulnerabilities:</p>
<ul>
<li><p><code>document.write()</code> and <code>document.writeln()</code>: Write directly to the document.</p>
</li>
<li><p><code>element.innerHTML</code> and <code>element.outerHTML</code>: Allow manipulation of the HTML content of elements.</p>
</li>
<li><p><code>element.insertAdjacentHTML()</code>: Inserts HTML at specified positions relative to the element.</p>
</li>
</ul>
<h3 id="heading-javascript-injection-sinks">JavaScript Injection sinks</h3>
<p>Potentially dangerous functions that can execute JavaScript code:</p>
<ul>
<li><p><code>eval()</code>: Executes a string of JavaScript code.</p>
</li>
<li><p><code>function()</code>: Creates a new function from a string of code.</p>
</li>
<li><p><code>setTimeout()</code> and <code>setInterval()</code>: Execute code after a delay or at intervals if passed a string.</p>
</li>
<li><p><code>element.onevent</code>: Assigns event handler attributes.</p>
</li>
</ul>
<h3 id="heading-open-redirection-sinks">Open-Redirection sinks</h3>
<p>These properties can lead to open redirection vulnerabilities:</p>
<ul>
<li><p><code>location</code>: Represents the location (URL) of the document.</p>
</li>
<li><p><code>location.href</code>: Gets/sets the entire URL.</p>
</li>
<li><p><code>location.assign()</code> and <code>location.replace()</code>: Navigate to a new URL.</p>
</li>
<li><p><code>element.src</code>: Sets the source of an element, such as an iframe or image.</p>
</li>
</ul>
<h3 id="heading-python-and-djangoflask">Python and Django/Flask</h3>
<p>Common Sources</p>
<ul>
<li><p><code>request.GET['input']</code>: Retrieves query parameters.</p>
</li>
<li><p><code>request.form['input']</code>: Retrieves form data.</p>
</li>
<li><p><code>request.cookies['cookie_name']</code>: Retrieves cookies.</p>
</li>
</ul>
<p>Sinks</p>
<ul>
<li><p><code>cursor.execute(query)</code>: Executes a database command.</p>
</li>
<li><p><code>render_template('template.html')</code>: Renders a template.</p>
</li>
<li><p><code>subprocess.call('command')</code>: Executes a shell command.</p>
</li>
</ul>
<h3 id="heading-java-and-spring">Java and Spring</h3>
<p>Common Sources</p>
<ul>
<li><p><code>@RequestParam String input</code>: Retrieves request parameters.</p>
</li>
<li><p><code>request.getParameter("input")</code>: Retrieves request parameters.</p>
</li>
<li><p><code>request.getCookies()</code>: Retrieves cookies.</p>
</li>
</ul>
<p>Sinks</p>
<ul>
<li><p><code>jdbcTemplate.update(query)</code>: Executes a database update.</p>
</li>
<li><p><code>response.getWriter().write(output)</code>: Writes to the HTTP response.</p>
</li>
<li><p><code>Runtime.getRuntime().exec(command)</code>: Executes a system command.</p>
</li>
</ul>
<h3 id="heading-c-and-aspnet">C# and ASP.NET</h3>
<p>Common Sources</p>
<ul>
<li><p><code>Request.QueryString["input"]</code>: Retrieves query string parameters.</p>
</li>
<li><p><code>Request.Form["input"]</code>: Retrieves form data.</p>
</li>
<li><p><code>Request.Cookies["cookie_name"]</code>: Retrieves cookies.</p>
</li>
</ul>
<p>Sinks</p>
<ul>
<li><p><code>sqlCommand.ExecuteNonQuery()</code>: Executes a database command.</p>
</li>
<li><p><code>Response.Write(output)</code>: Writes to the HTTP response.</p>
</li>
<li><p><code>Process.Start(command)</code>: Starts a new process.</p>
</li>
</ul>
<h2 id="heading-steps-to-implement-taint-analysis">Steps to Implement Taint Analysis</h2>
<p>1] Identify Sources: Begin by mapping out where user inputs enter your system. This could be through form fields, API endpoints, or other interfaces.</p>
<p>2] Trace the Flow: Follow the data as it moves through your system. Look for functions and methods that process or manipulate this data.</p>
<p>3] Identify Sinks: Determine where the data ends up, whether it’s being stored, displayed, or used in critical operations.</p>
<p>4] Analyze and Mitigate: Look for patterns where data might be mishandled. Ensure that all data reaching sinks is properly validated and sanitized to prevent vulnerabilities.</p>
<h2 id="heading-tools-to-aid">Tools to Aid</h2>
<p>There are various tools available to help identify sources and sinks.</p>
<h3 id="heading-portswigger-labs">PortSwigger Labs</h3>
<p>PortSwigger offers practical labs where one can practice identifying sources and sinks: <a target="_blank" href="https://portswigger.net/web-security/dom-based"><strong>PortSwigger Labs</strong></a></p>
<h3 id="heading-semgrep">Semgrep</h3>
<p>Semgrep is a powerful tool for rule-based scanning. It allows you to create custom rules to identify sources and sinks in your code. Read more about how Semgrep can be used: <a target="_blank" href="https://semgrep.dev/docs/writing-rules/data-flow/taint-mode"><strong>Semgrep Documentation</strong></a></p>
<h3 id="heading-burp-canary">Burp Canary</h3>
<p>Burp Canary, an extension in BurpSuite that’s pre-installed in Burp’s browser. This enhances sources and sinks analysis by injecting unique tokens (“canaries”) into the requests and tracks their flow. This precise tracking highlights how user input (sources) moves through the system to critical endpoints (sinks), identifying potential vulnerabilities. This automation complements taint analysis. Read more at: <a target="_blank" href="https://portswigger.net/burp/documentation/desktop/tools/dom-invader/settings/canary"><strong>Burp Canary</strong></a></p>
<h3 id="heading-burpsuite-bcheck-scripts">BurpSuite BCheck Scripts</h3>
<p>For scenarios where a UI is available, you can develop a BCheck script in Burp Suite to automate the identification of sources and sinks while you casually browse the application. Here is an example script for JavaScript sinks:</p>
<p>BCheck Script</p>
<pre><code class="lang-yaml"><span class="hljs-attr">metadata:</span> 
    <span class="hljs-attr">language:</span> <span class="hljs-string">v2-beta</span> 
    <span class="hljs-attr">name:</span> <span class="hljs-string">"JS sinks for DOM-XSS (passive)"</span> 
    <span class="hljs-attr">description:</span> <span class="hljs-string">"JavaScript sink that could lead to DOM-XSS."</span> 
    <span class="hljs-attr">author:</span> <span class="hljs-string">"Kaustubh"</span> 
    <span class="hljs-attr">tags:</span> <span class="hljs-string">"passive"</span> 

<span class="hljs-string">given</span> <span class="hljs-string">response</span> <span class="hljs-string">then</span> 
    <span class="hljs-string">if</span> {<span class="hljs-string">latest.response</span>} <span class="hljs-string">matches</span> <span class="hljs-string">"document.write|document.writeln|document.domain|\.innerHTML|\.outerHTML|\.insertAdjacentHTML|\.onevent"</span> <span class="hljs-string">then</span> 
        <span class="hljs-attr">report issue and continue:</span> 
            <span class="hljs-attr">severity:</span> <span class="hljs-string">info</span> 
            <span class="hljs-attr">confidence:</span> <span class="hljs-string">firm</span> 
            <span class="hljs-attr">detail:</span> <span class="hljs-string">"JavaScript sink that could lead to DOM-XSS."</span> 
            <span class="hljs-attr">remediation:</span> <span class="hljs-string">"Investigate if this sink can be used to do a DOM-XSS."</span> 
    <span class="hljs-string">end</span> <span class="hljs-string">if</span>
</code></pre>
<h3 id="heading-checkout-more-bcheck-scripts-herehttpsgithubcomkaustubhraibchecks"><a target="_blank" href="https://github.com/KaustubhRai/bchecks"><strong>Checkout more Bcheck scripts here</strong></a></h3>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Understanding sources and sinks is crucial in identifying potential vulnerabilities in a system. By recognising where untrusted data enters (sources) and where it is executed or stored (sinks), can safeguard against attacks</p>
]]></content:encoded></item><item><title><![CDATA[Rahasya 🕵️]]></title><description><![CDATA[Hey everyone! 🌟
I’ve been working on something cool and it’s finally ready for the spotlight. Meet, Rahasya,my latest creation designed to up your secret scanning game. This tool is all about making sure those sneaky secrets don’t end up where they ...]]></description><link>https://raikaustubh.com/rahasya</link><guid isPermaLink="true">https://raikaustubh.com/rahasya</guid><dc:creator><![CDATA[Kaustubh Rai]]></dc:creator><pubDate>Wed, 20 Mar 2024 06:30:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1734108063833/de1deb23-108a-4efd-87bd-766d20e6a139.avif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey everyone! 🌟</p>
<p>I’ve been working on something cool and it’s finally ready for the spotlight. Meet, <a target="_blank" href="https://github.com/KaustubhRai/rahasya"><strong>Rahasya</strong></a>,my latest creation designed to up your secret scanning game. This tool is all about making sure those sneaky secrets don’t end up where they shouldn’t.  </p>
<p><img src="https://main-raikaustubh.netlify.app/assets/gif/rahasya.gif" alt="/rahasya" class="image--center mx-auto" /></p>
<h2 id="heading-why-rahasya">Why Rahasya?</h2>
<p>We all know the struggle — keeping API keys, passwords, and other sensitive info out of public repositories is a must, but it can be a pain to manage.</p>
<p>That’s where Rahasya comes in. It bundles some of the best open-source tools into one package, making comprehensive scans a breeze.</p>
<h2 id="heading-whats-inside">What’s Inside?</h2>
<p><a target="_blank" href="https://github.com/KaustubhRai/rahasya"><strong>Rahasya</strong></a> combines the strengths of several top-tier tools like GitLeaks, Gitty Leaks, TruffleHog, Detect Secrets, Git Guardian, and Talisman. Whether you’re a developer or a security engineer, Rahasya is here to make your life easier and your code safer.  </p>
<p><img src="https://main-raikaustubh.netlify.app/assets/img/run_rahasya.png" alt="/run_rahasya" class="image--center mx-auto" /></p>
<h2 id="heading-how-to-use-it">How to Use It?</h2>
<p>Pull the Docker image and run it in your project’s root directory where it’s git cloned.</p>
<p>Dockerbash</p>
<pre><code class="lang-bash"><span class="hljs-comment"># download the image</span>
$ docker pull raikaustubh/rahasya <span class="hljs-comment"># run the image at the project's location in a self deleting container once its done using</span>
$ docker run -it --rm -v <span class="hljs-string">"<span class="hljs-subst">$(PWD)</span>:/repo"</span> raikaustubh/rahasya
</code></pre>
<p>You can customize the scans to fit your needs, whether you want to run all tools at once or pick and choose specific ones. The results are organized neatly, so reviewing them is a breeze.</p>
<h2 id="heading-shift-left-security-for-devs">Shift Left Security for Devs</h2>
<p>Rahasya isn’t just for security pros; it’s great for developers too. You can deploy it as a GitHub Action, which means every time you push code or create a pull request, Rahasya will run the scans and alert you to any issues.</p>
<p>It’s a fantastic way to integrate security into your development process right from the start.</p>
<h2 id="heading-want-to-know-more">Want to Know More?</h2>
<p>I’ve written an in-depth post about Rahasya on BreachForce. If you’re curious to dive deeper into what Rahasya can do, head over to</p>
<h3 id="heading-take-a-gander-here-breachforce-bloghttpsbreachforcenetrahasya">Take a gander here: <a target="_blank" href="https://breachforce.net/rahasya"><strong>BreachForce Blog</strong></a>.</h3>
<p><img src="https://main-raikaustubh.netlify.app/assets/gif/signing_off.gif" alt="/signing_off" class="image--center mx-auto" /></p>
<p>Stay tuned for more updates and tools. I might not post often, but when I do, I make sure it’s worth your time. 🚀</p>
]]></content:encoded></item><item><title><![CDATA[Finding Vulns with BChecks 🔍]]></title><description><![CDATA[Hey everyone! 🌟
An update! I’ve recently wrote a blog post about BChecks in Burp Suite, and I’m stoked to say it’s not just chilling in my drafts anymore. It’s out there, basking in the glory of not just on my company’s blog, but also on a popular c...]]></description><link>https://raikaustubh.com/bchecks</link><guid isPermaLink="true">https://raikaustubh.com/bchecks</guid><category><![CDATA[vuln-scanner]]></category><category><![CDATA[bchecks]]></category><category><![CDATA[Burpsuite  ]]></category><category><![CDATA[Contentstack]]></category><category><![CDATA[breachforce]]></category><category><![CDATA[cybersecurity]]></category><category><![CDATA[scanner]]></category><dc:creator><![CDATA[Kaustubh Rai]]></dc:creator><pubDate>Tue, 16 Jan 2024 06:30:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1734107740095/f0339425-2a1a-401a-94d3-de5d5d2d111c.avif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey everyone! 🌟</p>
<p>An update! I’ve recently wrote a blog post about BChecks in Burp Suite, and I’m stoked to say it’s not just chilling in my drafts anymore. It’s out there, basking in the glory of not just on my <a target="_blank" href="https://www.contentstack.com/blog"><strong>company’s blog</strong></a>, but also on a popular cybersecurity community blog, <a target="_blank" href="https://breachforce.net/"><strong>BreachForce</strong></a>. 🎉 (And here I am, upgrading from my cozy personal blog corner to the big league!)  </p>
<p><img src="https://main-raikaustubh.netlify.app/assets/gif/woot_woot.gif" alt="/woot_woot" class="image--center mx-auto" /></p>
<p>This piece is starting point on BChecks, I’ve explored the whole nine yards - what BChecks are, their role in turning security testing from a snooze fest into something slick by automating the yawn-inducing parts, and of course, the all-important ‘how-to’ of writing a BCheck complete with the syntax and a variety of examples to guide through each step. 📝</p>
<p>I’ve tried making the blog engaging and understandable as much as possible, so that it doesn’t look like any old technical manual.</p>
<h2 id="heading-curious-you-can-jump-over-to-companys-blog-pagehttpswwwcontentstackcomblogtech-talkelevating-security-testing-the-power-of-burp-suite-checks-in-burp-suite-or-breachforcehttpsbreachforcenetbchecks">Curious? You can jump over to <a target="_blank" href="https://www.contentstack.com/blog/tech-talk/elevating-security-testing-the-power-of-burp-suite-checks-in-burp-suite"><strong>Company’s Blog Page</strong></a> or <a target="_blank" href="https://breachforce.net/bchecks"><strong>BreachForce</strong></a>.</h2>
<p>Also, I’ve been working on some BChecks of my own and have uploaded them to my GitHub repo.</p>
<h3 id="heading-take-a-gander-here-my-github-bchecks-repohttpsgithubcomkaustubhraibchecks">Take a gander here: <a target="_blank" href="https://github.com/KaustubhRai/bchecks"><strong>My GitHub BChecks Repo</strong></a>.</h3>
<p><img src="https://main-raikaustubh.netlify.app/assets/gif/mind_it.gif" alt="/mind_it" class="image--center mx-auto" /></p>
<p>Stay tuned for more wisdom nuggets as I lazily upload only 2 posts annually.</p>
<p>Thats all for now! 🚀</p>
]]></content:encoded></item><item><title><![CDATA[Polyglot Penetration Testing]]></title><description><![CDATA[Hey security enthusiasts!
    When it comes to VAPT, it’s not just about the tools we use; it’s also about knowing the ins and outs of the language the application is built upon.
      Every programming language has its unique quirks and features tha...]]></description><link>https://raikaustubh.com/polyglot-penetration-testing</link><guid isPermaLink="true">https://raikaustubh.com/polyglot-penetration-testing</guid><dc:creator><![CDATA[Kaustubh Rai]]></dc:creator><pubDate>Fri, 24 Nov 2023 06:30:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/5lUMTeo7-bE/upload/4db3bc6c8585d8d85221e6581b5c5c8f.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey security enthusiasts!</p>
<p>    When it comes to VAPT, it’s not just about the tools we use; it’s also about knowing the ins and outs of the language the application is built upon.</p>
<p>      Every programming language has its unique quirks and features that can significantly impact your VAPT strategy. Whether it’s a Python web app or a Java-based system, each language brings its own set of potential vulnerabilities and loopholes.</p>
<p>     I’ve compiled a list of key points to keep in mind while performing VAPT on applications written in different languages. I’ve tried to make it a handy reference that you can quickly glance at during your assessments. If you spot something familiar in the code, these notes could instantly point you towards potential vulnerabilities to investigate.</p>
<p>     If you’ve got some insights or suggestions to add, don’t hesitate! I’ve enabled commenting on the Notion page, so drop your thoughts and let’s make this a collaborative effort.</p>
<h2 id="heading-check-out-my-notes-right-here-vapt-noteshttpsraikaustubhnotionsitethings-to-keep-in-mind-while-vapt-d48fdb7a93a04a1ca44c13f5072f2724pvs4">Check out my notes right here: <a target="_blank" href="https://raikaustubh.notion.site/Things-to-keep-in-mind-while-VAPT-d48fdb7a93a04a1ca44c13f5072f2724?pvs=4"><strong>VAPT Notes</strong></a></h2>
<p>Happy hacking! 🌐💻</p>
]]></content:encoded></item><item><title><![CDATA[API Security Top 10 and Beyond!]]></title><description><![CDATA[Heyyo, API sec fam! 🚀
   Big news in the world of API security! The OWASP API Top 10, that holy grail of API security risks, just got a fresh update. Not officially up on their site yet, but they’ve released a new list of risks that have earned thei...]]></description><link>https://raikaustubh.com/owasp-api-2023</link><guid isPermaLink="true">https://raikaustubh.com/owasp-api-2023</guid><dc:creator><![CDATA[Kaustubh Rai]]></dc:creator><pubDate>Sat, 26 Aug 2023 06:30:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/bxaqUeVIGHU/upload/8d71567adde4d58a459e8aa4551ff106.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Heyyo, API sec fam! 🚀</p>
<p>   Big news in the world of API security! The OWASP API Top 10, that holy grail of API security risks, just got a fresh update. Not officially up on their site yet, but they’ve released a <a target="_blank" href="https://github.com/OWASP/API-Security/blob/master/editions/2023/en/0x11-t10.md"><strong>new list of risks</strong></a> that have earned their spot in the Top 10.</p>
<p>     A lot of folks have created new resources tailored to the 2023 version of API security best practices. And APISEC University did too. They’ve updated their course to align with these latest insights: <a target="_blank" href="https://www.apisecuniversity.com/courses/owasp-api-security-top-10-and-beyond"><strong>OWASP API Security Top 10 and Beyond!</strong></a></p>
<p>   Completed that course and compiled some notes.</p>
<h2 id="heading-check-out-my-notes-right-here-link-to-owasp-api-top-10-and-beyond-noteshttpsraikaustubhnotionsiteowasp-api-security-top-10-and-beyond-220a8a2e21544fb48a53cbbe2bee792d">Check out my notes right here: <a target="_blank" href="https://raikaustubh.notion.site/OWASP-API-Security-Top-10-and-Beyond-220a8a2e21544fb48a53cbbe2bee792d"><strong>Link to OWASP API Top 10 and Beyond Notes</strong></a>.</h2>
]]></content:encoded></item><item><title><![CDATA[Secret Scanning]]></title><description><![CDATA[This is the start of me dockerizing multiple tools into one. Here we go, a little backstory for this post, because I like to narrate.

Currently for Secrets Scanning to find sensitive information, i used to have different different tools. I used to j...]]></description><link>https://raikaustubh.com/secret-scanning</link><guid isPermaLink="true">https://raikaustubh.com/secret-scanning</guid><dc:creator><![CDATA[Kaustubh Rai]]></dc:creator><pubDate>Mon, 31 Jul 2023 18:30:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/PQi-ydEYVBo/upload/3bafb5fb13f9d453c1df2350225cb8ed.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This is the start of me dockerizing multiple tools into one. Here we go, a little backstory for this post, because I like to narrate.</p>
<p><img src="https://main-raikaustubh.netlify.app/assets/gif/exposition.gif" alt="/exposition" class="image--center mx-auto" /></p>
<p>Currently for Secrets Scanning to find sensitive information, i used to have different different tools. I used to juggle a bunch of secret scanning tools, running them one by one, waiting for each to finish before starting the next.</p>
<p>That’s where I was, trying to keep track of different syntaxes of differnt tools, output formats, and those pesky ansi escape codes when you try to pipe the output from terminal to a file. Trust me, it’s as fun as trying to solve a Rubik’s Cube in the dark. 😵</p>
<p>So, I thought, why not make life simpler? My first thought was a bash script to run all these tools sequentially. But then, the little voice in my head said, “you’re a comp sci engineer. trained for suffering in the name of engineering. automate it even more. make your life harder just for shitz and giggles.” 😞</p>
<p>And that’s how I stumbled upon the idea of dockerizing these tools. Because, why not challenge yourself when you are already building something like this for the first time.</p>
<p>Let’s look into the tools I’ve picked for this little adventure:</p>
<ol>
<li><p>GitLeaks: It’s like the Sherlock Holmes of finding leaks in your Git repos.<a target="_blank" href="https://github.com/gitleaks/gitleaks"><strong>Check it out</strong></a>.</p>
</li>
<li><p>Gitty Leaks: Think of it as the Watson to Git Leaks’ Sherlock. <a target="_blank" href="https://github.com/kootenpv/gittyleaks"><strong>Have a look</strong></a>.</p>
</li>
<li><p>Talisman: This one’s like the guardian angel for your code, keeping those secrets safe. <a target="_blank" href="https://github.com/thoughtworks/talisman"><strong>Give it a gander</strong></a>.</p>
</li>
</ol>
<p>Now, for the meat of the matter. I’ve got setup guides for each OS - Windows, Linux, and MacOS. You’ll find step-by-step instructions that even your grandma could follow (no offense to tech-savvy grandmas out there).</p>
<p>For the rebels who just want to skip to the good stuff (I see you 😤), jump right to the end for the Docker script<a target="_blank" href="https://raikaustubh.com/setup_notes/sast_tools/#user-content-fn-1"><sup>1</sup></a>.</p>
<p>And before running thess tools, whenever you download a repo to scan, ALWAYS <code>git clone</code> it, dont download it directly as a zip form the UI. Since its not initialized as a git repo, the tools dont work properly.</p>
<h3 id="heading-gitleaks">GitLeaks</h3>
<p><em>Windows Setup</em>: -</p>
<ol>
<li><p>To run GitLeaks in Windows, the prequiste is only installing it through <code>Go</code>. So <a target="_blank" href="https://go.dev/doc/install"><strong>install GO</strong></a>, easiest way is with the .msi package.</p>
</li>
<li><p>After Installing GO, download the appropriate pacakge from <a target="_blank" href="https://github.com/gitleaks/gitleaks/releases"><strong>releases</strong></a>. If not sure then run command, <code>echo %PROCESSOR_ARCHITECTURE%</code> or <code>wmic computersystem get systemtype</code> in cmd.</p>
</li>
<li><p>Unzip the package, and COPY the <code>.exe</code> file into the repo, that needs to be scanned.</p>
</li>
<li><p>Run</p>
</li>
</ol>
<pre><code class="lang-bash">gitleaks.exe detect -v
</code></pre>
<p><em>Linux Setup</em>: -</p>
<ol>
<li><p>Same as windows setup, first check if Go is installed or not (<code>go version</code>). If not then install that and then <code>git clone</code> the <a target="_blank" href="https://github.com/gitleaks/gitleaks.git"><strong>git leaks repo</strong></a>.</p>
</li>
<li><p><code>cd</code> into the gitleaks locally downloaded repo. and run <code>make build</code></p>
</li>
<li><p>a file named <code>gitleaks</code> will be there now. copy that file into the repo and cd into the repo you want to scan and run</p>
</li>
</ol>
<pre><code class="lang-bash">./gitleaks detect -v
</code></pre>
<p><em>MacOS Setup</em>: -</p>
<ol>
<li><p>Simplest way - <code>brew install gitleaks</code></p>
</li>
<li><p><code>git clone</code> the repo and cd into the repo</p>
</li>
<li><p>run</p>
</li>
</ol>
<pre><code class="lang-bash">gitleaks detect -v
</code></pre>
<h3 id="heading-gitty-leaks">Gitty Leaks</h3>
<p><em>Windows Setup</em>: -</p>
<ol>
<li><p>Installing Gitty Leaks in windows is a bitch and a half, what i have found is install it on a<br /> <a target="_blank" href="https://learn.microsoft.com/en-us/windows/wsl/install?source=recommendations"><strong>WSL</strong></a>, if you use windows.</p>
</li>
<li><p>For WSL installation, its same as Linux</p>
</li>
</ol>
<p><em>Linux and MacOS Setup</em>: -</p>
<ol>
<li><p><code>pip3 install gittyleaks</code> - prequistes that, <em>python3</em> and <em>git</em> must be there</p>
</li>
<li><p><em>cd</em> into the repo and run <code>gittyleaks --find-anything</code></p>
</li>
</ol>
<h3 id="heading-talisman">Talisman</h3>
<p><em>Windows Setup</em>: -</p>
<ol>
<li><p>Download the proper talisman pacakge from <a target="_blank" href="https://github.com/thoughtworks/talisman/releases"><strong>Releases</strong></a>.</p>
</li>
<li><p>Copy that <em>.exe</em> into the repo that needs to be scanned.</p>
</li>
<li><p>Run <code>talisman_windows_amd64.exe -s</code> <em>(mine was amd64 package)</em></p>
</li>
</ol>
<p><em>Linux Setup</em>: -</p>
<ol>
<li><p>Check architecture of system, run <code>arch</code></p>
</li>
<li><p>Download, that specific package from <a target="_blank" href="https://github.com/thoughtworks/talisman/releases"><strong>Releases</strong></a> for linux.</p>
</li>
<li><p><em>(Mine was x86_64)</em> so downloading <em>linux_amd_64</em> package</p>
</li>
<li><p>Run</p>
</li>
</ol>
<pre><code class="lang-bash">
wget https://github.com/thoughtworks/talisman/releases/download/v1.31.0/talisman_linux_amd64 chmod +x talisman_linux_amd64 sudo mv talisman_linux_amd64 /usr/<span class="hljs-built_in">local</span>/bin/talisman <span class="hljs-built_in">cd</span> &lt;repo to scan&gt;/ talisman --scan
</code></pre>
<p><em>MacOS Setup</em>: -</p>
<ol>
<li><p>To know the system architecture, run <code>dpkg --print-architecture</code></p>
</li>
<li><p>After knowing, that specific architecture, find that package in <a target="_blank" href="https://github.com/thoughtworks/talisman/releases"><strong>Releases</strong></a>, and download that pacakage. Give it executable permissions and copy that file into the repo that needs to be scanned and run the talisman scan.</p>
</li>
</ol>
<pre><code class="lang-bash">
wget https://github.com/thoughtworks/talisman/releases/download/v1.31.0/talisman_darwin_arm64 chmod +x talisman_darwin_arm64 // Copy the talisman_darwin_arm64 into the repo ./talisman_darwin_arm64 --scan
</code></pre>
<p>If you want to run an indivual tool on its own, the setup for installation is above.</p>
<p>Moving on, now if you want to run it on a repo to scan the secrets OWASP’s got this neat repo called wrongsecrets - it’s like a <a target="_blank" href="https://github.com/OWASP/wrongsecrets"><strong>playground for secret scanning</strong></a>.</p>
<p>Now, for my pièce de résistance - the Docker script to bind them all. Imagine it like a master spell that conjures all three tools in one go.</p>
<pre><code class="lang-docker"><span class="hljs-comment"># Use a base image with Python, git, and other necessary tools</span>
<span class="hljs-keyword">FROM</span> python:<span class="hljs-number">3.10</span>-slim-buster <span class="hljs-comment"># Install necessary tools and dependencies</span>
<span class="hljs-keyword">RUN</span><span class="bash"> apt-get update &amp;&amp; \ apt-get install -y git wget make curl unzip procps &amp;&amp; \ wget https://go.dev/dl/go1.21.2.linux-amd64.tar.gz &amp;&amp; \ tar -xvf go1.21.2.linux-amd64.tar.gz &amp;&amp; \ mv go /usr/<span class="hljs-built_in">local</span> &amp;&amp; \ rm go1.21.2.linux-amd64.tar.gz <span class="hljs-comment"># Set environment variables</span></span>
<span class="hljs-keyword">ENV</span> PATH=<span class="hljs-string">"$PATH:/usr/local/go/bin"</span>
<span class="hljs-keyword">ENV</span> GIT_DISCOVERY_ACROSS_FILESYSTEM=true <span class="hljs-comment"># Install gittyleaks and Gitleaks</span>
<span class="hljs-keyword">RUN</span><span class="bash"> pip install gittyleaks &amp;&amp; \ wget -O /tmp/gitleaks.tar.gz https://github.com/gitleaks/gitleaks/releases/download/v8.18.0/gitleaks_8.18.0_linux_x64.tar.gz &amp;&amp; \ tar -xzf /tmp/gitleaks.tar.gz -C /usr/<span class="hljs-built_in">local</span>/bin gitleaks &amp;&amp; \ chmod +x /usr/<span class="hljs-built_in">local</span>/bin/gitleaks &amp;&amp; \ rm /tmp/gitleaks.tar.gz <span class="hljs-comment"># Install Talisman</span></span>
<span class="hljs-keyword">RUN</span><span class="bash"> wget -O /usr/<span class="hljs-built_in">local</span>/bin/talisman https://github.com/thoughtworks/talisman/releases/download/v1.31.0/talisman_linux_amd64 &amp;&amp; \ chmod +x /usr/<span class="hljs-built_in">local</span>/bin/talisman <span class="hljs-comment"># Install Talisman HTML Report</span></span>
<span class="hljs-keyword">RUN</span><span class="bash"> mkdir -p ~/.talisman &amp;&amp; \ curl https://github.com/jaydeepc/talisman-html-report/archive/v1.3.zip  -o ~/.talisman/talisman_html_report.zip -J -L &amp;&amp; \ <span class="hljs-built_in">cd</span> ~/.talisman &amp;&amp; \ unzip talisman_html_report.zip -d . &amp;&amp; \ mv talisman-html-report-1.3 talisman_html_report &amp;&amp; \ rm talisman_html_report.zip <span class="hljs-comment"># Embed a Python script for cleaning the gittyleaks report</span></span>
<span class="hljs-keyword">RUN</span><span class="bash"> <span class="hljs-built_in">echo</span> <span class="hljs-string">'import re\n\
import sys\n\
\n\
def remove_ansi_escape_codes(file_path):\n\ ansi_escape = re.compile(r"\x1B\[\d+(;\d+)*m")\n\ with open(file_path, "r") as file:\n\ content = file.read()\n\ cleaned_content = ansi_escape.sub("", content)\n\ with open(file_path, "w") as file:\n\ file.write(cleaned_content)\n\
\n\
if __name__ == "__main__":\n\ remove_ansi_escape_codes(sys.argv[1])'</span> &gt; /usr/<span class="hljs-built_in">local</span>/bin/clean_gittyleaks_report.py &amp;&amp; \ chmod +x /usr/<span class="hljs-built_in">local</span>/bin/clean_gittyleaks_report.py <span class="hljs-comment"># Update the entrypoint script</span></span>
<span class="hljs-keyword">RUN</span><span class="bash"> <span class="hljs-built_in">echo</span> <span class="hljs-string">'#!/bin/bash\n\
\n\
# Ensure we are in the mounted Git repository directory\n\
if [ ! -d "/repo/.git" ]; then\n\ echo "Error: Git repository not found in /repo"\n\ exit 1\n\
fi\n\
cd /repo\n\
\n\
mkdir -p /repo/Secret_Detection_Reports\n\
\n\
echo "\n\nStarting gittyleaks..."\n\
gittyleaks --find-anything | tee /repo/Secret_Detection_Reports/gittyleaks_report.txt\n\
python /usr/local/bin/clean_gittyleaks_report.py /repo/Secret_Detection_Reports/gittyleaks_report.txt\n\
\n\
echo "\n\nStarting gitleaks..."\n\
gitleaks detect --source=. --report-format=json --report-path=/repo/Secret_Detection_Reports/gitleaks_report.json\n\
\n\
echo "\n\nStarting Talisman..."\n\
talisman --scanWithHtml --reportDirectory=/repo/Secret_Detection_Reports\n\
\n\
# Check if the Talisman HTML report directory exists\n\
if [ -d "/repo/Secret_Detection_Reports/talisman_reports/data" ]; then\n\ # Start an HTTP server in the Talisman HTML report directory\n\ cd /repo/Secret_Detection_Reports/talisman_reports/data\n\ python -m http.server 8000 &amp;\n\
else\n\ echo "Talisman HTML report directory not found"\n\
fi\n\
'</span> &gt; /usr/<span class="hljs-built_in">local</span>/bin/entrypoint.sh &amp;&amp; \
chmod +x /usr/<span class="hljs-built_in">local</span>/bin/entrypoint.sh <span class="hljs-comment"># Set the entrypoint to the embedded script</span></span>
<span class="hljs-keyword">ENTRYPOINT</span><span class="bash"> [<span class="hljs-string">"/usr/local/bin/entrypoint.sh"</span>]</span>
</code></pre>
<p>Before you run this, make sure Docker’s up and running.</p>
<p>- Open the docker desktop/docker daemon.</p>
<p>- Create a file named just <code>Dockerfile</code> and save the script</p>
<p>- Build the image from the script, with <code>docker build -t secrets-checker .</code></p>
<p>- then head over to your repo and let it rip with</p>
<p>bash</p>
<pre><code class="lang-bash">docker run -it --rm -v <span class="hljs-string">"<span class="hljs-subst">$(PWD)</span>:/repo"</span> secrets-checker &amp;&amp; <span class="hljs-built_in">cd</span> talisman_html_report/ &amp;&amp; python3 -m http.server 8000
</code></pre>
<p>- Voila! You’ll have reports waiting for you in Secret_Detection_Reports and talisman_html_report.</p>
<h4 id="heading-pro-tip-the-talisman-needs-a-server-to-show-its-full-glory-so-thats-what-the-latter-part-of-the-command-is-just-hit-up-localhost8000-after-the-scan-and-youre-golden-and-dont-forget-to-turn-off-the-server-once-youre-done-playing-detective">Pro tip: The Talisman needs a server to show its full glory, so that’s what the latter part of the command is. Just hit up <code>localhost:8000</code> after the scan, and you’re golden. And, don’t forget to turn off the server once you’re done playing detective.</h4>
<hr />
<h2 id="heading-footnotes">Footnotes</h2>
<ol>
<li>The beauty of this script - once the image is built, every time you run the command, it fires up in a container and poof - it’s gone once it’s done, leaving behind just the reports on your machine. No hassle of remembering to delete containers and saving stuff from container to local host <a target="_blank" href="https://raikaustubh.com/setup_notes/sast_tools/#user-content-fnref-1">↩</a></li>
</ol>
]]></content:encoded></item><item><title><![CDATA[API Pentesting Notes]]></title><description><![CDATA[Yello API sec peeps! 🚀
   You know how sometimes you dive into learning something new and end up with a shit ton of notes? Well, that’s what happened to me with APISEC University’s courses.
     APISEC University, for those who might not know, offer...]]></description><link>https://raikaustubh.com/api-pentesting</link><guid isPermaLink="true">https://raikaustubh.com/api-pentesting</guid><dc:creator><![CDATA[Kaustubh Rai]]></dc:creator><pubDate>Sat, 31 Dec 2022 06:30:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/ewGMqs2tmJI/upload/f3f30c49045b487a91100918b973a844.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Yello API sec peeps! 🚀</p>
<p>   You know how sometimes you dive into learning something new and end up with a shit ton of notes? Well, that’s what happened to me with <a target="_blank" href="https://www.apisecuniversity.com/"><strong>APISEC University’s courses</strong></a>.</p>
<p>     <a target="_blank" href="https://www.apisecuniversity.com/"><strong>APISEC University</strong></a>, for those who might not know, offers free and hands-on courses dedicated to API Security 💪</p>
<p>   I went all in, devouring their courses and jotting down notes like there’s no tomorrow. And guess what? I’ve decided to share these nuggets of wisdom with all of you! Why keep all the goodies to myself, right?</p>
<p><em>also this helps me to keep up with writing on these blogs</em></p>
<p>     I’ve compiled all my notes in Notion – might not win any awards for being super organized but there’s something for everyone in there for you to get up to speed with API security.</p>
<p>    Notion really does not transfer from one platform to others all that seamlessly, or I am just too chill (or lazy, but let’s stick with chill) to look it up for more than 5 mins. So simply sharing the link for the notes.</p>
<p>     These notes are are primarily from the <a target="_blank" href="https://www.apisecuniversity.com/courses/api-penetration-testing"><strong>API Penetration Testing Course</strong></a> from APISEC University.</p>
<h2 id="heading-check-out-my-notes-right-here-link-to-api-penetration-testing-noteshttpsraikaustubhnotionsiteapi-penetration-testing-notes-29f195c69042461aa6d4f99a5014bf99">Check out my notes right here: <a target="_blank" href="https://raikaustubh.notion.site/API-Penetration-Testing-Notes-29f195c69042461aa6d4f99a5014bf99"><strong>Link to API Penetration Testing Notes</strong></a>.</h2>
]]></content:encoded></item><item><title><![CDATA[Bandit, OverTheWire Wargames 🤖🎌]]></title><description><![CDATA[My final semester of U.G completed and I wanted to write a blog that helped newcomers to the Infosec field. One of the many ways of going about and understanding things that can help you in CyberSecurity is OverTheWire Wargames.

This war-game Bandit...]]></description><link>https://raikaustubh.com/bandit-overthewire-wargames</link><guid isPermaLink="true">https://raikaustubh.com/bandit-overthewire-wargames</guid><category><![CDATA[OTW]]></category><category><![CDATA[overthewire]]></category><category><![CDATA[wordgames]]></category><category><![CDATA[CTF]]></category><category><![CDATA[bandit]]></category><dc:creator><![CDATA[Kaustubh Rai]]></dc:creator><pubDate>Sun, 31 Jul 2022 06:30:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/S5XON9lNFvo/upload/560d1b77a2c5893b6ba261db34802a47.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>My final semester of U.G completed and I wanted to write a blog that helped newcomers to the Infosec field. One of the many ways of going about and understanding things that can help you in CyberSecurity is OverTheWire Wargames.</p>
<p><img src="https://main-raikaustubh.netlify.app/assets/img/OTW_logo.png" alt="OTW_logo.png" class="image--center mx-auto" /></p>
<p>This war-game Bandit, is targeted to the absolute beginners and teaches the basics of most of the Linux commands and security concepts. And also forms a base to be able to play other wargames by <a target="_blank" href="https://overthewire.org/"><strong>OverTheWire</strong></a>.</p>
<p>Each wargame by OverTheWire has different levels of difficulty and has multiple levels in each wargame. Bandit has 33 Levels to solve and it teaches about :</p>
<ul>
<li><p>SSH</p>
</li>
<li><p>File Structure, Commands, Permissions in Linux</p>
</li>
<li><p>Bash Scripting</p>
</li>
<li><p>Git</p>
<p>  <em>(I might have missed some of the other stuff in mentioning here)</em></p>
</li>
</ul>
<p>The objective of each level is to find a password for the next level and there are some kind of hints or commands that could help you, on the page of that particular level on the OTW Bandit website.</p>
<p>We use SSH to login in each level be it SSH password or an SSH Key.</p>
<pre><code class="lang-bash">ssh bandit&lt;username&gt;@bandit.labs.overthewire.org -p 2220
</code></pre>
<p>and if ssh key then</p>
<pre><code class="lang-bash">ssh -i &lt;ssh key file&gt; bandit&lt;username&gt;@localhost
</code></pre>
<p>and then the password you got.</p>
<h2 id="heading-levels-0-33">Levels 0-33</h2>
<blockquote>
<p>Level 0</p>
</blockquote>
<p>SSH commands to connect to host</p>
<blockquote>
<p>Level 1</p>
</blockquote>
<p>Read the file present on the current directory and use that as a password for next level.</p>
<blockquote>
<p>Level 2</p>
</blockquote>
<p>Read a file named ”-” <code>cat ./-</code></p>
<blockquote>
<p>Level 3</p>
</blockquote>
<p>Read the file using <code>cat ./.hidden</code></p>
<blockquote>
<p>Level 4</p>
</blockquote>
<p>Above commands and putting file name of each file to check each one of them.</p>
<blockquote>
<p>Level 5</p>
</blockquote>
<p><code>ls -laR</code> the command for viewing permission for each and every file, hidden too. within every directory.</p>
<blockquote>
<p>Level 6</p>
</blockquote>
<p><code>ls -laR | grep “bandit7 bandit6”</code> for searching if there’s a file present like that, after finding the file name, using <code>find -name &lt;file name&gt;</code> command to find its path</p>
<blockquote>
<p>Level 7</p>
</blockquote>
<p><code>grep &lt;keyword&gt;</code> the keyword in the file</p>
<blockquote>
<p>Level 8</p>
</blockquote>
<p>Command to Sort the file and read the unique character in one command</p>
<blockquote>
<p>Level 9</p>
</blockquote>
<p>Command to print only human readable characters and grep the keyword, <code>cat &lt;filename&gt; | strings | grep &lt;keyword&gt;</code></p>
<blockquote>
<p>Level 10</p>
</blockquote>
<p>Decode the file, <code>base64 -d &lt;filename&gt;</code></p>
<blockquote>
<p>Level 11</p>
</blockquote>
<p>decode the file, rot13 is the encryption. <code>tr</code> is the command that translates. <code>tr 'A-Za-z' 'N-ZA-Mn-za-m'</code></p>
<blockquote>
<p>Level 12</p>
</blockquote>
<p>Copy the file in tmp directory and continue since no permission to create new files in main directory. <code>file</code> command to see what type of file it is and decompress it accordingly to what file type it is. Copy the existing file and create new file with the extension to decompress.</p>
<pre><code class="lang-bash">hex - xxd,
tar: tar -xvf, 
gzip - .gz, 
bzip2 - .bz2, 
POSIX tar - .tar
</code></pre>
<blockquote>
<p>Level 13</p>
</blockquote>
<p><code>ssh -i &lt;ssh key&gt;</code> <a target="_blank" href="mailto:username@localhost"><code>username@localhost</code></a>, <a target="_blank" href="http://localhost">localhost</a> since we are working in the same machine.</p>
<blockquote>
<p>Level 14</p>
</blockquote>
<p>from the previous level hint, we can read the the password from <em>“etc/bandit_pass/bandit14”</em> from this logged in user.</p>
<p>Store that password in <em>tmp</em> directory <code>nano /tmp/passwd.txt</code> and netact it to <a target="_blank" href="http://localhost">localhost</a> from port 30000, <code>nc</code> <a target="_blank" href="http://localhost"><code>localhost</code></a> <code>30000 &lt; /tmp/passwd.txt</code></p>
<blockquote>
<p>Level 15</p>
</blockquote>
<p>same technique, but now we have to SSL encrypt our connection unlike netcat raw connection. so we use openssl tool. <code>openssl s_client -connect</code> <a target="_blank" href="http://localhost:30001"><code>localhost:30001</code></a> and provide the password of this level at the end.</p>
<blockquote>
<p>Level 16</p>
</blockquote>
<p>Same as previous level but we are given a range of ports to check which one is up and has SSL. <code>nmap</code> <a target="_blank" href="http://localhost"><code>localhost</code></a> <code>-A -p 31000-32000</code>. After getting the port, provide the password through openssl same way as previous level.</p>
<p>make a file in tmp directory and save the ssh key there and change its permission to only read for user. <code>chmod 400 &lt;file path&gt;</code>. ssh to bandit17 level using the key.</p>
<blockquote>
<p>Level 17</p>
</blockquote>
<p>difference between 2 files, <code>diff file1 file2</code>.</p>
<blockquote>
<p>Level 18</p>
</blockquote>
<p>.bashrc file is modified to logout instantly when logged in using ssh. There’s a hint that password is stored in <em>readme</em> in /home and we can pass another command in the same ssh command when logging in.</p>
<pre><code class="lang-bash">ssh &lt;username&gt;@&lt;host&gt; -p 2220 ‘cat readme’
</code></pre>
<blockquote>
<p>Level 19</p>
</blockquote>
<p>scanning the home directory for files and permission (<code>ls -la</code>) gives a binary setuid file that has permissions to run as bandit20 and is turned on. passwords are stored in /etc/bandit_pass directory. so we run the file as a command and simply read the password for its level.</p>
<pre><code class="lang-bash">./bandit20-do cat /etc/bandit_pass/bandit20
</code></pre>
<blockquote>
<p>Level 20</p>
</blockquote>
<p>Same as level 19, a setuid binary file but it requires a port number as input. From the hint given we setup a netcat listener in the shell and open another shell and log in as same user and pass the port we gave in the netcat listerner as the input in the setuid file. as per the hint we give the password for level 20 in the netcat shell and if correct then it gives the password for the next level.</p>
<blockquote>
<p>Level 21</p>
</blockquote>
<p>Level has a cron job running so we read the file and after examining it we get it runs a script file after every reboot and every minute. After reading the script file, it changes the permissions and redirects the output to <em>/tmp</em> directory . After reading that file from <em>/tmp</em> we get the password.</p>
<blockquote>
<p>Level 22</p>
</blockquote>
<p>Same as Level 21, we read the cron file then the script file. The script file has 2 variables. The first variable is the username and the second variable is a md5 value. After running the script the password level 22 get stored in <em>/tmp</em> directory. We run the second variable separately by passing the username of the next level and we get a new md5 value. we pass that md5 value in the <em>/tmp</em> directory and read it and we get the next password.</p>
<pre><code class="lang-bash"><span class="hljs-built_in">echo</span> I am user bandit23 | md5sum | cut -d <span class="hljs-string">' '</span> -f 1 &gt; (md5 value) cat /tmp/(md5 value)
</code></pre>
<blockquote>
<p>Level 23</p>
</blockquote>
<p>Read the cron file and the script file. Create a directory in <em>/tmp</em> and in that directory make a script file. It should read the password for the next level and pass it to the created directory in <em>/tmp</em> in a new file</p>
<pre><code class="lang-bash"><span class="hljs-meta">#!/bin/bash cat /etc/bandit_pass/bandit24 &gt;&gt; /tmp/&lt;new directory&gt;/level24</span>
</code></pre>
<blockquote>
<p>Level 24</p>
</blockquote>
<p>A daemon is listening on port 30002 and it asks for the password of the current level and a 4 digit PIN. We create a directory in <em>/tmp</em> and create a script file that uses for loop for numbers 0000-9999 to check which is the right one.</p>
<pre><code class="lang-bash"><span class="hljs-meta">#!/bin/bash passwd="YOUR_ACTUAL_PASSWORD_HERE" # Loop from 0000 to 9999</span>
<span class="hljs-keyword">for</span> i <span class="hljs-keyword">in</span> {0000..9999}
<span class="hljs-keyword">do</span> <span class="hljs-comment"># Echo the base password and the current number into the output.txt file echo $passwd$i &gt;&gt; output.txt</span>
<span class="hljs-keyword">done</span>
</code></pre>
<p>give the script file 777 permissions and run it with nc</p>
<p><code>cat output.txt | nc</code> <a target="_blank" href="http://localhost"><code>localhost</code></a> <code>30002</code></p>
<blockquote>
<p>Level 25</p>
</blockquote>
<p>ssh key on home directory but exits as soon as logged in with bandit26. After checking the <em>/etc/passwd</em> file it redirects to <em>/usr/bin/showtext</em>. After reading that file, <code>~more</code> command is triggered and it exits when the text case is large. So minimized the shell and try with the ssh key. Can use vim here and show the password for level26 using these commands</p>
<p><code>:e /etc/bandit_pass/bandit26</code></p>
<blockquote>
<p>Level 26</p>
</blockquote>
<p>Will log out once if found the text case is large so minimize the terminal and log in with the password. Go to vim by pressing <code>v</code> and <code>:set shell = /bin/bash</code> and then next <code>:shell</code> in vim to enter a normal shell. There’s a setuid binary file with special permissions for bandit27. After running the file it runs as shell with bandit27 with an input in the command so</p>
<p><code>./bandit27-do cat /etc/bandit_pass/bandit27</code></p>
<blockquote>
<p>Level 27</p>
</blockquote>
<p>Hint tells us that we need to git clone and the password is in the repo. Make a directory in <code>/tmp</code> and give it 777 permissions and git clone the link the hint has.</p>
<blockquote>
<p>Level 28</p>
</blockquote>
<p>Same procedure as the previous level, <em>mkdir&gt;permissions&gt;git clone&gt;cat README</em>.</p>
<p>The password text is hidden. So we review the git log by, <code>git log</code> to see the commit message and to see what was changed either <code>git show &lt;commit number&gt; / git log -p</code>.</p>
<p>Credentials in plain text were removed but it still got stored in the commit log.</p>
<blockquote>
<p>Level 29</p>
</blockquote>
<p>Same procedure, level 27. After reading the README it gives a hint that no passwords on production, means there are other branches and we can view all branches in a repo by <code>git branch -a</code>. The dev branch might have non production code and might have the password, so <code>git checkout dev</code> and <code>cat README</code>.</p>
<blockquote>
<p>Level 30</p>
</blockquote>
<p>Same procedure, <code>file&gt;permissions&gt;git clone&gt;cat README</code>. Gits Logs has nothing too, Git saves some things from its history by giving them a tag if it deems it important. <code>git tag</code></p>
<p><code>git show &lt;tag name&gt;</code></p>
<blockquote>
<p>Level 31</p>
</blockquote>
<p>Same procedure. This time the README gives hint that we need to create and push a file and the file’s content. Simple Git commands here.</p>
<blockquote>
<p>Level 32</p>
</blockquote>
<p>Every command get converted into uppercase here. We need to use escape character to bypass this uppercase shell. Like <code>/bin/bash</code> is used to invoke shell, <code>$0</code> can also be used.</p>
<blockquote>
<p>Level 33</p>
</blockquote>
<p><em>DOES</em> <em>NOT EXISTS YET TIME OF WRITING</em></p>
]]></content:encoded></item><item><title><![CDATA[Tech Odyssey: A Resource Trail]]></title><description><![CDATA[What’s up gang!
    Embarking on a journey from academic life to the professional realm, I crafted a quick-reference arsenal of security related concepts to sharpen my skills for interviews. Now, it’s time to unlock these riches for your own explorat...]]></description><link>https://raikaustubh.com/job-prep</link><guid isPermaLink="true">https://raikaustubh.com/job-prep</guid><dc:creator><![CDATA[Kaustubh Rai]]></dc:creator><pubDate>Mon, 14 Feb 2022 06:30:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/rxoIIF5nxSg/upload/79ec91e050f308ca50fc734134715ade.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>What’s up gang!</p>
<p>    Embarking on a journey from academic life to the professional realm, I crafted a quick-reference arsenal of security related concepts to sharpen my skills for interviews. Now, it’s time to unlock these riches for your own exploration:</p>
<ul>
<li><p>OSI Model, DNS insights, and more.</p>
</li>
<li><p>Skills in Web App and Subdomain Enumeration.</p>
</li>
<li><p>A deep dive into Content Discovery.</p>
</li>
<li><p>Decoding ‘How Internet Works’.</p>
</li>
</ul>
<p>   These pages are more than just notes; they’re milestones from my personal tech odyssey. Ready for a deep dive?</p>
<h2 id="heading-check-out-the-resources-here-link-to-notion-noteshttpsraikaustubhnotionsitebefore-interview-stuff-764e5a989f864c51ab37f2c85cc23598pvs4">Check out the resources here: <a target="_blank" href="https://raikaustubh.notion.site/Before-Interview-Stuff-764e5a989f864c51ab37f2c85cc23598?pvs=4"><strong>Link to Notion Notes</strong></a></h2>
]]></content:encoded></item><item><title><![CDATA[Advent of Cyber 3 Notes 🎄]]></title><description><![CDATA[Christmas rolled out and TryHackMe in the advent of Christmas made a room for cybersecurity enthusiasts. For the upcoming 25 days until christmas by learning the basics and completing a new, beginner friendly security exercise every day.
The folklore...]]></description><link>https://raikaustubh.com/advent-of-cyber-3-notes</link><guid isPermaLink="true">https://raikaustubh.com/advent-of-cyber-3-notes</guid><category><![CDATA[advent of cyber 3]]></category><category><![CDATA[cyber 2021]]></category><category><![CDATA[thm]]></category><category><![CDATA[tryhackme]]></category><category><![CDATA[cybersecurity]]></category><dc:creator><![CDATA[Kaustubh Rai]]></dc:creator><pubDate>Fri, 31 Dec 2021 06:30:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1734105715956/c38356f2-aa23-4f04-8ef3-d2c5fe5ebe41.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Christmas rolled out and TryHackMe in the advent of Christmas made a room for cybersecurity enthusiasts. For the upcoming 25 days until christmas by learning the basics and completing a new, beginner friendly security exercise every day.</p>
<p><strong><em>The folklore goes as follows…</em></strong></p>
<p>All exercises in Advent of Cyber follow a fun Christmas story. This year, the elf McSkidy needs your help to hack back and undo the grinch’s malicious activities. Elf McSkidy had been promoted to CISO and has managed to build a world-class security team. Elf McSkidy founds that all the analysts and security personnel have been missing. She founds that all have booked a one way flight ticket away to a vaccation.</p>
<p>Before she had time to make any assumptions, a loud, grumpy voice was resonating across the security center from the internal announcement systems <em>“Grinch Enterprises will never let Christmas succeed. It would be a shame if your world-class security team just suddenly disappeared”</em></p>
<p><img src="https://main-raikaustubh.netlify.app/assets/gif/grinch.gif" alt="/grinch.gif" class="image--center mx-auto" /></p>
<p>Their intelligence team had prepared for this exact scenario but it didn’t help that the security center was completely empty! McSkidy sighed and dragged herself to the office to save Christmas.</p>
<p>I tried to catalog my notes for each day while solving those tasks.</p>
<p>🌓 DAY 1 - <a target="_blank" href="https://raikaustubh.notion.site/DAY-1-IDOR-fe575044177f4aac94768a2ada0c37b8">IDOR</a></p>
<p>🏛 DAY 2 - <a target="_blank" href="https://raikaustubh.notion.site/DAY-2-HTTP-8717e6a737bc4f059ef3584bc044104c">HTTP</a></p>
<p>🧩 DAY 3 - <a target="_blank" href="https://raikaustubh.notion.site/DAY-3-Content-Discovery-78062873ffb241b9a0e6be105368088c">Content Discovery</a></p>
<p>🏦 DAY 4 - <a target="_blank" href="https://raikaustubh.notion.site/DAY-4-Authentication-Bypass-7328801912354aee8c586dbab56deb3a">Authentication Bypass</a></p>
<p>🌧 DAY 5 - <a target="_blank" href="https://raikaustubh.notion.site/DAY-5-XSS-4d8021e0ffc247fbbf79d0fd10d35f3b">XSS</a></p>
<p>💄 DAY 6 - <a target="_blank" href="https://raikaustubh.notion.site/DAY-6-LFI-92f5c0f86d6e40d88786b8e1bd2899f9">LFI</a></p>
<p>❤ DAY 7 - <a target="_blank" href="https://raikaustubh.notion.site/DAY-7-NoSQL-c20baeedba0f44fb99838d2b255ca5fc">NoSQL</a></p>
<p>📃 DAY 8 - <a target="_blank" href="https://raikaustubh.notion.site/DAY-8-Investigating-Logs-4c23f85183c0402dad59c66f28398bb6">Investigating Logs</a></p>
<p>🕓 DAY 9 - <a target="_blank" href="https://raikaustubh.notion.site/DAY-9-WireShark-9f341aa39fb543ee8ed23a5dbc5c15b1">WireShark</a></p>
<p>🚎 DAY 10 - <a target="_blank" href="https://raikaustubh.notion.site/DAY-10-NMAP-857d17c42c1b42079144dd3481848089">NMAP</a></p>
<p>❤ DAY 11 - <a target="_blank" href="https://raikaustubh.notion.site/DAY-11-SQL-872b77fe8b9647328d3c46c0912af49e">SQL</a></p>
<p>🕓 DAY 12 - <a target="_blank" href="https://raikaustubh.notion.site/DAY-12-NFS-SSH-76e6947976b24faf944afee2c99a025b">NFS, SSH</a></p>
<p>🌡 DAY 13 - <a target="_blank" href="https://raikaustubh.notion.site/DAY-13-Privilege-Escalation-6e0d00a624104f89be3b3c148658efca">Privilege Escalation</a></p>
<p>⛵ DAY 14 - <a target="_blank" href="https://raikaustubh.notion.site/DAY-14-CI-CD-72dcdddc2d254c68a24c9005408fb0ed">CI/CD</a></p>
<p>📭 <a target="_blank" href="https://raikaustubh.notion.site/DAY-15-6b45c85588d84b17995bc8c9142aaa52">DAY 15</a></p>
<p>📂 DAY 16 - <a target="_blank" href="https://raikaustubh.notion.site/DAY-16-OSINT-68b5356057364d3cb7b5b4c239d16d08">OSINT</a></p>
<p>🎆 DAY 17 - <a target="_blank" href="https://raikaustubh.notion.site/DAY-17-Amazon-S3-Buckets-1f568b68c0dd473eb56f3e3c2f4ac063">Amazon S3 Buckets</a></p>
<p>🧩 DAY 18 - <a target="_blank" href="https://raikaustubh.notion.site/DAY-18-Docker-268acb8059c94d02864dfd00b8ccfac4">Docker</a></p>
<p>🏏 DAY 19 - <a target="_blank" href="https://raikaustubh.notion.site/DAY-19-Email-Phishing-312cff72abc94279ac5787eb0adec02a">Email Phishing</a></p>
<p>🌉 DAY 20 - <a target="_blank" href="https://raikaustubh.notion.site/DAY-20-Malware-Analysis-59ec8f1a7346489690472e47f4fd4aec">Malware Analysis</a></p>
<p>🕯 DAY 21 - <a target="_blank" href="https://raikaustubh.notion.site/DAY-21-YARA-bb6f5120155a4314861ea98c1399712b">YARA</a></p>
<p>📨 DAY 22 - <a target="_blank" href="https://raikaustubh.notion.site/DAY-22-Digital-Forensics-0275d80ae38c4c68bb41b3dc5ee21346">Digital Forensics</a></p>
<p>🏒 DAY 23 - <a target="_blank" href="https://raikaustubh.notion.site/DAY-23-PowerShell-Logs-ff4d9eaf2da74cb9a97d1a79c59d189c">PowerShell Logs</a></p>
<p>⛅ DAY 24 - <a target="_blank" href="https://raikaustubh.notion.site/DAY-24-Windows-Password-Hacking-23bfab8b086045d8b53b67672f4ad9d7">Windows Password Hacking</a></p>
<p>🌧 <a target="_blank" href="https://raikaustubh.notion.site/DAY-25-84529285a6694b2ea7515c24ed8d77da">DAY 25</a></p>
<hr />
<p><strong>PS:</strong> If anyone’s interested in seeing the certificate, here’s the <a target="_blank" href="https://tryhackme-certificates.s3-eu-west-1.amazonaws.com/THM-BDH5MHFQGN.png"><strong>LINK</strong></a>.</p>
<p>The <a target="_blank" href="https://tryhackme.com/room/adventofcyber3"><strong>link</strong></a> for THM’s Advent of Cyber 3 room.</p>
]]></content:encoded></item><item><title><![CDATA[OWASP Top 🔟 2017]]></title><description><![CDATA[Every cyber-security enthusiast has once come upon these terms OWASP Top 10.
The Top 10 here means Top 10 Vulnerablities, the greatest software risks for any Web Application. OWASP is just an online community/non profit foundation that helps to impro...]]></description><link>https://raikaustubh.com/web-owasp-2017</link><guid isPermaLink="true">https://raikaustubh.com/web-owasp-2017</guid><category><![CDATA[data exposure]]></category><category><![CDATA[broken access control]]></category><category><![CDATA[owasp]]></category><category><![CDATA[OWASP TOP 10]]></category><category><![CDATA[web]]></category><category><![CDATA[vulnerability]]></category><category><![CDATA[thm]]></category><category><![CDATA[injection]]></category><category><![CDATA[injection attacks]]></category><category><![CDATA[broken authentication]]></category><category><![CDATA[xml external entity]]></category><category><![CDATA[misconfigurations]]></category><category><![CDATA[XSS]]></category><category><![CDATA[deserialization]]></category><category><![CDATA[logging]]></category><dc:creator><![CDATA[Kaustubh Rai]]></dc:creator><pubDate>Tue, 09 Mar 2021 06:30:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/vL56-WXyBEk/upload/b8295c8fac724f590ab1fc85ef4efc02.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Every cyber-security enthusiast has once come upon these terms <strong>OWASP Top 10</strong>.</p>
<p>The <em>Top 10</em> here means Top 10 Vulnerablities, the greatest software risks for any Web Application. OWASP is just an online community/non profit foundation that helps to improve the security of software for free.</p>
<p>To combat said vulnerablities and protect your website, <a target="_blank" href="https://tryhackme.com/"><strong>TryHackMe</strong></a> provides a room to pratice these vulnerabilities and teach you about each vulnerability. How it occurs and how to exploit it. Link for the room - <a target="_blank" href="https://tryhackme.com/room/owasptop10"><strong>THM OWASP Top 10 Room</strong></a></p>
<p>I practiced this room a while back and wrote posts on Linkedin on how to solve each challenge. This is a culmination for all those posts in one place.</p>
<p>This is a mind map for all the things that are taught in that room.</p>
<p><img src="https://main-raikaustubh.netlify.app/assets/img/preview_mindmap.png" alt="preview_mindmap.png" class="image--center mx-auto" /></p>
<p><em>(Mindmap much bigger than this. Click</em> <a target="_blank" href="https://drive.google.com/file/d/1aBwE1J8sItyXawcbEt5YtiFXxnt50n6O/view?usp=sharing"><strong><em>THIS</em></strong></a><em>)</em></p>
<h2 id="heading-day-1-injectionhttpslnkdingmzbwgi"><a target="_blank" href="https://lnkd.in/gmzbwgi">Day 1 - Injection</a></h2>
<h2 id="heading-day-2-broken-authenticationhttpslnkdindf93yqm"><a target="_blank" href="https://lnkd.in/df93YQm">Day 2 - Broken Authentication</a></h2>
<h2 id="heading-day-3-data-exposurehttpslnkdind2ratvq"><a target="_blank" href="https://lnkd.in/d2raTVQ">Day 3 - Data Exposure</a></h2>
<h2 id="heading-day-4-xml-external-entityhttpslnkdindwcjwbf"><a target="_blank" href="https://lnkd.in/dwCjwBF">Day 4 - XML External Entity</a></h2>
<h2 id="heading-day-5-broken-access-controlhttpslnkdind77jspj"><a target="_blank" href="https://lnkd.in/d77jsPj">Day 5 - Broken Access Control</a></h2>
<h2 id="heading-day-6-security-misconfigurationhttpslnkdindtf2fau"><a target="_blank" href="https://lnkd.in/dtF2FaU">Day 6 - Security Misconfiguration</a></h2>
<h2 id="heading-day-7-cross-site-scriptinghttpslnkdindhfk4sn"><a target="_blank" href="https://lnkd.in/dhfK4sN">Day 7 - Cross-Site Scripting</a></h2>
<h2 id="heading-day-8-insecure-deserializationhttpslnkdinde7ybe2"><a target="_blank" href="https://lnkd.in/dE7ybe2">Day 8 - Insecure Deserialization</a></h2>
<h2 id="heading-day-9-components-with-known-vulnerabilitieshttpslnkdingtbspg8"><a target="_blank" href="https://lnkd.in/gTBsPg8">Day 9 - Components with Known Vulnerabilities</a></h2>
<h2 id="heading-day-10-insufficeint-logging-and-monitoringhttpslnkdind5s-jgw"><a target="_blank" href="https://lnkd.in/d5s-Jgw">Day 10 - Insufficeint Logging and Monitoring</a></h2>
<p>OWASP Top 10, this is just one of the concepts that one needs to learn in protecting thier application. There are many other vulnerabilites present and all of this can be learned through <a target="_blank" href="https://tryhackme.com/"><strong>THM</strong></a>.</p>
]]></content:encoded></item><item><title><![CDATA[CTF: How it Works 🚩]]></title><description><![CDATA[College students or most people, in general, are drawn to hacking as they want to feel the rush of excitement that comes from hacking something.
But their general idea of what hacking is often coming from seeing it done in a movie, television, or a v...]]></description><link>https://raikaustubh.com/ctf</link><guid isPermaLink="true">https://raikaustubh.com/ctf</guid><category><![CDATA[CTF]]></category><category><![CDATA[cybersecurity]]></category><category><![CDATA[jeopardy-style]]></category><category><![CDATA[attack]]></category><category><![CDATA[reverse engineering]]></category><category><![CDATA[pwn]]></category><category><![CDATA[crypto]]></category><category><![CDATA[web]]></category><category><![CDATA[forensics]]></category><category><![CDATA[steganography]]></category><category><![CDATA[htb]]></category><category><![CDATA[overthewire]]></category><category><![CDATA[VulnHub]]></category><category><![CDATA[picoCTF]]></category><category><![CDATA[owasp]]></category><dc:creator><![CDATA[Kaustubh Rai]]></dc:creator><pubDate>Sat, 20 Jun 2020 06:30:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/tQsqhVH3vl8/upload/8fca47b12098ccbc7b142a611411a649.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>College students or most people, in general, are drawn to hacking as they want to feel the rush of excitement that comes from hacking something.</p>
<p>But their general idea of what hacking is often coming from seeing it done in a movie, television, or a video game. The problem is, they often show it wrongly. Hacking isn’t typing faster than the other person or solving a puzzle by rotating objects. It takes much longer than that and requires a lot of patience <em>(Reading this article is also gonna require you a lot of patience 😛)</em>.</p>
<p>CTF players are often newbies and a CTF is meant for them as an introduction to the world of cybersecurity.</p>
<h2 id="heading-so-what-is-a-ctf">So what is a CTF?</h2>
<p>A CTF stands for Capture The Flag<a target="_blank" href="https://raikaustubh.com/posts/second_article/#user-content-fn-1"><sup>1</sup></a>. It’s like a puzzle to solve but instead of a puzzle we are given an IP address, an image, some code or a software or <strong>literally anything</strong> and you have to work your way around using Google as your best friend and your skills in Bash Scripting and Linux. It’s like when a little bird is pushed out of the nest and it has to learn to fly by itself, you are expected to use your skills and find the flag and then using what you have learned you have to apply them to defend your companies against hackers or in <em>Layman’s terms</em> you can call it a hacking competition.</p>
<p><strong>CTF</strong> is somewhat held in high regard if you run in the cyber-security community. It tests your skills to outthink, outsmart, and most importantly <em>outhack</em> any situation given to you.</p>
<p>You have to apply real-world hacking tools to infiltrate a computer system, find intentionally placed vulnerabilities, and exploit them to capture a <em>flag</em>. You then submit this <em>flag</em> so that you get points.</p>
<p><img src="https://main-raikaustubh.netlify.app/assets/gif/were_in.gif" alt="were_in" class="image--center mx-auto" /></p>
<p>Each challenge is usually oriented around a single concept. By solving challenges, you (hopefully!) learn about a new concept, vulnerability, tool, class of attack, etc. A CTF can be performed individually or in a team(it’s hard finding security nerds).</p>
<h2 id="heading-ctf-styles">CTF Styles</h2>
<p>There are three common types of CTFs: Jeopardy, Attack-Defence, and mixed.</p>
<p>Most CTFs are “jeopardy style”, meaning that there are a handful of categories, and each of the (typically standalone) challenges falls into one of those categories.</p>
<p>The categories vary from CTF to CTF, but typically include:</p>
<ul>
<li><p>RE (Reverse Engineering): get a binary and reverse engineer it to find a flag.</p>
</li>
<li><p>PWN: get a binary and a link to a program running on a remote server. Cause a buffer overflow, etc. to bypass normal functionality and get the program to read the flag to you.</p>
</li>
<li><p>Crypto: crypto means cryptography! Get an encrypted flag and figure out how to decrypt it (includes both classical and modern ciphers).</p>
</li>
<li><p>Web: web-based challenges where you are directed to a website, and you have to find and exploit a vulnerability (SQL injection, XSS, etc.) to get a flag.</p>
</li>
<li><p>Forensics/Steganography: given a file, image, audio, or other files, find a hidden message and get the flag.</p>
</li>
<li><p>Other: this is a bit of a grab bag. Includes random puzzles, electronics-based things, OSINT<a target="_blank" href="https://raikaustubh.com/posts/second_article/#user-content-fn-2"><sup>2</sup></a>, anything that doesn’t fit into the other categories.</p>
</li>
</ul>
<p><img src="https://main-raikaustubh.netlify.app/assets/gif/jeopardy.gif" alt="jeopardy.gif" class="image--center mx-auto" /></p>
<p>The next task in the chain can be opened only after someone or a team solve the previous task.</p>
<p>Attack-defence is another interesting kind of CTF, can not be done by a single individual it needs a team. Here every team has its’s own network(or only one host) with vulnerable services. Your team has time for patching their own services and protecting it while also attacking other servers. You should protect your own services for defense points and hack opponents for attack points.</p>
<p>Possible formats in Mixed competitions may vary. It may be something like wargame with special time for task-based elements.</p>
<h2 id="heading-logistics-and-how-to-find-ctfs">Logistics and How to Find CTFs</h2>
<p><strong>Wait! Now before you go any further</strong></p>
<p>It’s definitely more fun to play with friends or even internet strangers. Playing with other people means that you can help each other, support each other when you make progress, get a new tool working, or find a flag… or when you don’t. Especially when you’re new, CTFs can feel like repeatedly banging your head against the wall (there’s so much to learn in this field!). Having others to play alongside can definitely help lift that emotional burden when things aren’t going well, and give you people to celebrate with when you make a breakthrough.</p>
<p><img src="https://main-raikaustubh.netlify.app/assets/gif/dont_go_alone.gif" alt="dont_go_alone.gif" class="image--center mx-auto" /></p>
<p>There are online groups that are open to beginners. A shortlist includes :</p>
<ul>
<li><p><a target="_blank" href="https://opentoallctf.github.io/"><em>OpenToAll</em></a></p>
</li>
<li><p><a target="_blank" href="https://www.womenhackerz.com/"><em>Women Hackers</em></a></p>
</li>
<li><p><a target="_blank" href="https://twitter.com/CTF_Circle"><em>CTF Circle</em></a></p>
</li>
<li><p><a target="_blank" href="https://www.meetup.com/"><em>Meetup</em></a></p>
</li>
</ul>
<p>If there’s anybody interested in teaming up you can try Slack/Discord for local security meet-up groups. The same goes for university groups if you’re a student, as there are often other people looking for teammates. Use them to meet other hackers/coders who can mentor you.</p>
<h2 id="heading-where-to-find-ctfs">Where to find CTFs?</h2>
<p>There are in-person CTFs throughout the year, plus many at conferences. There are also online CTFs which run for 1-3 days, some go for a week. <a target="_blank" href="https://ctftime.org/event/list/upcoming"><strong><em>CTF Time</em></strong></a> provides you with a list of upcoming events. Some CTFs and CTF platforms are available online, year-round.</p>
<ul>
<li><p><a target="_blank" href="https://overthewire.org/wargames/bandit/"><strong>OverTheWire “Bandit”</strong></a> is a good option if you want to learn Linux commands through a beginner-friendly game. It has a number of other great ‘wargames’ as well like Natas, Narnia, Maze. Each wargame has some levels, you pass one level to continue to the next.</p>
</li>
<li><p><a target="_blank" href="https://www.hackthebox.eu/"><strong>HTB</strong></a>, the most popular platform which includes both “Jeopardy” style challenges and network pentesting VMs<a target="_blank" href="https://raikaustubh.com/posts/second_article/#user-content-fn-3"><sup>3</sup></a> for you to attack. You have to <em>hack</em> this site just to make an account on this platform (hint: find the login portal). After you do that, try solving the retired machines to gain confidence and then move on to the active ones.</p>
</li>
</ul>
<p><img src="https://main-raikaustubh.netlify.app/assets/img/htb.png" alt="htb_png" class="image--center mx-auto" /></p>
<p>You can try solving above machines from the 2 columns first as they are the easy ones. These boxes are all retired. While hacking these machines, keep in mind that you have to first connect to them using OpenVPN (I did not know this and it gave me a lot of headaches). Remember to visit the Starting Point page to understand everything on the platform.</p>
<ul>
<li><a target="_blank" href="https://www.vulnhub.com/"><strong>VulnHub</strong></a>’tis the same as HTB, it also has vulnerable machines for you to practice on. There are many blogs on how to start and how to solve such machines. I would suggest reading at least blogs for 5 machines and then try to understand the approach for starting on these machines.</li>
</ul>
<p><img src="https://main-raikaustubh.netlify.app/assets/img/vulnhub.png" alt="vulnhub.png" class="image--center mx-auto" /></p>
<p>This <a target="_blank" href="https://docs.google.com/spreadsheets/d/1dwSMIAPIam0PuRBkCiDI88pU3yzrqqHkDtBngUHNCw8"><strong>Google Sheet</strong></a> has VulnHub and HTB boxes, it is kept updated by the fellow InfoSec people.</p>
<ul>
<li><a target="_blank" href="https://picoctf.com/"><strong>picoCTF</strong></a> is technically an event in the fall, but the challenges remain open year-round. This is probably my top recommendation for a beginner Jeopardy-style CTF.</li>
</ul>
<p>Other multi-category platforms (paid and free) include <a target="_blank" href="https://www.root-me.org/?lang=en"><strong>Root Me</strong></a>, <a target="_blank" href="https://escalate.today/"><strong>Escalate</strong></a>, <a target="_blank" href="https://pentesterlab.com/"><strong>Pen Tester Lab</strong></a>, <a target="_blank" href="https://247ctf.com/"><strong>24/7 CTF</strong></a>, <a target="_blank" href="https://ctf.hacker101.com/"><strong>Hacker101</strong></a>, and <a target="_blank" href="https://ctflearn.com/"><strong>CTFLearn</strong></a>. There are many more… if you’re a beginner, leverage these to get access to many different types of challenges in each category to determine what you like, and build up a knowledge base (Hacker101 has a few Android challenges).</p>
<p>Now before even trying to attend a CTF or hack a machine, you must have a basic knowledge in programming or know your way around a Linux machine. Learning Linux could be hard for some people, <a target="_blank" href="https://tryhackme.com/room/zthlinux"><strong>Learn Linux</strong></a> is a guided room designed to teach you all the basic fundamentals of Linux that you need to get started.</p>
<ul>
<li><p><a target="_blank" href="https://tryhackme.com/room/zthlinux">Linux Fundamentals</a></p>
</li>
<li><p><a target="_blank" href="https://www.youtube.com/watch?v=TyUtnOb-kS0">Learn Nmap</a></p>
</li>
<li><p><a target="_blank" href="https://www.youtube.com/watch?v=aRwxsn9ZEQw">Learn Metasploit</a></p>
</li>
<li><p><a target="_blank" href="https://www.tryhackme.com/room/blue">Hack this Windows Machine</a></p>
</li>
<li><p><a target="_blank" href="https://www.youtube.com/playlist?list=PLhixgUqwRTjx2BmNF5-GddyqZcizwLLGP">Learn Web Security basics</a></p>
</li>
<li><p>Solve some picoCTF web challenges</p>
</li>
</ul>
<p>Do this and you are ahead of the curve (I have wasted a lot of time focusing on redundant things and getting stuck in these basic steps).</p>
<h2 id="heading-and-now-the-resource-list-for-each-category">And now the Resource List for each category!</h2>
<h4 id="heading-re">RE</h4>
<p>In industry, RE skills are used for vulnerability research. You might be given a software program and asked to find vulnerabilities (without having source code). Similarly, malware research involves a lot of reverse engineering. It’s a bit more niche than its inclusion in CTFs would lead you to believe, but still a challenging/fun category.</p>
<p><img src="https://main-raikaustubh.netlify.app/assets/gif/reverse_engg.gif" alt="reverse_engg.gif" class="image--center mx-auto" /></p>
<p>It is daunting to get started in reverse engineering, if you have little or no experience in low-level programming languages like assembly. As you get started, try to find something in the code to orient yourself… a call to a standard library function (read, scanf, printf, etc.), comments, strings, etc.</p>
<p><a target="_blank" href="https://medium.com/@vignesh4303/reverse-engineering-resources-beginners-to-intermediate-guide-links-f64c207505ed"><strong>This</strong></a> article covers most of the resources that you are going to need for RE, but here’s my shortlist.</p>
<ul>
<li><p><strong>Learning by doing:</strong> <a target="_blank" href="https://microcorruption.com/login"><strong>Microcorruption</strong></a> is a game where you try to reverse engineer (fictitious) Bluetooth locks of increasing difficulty. It’s all in-browser (which means no-tool setup) and has a tutorial level that introduces you to some of the assembly and environment.</p>
</li>
<li><p><strong>Learning by reading:</strong> Hacking: The Art of Exploitation and then Practical Binary Analysis. Hacking: The Art of Exploitation takes you from a very basic level through C, assembly, program memory, exploits, and much more.</p>
</li>
<li><p><strong>Learning by watching:</strong> Live Overflow has a great series on <a target="_blank" href="https://www.youtube.com/playlist?list=PLhixgUqwRTjxglIswKp9mpkfPNfHkzyeN"><strong>binary exploitation</strong></a>.</p>
</li>
</ul>
<h4 id="heading-pwn">PWN</h4>
<p>You’ll be given a program to RE, a server and a port to connect to. The server is running that same program and has a file that contains the flag (usually called flag.txt). These challenges are a way to learn about secure coding (typically in C), as some sort of vulnerability will let you redirect the program flow to do something else (give you a flag). This category is probably what people think of when they think of (stereotypical) hacking.</p>
<p>The learning curve is a bit steep as these challenges are more multi-disciplinary.</p>
<ul>
<li><p><strong>Learning by doing:</strong> <a target="_blank" href="https://pwnable.kr/"><strong>Pwnable.kr</strong></a>, <a target="_blank" href="https://pwnable.xyz/challenges/"><strong>pwnable.xyz</strong></a> and <a target="_blank" href="https://pwnable.tw/"><strong>pwnable.tw</strong></a> are all geared towards beginners.</p>
</li>
<li><p><strong>Learning by reading:</strong> Same as RE.</p>
</li>
<li><p><strong>Learning by watching:</strong> Same as RE.</p>
</li>
</ul>
<h4 id="heading-crptography">Crptography</h4>
<p>Encrypting (and decrypting) data in order to allow for its secure transmission and storage. Most challenges revolve around either decrypting a ciphertext using a classical cipher (Caesar, Vignere, etc.) or finding a flaw in the implementation of a modern cipher.</p>
<p>While jobs in cryptography are pretty niche (NSA?), knowing how cryptography works can be very beneficial to those developing software, or playing defense, as exploiting human error (in implementation) is far more likely than exploiting a flaw in a proven cryptographic system. That’s why you should “never roll your own crypto.” : )</p>
<p><img src="https://main-raikaustubh.netlify.app/assets/gif/crypto_confuse.gif" alt="crypto_confuse.gif" class="image--center mx-auto" /></p>
<ul>
<li><p><strong>Learning by doing:</strong> If you have the patience to learn to program while also learning cryptography, visit <a target="_blank" href="https://cryptopals.com/"><strong>CryptoPals</strong></a>. It’s a step-by-step set of exercises that “demonstrate attacks on real-world crypto.” Think <a target="_blank" href="https://projecteuler.net/"><strong>Project Euler</strong></a>, but for cryptography.</p>
</li>
<li><p><strong>Learning by reading:</strong> The Code Book, it’s a cat-and-mouse type story about cryptography through the ages, it’s not super technical but really fun. For a more technical introduction, check out Crypto 101, a free PDF book. Then, if you still want more, check out No Starch Press Serious Cryptography.</p>
</li>
<li><p><strong>Learning by watching:</strong> <a target="_blank" href="https://www.youtube.com/channel/UC1usFRN4LCMcfIV7UjHNuQg/videos"><strong>Christof Paar’s Introduction to Cryptography videos</strong></a>, there’s also a <a target="_blank" href="https://www.coursera.org/learn/crypto/"><strong>Coursera Cryptography Series</strong></a> offered by Standford.</p>
</li>
</ul>
<h4 id="heading-web">Web</h4>
<p>This covers any sort of web-based vulnerabilities and exploits. This includes different forms of injection, cross-site scripting (XSS), cross-site request forgery (CSRF), insecure direct object references (IDOR), and so on.</p>
<p>In terms of the InfoSec industry, web hacking could get you a job in AppSec (application security) or web-based pen-testing. It might also be useful to those who want to do bug bounty, as several bounty programs focus on web targets. If you’re a web developer, developing web hacking skills could help you create a more secure codebase at your job.</p>
<ul>
<li><p><strong>Learning by doing:</strong> OWASP has a number of intentionally vulnerable projects. One of them is <a target="_blank" href="https://owasp.org/www-project-juice-shop/"><strong>JuiceShop</strong></a>, an intentionally vulnerable website that teaches you about many common web vulnerabilities. You can download the image from their website, and run it locally (or deploy it somewhere like Heroku).</p>
</li>
<li><p><strong>Learning by reading:</strong> <a target="_blank" href="https://www.amazon.com/Web-Application-Hackers-Handbook-Exploiting/dp/1118026470"><strong>Web Application Hacker’s Handbook</strong></a></p>
</li>
<li><p><strong>Learning by watching:</strong> This <a target="_blank" href="https://www.youtube.com/playlist?list=PLhixgUqwRTjx2BmNF5-GddyqZcizwLLGP"><strong>introductory course on web hacking</strong></a> which covers (in varying extents) HTML/CSS/JS, the HTTP protocol, cross-site scripting and cross-site request forgery. Once you get past those, <a target="_blank" href="https://www.youtube.com/playlist?list=PLhixgUqwRTjwufDsT1ntgOY9yjZgg5H_t"><strong>this</strong></a> has more advanced browser exploitation.</p>
</li>
</ul>
<h4 id="heading-forensics-stego">Forensics / Stego</h4>
<p>Steganography (not to be confused with stenography) is the art of concealing a message (or file, image, etc.) within another message (or file, image, etc.). In CTFs, this category often contains other digital forensics challenges, and might be called either “Stego” or “Forensics”.</p>
<p>In the industry, stego and forensics skills can have a wide range of applications including digital forensics, incident response, data loss protection, and malware detection.</p>
<p>This <a target="_blank" href="https://drive.google.com/file/d/1Ew4Jq6xavP1gF_i8e2ZQVwuivLKQzlOt/view?usp=sharing">image</a> has a flag in it.</p>
<p>P.S - I wasn’t able to solve this problem in an in-person CTF. If anyone of you is able to, share how you did it 😝.</p>
<ul>
<li><p><strong>Learning by doing:</strong> A multi-category site like PicoCTF and Hack The Box and try some stego challenges.</p>
</li>
<li><p><strong>Learning by reading:</strong> <a target="_blank" href="https://trailofbits.github.io/ctf/forensics/"><strong>Trail of Bits</strong></a> has a fantastic CTF guide that will cover some basic stego concepts.</p>
</li>
<li><p><strong>Learning by watching:</strong> Welp I’m lacking ideas here. : ( Send me a link if you know of a good beginner stego/forensics series online!</p>
</li>
</ul>
<p><img src="https://main-raikaustubh.netlify.app/assets/gif/learn_ctf.gif" alt="learn_ctf.gif" class="image--center mx-auto" /></p>
<h3 id="heading-tldr-and-thoughts">TL;DR and thoughts</h3>
<ol>
<li><p>CTFs are competitions that teach you hacking skills through different types of challenges.</p>
</li>
<li><p>Jeopardy-style CTFs are the most common and typically cover five major categories: RE, Pwn, Crypto, Web, and Stego.</p>
</li>
<li><p>If you don’t know what category/categories interest you, try a bit of everything and then deep dive into your favorite areas.</p>
</li>
<li><p>Try to read past CTF’s writeups or watch videos of how it’s solved.</p>
</li>
<li><p>CTFs are more fun when you do them with friends!</p>
</li>
</ol>
<p>Don’t bediscouraged if (when) you get stuck. Everyone starts somewhere, and even if you don’t solve a challenge, you can still learn something valuable and gain enough knowledge so that the next challenge is a bit easier. Infosec is a huge field that draws upon many different skills, and there’s a lot to learn. I’m just a undergrad student and I’ve got a long road ahead. And as always, Google ftw.</p>
<p>Happy CTFing!</p>
<p><img src="https://main-raikaustubh.netlify.app/assets/gif/happy_ctf.gif" alt="happy_ctf.gif" class="image--center mx-auto" /></p>
<hr />
<h2 id="heading-footnotes">Footnotes</h2>
<ol>
<li><p>flag - a string of code that proves you discovered the flaw. <a target="_blank" href="https://raikaustubh.com/posts/second_article/#user-content-fnref-1">↩</a></p>
</li>
<li><p>OSINT - the art of googling to find something useful about something or somebody <a target="_blank" href="https://raikaustubh.com/posts/second_article/#user-content-fnref-2">↩</a></p>
</li>
<li><p>VM - a virtual environment that functions as a virtual computer, VMs allow multiple different operating systems to run simultaneously on a single computer <a target="_blank" href="https://raikaustubh.com/posts/second_article/#user-content-fnref-3">↩</a></p>
</li>
</ol>
]]></content:encoded></item><item><title><![CDATA[How I Built a Vulnerability Assement Tool in Hackathon⚒️]]></title><description><![CDATA[Everyone has heard about hackathons, this is especially true for a university full of engineering students. However, not many of us have actually experienced one before. I had never participated in one until just recently. Before this, I had the comm...]]></description><link>https://raikaustubh.com/hackathon-vapt</link><guid isPermaLink="true">https://raikaustubh.com/hackathon-vapt</guid><category><![CDATA[#VAPT audit]]></category><category><![CDATA[#security hackathon]]></category><category><![CDATA[#Pi device]]></category><category><![CDATA[hackathon]]></category><category><![CDATA[university]]></category><category><![CDATA[Experience ]]></category><category><![CDATA[Problem Solving]]></category><category><![CDATA[cybersecurity]]></category><category><![CDATA[Automated Testing]]></category><category><![CDATA[pi]]></category><category><![CDATA[Organizations]]></category><category><![CDATA[system]]></category><dc:creator><![CDATA[Kaustubh Rai]]></dc:creator><pubDate>Sun, 03 May 2020 18:30:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/14JOIxmsOqA/upload/9086b609211bc34ade22acd29ef5c824.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Everyone has heard about hackathons, this is especially true for a university full of engineering students. However, not many of us have actually experienced one before. I had never participated in one until just recently. Before this, I had the common misconception that a hackathon (hack+marathon) only involves coding for an entire day, which is why I never participated (because I am terrible when it comes to coding). In fact, not all hackathons are about coding, as the main aim of the event is problem-solving. A prime example of such a hackathon was the <strong>Cypher Hack</strong> a national-level, cybersecurity hackathon conducted by the Computer Society of India at ‘Fr. Conceicao Rodrigues Institute of Technology’.</p>
<p>Unlike other hackathons this was a security hackathon where we had to create stuff that would be needed in the world of cybersecurity.</p>
<p>My first time ever attending a hackathon and that too a security hackathon the pressure, anxiety, nervousness, the excitement was REAL. My team comprised of 3 other members, 2 of whom I had never met. We met at the venue and talked about how we would tackle the problem statement. There were topics given by the people who were organizing this event. We chose our own, our problem statement was <strong>Automated Vulnerability Assessment Using a Remote Pi device</strong>. Those are some big words in the title, let me explain it to you word by word.</p>
<h2 id="heading-what-is-vulnerability-assessment">What is Vulnerability Assessment</h2>
<p>Every organization is a target for hackers. The best thing a company can do is conduct an audit<a target="_blank" href="https://raikaustubh.com/posts/first_article/#user-content-fn-1"><sup>1</sup></a>. Audits are a way to detect security vulnerabilities in the system or the network of the organization with various techniques, the same techniques as that of a real-life black hat hacker aka <strong><em>bad guys</em></strong>. It focuses on identifying vulnerabilities<a target="_blank" href="https://raikaustubh.com/posts/first_article/#user-content-fn-2"><sup>2</sup></a> in the network, server, and system infrastructure.</p>
<p>Adding <em>Automated</em> in front of it now means we are just doing it automatically by the push of a button or here in this case by the help of <em>Pi</em> device, Pi is just a dumbed-down version of a computer with Linux as its OS in it and it’s the size of a credit card, you plug it in devices and it works. All of this means that we were making something that was going to help companies do the security <em>stuff</em> faster and it’s cheap and the size of a credit card. <strong>FANTASTIC!</strong> right?</p>
<h3 id="heading-presentation">Presentation</h3>
<p>We had to present it now in front of the judges what we were building as 3 hours had been already up. One of the judges in the panel was Venkata Satish, who has been awarded CISO<a target="_blank" href="https://raikaustubh.com/posts/first_article/#user-content-fn-3"><sup>3</sup></a> of the year in India, so in my mind as my first impression, I had to present it as well as I could .</p>
<h4 id="heading-break">Break</h4>
<p>After 5 hours or so, we had a break from our work station and in that time period, I got to interact with the remaining teams in the hackathon (I mean, you are basically stuck with everyone in the same area for the entirety of the event). There were 15 teams or so, and all of their projects were really innovative and it was inspiring to see how they were tackling their problem statements effectively. Even though everyone was busy perfecting their prototype and bringing their ideas to life throughout the event, we still managed to mingle around and meet new friends along the way.</p>
<p>Here’s a glimpse of what problems were given to us:</p>
<p><img src="https://main-raikaustubh.netlify.app/assets/img/hackathon_questions.jpg" alt="Hackathon Questions" /></p>
<p>Projects made by people on Blockchain and OSINT were the most eye-catchy ones as not a lot of people use these technologies or get their hands <em>dirty</em> as for most of them it looks overkill.</p>
<p>After the break time, a couple of hours had passed our project’s hardware side had been finished, we were working on the front end side to make it more User Friendly for people to use and understand. Before the final round, professionals and experts in the fields related to hackathons and cybersecurity came as advisors. They inspected our work and asked us questions related to the same. Each of them asked us questions how it would help different scales of companies, on how a person not having a computer background can operate these devices, etc. They explained to us and cleared some of our doubts on how companies think and why they would need our product and how we need to sell it to a company and mostly to which type of companies. It was a really informative session with all of them. Not only were they able to see gaps within our idea, but they were also able to add on to what we already had.</p>
<h2 id="heading-finals">Finals</h2>
<p>After working for 12 hours on this project, we needed to show it to the judges, whether complete or not, we still had kinks we needed to sort in our project, it still wasn’t entirely <em>User-Friendly</em>. We showed the judges what we had been working on and we explained to them how they can start the Pi device remotely and conduct the VAPT audit.</p>
<p>After a while, all the teams were called for the announcement of winners, they gave us insight on how a team needs to perform in a hackathon such as this, what preparations should be made before and how we need to manage and gauge our time properly, how we need to present it more professionally in front of the panelists, what we can do with the product we’d made in the future and how we can work on it to make it more efficient. After this they called out the names of the teams to present them with what they had won– our team name was also called. We had secured the 1st place in the hackathon, 2 of my team members were offered Internships on the spot, and then we got a cash prize of 15K. We all agreed that the real prize was the pride and happiness we got out of winning the competition and defeating other teams.</p>
<details><summary>P.S -</summary><div data-type="detailsContent">If you are interested and want to see the project my teammate has written a perfect blog explaining how you can program this type of product yourself, here’s the <a target="_blank" href="https://haxbabatech.blogspot.com/2020/04/build-your-own-red-team-dropbox-for_9.html"><strong>EXPLANATION</strong></a> – check it out. Anyway I did not explain any programming stuff we did in the project, this was just my experience, visit <a target="_blank" href="https://haxbabatech.blogspot.com/2020/04/build-your-own-red-team-dropbox-for_9.html"><strong>THIS</strong></a> for more coding stuff, it’s REALLY good.</div></details>

<hr />
<h2 id="heading-footnotes">Footnotes</h2>
<ol>
<li><p>audit - an official inspection <a target="_blank" href="https://raikaustubh.com/posts/first_article/#user-content-fnref-1">↩</a></p>
</li>
<li><p>Vulnerability - the possibility of being attacked <a target="_blank" href="https://raikaustubh.com/posts/first_article/#user-content-fnref-2">↩</a></p>
</li>
<li><p>CISO - Head honcho of Cyber Security, mostly reports to the CEO. <a target="_blank" href="https://raikaustubh.com/posts/first_article/#user-content-fnref-3">↩</a></p>
</li>
</ol>
]]></content:encoded></item></channel></rss>