"Oh, you think darkness is your ally. But you merely adopted the dark; I was born in it, molded by it. I didn't see the light until I was already a man, by then it was nothing to me but BLINDING! The shadows betray you, because they belong to me!" -Bane (Dark Knight)



                                .///` `.--::::::---.`` `///.                                    
                                h-.-s+++/--<br>.---/+o++s:.-h                                    
                                ++..-.                `:../s                                    
                             -+ydm-..:                :..-dmho:`                                
                          :odmNNNNs..-.              `:..+MNNNmmy/.                            `
                       .odmNNNNMMMN`..:              -..`mMMMMNNNNmy:                           
                      +mNNNNMMMMMMMo`.:`             :``/MMMMMMMMNNNmy.                         
                    .yNNNNMMMMMMMMMd` `-<br>```````..-` `yMMMMMMMMMMNNNd:                        
                   -dNNNMMMMMMMMMMMN`  ..-`      `-`-   mMMMMMMMMMMMMNNmo                       
                  :mNNNMMMMMMMMMMMMM:   .         `.`  -MMMMMMMMMMMMMMNNNs`                     
                 /mNNNMMMMMMMMMMMMMMy   ---      .--   oMMMMMMMMMMMMMMMNNNy`                    
                :mNNNMMMMMMMMMMMMMMMN```:.````````.:```dMMMMMMMMMMMMMMMMNNNy`                   
               -mNNNNMMMMMMMMMMMMMMMMo`.-`        `-.`+MMMMMMMMMMMMMMMMMNNNNo                   
               hNNNNNMMMMMMMMMMMMMMMMm.``-        .``.dMMMMMMMMMMMMMMMMMMNNNm-                  
              -NNNNNMMMMMMMMMMMMMMMMMM-..:        -<br>NMMMMMMMMMMMMMMMMMMNNNNs                  
              oNNNNNMMMMMMMMMMMMMMMMMMo``.`       -` +MMMMMMMMMMMMMMMMMMMNNNNm                  
             :dNNNNNNMMMMMMMMMMMMMMMMMd<br>-``````<br>.hMMMMMMMMMMMMMMMMMMMNNNNNs.                
           .ssmNNNNNNMMMMMMMMMMMMMMMMMM.``/:.  .-/```NMMMMMMMMMMMMMMMMMMNNNNNNyy+`             `
         `oy: mNNNNNNMMMMMMMMMMMMMMMMMM/``-`    `-``:MMMMMMMMMMMMMMMMMMMNNNNNN/`+y:            `
         +y`  dNNNNNNMMMMMMMMMMMMMMMMMMy..-:-  --:..oMMMMMMMMMMMMMMMMMMMNNNNNN:  -N`            
         m-   hNNNNNNMMMNdhhyyhddmMMMMMd```:.``.:```hMMMMNdhso++++shmNMMMNNNNN:   yo           `
        /d    yNNNNNMMh/-````````.-/ydNM.``-    -```NNds:.`..-----..-sNMMNNNNN-   -m`           
        h+    sNNNNNMMmsyhddmmmdhs:` `-o/../`  `/-.:+-` `:yhddmNNNNmmNMMMNNNNN.    d/           
        m/    oNNNNNMMMMMMMNdyssoooo:` `:..``.+```.-.  :o++//+yydMMMMMMMMNNNNN`   .so           
        d--   /NNNNNNMMMMMmyhm//   ymy.`-     o    `- odm:-  .ddssNMMMMMNNNNNm    /:s           
       .h /   :NNNNNNNMMMmhshhy+++ohy/. .:   `o`  `/``-shysssyddddNMMMMNNNNNNd   --.h 
       -y `:  .NNNNNNNMMMMMMMMNNmmmhys/:.`..``.``..`-:syhhdmNNMMMMMMMMMMNNNNNy   / `d 
       :s  :`  dNNNNNMMMMMMMMMNNNmmNNh-    `.`  `.`  `+mMNNNNNMMMMMMMMMMNNNNN+  :`  m          `
       /o   /` oNNNNMMMMMMMMMMMMMMmd+.. `.:- -` - -:.. -sddmNMMMMMMMMMMMMNNNm. .:   m          `
       ++   `:``dNNNMMMMMMMMMMMNo+/.`./-. o`  --`  o `-/.``/+omMMMMMMMMMMNNNo .:    d`         `
       -h    `:`:mNNMMMMMMMMMMd-.+.+--:.`.+.-.::.-./-`.:--/:+..hMMMMMMMMMNNh`.:    -h          `
        s:    `:`+mNMMMMMMMMMm- `/:` o/://++:++++:+/+/:/o``:+` .mMMMMMMMMNd..:     y-           
        .h     `:`/hNMMMMMMd+: -::<br>s-:+`.+:+-.+:+:`/:-+:-.-:- :NMMMMMMNy.--    :y            
         o/   ` `:``:ymMNh:`-  /:-+`o::/`  +:/. +:+`  /::o./--+  /omMNdo- --  `   h.            
         `d` `+.` :.` -s:  -` ./:::`/::/   +-/. +-+`  :::/`-:::- `-`++.``-. `-+  :s             
          o+  /`-:``.-.   `-  /--/  /:-:   +-/. +-+   :-:+  /--/  .. `--. .:..:  h.             
          `d` :` +h+.     -  `+-:: .+-:+..-+://-+:+-../:-+-`-:-/.  -`   -yd. /  /s              
           o+ `:. -ydo.  -`  //::..o/-:o:.//:/++/:/+.:+/-/+: /::o   : :yd+``--  d.              
           `d   .:. -sy ..  .o--+ -.+-.`.-/<br>:/<br>/--`.-+.: +--o-  `/d+``--`:s               
            s/    .:` :.:```-o--o.-.:-` `:/   .:   /:` `-/ / s:-o-```+``.-`    h.               
            .h      -:`/.///`/..`:-.:`<br> <br><br><br>. <br>`: /--../ //:o.:.-y                
             s:       -o/::/:--.-.-.:                    : /`:.---/::+.       y-                
             `h.       ``/. `/ `  -.:```   <br><br>..`  ```: /  ` :` ./.     +o                 
              .y.         -.--    -.:.``- -```::```: ..`./ :    .-.-`       /s                  
               .y-                -.:```: :/::o+/::/ : ``: :              `+o                   
                `s+`     -..-     -.o/:/: `+::+//:+. -/::o`:     ..`-`   .s/                    
                  :s-  ./-  `-    -.o//o.  /:::-::+  `o//o :    -`  ./.`+o.                     
                   `/o:+..+`.`    -.://+<br>+--//:-+<br>////`:    `../-.ss-                       
                      /h  /` ..-`  .-o/+:..+--//:-+..-o/+:.` `-.- `+  y-                        
                       o+``.-+-.::<br>o//o- /--::--+ .o//s<br>:/.-//:``:s                         
                        -o:```.//:   :+::+.o--oo:-o.+::+/   :/o.```:o:                          
                          -o++oy.:    .- /`o::oo:-+-/ --    /o++++o:                            
                               `os      .. /..//../ ..`    `s:                                  
                                `o+.       `:`:-.-.     `.++-                                   
                                  `/+/.`    `.  .`   `-++:`                                     
                                     `:+++/:-<br>-:+++/-                                         
                                          `.-::--`                                              
                                                                                               `



