/kanha

🦚 A web-app pentesting suite written in rust .

Primary LanguageRustMIT LicenseMIT

Kanha - A web-app pentesting suite written in rust 🦀

Crate Release MIT LICENSE Ko-fi

-----------------------------------------------------

img

Kanha is a tool that can help you perform, a variety of attacks based on the target domain . With just kanha you can do, Fuzzing, Reverse dns lookup, common http response, subdomain takeover detection and many more.

The project is inspird by mini.nvim, basically helping you to be productive with less numbers of tools(plugins) installed on your system and be unobtrusive and function as a standalone single binary out of the box.

Built from the ground up with performance, ease of use, and portability in mind in your favourite programming lang rust 💝

🧠 Philosophy

  • KISS - Keep things simple and stupid.
  • Ease - Write code that can be used elsewhere as well.
  • Efficiency - Optimize for performance without sacrificing readability.

🐱 Installation

🪄 Binary  
  • You can directly download the binary of your arch and run it.
🌼 Source  
git clone --depth=1 https://github.com/pwnwriter/kanha --branch=main
cd kanha
cargo build --release 

Then go to release dir and ./kanha or move the binary to your any $PATH for instant access from anywhere.

🎠 Cargo
  • Using crates.io

    cargo install kanha
  • Using binstall

    cargo binstall kanha

    Note ⚠️ This requires a working setup of rust/cargo & binstall.

🚩 METIS Linux  
sudo/doas pacman -Syyy kanha

🌈 Subcommands

  • Status :- Just return the HTTP response code of URLs

    👻 Help  
    $ kanha status -h
    Just return the HTTP response code of URLs
    
    Usage: kanha status [OPTIONS]
    
    Options:
      -f, --filename <FILENAME>  A file containing multiple urls
      -t, --tasks <TASKS>        Define the maximum concurrent tasks [default: 20]
          --stdin                Reads input from the standard in
          --exclude <EXCLUDE>    Define your status code for selective exclusion
      -h, --help                 Print help
      -V, --version              Print version
    
    🦊 Screenshots  

    status status-stdin

  • fuzz :- Fuzz URLs and return the response codes

    👻 Help  
    $ kanha fuzz -h
    Fuzz a URL and return the response codes
    
    Usage: kanha fuzz [OPTIONS] --payloads <PAYLOADS>
    
    Options:
      -p, --payloads <PAYLOADS>    A file containing a list of payloads
      -u, --url <URL>              A single url
      -f, --file-path <FILE_PATH>  Path of the file containing multiple urls
      -t, --tasks <TASKS>          Define the maximum concurrent tasks [default: 20]
          --exclude <EXCLUDE>      Define your status code for selective exclusion
          --stdin                  Reads input from the standard in
      -h, --help                   Print help
      -V, --version                Print version
    
    🦊 Screenshots  

    screenshot_2023-10-13_14-08-46 screenshot_2023-10-13_14-07-45

  • rdns :- Reverse dns lookup

    👻 Help  
    $ kanha rdns  -h
    Reverse dns lookup
    
    Usage: kanha rdns [OPTIONS] --filename <FILENAME>
    
    Options:
      -f, --filename <FILENAME>  a file containing a list of possible wordlists
          --stdin                Reads input from the standard in
      -h, --help                 Print help
      -V, --version              Print version
    🦊 Screenshots  

    rdns rdns-stdin

  • Takeover :- Check possible subdomain takeover

    👻 Help  
    $ kanha takeover -h
    Check possible subdomain takeover vulnerability
    
    Usage: kanha takeover [OPTIONS]
    
    Options:
      -u, --url <URL>              A single url
      -f, --file-path <FILE_PATH>  Path of the file containing multiple urls
      -j, --json-file <JSON_FILE>  A json file containing signature values of different services
          --stdin                  Reads input from the standard in
      -h, --help                   Print help
      -V, --version                Print version
    
    🦊 Screenshots  

    Takeover single Takeover multiple

    takeover-stdin

  • urldencode :- (De|En) code urls

    👻 Help  
    $ kanha urldencode -h
    (De|En) code urls
    
    Usage: kanha urldencode [OPTIONS]
    
    Options:
          --encode <ENCODE>  Provide a url to encode
          --decode <DECODE>  Provide a url to dencode
      -h, --help             Print help
      -V, --version          Print version
    
    🦊 Screenshots  

    urldencode urldencode

👐 Contributing

  • 🪶 Recommend a new features
  • ⭐ Give the project a star
  • 🐎 Add new subcommand.
  • 🧑‍🚒 Fix docx // improve code quality

👀 Also see

  • haylxon :- Blazingly fast tool to grab screenshots of your domain list right from terminal written in rust 🦀
  • httpx :- httpx is a fast and multi-purpose HTTP toolkit.
  • ffuf :- Fast web fuzzer written in Go

🔏 License

As always, this project is also licensed under the MIT LICENSE  

Copyright © 2023 pwnwriter xyz ☘️