L'utilisation de pocsuite3 pour attaquer des cibles sans consentement mutuel préalable est illégale. pocsuite3 est uniquement destiné aux tests de sécurité
未经事先双方同意,使用 pocsuite3 攻击目标是非法的.
pocsuite3 est un cadre open source de test de vulnérabilité à distance et de développement de preuve de concept développé par l' équipe Knownsec 404 . Il est livré avec un puissant moteur de validation de principe et de nombreuses fonctionnalités intéressantes pour les testeurs d'intrusion ultimes et les chercheurs en sécurité.
verify
, attack
et shell
de différentes manièresDork
)nécessite Docker
écrire un fichier docker dans 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 1 a6eae1e8953 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
Paramètres d'environnement de démarrage. Si spécifié, les images Docker seront obtenues à partir de poc.--docker-port
publie le(s) port(s) d'un conteneur sur l'hôte, comme : --docker-port [host port]:[container port]
, vous pouvez spécifier plusieurs--docker-volume
lie le montage d'un volume, comme --docker-volume /host/path/:/container/path
, vous pouvez en spécifier plusieurs--docker-env
définir les variables d'environnement --docker-env VARIBLES=value
, vous pouvez en spécifier plusieurs--docker-only
démarre uniquement l'environnement DockerL'utilisation est à peu près la même que celle des paramètres de ligne de commande de Docker.
Coller à l'invite du 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 cliquez ici pour télécharger le dernier package zip source et extraire
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 dernière version de ce logiciel est disponible sur : https://pocsuite.org
La documentation est disponible sur : https://pocsuite.org
cli mode
# basic usage, use -v to set the log level
pocsuite -u http://example.com -r example.py -v 2
# run poc with shell mode
pocsuite -u http://example.com -r example.py -v 2 --shell
# search for the target of redis service from ZoomEye and perform batch detection of vulnerabilities. The threads is set to 20
pocsuite -r redis.py --dork service:redis --threads 20
# load all poc in the poc directory and save the result as html
pocsuite -u http://example.com --plugins poc_from_pocs,html_report
# load the target from the file, and use the poc under the poc directory to scan
pocsuite -f batch.txt --plugins poc_from_pocs,html_report
# load CIDR target
pocsuite -u 10.0.0.0/24 -r example.py
# the custom parameters `command` is implemented in ecshop poc, which can be set from command line options
pocsuite -u http://example.com -r ecshop_rce.py --attack --command "whoami"
console mode
poc-console