Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
pbscan — Schnellerer und effizienterer zustandsloser SYN-Scanner und Banner-Grabber dank der Nutzung des TCP/IP-Stacks im Benutzerbereich. | Kitploit
Tools/GitHubGitHub/gvb84/pbscan
AufklärungNetzwerkkartierungPort-ScanningInformationsbeschaffungNetzwerksicherheit
GitHubgvb84/pbscan

pbscan

Schnellerer und effizienterer zustandsloser SYN-Scanner und Banner-Grabber dank der Nutzung des TCP/IP-Stacks im Benutzerbereich.

Repository anzeigen
170365vor 8 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

ZUSAMMENFASSUNG

polarbearscan ist ein Versuch, schnelleres und effizienteres Banner-Grabbing und Port-Scanning zu ermöglichen. Es kombiniert zwei verschiedene Ideen, die es hoffentlich etwas wert machen, Ihre Aufmerksamkeit und Zeit zu investieren.

Die erste dieser Ideen ist die Verwendung von zustandslosem SYN-Scanning mit kryptografisch geschützten Cookies, um eingehende Bestätigungen zu analysieren. Nach bestem Wissen des Autors wurde diese Technik von Dan Kaminsky in scanrand entwickelt. Scanrand war selbst Teil von Paketto Keiretsu, einer Sammlung von Scan-Dienstprogrammen, und wurde irgendwann in den Jahren 2001-2002 veröffentlicht. Ein Spiegel dieses Codes ist bei Packet Storm [1] zu finden.

Die zweite Idee ist die Verwendung eines gepatchten TCP/IP-Stacks im Userspace, sodass der Scanner den Zustand sofort wiederherstellen kann, sobald ein kryptografisch verifiziertes Paket mit gesetzten SYN- und ACK-Flags empfangen wird. Der hier von polarbearscan verwendete Userspace-Stack heißt libuinet [2]. Anders als einige andere TCP/IP-Stacks im Userspace ist dieser sehr ausgereift, da es sich schlicht um einen Port des FreeBSD-TCP/IP-Stacks handelt.

Durch Patchen des libuinet-Stacks kann man einen Socket konstruieren und den standardmäßigen TCP-3-Wege-Handshake abschließen, indem man mit einem ordnungsgemäßen ACK antwortet. Auf diese Weise wird sofort eine voll funktionsfähige TCP-Verbindung aufgebaut. Im Gegensatz dazu müssten andere Scanner (wie nmap) nach der Feststellung, dass ein TCP-Port offen ist, einen vollständigen TCP-Connect über den Kernel durchführen, um Dinge wie Banner-Grabbing oder Versionsscannen zu erledigen. Ein vollständiger TCP-Connect führt zu einem völlig neuen TCP-3-Wege-Handshake. Dabei wird der implizite Zustand verworfen, der durch die ersten beiden zwischen den Hosts ausgetauschten Pakete aufgebaut wurde. Durch die Vermeidung dessen kann die Bandbreitennutzung reduziert werden und man kann sofort vom Erkennen eines offenen Ports zum Verbinden übergehen. Diese Verbindung kann dann einfach abwarten und Daten im Banner-Grab-Modus empfangen oder eine HTTP-Anfrage senden.

Bitte beachten Sie, dass der Scanner derzeit nur IPv4-basiertes Scannen unterstützt und nur über Ethernet-artige (kabelgebundene oder kabellose) Schnittstellen ordnungsgemäß funktioniert. Es gibt keine Pläne, IPv6 oder andere Schnittstellen in naher Zukunft zu unterstützen.

INSTALLATION

