
Nimmt ein einzelnes Wortlistenelement und testet es nacheinander auf einer großen Sammlung von Websites, bevor es zum nächsten übergeht. Erstellen Sie Signaturen, um Schwachstellen über mehrere Hosts hinweg gegenzuprüfen.
Website-Directory- und Datei-Brute-Forcing in extremem Maßstab.
CritHit nimmt ein einzelnes Wortlistenelement und testet es nacheinander über eine große Sammlung von Hosts, bevor es zum nächsten Wortlistenelement übergeht. Die Absicht des Brute-Forcens auf diese Weise ist es, niedrige Limits von Web Application Firewalls (WAF) zu umgehen und das Brute-Forcen schneller ablaufen zu lassen, als es normalerweise der Fall wäre, wenn man sich einem einzelnen Host mit mehreren gleichzeitigen Anfragen nähert.
CritHit kann mehrere Verifizierungen von Ergebnissen mithilfe von Proxy-Listen durchführen sowie Rauschen durch Baseline-Vergleiche von Websites herausfiltern. Wenn Sie außerdem nach einem bestimmten Element über eine große Anzahl von Websites suchen (um eine Schwachstelle über mehrere Hosts hinweg zu vergleichen), können Sie --signatures erstellen und verwenden, um nur Hosts mit bestimmten Datenpunkten in eine Ausgabedatei zu schreiben.
Die besten Ergebnisse mit CritHit erzielen Sie, wenn Sie es als schnellen „ersten Durchlauf“ mit einer kleineren Wortliste (100 kritische Elemente) und einer sehr großen Zielliste verwenden und dann mit einem Projekt wie ffuf tiefer eintauchen, wenn Ergebnisse gefunden werden.
Inspiriert von EdOverflows Megplus und TomNomNoms meg Projekten, die dieselbe Idee verfolgt haben.
Danke auch an Hakluke und sml555_ für die Verfeinerung der Kernidee, Ermutigung und Tests.
Dies läuft mit den Standardeinstellungen wahnsinnig schnell. Wenn Sie über ein Ziel mit einer gemeinsamen WAF über mehrere Domänen arbeiten, werden Sie schnell gesperrt. Passen Sie -n (Timeout) und -c (Threads) nach Bedarf an.
Installieren Sie Abhängigkeiten:
/dep/ dieses Repositorys. Dies muss ersetzt werden, um für andere Umgebungen zu bauen.BOOST_ROOT auf das Wurzelverzeichnis der entpackten Bibliothek.libcrypto.so.1.1 und libssl.so.1.1 in Ihrem /usr/lib Verzeichnis, die im dep/ Verzeichnis dieses Repos enthalten sind.Dann:
sudo apt-get install libssl-dev
CMake-Dateien erstellen (optional, wenn in /codingo/opt)
cmake -G "Unix Makefiles"
Lösung erstellen
make
Alternativ das Folgende für Ihre Zielumgebung anpassen:
wget "https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.tar.gz"
tar -xvzf boost_1_70_0.tar.gz
export BOOST_ROOT="/home/boost_1_70_0"
cd crithit/crithit
cmake -G "Unix Makefiles"
make
./crithit -w _wordlist_ -t _hostnames_
cd crithit/crithit
docker build -t crithit .
docker run -v $(pwd):/input -t crithit -w /input/_wordlist_ -t /input/_hostnames_
Die Überprüfung der Eingabeparameter wird empfohlen, bis eine ordnungsgemäße Dokumentation zu diesem Repository hinzugefügt wurde.
USAGE:
./crithit [--os <filename>] [--signatures <filename>] [-e <filename>]
[-n <integer>] [--read-for <integer>] [-p <filename>]
[--max-sockets <integer>] [-V <integer>] [-r] [-b <string>]
[-s <string>] [-c <integer>] [-t <filename>] [-T <domain
name>] [--verbose] -w <filename> [-o <filename>] [--]
[--version] [-h]
Where:
--os <filename>
if --signatures is specified, this specifies the output file to write
result to
--signatures <filename>
file containing list of signatures to look out for in top-level
domains
-e <filename>, --exceptions <filename>
filename containing words...
-n <integer>, --wait-for <integer>
wait N seconds to connect/send data to server(default: 5secs)
--read-for <integer>
wait N seconds to receive data from server(default: 10secs)
-p <filename>, --proxy <filename>
a filename containing list of proxy names and port(IP:port)
--max-sockets <integer>
Number of sockets to use
-V <integer>, --verify <integer>
verify successful results with different proxies
-r, --randomize-agent
use random user agents for requests
-b <string>, --statuscodesblacklist <string>
Negative status codes (will override statuscodes if set)
-s <string>, --statuscodes <string>
Positive status codes (will be overwritten with statuscodesblacklist
if set)(default 200,204,301,302,307,401,403,408)
-c <integer>, --threads <integer>
Number of threads to use(default: 12)
-t <filename>, --target-list <filename>
a filename containing the list of targets
-T <domain name>, --target <domain name>
the target
--verbose
be verbose with output
-w <filename>, --word-list <filename>
(required) a filename containing list of words to use
-o <filename>, --output <filename>
output result to (default: stdout)
--, --ignore_rest
Ignores the rest of the labeled arguments following this flag.
--version
Displays version information and exits.
-h, --help
Displays usage information and exits.