
pocsuite3 es un framework de pruebas de vulnerabilidades remotas de código abierto desarrollado por el equipo Knownsec 404.
El uso de pocsuite3 para atacar objetivos sin el consentimiento mutuo previo es ilegal. pocsuite3 es solo para fines de pruebas de seguridad.
未经事先双方同意,使用 pocsuite3 攻击目标是非法的。 pocsuite3 仅用于安全测试目的
pocsuite3 es un framework de pruebas de vulnerabilidades remotas y desarrollo de pruebas de concepto de código abierto desarrollado por el Knownsec 404 Team. Viene con un potente motor de pruebas de concepto, muchas características interesantes para los mejores testers de penetración e investigadores de seguridad.
verify, attack, shell de diferentes maneras
requiere Docker
escribir dockerfile en el 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 el entorno. Si se especifica, se obtendrán las imágenes docker del PoC.--docker-port Publicar puerto(s) de un contenedor al host, como: --docker-port [puerto host]:[puerto contenedor], se pueden especificar múltiples.--docker-volume Montar un volumen, como --docker-volume /ruta/host/:/ruta/contenedor, se pueden especificar múltiples.--docker-env Establecer variables de entorno --docker-env VARIABLE=valor, se pueden especificar múltiples.--docker-only Solo iniciar el entorno docker.El uso es aproximadamente el mismo que los parámetros de línea de comandos de docker.
Pegue en una terminal:
pip3 install pocsuite3
# usar otro mirror de pypi
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
O haga clic aquí para descargar el último paquete zip del código fuente y extraerlo
wget https://github.com/knownsec/pocsuite3/archive/master.zip
unzip master.zip
cd pocsuite3-master
pip3 install -r requirements.txt
python3 setup.py install
La última versión de este software está disponible en: https://pocsuite.org
La documentación está disponible en: https://pocsuite.org
modo cli
# uso básico, usar -v para establecer el nivel de log
pocsuite -u http://example.com -r example.py -v 2
# ejecutar PoC con modo shell
pocsuite -u http://example.com -r example.py -v 2 --shell
# buscar objetivos del servicio redis desde ZoomEye y realizar detección por lotes de vulnerabilidades. Los hilos se establecen en 20
pocsuite -r redis.py --dork service:redis --threads 20
# cargar todos los PoC en el directorio poc y guardar el resultado como html
pocsuite -u http://example.com --plugins poc_from_pocs,html_report
# cargar objetivos desde el archivo y usar los PoC bajo el directorio poc para escanear
pocsuite -f batch.txt --plugins poc_from_pocs,html_report
# cargar objetivo CIDR
pocsuite -u 10.0.0.0/24 -r example.py
# el parámetro personalizado `command` está implementado en el PoC de ecshop, que se puede establecer desde las opciones de línea de comandos
pocsuite -u http://example.com -r ecshop_rce.py --attack --command "whoami"
modo consola
poc-console