
pocsuite3 é um framework de teste remoto de vulnerabilidades de código aberto desenvolvido pela Knownsec 404 Team.
O uso do pocsuite3 para atacar alvos sem consentimento mútuo prévio é ilegal. O pocsuite3 é apenas para fins de teste de segurança.
未经事先双方同意,使用 pocsuite3 攻击目标是非法的。 pocsuite3 仅用于安全测试目的
pocsuite3 é uma estrutura de teste de vulnerabilidade remota e desenvolvimento de prova de conceito de código aberto desenvolvida pela Equipe 404 da Knownsec. Ele vem com um motor de prova de conceito poderoso e muitos recursos interessantes para os melhores testadores de penetração e pesquisadores de segurança.
verify, attack, shell de diferentes maneirasDork)
requer Docker
escreva dockerfile no poc
class DemoPOC(POCBase):
vulID = '' # ssvid
version = '1.0'
author = ['']
vulDate = '2029-5-8'
createDate = '2019-5-8'
updateDate = '2019-5-8'
references = ['']
name = 'Struts2 045 RCE CVE-2017'
appPowerLink = ''
appName = 'struts2'
appVersion = ''
vulType = ''
desc = '''S2-045:影响版本Struts 2.3.20-2.3.28(除了2.3.20.3和2.3.24.3)'''
samples = []
category = POC_CATEGORY.EXPLOITS.WEBAPP
dockerfile = '''FROM isxiangyang/struts2-all-vul-pocsuite:latest'''
pocsuite -r pocs/Apache_Struts2/20170129_WEB_Apache_Struts2_045_RCE_CVE-2017-5638.py --docker-start --docker-port 127.0.0.1:8080:8080 --docker-env A=test --docker-port 8899:7890
,------. ,--. ,--. ,----. {2.0.6-cc19ae5}
| .--. ',---. ,---.,---.,--.,--`--,-' '-.,---.'.-. |
| '--' | .-. | .--( .-'| || ,--'-. .-| .-. : .' <
| | --'' '-' \ `--.-' `' '' | | | | \ --/'-' |
`--' `---' `---`----' `----'`--' `--' `----`----' https://pocsuite.org
[*] starting at 15:34:12
[15:34:12] [INFO] loading PoC script 'pocs/Apache_Struts2/20170129_WEB_Apache_Struts2_045_RCE_CVE-2017-5638.py'
[15:34:12] [INFO] Image struts2_045_rce_cve-2017:pocsuite exists
[15:34:12] [INFO] Run container fa5b3b7bb2ea successful!
[15:34:12] [INFO] pocsusite got a total of 0 tasks
[15:34:12] [INFO] Scan completed,ready to print
pocsuite -r pocs/Apache_Struts2/20170129_WEB_Apache_Struts2_045_RCE_CVE-2017-5638.py -u http://127.0.0.1:8080/S2-032-showcase/fileupload/doUpload.action --docker-start --docker-port 127.0.0.1:8080:8080
,------. ,--. ,--. ,----. {2.0.6-cc19ae5}
| .--. ',---. ,---.,---.,--.,--`--,-' '-.,---.'.-. |
| '--' | .-. | .--( .-'| || ,--'-. .-| .-. : .' <
| | --'' '-' \ `--.-' `' '' | | | | \ --/'-' |
`--' `---' `---`----' `----'`--' `--' `----`----' https://pocsuite.org
[*] starting at 15:38:46
[15:38:46] [INFO] loading PoC script 'pocs/Apache_Struts2/20170129_WEB_Apache_Struts2_045_RCE_CVE-2017-5638.py'
[15:38:46] [INFO] Image struts2_045_rce_cve-2017:pocsuite exists
[15:38:47] [INFO] Run container 1a6eae1e8953 successful!
[15:38:47] [INFO] pocsusite got a total of 1 tasks
[15:38:47] [INFO] running poc:'Struts2 045 RCE CVE-2017' target 'http://127.0.0.1:8080/S2-032-showcase/fileupload/doUpload.action'
[15:39:17] [+] URL : http://127.0.0.1:8080/S2-032-showcase/fileupload/doUpload.action
[15:39:17] [+] Headers : {'Server': 'Apache-Coyote/1.1', 'nyvkx': '788544', 'Set-Cookie': 'JSESSIONID=0A9892431B32A541B51D4721FA0D2728; Path=/S2-032-showcase/; HttpOnly', 'Content-Type': 'text/html;charset=ISO-8859-1', 'Transfer-Encoding': 'chunked', 'Date': 'Mon, 25 Dec 2023 07:39:17 GMT'}
[15:39:17] [INFO] Scan completed,ready to print
+------------------------------------------------------------------+--------------------------+--------+-----------+---------+---------+
| target-url | poc-name | poc-id | component | version | status |
+------------------------------------------------------------------+--------------------------+--------+-----------+---------+---------+
| http://127.0.0.1:8080/S2-032-showcase/fileupload/doUpload.action | Struts2 045 RCE CVE-2017 | | struts2 | | success |
+------------------------------------------------------------------+--------------------------+--------+-----------+---------+---------+
success : 1 / 1
Docker Environment:
Docker Environment options
--docker-start Run the docker for PoC
--docker-port DOCKER_PORT
Publish a container's port(s) to the host
--docker-volume DOCKER_VOLUME
Bind mount a volume
--docker-env DOCKER_ENV
Set environment variables
--docker-only Only run docker environment
--docker-start Parâmetro para iniciar o ambiente. Se especificado, as imagens docker serão obtidas a partir do poc.--docker-port Publicar a(s) porta(s) do contêiner para o host, como: --docker-port [porta do host]:[porta do contêiner], você pode especificar várias.--docker-volume Montar um volume, como --docker-volume /caminho/host/:/caminho/contêiner, você pode especificar vários.--docker-env Definir variáveis de ambiente --docker-env VARIAVEL=valor, você pode especificar várias.--docker-only Apenas iniciar o ambiente docker.O uso é aproximadamente o mesmo dos parâmetros de linha de comando do docker.
Cole no terminal:
pip3 install pocsuite3
# use other pypi mirror
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pocsuite3
brew update
brew info pocsuite3
brew install pocsuite3
sudo apt update
sudo apt install pocsuite3
docker run -it pocsuite3/pocsuite3
yay pocsuite3
Ou clique aqui para baixar o pacote zip da fonte mais recente e extraia
wget https://github.com/knownsec/pocsuite3/archive/master.zip
unzip master.zip
cd pocsuite3-master
pip3 install -r requirements.txt
python3 setup.py install
A versão mais recente deste software está disponível em: https://pocsuite.org
A documentação está disponível em: https://pocsuite.org
modo cli
# uso básico, use -v para definir o nível de log
pocsuite -u http://example.com -r example.py -v 2
# executar poc com modo shell
pocsuite -u http://example.com -r example.py -v 2 --shell
# procurar alvos do serviço redis no ZoomEye e realizar detecção em lote de vulnerabilidades. O número de threads é definido como 20
pocsuite -r redis.py --dork service:redis --threads 20
# carregar todos os pocs no diretório poc e salvar o resultado como html
pocsuite -u http://example.com --plugins poc_from_pocs,html_report
# carregar alvos a partir do arquivo e usar os pocs do diretório poc para escanear
pocsuite -f batch.txt --plugins poc_from_pocs,html_report
# carregar alvo CIDR
pocsuite -u 10.0.0.0/24 -r example.py
# o parâmetro personalizado `command` é implementado no poc ecshop, pode ser definido a partir da linha de comando
pocsuite -u http://example.com -r ecshop_rce.py --attack --command "whoami"
modo console
poc-console