
利用大量高威胁poc/exp快速获取目标权限,用于渗透和红队快速打点
🦄 POC bomber ist ein Tool zur Schwachstellenerkennung und -ausnutzung, das darauf abzielt, mithilfe zahlreicher POCs/EXPs für hochriskante Schwachstellen schnell Berechtigungen auf Zielservern zu erlangen
Dieses Projekt sammelt aus dem Internet POCs/EXPs für verschiedene hochriskante Schwachstellen – RCE, beliebiger Datei-Upload, Deserialisierung, SQL-Injection usw. –, mit denen Kernberechtigungen auf Servern erlangt werden können, und integriert sie in die POC-bomber-Waffenkammer. Mit einer großen Anzahl hochriskanter PoCs wird ein Fuzzing einzelner oder mehrerer Ziele durchgeführt, um in großen Beständen schnell verwundbare Zielsysteme zu entdecken und Berechtigungen auf Zielservern zu erlangen. Anwendungsfälle umfassen unter anderem:
POC bomber unterstützt die Erkennung von Schwachstellen in angreifbaren Komponenten wie WebLogic, Tomcat, Apache, JBoss, Nginx, Struts2, ThinkPHP 2.x/3.x/5.x, Spring, Redis, Jenkins, PHP-Sprachschwachstellen, Shiro, Weaver OA, Seeyon OA, Tongda OA und anderen. Es unterstützt den Aufruf der DNSLog-Plattform zur Erkennung von RCEs ohne Rückkanal (einschließlich Log4j2-Erkennung), Einzelziel- und Massenprüfung. Das Programm verwendet einen hochgradig nebenläufigen Thread-Pool, unterstützt das Importieren eigener PoCs/Exps und kann Schwachstellenberichte erzeugen.
POC bomber verwendet standardmäßig den Verifizierungsmodus zur Prüfung von PoCs. Wenn der Wert von attack im Rückgabewert True ist, kann mit dem Parameter (--attack) in den Angriffsmodus gewechselt und direkt das EXP zum Angriff aufgerufen werden (dabei muss der PoC-Dateiname angegeben werden), um mit einem Klick eine Shell zu erhalten.
Die Version v3.0.0 von POC-bomber bietet eine schnellere Scan-Effizienz, behebt durch einzelne PoCs verursachte Verzögerungen und diverse weitere Fehler, ergänzt eine farbige Ausgabe und eine Fortschrittsanzeige, unterstützt die Angabe eines PoC-Verzeichnisses und passt zum schnellen Tempo von HVV. Außerdem wurden PoCs für einige im Jahr 2022 öffentlich bekannt gewordene Schwachstellen hinzugefügt. Es wird ein selbst gehosteter DNSLog-Server unterstützt: Nachdem Sie Ihre eigene Domain konfiguriert haben, können Sie mit POC-bomber auf einer VPS eine DNSLog-Plattform betreiben, um bei einigen Schwachstellen eine DNS-OOB-Erkennung durchzuführen.
python3 pocbomber.py -u http://xxx.xxx
Bild Bild

python3 pocbomber.py -u http://xxx.xxx --poc="thinkphp2_rce.py" --attack