<h1>Table of contents</h1>
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#documentation">Documentation</a></li>
<li><a href="#why-you-should-use-bane">Why you should use "bane"</a></li>
<li><a href="#installation">Installation</a></li>
<li><a href="#special-speech">Special Speech</a></li>


</ul>


<h1 id="introduction">Introduction:</h1>

The "bane" Python library offers a comprehensive set of tools for various cybersecurity and networking tasks. Its functionalities encompass diverse capabilities such as bruteforce attacks, cryptographic methods, DDoS attacks, information gathering, botnet creation and management, CMS vulnerability scanning, network discovery, vulnerability scanning, useful modules for common tasks, web page analyzers, and proxy utilities. With features ranging from brute-forcing login credentials to analyzing web pages for vulnerabilities and managing botnets, "bane" serves as a powerful toolkit for cybersecurity professionals and network administrators. Its diverse range of modules includes tools for encryption, security testing, network scanning, and utility functions, providing a wide array of options for cybersecurity and network-related operations. This library is written in pure Python and is fully compatible with both Python 2 and 3, as well as Jython. It is entirely self-contained and does not depend on external tools or dependencies used in this field. Authored from the ground up by the sole developer, this library has been consistently maintained since April 2018 and continues to evolve.

This library is intended exclusively for educational purposes and ethical use with the explicit permission from the people who this tool is used against. The author of this code expressly disclaims any responsibility for any misuse or improper application of this library. It is imperative to emphasize that the user, and the user alone, bears full accountability for their actions when utilizing this library. Any legal ramifications stemming from the misuse of this library are solely the responsibility of the user, and the author shall not be held liable for any such consequences. By utilizing this library, users are acknowledging their understanding and acceptance of these terms and conditions.

<h1 id="Documentation">Documentation:</h1>

<ul>
<li><a href="https://github.com/AlaBouali/bane#installation">Installation</a></li>
<br>
<!-- Root Directory -->
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane">Home</a> </li>
<br>
<!-- bruteforce Directory -->
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/bruteforce"><b>Bruteforce:</b></a> </li>
  <br>
  <ul>
  <li><a href="https://github.com/AlaBouali/bane/tree/master/bane/bruteforce#Admin_Panel_Finder-class">Admin_Panel_Finder :</a> used to search for potential admin panel URLs on a website using a predefined list of extensions.</li>
  <li><a href="https://github.com/AlaBouali/bane/tree/master/bane/bruteforce#Decryptor-class">Decryptor :</a> used for performing various cryptographic hash decryption attempts.</li>
  <li><a href="https://github.com/AlaBouali/bane/tree/master/bane/bruteforce#Files_Manager_Finder-class">Files_Manager_Finder :</a> used to search for a filemanager on a website.</li>
  <li><a href="https://github.com/AlaBouali/bane/tree/master/bane/bruteforce#Force_Browsing-class">Force_Browsing :</a> used to perform force browsing on a website by attempting to access various URLs with different extensions.</li>
  <li><a href="https://github.com/AlaBouali/bane/tree/master/bane/bruteforce#HTTP_Auth_Bruteforce-class">HTTP_Auth_Bruteforce :</a> used to perform HTTP authentication bruteforce attacks on a website.</li>

