mirror of
https://github.com/davidalvarezp/websec-audit.git
synced 2026-06-23 11:48:28 +02:00
29 lines
40 KiB
HTML
29 lines
40 KiB
HTML
|
|
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="How to install websec-audit and its dependencies on Debian, Ubuntu and Kali Linux."><meta name=author content=davidalvarezp><link href=https://davidalvarezp.github.io/websec-audit/installation/ rel=canonical><link rel=prev href=..><link href=../quickstart/ rel=next><link rel=icon href=../assets/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.6"><title>Installation - WebSec-Audit</title><link rel=stylesheet href=../assets/stylesheets/main.484c7ddc.min.css><link rel=stylesheet href=../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Inter:300,300i,400,400i,700,700i%7CJetBrains+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Inter";--md-code-font:"JetBrains Mono"}</style><link rel=stylesheet href=../assets/extra.css><script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=slate data-md-color-primary=blue data-md-color-accent=light-blue> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#installation class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=.. title=WebSec-Audit class="md-header__button md-logo" aria-label=WebSec-Audit data-md-component=logo> <img src=../assets/logo.svg alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> WebSec-Audit </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Installation </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=blue data-md-color-accent=light-blue aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5s-1.65.15-2.39.42zM3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29zm.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14zM20.65 7l-1.77 3.79a7.02 7.02 0 0 0-2.38-4.15zm-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29zM12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=blue data-md-color-accent=light-blue aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3zm3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.
|
||
|
|
</span><span id=__span-0-2><a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a><span class=nb>cd</span><span class=w> </span>websec-audit
|
||
|
|
</span><span id=__span-0-3><a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a>chmod<span class=w> </span>+x<span class=w> </span>install.sh<span class=w> </span>websec-audit.sh
|
||
|
|
</span><span id=__span-0-4><a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a>sudo<span class=w> </span>./install.sh
|
||
|
|
</span></code></pre></div> <p>The installer detects your architecture (<code>amd64</code> / <code>arm64</code>) and downloads the correct pre-compiled binaries for tools not available via APT.</p> <div class="admonition tip"> <p class=admonition-title>Install log</p> <p>The installer writes a full log to <code>/tmp/websec_install_<timestamp>.log</code>. Check it if anything fails.</p> </div> <hr> <h2 id=manual-install>Manual install<a class=headerlink href=#manual-install title="Permanent link">¶</a></h2> <h3 id=required-core-functionality>Required (core functionality)<a class=headerlink href=#required-core-functionality title="Permanent link">¶</a></h3> <div class="language-bash highlight"><pre><span></span><code><span id=__span-1-1><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a>sudo<span class=w> </span>apt-get<span class=w> </span>install<span class=w> </span>-y<span class=w> </span>curl<span class=w> </span>nmap
|
||
|
|
</span></code></pre></div> <h3 id=recommended-significantly-improves-coverage>Recommended (significantly improves coverage)<a class=headerlink href=#recommended-significantly-improves-coverage title="Permanent link">¶</a></h3> <div class="language-bash highlight"><pre><span></span><code><span id=__span-2-1><a id=__codelineno-2-1 name=__codelineno-2-1 href=#__codelineno-2-1></a>sudo<span class=w> </span>apt-get<span class=w> </span>install<span class=w> </span>-y<span class=w> </span><span class=se>\</span>
|
||
|
|
</span><span id=__span-2-2><a id=__codelineno-2-2 name=__codelineno-2-2 href=#__codelineno-2-2></a><span class=w> </span>nikto<span class=w> </span>sqlmap<span class=w> </span>gobuster<span class=w> </span>dirb<span class=w> </span><span class=se>\</span>
|
||
|
|
</span><span id=__span-2-3><a id=__codelineno-2-3 name=__codelineno-2-3 href=#__codelineno-2-3></a><span class=w> </span>whatweb<span class=w> </span>wafw00f<span class=w> </span>sslscan<span class=w> </span><span class=se>\</span>
|
||
|
|
</span><span id=__span-2-4><a id=__codelineno-2-4 name=__codelineno-2-4 href=#__codelineno-2-4></a><span class=w> </span>python3<span class=w> </span>python3-pip<span class=w> </span>jq<span class=w> </span>ruby<span class=w> </span><span class=se>\</span>
|
||
|
|
</span><span id=__span-2-5><a id=__codelineno-2-5 name=__codelineno-2-5 href=#__codelineno-2-5></a><span class=w> </span>dnsutils<span class=w> </span>whois<span class=w> </span>wordlists
|
||
|
|
</span></code></pre></div> <h3 id=optional-tools-install-individually>Optional tools (install individually)<a class=headerlink href=#optional-tools-install-individually title="Permanent link">¶</a></h3> <div class="tabbed-set tabbed-alternate" data-tabs=1:6><input checked=checked id=__tabbed_1_1 name=__tabbed_1 type=radio><input id=__tabbed_1_2 name=__tabbed_1 type=radio><input id=__tabbed_1_3 name=__tabbed_1 type=radio><input id=__tabbed_1_4 name=__tabbed_1 type=radio><input id=__tabbed_1_5 name=__tabbed_1 type=radio><input id=__tabbed_1_6 name=__tabbed_1 type=radio><div class=tabbed-labels><label for=__tabbed_1_1>testssl.sh</label><label for=__tabbed_1_2>wpscan</label><label for=__tabbed_1_3>dalfox</label><label for=__tabbed_1_4>subfinder</label><label for=__tabbed_1_5>nuclei</label><label for=__tabbed_1_6>droopescan</label></div> <div class=tabbed-content> <div class=tabbed-block> <div class="language-bash highlight"><pre><span></span><code><span id=__span-3-1><a id=__codelineno-3-1 name=__codelineno-3-1 href=#__codelineno-3-1></a>git<span class=w> </span>clone<span class=w> </span>--depth<span class=w> </span><span class=m>1</span><span class=w> </span>https://github.com/drwetter/testssl.sh.git<span class=w> </span>/opt/testssl.sh
|
||
|
|
</span><span id=__span-3-2><a id=__codelineno-3-2 name=__codelineno-3-2 href=#__codelineno-3-2></a>sudo<span class=w> </span>ln<span class=w> </span>-s<span class=w> </span>/opt/testssl.sh/testssl.sh<span class=w> </span>/usr/local/bin/testssl.sh
|
||
|
|
</span></code></pre></div> </div> <div class=tabbed-block> <div class="language-bash highlight"><pre><span></span><code><span id=__span-4-1><a id=__codelineno-4-1 name=__codelineno-4-1 href=#__codelineno-4-1></a>sudo<span class=w> </span>gem<span class=w> </span>install<span class=w> </span>wpscan<span class=w> </span>--no-document
|
||
|
|
</span></code></pre></div> </div> <div class=tabbed-block> <div class="language-bash highlight"><pre><span></span><code><span id=__span-5-1><a id=__codelineno-5-1 name=__codelineno-5-1 href=#__codelineno-5-1></a><span class=c1># Download latest release for your arch</span>
|
||
|
|
</span><span id=__span-5-2><a id=__codelineno-5-2 name=__codelineno-5-2 href=#__codelineno-5-2></a>wget<span class=w> </span>https://github.com/hahwul/dalfox/releases/latest/download/dalfox_linux_amd64.tar.gz
|
||
|
|
</span><span id=__span-5-3><a id=__codelineno-5-3 name=__codelineno-5-3 href=#__codelineno-5-3></a>tar<span class=w> </span>-xzf<span class=w> </span>dalfox_linux_amd64.tar.gz
|
||
|
|
</span><span id=__span-5-4><a id=__codelineno-5-4 name=__codelineno-5-4 href=#__codelineno-5-4></a>sudo<span class=w> </span>mv<span class=w> </span>dalfox<span class=w> </span>/usr/local/bin/
|
||
|
|
</span></code></pre></div> </div> <div class=tabbed-block> <div class="language-bash highlight"><pre><span></span><code><span id=__span-6-1><a id=__codelineno-6-1 name=__codelineno-6-1 href=#__codelineno-6-1></a>wget<span class=w> </span>https://github.com/projectdiscovery/subfinder/releases/latest/download/subfinder_linux_amd64.zip
|
||
|
|
</span><span id=__span-6-2><a id=__codelineno-6-2 name=__codelineno-6-2 href=#__codelineno-6-2></a>unzip<span class=w> </span>subfinder_linux_amd64.zip
|
||
|
|
</span><span id=__span-6-3><a id=__codelineno-6-3 name=__codelineno-6-3 href=#__codelineno-6-3></a>sudo<span class=w> </span>mv<span class=w> </span>subfinder<span class=w> </span>/usr/local/bin/
|
||
|
|
</span></code></pre></div> </div> <div class=tabbed-block> <div class="language-bash highlight"><pre><span></span><code><span id=__span-7-1><a id=__codelineno-7-1 name=__codelineno-7-1 href=#__codelineno-7-1></a>wget<span class=w> </span>https://github.com/projectdiscovery/nuclei/releases/latest/download/nuclei_linux_amd64.zip
|
||
|
|
</span><span id=__span-7-2><a id=__codelineno-7-2 name=__codelineno-7-2 href=#__codelineno-7-2></a>unzip<span class=w> </span>nuclei_linux_amd64.zip
|
||
|
|
</span><span id=__span-7-3><a id=__codelineno-7-3 name=__codelineno-7-3 href=#__codelineno-7-3></a>sudo<span class=w> </span>mv<span class=w> </span>nuclei<span class=w> </span>/usr/local/bin/
|
||
|
|
</span><span id=__span-7-4><a id=__codelineno-7-4 name=__codelineno-7-4 href=#__codelineno-7-4></a>nuclei<span class=w> </span>-update-templates
|
||
|
|
</span></code></pre></div> </div> <div class=tabbed-block> <div class="language-bash highlight"><pre><span></span><code><span id=__span-8-1><a id=__codelineno-8-1 name=__codelineno-8-1 href=#__codelineno-8-1></a>pip3<span class=w> </span>install<span class=w> </span>droopescan
|
||
|
|
</span></code></pre></div> </div> </div> </div> <hr> <h2 id=kali-linux>Kali Linux<a class=headerlink href=#kali-linux title="Permanent link">¶</a></h2> <p>Most tools are pre-installed. Run the installer to fill any remaining gaps:</p> <div class="language-bash highlight"><pre><span></span><code><span id=__span-9-1><a id=__codelineno-9-1 name=__codelineno-9-1 href=#__codelineno-9-1></a>sudo<span class=w> </span>./install.sh
|
||
|
|
</span></code></pre></div> <hr> <h2 id=verifying-the-installation>Verifying the installation<a class=headerlink href=#verifying-the-installation title="Permanent link">¶</a></h2> <div class="language-bash highlight"><pre><span></span><code><span id=__span-10-1><a id=__codelineno-10-1 name=__codelineno-10-1 href=#__codelineno-10-1></a>./websec-audit.sh<span class=w> </span>--version
|
||
|
|
</span></code></pre></div> <p>Expected output:</p> <div class="language-text highlight"><pre><span></span><code><span id=__span-11-1><a id=__codelineno-11-1 name=__codelineno-11-1 href=#__codelineno-11-1></a>websec-audit v1.0.1 — davidalvarezp
|
||
|
|
</span></code></pre></div> <p>The tool also performs a dependency check at the start of every scan, listing which tools are available and which are missing.</p> <hr> <h2 id=dependency-matrix>Dependency matrix<a class=headerlink href=#dependency-matrix title="Permanent link">¶</a></h2> <table> <thead> <tr> <th>Tool</th> <th style="text-align: center;">Required</th> <th>Module(s)</th> </tr> </thead> <tbody> <tr> <td><code>curl</code></td> <td style="text-align: center;">✅</td> <td>All HTTP modules</td> </tr> <tr> <td><code>nmap</code></td> <td style="text-align: center;">✅</td> <td>Port Scanning</td> </tr> <tr> <td><code>nikto</code></td> <td style="text-align: center;">optional</td> <td>Nikto</td> </tr> <tr> <td><code>sqlmap</code></td> <td style="text-align: center;">optional</td> <td>SQL Injection</td> </tr> <tr> <td><code>gobuster</code></td> <td style="text-align: center;">optional</td> <td>Dir & File Enum</td> </tr> <tr> <td><code>ffuf</code></td> <td style="text-align: center;">optional</td> <td>Dir & File Enum (fallback)</td> </tr> <tr> <td><code>dirb</code></td> <td style="text-align: center;">optional</td> <td>Dir & File Enum (fallback)</td> </tr> <tr> <td><code>whatweb</code></td> <td style="text-align: center;">optional</td> <td>Fingerprinting</td> </tr> <tr> <td><code>wafw00f</code></td> <td style="text-align: center;">optional</td> <td>Fingerprinting</td> </tr> <tr> <td><code>sslscan</code></td> <td style="text-align: center;">optional</td> <td>SSL/TLS</td> </tr> <tr> <td><code>testssl.sh</code></td> <td style="text-align: center;">optional</td> <td>SSL/TLS (preferred)</td> </tr> <tr> <td><code>wpscan</code></td> <td style="text-align: center;">optional</td> <td>CMS — WordPress</td> </tr> <tr> <td><code>droopescan</code></td> <td style="text-align: center;">optional</td> <td>CMS — Drupal/Joomla</td> </tr> <tr> <td><code>dalfox</code></td> <td style="text-align: center;">optional</td> <td>XSS</td> </tr> <tr> <td><code>subfinder</code></td> <td style="text-align: center;">optional</td> <td>Reconnaissance</td> </tr> <tr> <td><code>amass</code></td> <td style="text-align: center;">optional</td> <td>Reconnaissance</td> </tr> <tr> <td><code>dnsrecon</code></td> <td style="text-align: center;">optional</td> <td>Reconnaissance</td> </tr> <tr> <td><code>subjack</code></td> <td style="text-align: center;">optional</td> <td>Subdomain Takeover</td> </tr> <tr> <td><code>nuclei</code></td> <td style="text-align: center;">optional</td> <td>Nuclei + Takeover</td> </tr> <tr> <td><code>jq</code></td> <td style="text-align: center;">optional</td> <td>JSON report parsing</td> </tr> <tr> <td><code>python3</code></td> <td style="text-align: center;">optional</td> <td>URL encoding, HTML reports</td> </tr> <tr> <td><code>whois</code></td> <td style="text-align: center;">optional</td> <td>Reconnaissance</td> </tr> <tr> <td><code>dig</code></td> <td style="text-align: center;">optional</td> <td>DNS analysis</td> </tr> </tbody> </table> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2026 <a href=https://davidalvarezp.com>davidalvarezp</a>. </div> </div> <div class=md-social> <a href=https://github.com/davidal
|