git clone https://github.com/tr0uble-mAker/POC-bomber.git
cd POC-bomber
pip install -r requirements.txt
查看用法: python3 pocbomber.py
模式:
获取poc/exp信息: python3 pocbomber.py --show
单目标检测: python3 pocbomber.py -u http://xxx.xxx.xx
批量检测: python3 pocbomber.py -f url.txt -o report.txt
指定poc检测: python3 pocbomber.py -f url.txt --poc="thinkphp2_rce.py"
exp攻击模式: python3 pocbomber.py -u 目标url --poc="指定poc文件" --attack
参数:
-u --url 目标url
-f --file 指定目标url文件
-o --output 指定生成报告的文件(默认不生成报告)
-p --poc 指定单个或多个poc进行检测, 直接传入poc文件名, 多个poc用(,)分开
-t --thread 指定线程池最大并发数量(默认30)
--show 展示poc/exp详细信息
--attack 使用poc文件中的exp进行攻击
--dnslog 使用dnslog平台检测无回显漏洞(默认不启用dnslog,可在配置文件中启用)
/inc/config.py
+--------- poc_bomber.py (启动 POC-bomber)
|
+--------- inc(存放支撑 POC-bomber 框架运行的核心文件)
|
\--------- pocs(POC存放列表)----------- framework(存放框架漏洞POC)
|
|------ middleware(存放中间件漏洞POC)
|
|------ ports(存放常见端口漏洞,主机服务漏洞POC)
|
\----- webs(存放常见web页面漏洞POC)
POC bomber unterstützt das Schreiben eigener PoCs.
PoCs müssen einheitlich in Python3 verfasst sein und die beiden Funktionen verify und attack (nicht zwingend erforderlich) enthalten, die jeweils zur Verifizierung und zum Angriff dienen.
Der Funktionsname lautet verify; der Parameter empfängt die Ziel-URL.
Der Rückgabewert der Funktion wird als Dictionary zurückgegeben und enthält die beiden Schlüssel name und vulnerable. name beschreibt den Namen der Schwachstelle, vulnerable gibt über True/False an, ob die Schwachstelle vorhanden ist.
Wenn die Schwachstelle vorhanden ist, setzen Sie den Wert von vulnerable im zurückgegebenen Dictionary auf True und ergänzen Sie die Ziel-URL sowie Informationen wie zugehörige Webseiten zur Ausnutzung der Schwachstelle.
Verwenden Sie try, um die Verifizierung zu versuchen. Beim Senden von Datenpaketen mit requests usw. muss ein Timeout gesetzt werden, um ein Hängenbleiben des PoCs zu vermeiden.
def verify(url):
relsult = {
'name': 'Thinkphp5 5.0.22/5.1.29 Remote Code Execution Vulnerability',
'vulnerable': False,
'attack': False, # 如果有exp支持attack模式将attack的值置为True
}
try:
......
(用任意方法检测漏洞)
......
if 存在漏洞:
relsult['vulnerable'] = True # 将relsult的vulnerable的值置为True
relsult['url'] = url # 返回验证的url
relust['xxxxx'] = 'xxxxx' # 可以添加该漏洞相关来源等信息
......
return relsult # 将vulnerable值为True的relsult返回
else: # 不存在漏洞
return relsult # 若不存在漏洞将vulnerable值为False的relsult返回
execpt:
return relsult
Falls ein EXP vorhanden ist, kann eine attack-Funktion als EXP-Angriffsfunktion geschrieben werden.
Der Funktionsname lautet attack; der Parameter empfängt die Ziel-URL.
Schreiben Sie in try den EXP-Code für den Angriff; eine interaktive Benutzereingabe ist möglich.
Nach dem Schreiben muss der Wert von attack im Dictionary, das die verify-Funktion dieser Schwachstelle zurückgibt, auf True gesetzt werden.
Nach erfolgreichem Angriff wird True zurückgegeben; bei Fehlern aus anderen Gründen reicht es, False zurückzugeben.
def attack(url):
try:
........................................
攻击代码(执行命令或反弹shell上传木马等)
........................................
return True
except:
return False
Ein fertig geschriebener PoC kann einfach an einer beliebigen Stelle im Verzeichnis /pocs abgelegt werden und wird dann rekursiv aufgerufen!
Das Projekt wird kontinuierlich aktualisiert. Alle Experten sind herzlich eingeladen, PoCs beizutragen, um gemeinsam die Cybersicherheit zu stärken!
Bei Fragen hinterlassen Sie bitte eine Nachricht unter Issues: https://github.com/tr0uble-mAker/POC-bomber/issues
Kontakt: [email protected]
Dieses Tool richtet sich ausschließlich an rechtmäßig autorisierte Sicherheitsmaßnahmen von Unternehmen. Wenn Sie die Einsatzfähigkeit dieses Tools testen möchten, richten Sie bitte selbst eine Übungsumgebung (Zielumgebung) ein. Bei der Verwendung dieses Tools zur Erkennung müssen Sie sicherstellen, dass Ihr Vorgehen den örtlichen Gesetzen und Vorschriften entspricht und Sie ausreichend autorisiert sind. Scannen Sie keine nicht autorisierten Ziele. Sollten Sie bei der Nutzung dieses Tools rechtswidrige Handlungen vornehmen, tragen Sie die entsprechenden Konsequenzen selbst; wir übernehmen keinerlei rechtliche oder damit verbundene Haftung.