<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/bruteforce#jwt_manager-class">JWT_Manager :</a> provides functionality for analyzing, encoding, decoding, and guessing secret keys for JSON Web Tokens (JWT). JWTs are widely used in web applications for secure data exchange and authentication.</li>


  <li><a href="https://github.com/AlaBouali/bane/tree/master/bane/bruteforce#Hydra-class">Hydra :</a> used for performing brute-force login attempts on various services, including SSH, Telnet, FTP, SMTP, MySQL, and WordPress. It takes a list of username-password combinations and tries to log in using different protocols. It reports success or failure for each combination.</li>
  <li><a href="https://github.com/AlaBouali/bane/tree/master/bane/bruteforce#Services_Login-class">Services_Login :</a> class provides a set of methods for performing various login/authentication attempts for different services, such as SMTP, Telnet, SSH, FTP, and MySQL. These methods check for successful login using the provided credentials and options.</li>
  <li><a href="https://github.com/AlaBouali/bane/tree/master/bane/bruteforce#Web_Login_Bruteforce-class">Web_Login_Bruteforce :</a> used for performing brute-force login attempts on web-based login forms. It takes a list of username-password combinations and tries to log in by filling out the login form. It reports success or failure for each combination.</li>
  </ul>
<br>
<!-- common Directory -->
<li><a href="https://github.com/AlaBouali/bane/blob/master/bane/common">Common_Variables :</a> used to store internal and necessary variables for bane to run including: more than 10k user-agents, valid lists legit values for many HTTP headers to choose from, various file types ( png , jpg , docx , pptx , html , php ... ) used to fill the forms and test of file upload vulnerabilities , ...</li>
<br>
<!-- cryptographers Directory -->
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/cryptographers"><b>Cryptographers:</b></a> </li>
 <br> <ul>
 <li><a href="https://github.com/AlaBouali/bane/tree/master/bane/cryptographers#BASE64-class">BASE64 :</a> provides methods for encoding and decoding data using Base64 encoding.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/cryptographers#CAESAR-class">CAESAR :</a> provides methods for encoding and decoding text using the Caesar cipher ( just for fun )</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/cryptographers#MD5-class">MD5 :</a> provides methods for generating and comparing MD-5 hash values for text and files.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/cryptographers#SHA1-class">SHA1 :</a> provides methods for generating and comparing SHA-1 hash values for text and files.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/cryptographers#SHA224-class">SHA224 :</a> provides methods for generating and comparing SHA-224 hash values for text and files.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/cryptographers#SHA256-class">SHA256 :</a> provides methods for generating and comparing SHA-256 hash values for text and files.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/cryptographers#SHA348-class">SHA384 :</a> provides methods for generating and comparing SHA-384 hash values for text and files.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/cryptographers#SHA512-class">SHA512 :</a> provides methods for generating and comparing SHA-512 hash values for text and files.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/cryptographers#XOR-class">XOR :</a> provides methods for generating and comparing XOR hash values for text and files.</li>
</ul>
<br>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/ddos"><b>DDoS ( Distributed Denial-of-Service  ) :</b></a> </li>
  <br><ul>
 