Das Kompilieren des Codes ist recht einfach. Man benötigt lediglich eine funktionierende Internetverbindung und Git muss installiert sein, damit die erforderlichen Abhängigkeiten heruntergeladen werden können. Darüber hinaus werden Entwicklungs-Tools (gcc, make, patch) und Entwicklungsversionen von Bibliotheken (pthread, pcap, OpenSSL) benötigt. Auf Debian-basierten Distributionen kann man einfach alle im DEPENDENCIES-File aufgeführten Pakete installieren. Danach sollte man einfach 'make' eingeben können, und die externen Abhängigkeiten werden mit Git ausgecheckt und der gesamte Scanner wird gebaut. Diese Binärdatei kann dann nach /usr/bin oder /usr/local/bin oder ähnliches kopiert werden.

Falls die Kompilierung fehlschlägt, senden Sie bitte eine E-Mail an den Autor (Kontaktdaten unten) mit der Fehlerausgabe, der Kernel-Version, der libc-Version und allem anderen, was zur Reproduktion und Behebung des Problems beitragen könnte. Ihre Hilfe wird freundlich geschätzt.

VERWENDUNG

Die Verwendung des Tools sollte recht einfach sein. Sie benötigen Root-Rechte. Die Option -h zeigt kurze Nutzungsinformationen und die erläuterten Optionen. In den meisten Fällen reicht es aus, den durchzuführenden Scan-Typ, die zu scannenden Port-Listen und die Ziel-IP oder IP-Bereiche anzugeben. Für die IP-Bereiche wird CIDR-Notation unterstützt.

Es gibt vier verschiedene Scan-Typen, die mit -s angegeben werden.

-sB: Dies führt einen standardmäßigen Banner-Grab durch. Der Scanner sendet keine Daten, er wartet einfach und empfängt Daten und zeigt sie bis zum ersten empfangenen Zeilenumbruch oder Wagenrücklauf an. -sH: Dieser Modus sendet eine "GET / HTTP/1.1"-Anfrage an jede erfolgreich aufgebaute Verbindung. Er ist sehr nützlich, um HTTP-Server schnell zu identifizieren. -sT: Der TLS-Scan-Modus sendet eine TLS1.0-NULL-Sonde ohne Optionen und ohne angegebene Algorithmen. Wenn jedoch ein gültiger TLS-Server auf der Empfängerseite vorhanden ist, wird versucht, eine gültige TLS-Fehlerantwort zu parsen und anzuzeigen. -sC: Benutzerdefiniertes Scannen, das eine Payload aus einer Datei lädt (mit -d angegeben) und diese Payload an jeden erfolgreich eingerichteten Socket sendet. Kann nützlich sein, um sehr spezifische Protokolle schnell zu testen.

