
Utilizza numerosi PoC/Exploit ad alta minaccia per ottenere rapidamente i permessi del target, per penetration test e rapido riconoscimento da parte dei red team
🦄 POC bomber è uno strumento di rilevamento/sfruttamento delle vulnerabilità, progettato per ottenere rapidamente i permessi dei server target utilizzando POC/EXP di un gran numero di vulnerabilità ad alto impatto
Questo progetto raccoglie POC/EXP di vulnerabilità altamente dannose presenti su internet — come RCE, upload arbitrario di file, deserializzazione, SQL injection — in grado di ottenere i permessi principali del server, e li integra nell'arsenale del POC bomber. Utilizza un gran numero di POC ad alto impatto per eseguire fuzzing su singoli obiettivi o su più obiettivi, al fine di individuare rapidamente target vulnerabili tra numerosi asset e ottenere i permessi dei server target. Gli scenari applicativi includono, ma non sono limitati a:
Il POC bomber supporta il rilevamento di vulnerabilità per componenti facilmente attaccabili come weblogic, tomcat, apache, jboss, nginx, struct2, thinkphp2x3x5x, spring, redis, jenkins, vulnerabilità del linguaggio PHP, shiro, Weaver OA, Zhiyuan OA, Tongda OA, ecc. Supporta la chiamata alla piattaforma dnslog per rilevare le RCE senza risposta (incluso il rilevamento di log4j2), supporta il rilevamento di singoli obiettivi e il rilevamento in batch. Il programma adotta un thread pool ad alta concorrenza, supporta l'importazione personalizzata di POC/EXP e può generare report di vulnerabilità. POC bomber utilizza di default la modalità di verifica per la validazione dei POC. Se nel risultato restituito il valore di attack è True, è possibile aggiungere il parametro (--attack) per entrare in modalità di attacco e invocare direttamente l'EXP per attaccare (è necessario specificare il nome del file POC), ottenendo un getshell con un solo clic.
La versione v3.0.0 di POC-bomber offre una maggiore efficienza di scansione, corregge i problemi di rallentamento causati da singoli POC e vari bug, aggiunge output a colori e indicatore di avanzamento, supporta la specifica di una directory POC, è adatta al ritmo veloce delle esercitazioni hvv e aggiunge i POC di alcune vulnerabilità già rese pubbliche nel 2022. Supporta la creazione di un proprio server dnslog: dopo aver configurato il proprio dominio, è possibile usare POC-bomber per avviare una piattaforma dnslog su un VPS, effettuando il rilevamento out-of-band (DNS) per alcune vulnerabilità.
python3 pocbomber.py -u http://xxx.xxx
image image

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 supporta la scrittura di POC personalizzati.
I POC devono essere scritti in Python 3 e possedere due funzioni, verify e attack (non obbligatoria), rispettivamente per la verifica e per l'attacco.
La funzione deve chiamarsi verify e ricevere come parametro l'URL del target.
Il risultato della funzione deve essere restituito sotto forma di dizionario con due chiavi, name e vulnerable; name indica il nome della vulnerabilità, mentre vulnerable indica se la vulnerabilità esiste tramite i valori True e False.
Se la vulnerabilità esiste, impostare il valore di vulnerable su True nel dizionario restituito e aggiungere l'URL del target, le pagine web relative allo sfruttamento della vulnerabilità e altre informazioni.
Usare il metodo try per tentare la verifica; quando si inviano pacchetti con requests e simili, impostare un timeout per evitare che il POC si blocchi.
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
Se è disponibile un EXP, è possibile scrivere la funzione attack come funzione di attacco.
La funzione deve chiamarsi attack e ricevere come parametro l'URL del target.
Scrivere il codice dell'EXP all'interno di try per eseguire l'attacco; può interagire con l'utente tramite input.
Dopo aver completato la scrittura, impostare il valore di attack su True nel dizionario restituito dalla funzione verify della vulnerabilità.
Se l'attacco ha successo, restituire True; se fallisce per altri motivi, restituire False.
def attack(url):
try:
........................................
攻击代码(执行命令或反弹shell上传木马等)
........................................
return True
except:
return False
Una volta scritto, il POC può essere inserito in qualsiasi posizione della directory /pocs per essere richiamato ricorsivamente!
Il progetto è in continuo aggiornamento; tutti gli esperti sono invitati a contribuire con POC per rafforzare insieme la sicurezza informatica!
Per qualsiasi domanda, benvenuti a lasciare un messaggio nelle issues: https://github.com/tr0uble-mAker/POC-bomber/issues
Contatti: [email protected]
Questo strumento è destinato esclusivamente ad attività di costruzione della sicurezza aziendale legalmente autorizzate. Se si desidera testare l'usabilità di questo strumento, si prega di allestire autonomamente un ambiente target (lab). Quando si utilizza questo strumento per i test, è necessario assicurarsi che tale attività sia conforme alle leggi e ai regolamenti locali e che sia stata ottenuta un'autorizzazione sufficiente. Non eseguire scansioni su obiettivi non autorizzati. Se si compie qualsiasi atto illegale durante l'utilizzo di questo strumento, l'utente dovrà assumersi le relative conseguenze; non ci assumiamo alcuna responsabilità legale o comunque connessa.