<!-- ddos Directory -->
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/ddos#HTTP_Puncher-class">HTTP_Puncher :</a> used for launching HTTP-based DDoS attacks on a target URL.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/ddos#HTTP_Spam-class">HTTP_Spam :</a> used for launching HTTP-based DDoS attacks on a target URL by spamming each connection with a stream of requests unlike the previous one.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/ddos#Proxies_Hammer-class">Proxies_Hammer :</a> used for launching low-rate HTTP POST requests through a list of proxy servers to a target URL.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/ddos#Proxies_HTTP_Spam-class">Proxies_HTTP_Spam :</a> used for launching HTTP-based DDoS attacks on a target URL by spamming each connection with a stream of requests through proxies.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/ddos#Proxies_Xerxes-class">Proxies_Xerxes :</a> used for performing a simple DDoS attack by sending NULL characters through a list of proxy servers.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/ddos#Slow_Read-class">Slow_Read :</a> used to perform a slow reading attack on a target server. This attack sends normal HTTP requests but reads them slowly to keep the connection open for an extended period of time.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/ddos#TCP_Flood-class">TCP_Flood :</a> used to perform a TCP flooding attack on a target server. This attack floods the target with a large number of TCP packets to overwhelm the server and disrupt its normal operations.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/ddos#Tor_Hammer-class">Tor_Hammer :</a> used for launching low-rate HTTP POST requests through TOR to a target URL.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/ddos#UDP_Flood-class">UDP_Flood :</a> used to perform a DDoS attack by flooding a target server with UDP (User Datagram Protocol) packets. UDP is a connectionless protocol, and this attack generates a large volume of UDP packets to overwhelm the target.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/ddos#VSE_Flood-class">VSE_Flood :</a> used to perform a DDoS attack known as the Valve Source Engine Query (VSE) flood attack. The attack sends spoofed queries to Source Engine servers in an attempt to overwhelm them with traffic. This attack is often used in the gaming community to disrupt online game servers.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/ddos#Xerxes-class">Xerxes :</a> used to perform a DDoS attack using the Xerxes tool. This attack sends NULL characters to a target server to flood it with traffic. The tool is named after the ancient Persian king Xerxes I, known for his invasion of Greece.</li>
<br>
<!-- gather_info Directory -->
</ul>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/gather_info"><b>Information Gathering:</b></a> </li>
  <br><ul>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/gather_info#Domain_Info-class">Domain_Info :</a> provides methods for gathering information about a domain, including WHOIS data, domain information, and DNS resolution.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/gather_info#Dorking_Info-class">Dorking_Info :</a> provides a method for performing Google dork searches to find URLs related to a specific query.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/gather_info#IP_Info-class">IP_Info :</a> provides methods for gathering information related to IP addresses, including obtaining your own IP, geolocation information, reverse IP lookup, and Shodan reports.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/gather_info#Network_Info-class">Network_Info :</a> provides methods for network-related tasks, including retrieving local IP addresses, checking if a host is alive, performing TCP port scanning, and obtaining banners from network services.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/gather_info#Subdomain_Info-class">Subdomain_Info :</a> provides methods for extracting and analyzing subdomains associated with a given domain. It can fetch subdomains from sources like crt.sh and the Wayback Machine, allowing you to discover subdomains for a target domain.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/gather_info#URL_Info-class">URL_Info :</a> provides methods for performing security checks, deep inspection, and HTTP OPTIONS requests on a given URL. You can use these methods to analyze and gather information about a specific URL, such as its security status, response headers, and more.</li>
<br>
<!-- scanners Directory -->
</ul>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/botnet"><b>Botnet: creation , control and management with a scalable infrastructure :</b></a> </li>
 <br> <ul>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/botnet#botnet_master-class">Botnet_Master :</a> used for managing botnet operations.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/botnet#Botnet_Scanner-class">Botnet_Scanner :</a> used for scanning safe IPs all over the internet with a word list to bruteforce various login protocols, including FTP, SSH, Telnet, SMTP, and MySQL. The scan results are saved to text files in the same directory.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/botnet#botnet_c_c_server-class">Botnet_C_C_Server :</a> used for managing a Command and Control (C&C) server for a botnet.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/botnet#botnet_malware_download_server-class">Botnet_Malware_Download_Server :</a> used for creating a server to download malware files from a specified folder while preventing path traversal vulnerabilities.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/botnet#botnet_reporting_server-class">Botnet_Reporting_Server :</a> used for creating a server to receive reports from the bots and store them in the database.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/botnet#botnet_web_interface_server-class">Botnet_Web_Interface_Server :</a> used for creating a web interface server for managing the botnet.</li>
</ul>
<br>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/cms"><b>CMS's Vulnerability Scanner :</b></a> </li>
 <br> <ul>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/cms#Drupal_Scanner-class">Drupal_Scanner :</a> used to scan a website for Drupal-related information and vulnerabilities. It checks the target URL for Drupal version, server information, subdomains, and possible vulnerabilities.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/cms#Joomla_Scanner-class">Joomla_Scanner :</a> used to scan a website for Joomla-related information and vulnerabilities. It checks the target URL for Joomla version, server information, subdomains, and possible vulnerabilities.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/cms#Magento_Scanner-class">Magento_Scanner :</a> used to scan a website for Magento-related information and vulnerabilities. It checks the target URL for Magento version, server information, subdomains, and possible vulnerabilities.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/cms#WordPress_Scanner-class">WordPress_Scanner :</a> used to scan a website for WordPress-related information and vulnerabilities. It checks the target URL for WordPress version, server information, subdomains, themes, plugins, and possible vulnerabilities.</li>
</ul>
<br>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/network_protocols"><b>Network Discovery and Scanning:</b></a> </li>
  <br><ul>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/network_protocols#Chargen_Amplification_Scanner-class">Chargen_Amplification_Scanner :</a> used to calculate the amplification factor for a given Chargen server.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/network_protocols#DNS_Amplification_Scanner-class">DNS_Amplification_Scanner :</a> used to calculate the amplification factor for a given DNS server.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/network_protocols#Echo_Amplification_Scanner-class">Echo_Amplification_Scanner :</a> used to calculate the amplification factor for a given Echo server.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/network_protocols#Memcache_Amplification_Scanner-class">Memcache_Amplification_Scanner :</a> used to calculate the amplification factor for a given Memcache server.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/network_protocols#NTP_Amplification_Scanner-class">NTP_Amplification_Scanner :</a> used to calculate the amplification factor for a given NTP (Network Time Protocol) server.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/network_protocols#Ports_Scanner-class">Ports_Scanner :</a> used to scan a range of ports on a target IP address to check if they are open or closed.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners#SNMP_Amplification_Scanner-class">SNMP_Amplification_Scanner :</a> used to calculate the amplification factor for a given SNMP (Simple Network Management Protocol) server.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners#SSDP_Amplification_Scanner-class">SSDP_Amplification_Scanner :</a> used to calculate the amplification factor for a given SSDP (Simple Service Discovery Protocol) server.</li>