-p: Die Liste der zu scannenden TCP-Ports, die einen Bereich von Ports oder einzelne Ports mit Bereichen und einzelnen Ports, getrennt durch Kommata, enthalten kann. Beispiele: -p22,80,8080-9000,143 scannt die Ports 22, 80, 143 und den Bereich 8080 bis 9000. -b : Das Bandbreitenlimit für die ausgehenden Sonden. Dies gilt nicht für die über die Sockets gesendeten und empfangenen Daten, sondern nur für die tatsächlich gesendeten SYN-Sonden. Beispiele: -b300k, -b67m, -b500b ergeben Bandbreitenlimits von 300kbps, 76mbps bzw. 500bps. -d : Dateiname der Datei, die die für den benutzerdefinierten Scan verwendete Payload enthält. Die gesamte Datei wird bis zu einem Maximum von 128 kB gesendet, was für die meisten Zwecke mehr als ausreichend sein sollte. -t: Dies gibt die Anzahl der Sekunden an, die der Scanner wartet, nachdem er alle Sonden gesendet hat, während er Daten über die noch verbundenen Sockets empfängt. Das gilt, vorausgesetzt, es gibt welche, andernfalls wird er abgebrochen, sobald keine Arbeit mehr zu erledigen ist. -x: Dies zwingt das Tool, die Ausgabe immer in hexadezimaler Notation auszugeben. Andernfalls werden Daten nur dann in hexadezimaler Notation ausgegeben, wenn nicht druckbare Zeichen gefunden werden. -v: Dies gibt eine ausführliche Ausgabe an. Ist meist nur zum Debuggen nützlich. -i : Die zu verwendende Schnittstelle zur Auswahl der Quell-IP und Einrichtung des pcap-Backends. Dies sollte auf Standard-Rechnern mit nur einer richtig konfigurierten Netzwerkkarte nicht erforderlich sein, aber bei mehreren Netzwerkkarten könnte es nötig sein. -r : Der Zufallsseed für den verwendeten RNG. Meist nützlich zum Debuggen und um sicherzustellen, dass das Tool exakt dieselbe Paketsequenz erneut generieren kann. Das Argument ist eine Ganzzahl und kann in hexadezimaler und dezimaler Notation angegeben werden. -T : Überschreibt den standardmäßigen IP-TTL-Wert für SYN-Sonden. Für nichts wirklich notwendig, aber der Vollständigkeit halber enthalten. -W : Überschreibt die standardmäßige TCP-Fenstergröße für SYN-Sonden. Für nichts wirklich notwendig, aber der Vollständigkeit halber enthalten. -I : Überschreibt die standardmäßige IP-ID für SYN-Sonden. Für nichts wirklich notwendig, aber der Vollständigkeit halber enthalten. -n: Diese Option sollte nur verwendet werden, wenn Sie wissen, was Sie tun. Sie stellt sicher, dass das Tool KEINE Firewall-Regel setzt, um alle ausgehenden RST-Pakete zu verwerfen. Wenn dies verwendet wird, dann wird der Scanner nicht forken und es liegt in Ihrer Verantwortung, diese Regel von Hand zu setzen, da der Kernel sonst für jedes empfangene SYNACK-Paket RST-Pakete zurücksendet. Dies führt dazu, dass das Tool einfach nicht funktioniert. Die Regel, wie sie unter Linux gesetzt wird, lautet wie folgt:

root@kitploit:~
 $ /sbin/iptables -A OUTPUT -p tcp --tcp-flags RST RST -j DROP

-o: Diese Option führt keine I/O-Umleitung durch, sodass man mehr Ausgabe der uinet-Interna sieht. Sie wurde nur der Vollständigkeit halber oder für Debugging-Szenarien hinzugefügt, da sie sonst nicht sehr nützlich ist. -h: Die Nutzungsinformationen.

Einige Beispiele für die Verwendung des Tools. Für einen Banner-Grab von Port 22 auf einem /24-Bereich verwenden Sie:

root@kitploit:~
 ./pbscan -sB -p22 x.x.x.x/24

Für einen HTTP-Scan auf mehreren gängigen HTTP-Ports für eine einzelne IP mit hexadezimaler Ausgabe verwenden Sie:

root@kitploit:~
 ./pbscan -sH -x -p80,8080-9000 x.x.x.x

Während des Scannens sehen Sie beim Drücken einer Taste auf der Standardeingabe einige Statistiken, wie die Anzahl der identifizierten offenen Ports, die Anzahl der gültigen TCP-Bestätigungen, die Anzahl der derzeit aktiven Verbindungen und wie viele SYN-Sonden von der Gesamtzahl bereits gesendet wurden. Dies sieht etwa so aus:

root@kitploit:~
 sent: 1.97% (of 254), open: 0, active: 2, acks: 2

AUTOR

Dieses Tool wurde von Vincent Berg geschrieben. Kontaktieren Sie mich per E-Mail unter [email protected] oder besuchen Sie meine Website http://santarago.org für aktualisierte Veröffentlichungen/Neuigkeiten zu diesem Scanner.

DANKSAGUNG

Vielen Dank an mehrere Leute, die beim Testen, Portieren und Melden von Fehlern geholfen haben. Danke an Ehab, Joseph, Alejandro, Julian und Diego.

REFERENZEN

[1] http://packetstormsecurity.com/files/30489/paketto-1.10.tar.gz.html

[2] http://wanproxy.org/libuinet.shtml

Tool herunterladen