
利用大量高威胁poc/exp快速获取目标权限,用于渗透和红队快速打点
🦄 POC bomber é uma ferramenta de detecção/exploração de vulnerabilidades, projetada para obter rapidamente permissões em servidores-alvo usando POCs/EXPs de inúmeras vulnerabilidades de alto risco
Este projeto reúne POCs/EXPs de vulnerabilidades de alto risco encontrados na internet — RCE · upload arbitrário de arquivos · desserialização · injeção de SQL — capazes de obter permissões críticas no servidor, e os integra ao arsenal do POC bomber. Ele realiza fuzzing em um ou vários alvos usando uma grande quantidade de POCs de alto risco, permitindo descobrir rapidamente alvos vulneráveis em grandes volumes de ativos e obter permissões nos servidores-alvo. Os cenários de uso incluem, mas não se limitam a:
Os POCs do POC bomber oferecem detecção de vulnerabilidades em componentes facilmente atacáveis, como Weblogic, Tomcat, Apache, JBoss, Nginx, Struts2, ThinkPHP 2.x/3.x/5.x, Spring, Redis, Jenkins, vulnerabilidades da linguagem PHP, Shiro, Weaver OA, Seeyon OA, Tongda OA, entre outros. Suporta o uso da plataforma dnslog para detectar RCE sem resposta (incluindo a detecção de Log4j2), detecção de alvo único e detecção em lote. O programa utiliza um pool de threads de alta concorrência, suporta a importação personalizada de POCs/EXPs e pode gerar relatórios de vulnerabilidades.
Por padrão, o POC bomber usa o modo de verificação para validar POCs. Se o valor de attack no resultado retornado for True, você pode adicionar o parâmetro (--attack) para entrar no modo de ataque e chamar diretamente o EXP para atacar (é necessário especificar o nome do arquivo do POC), alcançando o getshell com um clique.
A versão v3.0.0 do POC-bomber possui maior eficiência de varredura, corrige travamentos causados por POCs individuais e vários bugs, adiciona saída colorida e exibição de progresso, suporta a especificação de diretório de POCs e é adequada ao ritmo acelerado de HVV. Inclui POCs de algumas vulnerabilidades já divulgadas em 2022. Suporta a criação de um servidor dnslog próprio: depois de configurar seu próprio domínio, você pode usar o POC-bomber em um VPS para ativar uma plataforma dnslog e realizar detecção de exfiltração DNS (OOB) em algumas vulnerabilidades.
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)
O POC bomber suporta a escrita de POCs personalizados.
Todos os POCs devem ser escritos em Python 3 e possuir duas funções: verify e attack (não obrigatória), usadas para verificação e ataque, respectivamente.
O nome da função deve ser verify e ela recebe como parâmetro a URL do alvo.
O retorno da função deve ser um dicionário contendo as chaves name e vulnerable: name descreve o nome da vulnerabilidade e vulnerable indica, por meio dos valores True e False, se a vulnerabilidade existe.
Se a vulnerabilidade existir, defina o valor de vulnerable no dicionário de retorno como True e adicione a URL do alvo, páginas relacionadas à exploração da vulnerabilidade e outras informações.
Use o método try para tentar a verificação. Ao enviar pacotes de dados com request ou bibliotecas similares, defina um tempo limite (timeout) para evitar que o POC fique travado.
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 houver um EXP, você pode escrever a função attack como função de ataque do EXP.
O nome da função deve ser attack e ela recebe como parâmetro a URL do alvo.
Escreva o código do EXP dentro de try para realizar o ataque, podendo interagir com a entrada do usuário.
Após a conclusão, defina o valor de attack no dicionário retornado pela função verify da vulnerabilidade como True.
Após o ataque, retorne True em caso de sucesso ou False se falhar por qualquer outro motivo.
def attack(url):
try:
........................................
攻击代码(执行命令或反弹shell上传木马等)
........................................
return True
except:
return False
Depois de pronto, basta colocar o POC em qualquer local do diretório /pocs para que ele seja chamado recursivamente!
O projeto está em constante atualização. Contribuições de POCs de todos os especialistas são bem-vindas para fortalecer a segurança cibernética!
Em caso de dúvidas, deixe uma mensagem nas issues: https://github.com/tr0uble-mAker/POC-bomber/issues
Contato: [email protected]
Esta ferramenta destina-se apenas a ações legítimas e autorizadas de construção de segurança corporativa. Se você precisar testar a disponibilidade desta ferramenta, monte você mesmo um ambiente de alvo (laboratório). Ao utilizar esta ferramenta para detecção, você deve garantir que a ação esteja em conformidade com as leis e regulamentos locais e que tenha obtido autorização suficiente. Não faça varreduras em alvos não autorizados. Se você praticar qualquer ato ilegal durante o uso desta ferramenta, você será o único responsável pelas consequências; não nos responsabilizamos por quaisquer responsabilidades legais ou solidárias.