<br>
</ul>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/vulnerabilities"><b>Vulnerability Scanners:</b></a> </li>
  <br><ul>

<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/vulnerabilities#ADB_Exploit_Scanner-class">ADB_Exploit_Scanner :</a> used to scan for Android Debug Bridge (ADB) vulnerabilities on a target device.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/vulnerabilities#Backend_Technologies_Scanner-class">Backend_Technologies_Scanner :</a> used to scan web applications for information about the backend technologies and potential vulnerabilities associated with them.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/vulnerabilities#ClickJacking_Scanner-class">ClickJacking_Scanner :</a> used to scan a web page for Clickjacking protection headers and determine if Clickjacking is possible.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/vulnerabilities#CORS_Misconfiguration_Scanner-class">CORS_Misconfiguration_Scanner :</a> used to detect Cross-Origin Resource Sharing (CORS) misconfigurations in web applications.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/vulnerabilities#CRLF_Injection_Scanner-class">CRLF_Injection_Scanner :</a> used to detect potential CRLF (Carriage Return Line Feed) injection vulnerabilities in web applications.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/vulnerabilities#CSRF_Scanner-class">CSRF_Scanner :</a> used for scanning and detecting Cross-Site Request Forgery (CSRF) vulnerabilities on web pages. It provides methods to identify vulnerable forms and perform tests to check for CSRF vulnerabilities.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/vulnerabilities#Exposed_ENV_Scanner-class">Exposed_ENV_Scanner :</a> used for scanning and detecting exposed environment (".env") files on web servers. It provides methods to check if a specific path or multiple common paths lead to an exposed environment file.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/vulnerabilities#Exposed_Git_Scanner-class">Exposed_Git_Scanner :</a> used to scan for exposed Git repositories on web servers. It checks if a specific URL is an exposed Git repository and returns a boolean result.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/vulnerabilities#Exposed_Telnet_Scanner-class">Exposed_Telnet_Scanner :</a> used to scan for exposed an unauthenticated Telnet services on a remote host. It attempts to establish a Telnet connection to a specified host and port and returns a boolean result indicating whether the connection was successful or not.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/vulnerabilities#File_Upload_Scanner-class">File_Upload_Scanner :</a> used to scan web forms for potential file upload vulnerabilities. It searches for forms that allow file uploads, tests the file upload functionality, and reports potential issues such as unacceptable file extensions.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/vulnerabilities#Open_Redirect_Scanner-class">Open_Redirect_Scanner :</a> used to scan web forms for potential open redirect vulnerabilities. It detects and reports open redirect issues in web applications, helping security professionals identify and mitigate these risks.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/vulnerabilities#Path_Traversal_Scanner-class">Path_Traversal_Scanner :</a> used to scan web applications for Path Traversal vulnerabilities. It provides methods to check for directory traversal and file inclusion vulnerabilities in web pages.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/vulnerabilities#PHP_Unit_Exploit_Scanner-class">PHP_Unit_Exploit_Scanner :</a> used to detect vulnerabilities related to the PHP Unit exploit on a specified website URL.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/vulnerabilities#RCE_Scanner-class">RCE_Scanner :</a> used for scanning web forms for Remote Code / Command Execution (RCE) vulnerabilities using various payload injections.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/vulnerabilities#Shodan_Scanner-class">Shodan_Scanner :</a> designed to interact with the Shodan API and retrieve information about a specific IP address.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/vulnerabilities#Mixed_Content_Scanner-class">Mixed_Content_Scanner :</a> used to scan web pages for mixed content vulnerabilities, where HTTP content is loaded on an HTTPS page.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/vulnerabilities#SpringBoot_Actuator_Exploit_Scanner-class">SpringBoot_Actuator_Exploit_Scanner :</a> used to scan a Spring Boot application for vulnerabilities in the Actuator endpoints.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/vulnerabilities#SSRF_Scanner-class">SSRF_Scanner :</a> used for scanning web pages for Server-Side Request Forgery (SSRF) vulnerabilities.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/vulnerabilities#SSTI_Scanner-class">SSTI_Scanner :</a> used for scanning websites for Server-Side Template Injection (SSTI) vulnerabilities.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/vulnerabilities#Vulners_Search_Scanner-class">Vulners_Search_Scanner :</a> used to search for vulnerabilities in software using the Vulners API.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/scanners/vulnerabilities#XSS_Scanner-class">XSS_Scanner :</a> designed for systematically identifying and testing Cross-Site Scripting (XSS) vulnerabilities in web applications. This method allows users to spider through web pages, identify forms, and test them for XSS vulnerabilities. It provides flexibility to test multiple pages and payloads.</li>
<br>
<!-- Utils Directory -->
</ul>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/utils"><b>Additional Useful Modules :</b></a></li>
  <br><ul>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/utils#Userful_Utilities-class">Userful_Utilities :</a> provides various utility methods for common tasks and operations.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/utils#Files_Interface-class">Files_Interface :</a> provides utility methods for working with files, including clearing, deleting, writing, and reading files. It also includes methods for creating and reading JSON files.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/utils#Bane_Instances_Interface-class">Bane_Instances_Interface :</a> provides utility methods for working with instances of other classes, especially those created for parallel processing.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/utils#Socket_Connection-class">Socket_Connection :</a> provides methods for creating and configuring socket connections.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/utils#Tor_Switch_Interface-class">Tor_Switch_Interface :</a> provides methods for switching IP addresses when using the Tor network. It allows for automatic IP switching with or without a password, depending on the Tor configuration and platform.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/utils#Update_Module_Interface-class">Update_Module_Interface :</a> provides methods for updating the "bane" module to a specified version or the latest version available.</li>
</ul>
<br>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/utils/pager"><b>Web Pages Analyzers:</b></a> </li>
  <br><ul>

<!-- Utils/pager Directory -->
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/utils/pager#Cookies_Manager-class">Cookies_Manager :</a> provides methods for managing HTTP cookies.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/utils/pager#FORMS_FILLER-class">FORMS_FILLER :</a> provides methods for filling HTML forms with data, including injecting payloads into form parameters.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/utils/pager#FORMS_FINDER-class">FORMS_FINDER :</a> provides methods for extracting and parsing HTML forms from web pages. It offers methods for sorting inputs in forms and parsing forms from web pages. </li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/utils/pager#FORM_FILE_UPLOAD-class">FORM_FILE_UPLOAD :</a> used for extracting and identifying file upload forms from HTML documents. It provides methods to retrieve these forms both from a list of dictionaries and from a URL with HTML content.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/utils/pager#Pager_Interface-class">Pager_Interface :</a> provides various methods for web scraping and JavaScript code analysis.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/utils/pager#RANDOM_GENERATOR-class">RANDOM_GENERATOR :</a> provides various static methods for generating random data, such as IP addresses, URLs, phone numbers, HTML input colors, and random dates.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/utils/pager#LOGIN_FORM_FILLER-class">LOGIN_FORM_FILLER :</a> provides methods for working with login forms in web pages. It includes methods for getting a login form and setting its values for username and password.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/utils/pager#URLS_Parser-class">URLS_Parser :</a> provides methods for parsing and extracting information from URLs and web page sources. It includes methods for converting URLs to form data and extracting links from the page source.</li>
</ul>
<br>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/utils/proxer"><b>Useful Proxing Utilities:</b></a> </li>
  <br><ul>

<!-- Utils/proxer Directory -->
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/utils/proxer#BurpSuite_Getter-class">BurpSuite_Getter :</a> provides a method for obtaining a Burp Suite proxy configuration. It includes a method for getting the Burp Suite proxy settings with optional host and port parameters.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/utils/proxer#Proxies_Collector-class">Proxies_Collector :</a> used to collect and verify proxy information from various sources.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/utils/proxer#Proxies_Interface-class">Proxies_Interface :</a> provides methods for loading, parsing, and converting proxy data for use in various applications.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/utils/proxer#ProxyChecker-class">ProxyChecker :</a> responsible for checking the validity and functionality of proxy servers in a list. It can perform proxy checks using either socket-level connections or HTTP requests, depending on the configuration.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/utils/proxer#Proxies_Getter-class">Proxies_Getter :</a> used to retrieve proxy sockets and proxy settings for various protocols.</li>
<li><a href="https://github.com/AlaBouali/bane/tree/master/bane/utils/proxer#Proxies_Parser-class">Proxies_Parser :</a> used to parse and handle proxy configurations and settings.</li>
</ul>
<h1 id="why-you-should-use-bane">Why you should use "bane"</h1>
<ul>
    <li>
        <h2>Bruteforce Tools:</h2>
        <p>Tools for performing brute-force attacks on various services, such as admin panel finding, cryptographic hash decryption, and login attempts.</p>
    </li>
    <li>
        <h2>JWT Manager:</h2>
        <p>Functionality for analyzing, encoding, decoding, and guessing secret keys for JSON Web Tokens (JWT).</p>
    </li>
    <li>
        <h2>DDoS Tools:</h2>
        <p>Tools for launching different types of Distributed Denial-of-Service (DDoS) attacks for assessing server and network infrastructure resilience.</p>
    </li>
    <li>
        <h2>Information Gathering:</h2>
        <p>Tools for gathering domain, IP, network, and subdomain information, useful for reconnaissance and vulnerability assessment.</p>
    </li>
    <li>
        <h2>Botnet Creation and Management:</h2>
        <p>Features for creating, managing, and scaling a botnet infrastructure, valuable for studying botnets and their operations.</p>
    </li>
    <li>
        <h2>CMS Vulnerability Scanners:</h2>
        <p>Specific scanners for popular Content Management Systems (CMS) like Drupal, Joomla, Magento, and WordPress, for identifying vulnerabilities in websites using these platforms.</p>
    </li>
    <li>
        <h2>Network Discovery and Scanning:</h2>
        <p>Scanners for port scanning, amplification factor calculation, and network-related vulnerability assessment.</p>
    </li>
    <li>
        <h2>Vulnerability Scanners:</h2>
        <p>Various vulnerability scanners for detecting different types of web application vulnerabilities, including CSRF, XSS, RCE, and more.</p>
    </li>
    <li>
        <h2>Additional Useful Modules:</h2>
        <p>Utility modules for common tasks and operations, such as working with files, managing cookies, and updating the library.</p>
    </li>
    <li>
        <h2>Web Page Analyzers:</h2>
        <p>Tools for analyzing web pages, filling forms, generating random data, and parsing URLs, useful for web scraping and data analysis.</p>
    </li>
    <li>
        <h2>Proxying Utilities:</h2>
        <p>Utilities for handling proxy configurations and checking the validity of proxy servers, beneficial for tasks that require anonymity and security.</p>
    </li>
    <li>
            <h2>Proxies and TOR Support in Almost All Components ( including the Botnet's master and scanner ) :</h2>
            <p>The "bane" library offers comprehensive support for a wide range of proxies across the majority of its functionalities. Notably, it includes support for TOR in various components, enhancing anonymity and security. The only exceptions are SSH and database connections, which fall outside the project's control.</p>
        </li>
        <li>
            <h2>No DNS Leakage with TOR:</h2>
            <p>Thanks to its advanced capabilities, "bane" ensures that TOR users remain anonymous and free from any DNS leakage, reinforcing privacy and security for users seeking anonymity.</p>
        </li>
        <li>
            <h2>Request Routing via Random IPs in TOR:</h2>
            <p>"bane" has implemented a feature that enables each request to exit through a different TOR node without the need to obtain a new identity or restart TOR's service. This innovation adds an extra layer of sophistication to the project, further enhancing user experience.</p>
        </li>
        <li>
            <h2>Dynamic Manipulation of HTTP Headers in DDoS Attacks:</h2>
            <p>For added challenge and effectiveness in HTTP-based DDoS attacks, "bane" generates HTTP requests with headers featuring random but legitimate values, courtesy of its extensive list of 10,000 user-agents and header values. Subsequently, it rearranges these headers into a random order and selectively removes certain headers (with caution to retain critical ones) before sending the request, ensuring a multifaceted and impactful approach to DDoS attacks.</p>
        </li>
        <li>
            <h2>Enhanced Security Measures:</h2>
            <p><code>bane</code> offers an added layer of security by incorporating a hardcoded list of U.S. government and military IP ranges for several countries. This feature ensures that when generating random IP addresses for its botnet scanner, the tool will steer clear of these specified IP ranges. By doing so, <code>bane</code> mitigates the risk of unintentional interference with government or military infrastructure, thus safeguarding the user from any inadvertent involvement with such sensitive networks. This proactive approach not only protects users from legal complications but also underscores <code>bane</code>'s commitment to responsible and ethical usage in the realm of cybersecurity.</p>
        </li>
        <li>
            <h2>Efficiency:</h2>
            <p><code>Bane</code> offers a streamlined and efficient process for security testing. It autonomously parses all available URLs, media sources (videos, images, etc.), and HTML forms, eliminating the need for manual intervention. This automation allows <code>bane</code> to systematically test each element one at a time while respecting the form's input types. It intelligently fills each parameter with the appropriate values, optimizing the testing process for comprehensive security assessments.</p></li>
    
</ul>

<h1 id="installation">Installation:</h1>

<p>If you are using Windows, please follow these steps:</p>
<ol>
<li>Download and install <a href="https://npcap.com/#download">Npcap</a>.</li>
<li>Download and install <a href="https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html">PuTTY</a>.</li>
<li>Restart your computer after the installations are complete.</li>
<li>Then, install <code>bane</code> using pip:</li>
</ol>

<div style="background: #f8f8f8; overflow:auto; width:auto; border:solid gray; border-width:.1em .1em .1em .8em; padding:.2em .6em;">
<pre style="margin: 0; line-height: 125%">pip install bane</pre>
</div>

<p>If you are on Linux, run the following command with <code>sudo</code> to ensure that required packages, <code>sshpass</code> and <code>tor</code> are installed:</p>

<div style="background: #f8f8f8; overflow:auto; width:auto; border:solid gray; border-width:.1em .1em .1em .8em; padding:.2em .6em;">
<pre style="margin: 0; line-height: 125%">sudo pip install bane</pre>
</div>
<p>Otherwise if you wish to install the current version on github:</p>

<div style="background: #f8f8f8; overflow:auto; width:auto; border:solid gray; border-width:.1em .1em .1em .8em; padding:.2em .6em;">
<pre style="margin: 0; line-height: 125%">git clone https://github.com/AlaBouali/bane
cd bane
pip install .</pre>
</div>

<!--
<p>Alternatively, you can clone the project from the link and run setup.py:</p>

<div style="background: #f8f8f8; overflow:auto; width:auto; border:solid gray; border-width:.1em .1em .1em .8em; padding:.2em .6em;">
<pre style="margin: 0; line-height: 125%">
            git clone https://github.com/AlaBouali/bane
            cd bane
            python setup.py install
</pre>
</div>
    -->

<p>To use <code>bane</code> you need to open the Python interpreter from your terminal / cmd, as <code>bane</code> can be used only within the interpreter after importing it or as a part of a script:</p>

<div style="background: #f8f8f8; overflow:auto; width:auto; border:solid gray; border-width:.1em .1em .1em .8em; padding:.2em .6em;">
<pre style="margin: 0; line-height: 125%">python</pre>
</div>

<p>or</p>

<div style="background: #f8f8f8; overflow:auto; width:auto; border:solid gray; border-width:.1em .1em .1em .8em; padding:.2em .6em;">
<pre style="margin: 0; line-height: 125%">python3</pre>
</div>

<p>After that, import <code>bane</code> and start using it as explained in the documentation above:</p>

<div style="background: #f8f8f8; overflow:auto; width:auto; border:solid gray; border-width:.1em .1em .1em .8em; padding:.2em .6em;">
<pre style="margin: 0; line-height: 125%">import bane</pre>
</div>

<p>If you are using <code>jython</code> , please navigate to the <code>site-packages</code> directory (e.g., <code>C:\jython\Lib\site-packages</code>). Open the <code>dns</code> folder, and within the <code>resolver.py</code> file, comment out line <code>1149</code> by placing a <code>#</code> in front of it:</p>

<div style="background: #f8f8f8; overflow:auto; width:auto; border:solid gray; border-width:.1em .1em .1em .8em; padding:.2em .6em;">
<pre style="margin: 0; line-height: 125%"><b>socket.SOCK_DGRAM: [socket.SOL_UDP],</b></pre>
</div>
to:
<div style="background: #f8f8f8; overflow:auto; width:auto; border:solid gray; border-width:.1em .1em .1em .8em; padding:.2em .6em;">
<pre style="margin: 0; line-height: 125%"><b>#socket.SOCK_DGRAM: [socket.SOL_UDP],</b></pre>
</div>
That should fix the error that you might encounter when importing "bane" the first time.

<b>Note :</b> you might encounter such messages when importing this library:
<div style="background: #f8f8f8; overflow:auto; width:auto; border:solid gray; border-width:.1em .1em .1em .8em; padding:.2em .6em;">
<pre style="margin: 0; line-height: 125%"><b>WARNING: can't import layer ipsec: cannot import name 'gcd' from 'fractions' (C:\...</b></pre>
</div>
or
<div style="background: #f8f8f8; overflow:auto; width:auto; border:solid gray; border-width:.1em .1em .1em .8em; padding:.2em .6em;">
<pre style="margin: 0; line-height: 125%"><b>WARNING: Failed to execute tcpdump. Check it is installed and in the PATH
WARNING: can't import layer ipsec: cannot import name 'gcd' from 'fractions' (/usr/lib/python3.9/fractions.py)</b></pre>
</div> 
Please, ignore them since they are not related to the performance or classified as "importing issue" for "bane" library.

<h1 id="special-speech">Special Speech:</h1>

Since embarking on this journey in late October 2016, my professional growth has been remarkable. I have had invaluable experiences and interactions that have not only rescued me but also nurtured my personal development. This transformative journey led me to transition from being a blackhat hacker to a highly skilled security researcher, penetration tester, and software engineer. Through the years, my project has evolved from a simple public proxies grabber and user agent scraper to its present state. This transformation has been a result of a gradual integration of new functionalities, rigorous testing, bug fixing, and continuous development efforts. While I have largely driven this project forward independently, I must acknowledge the mentors and supporters who guided me during my initial steps and believed in my potential. With immense gratitude, I dedicate this project to the community as a means of giving back and sharing the tools I've developed over the years. My goal is to simplify the complexities of code and empower others to create their own tools and solutions.

Thank you all:
<ul>
<li><a href="https://twitter.com/YourAnonS0u1">S0u1 :</a> programmer and blackhat.</li>
<li><a href="https://www.facebook.com/vincelinux">Vince :</a> Linux and hardware expert, social engeneering and programmer.</li>
<li><a href="https://www.facebook.com/zachary.barker.5439">Zachary Barker (lulz zombie) :</a> teams leader, anarkist, ops organizer, progammer, cyber security expert and blackhat ( R.I.P ) .</li>
<li><a href="https://www.twitter.com/lulztigre">Lulztigre :</a> Bug Bounty Hunter, Penetration Tester And Python Programmer.</li>
<li>Jen Hill.</li>
</ul>
