Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
zscan — Zscan un ensemble d'outils de scan agressif | Kitploit
Outils/GitHubGitHub/zyylhn/zscan
ReconnaissanceScanners de VulnérabilitésCartographie RéseauAttaques de Mots de PasseScan de PortsExploitationTests d'Intrusion
GitHubzyylhn/zscan

zscan

Zscan un ensemble d'outils de scan agressif

Voir le dépôt
539744il y a 2 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Zscan a scan blasting tool set

Licens Releases go

📄English document

Consultez le journal log

Format de sortie des résultats - Capture d'écran des résultats partiels, en deux phases : la première phase est la sortie pendant l'analyse, commençant à la fin de la détection des hôtes actifs ; la deuxième phase organise tous les résultats d'analyse, commençant à la sortie 'port result list'

Introduction 🎉

​ Zscan est un ensemble open source de scanner de ports intranet, d'outils de brute force et d'autres utilitaires, que l'on peut appeler une boîte à outils. Basé sur la découverte de segments intranet, la découverte d'hôtes et le scan de ports, il permet d'effectuer du brute force sur les services mysql, mssql, redis, mongo, postgres, ftp, ssh, ldap, rdp, smb, etc. dans le module blast. Dans le module scan, il peut effectuer des scans de type netbios, smb, oxid, serveur socks (scan de proxy), ms17010, poc http, etc. Par défaut, il capture le titre HTTP et les informations d'empreinte. Dans le module server, il peut démarrer un serveur HTTP (permettant le téléchargement de fichiers) et un serveur SOCKS5 (proxy). Le module tools intègre des petits utilitaires pratiques, pour l'instant uniquement nc. Le module exploit, récemment ajouté, permet d'exploiter les services ayant fait l'objet d'un brute force réussi : connexion interactive SSH (par mot de passe ou clé), réplication maître-esclave Redis et échappement du sandbox Lua (téléchargement de fichiers et exécution de commandes), requêtes LDAP (avec des requêtes courantes intégrées). Il existe également un module all qui, lors d'une analyse, appelle tous les modules de scan et de brute force. Il prend en charge le scan IPv6, la saisie de noms de domaine et l'identification automatique du CDN. Les fonctions spécifiques des modules sont les suivantes :

L'outil est relativement volumineux ; une version allégée sera proposée ultérieurement. La conception modulaire permet de supprimer facilement les fonctions inutiles.``` all 调用所有扫描和爆破模块 ping 主机发现和网段发现 ps 基本的端口扫描和http指纹识别title抓取 scan 扫描模块 --->ms17010扫描 --->poc漏洞扫描(内置380个poc) --->proxyfind内网代理服务器扫描 --->winscan Windows的smb,netbios和oxid扫描 blast 爆破服务模块(包括以下爆破模块) --->ftp --->ldap --->mongo --->mssql --->mysql --->postgres --->rdp --->redis --->smb --->ssh server start http server or socks5 server --->http服务器(可上传下载文件) --->socks5服务器(可启动一个代理服务器,支持身份验证) exploit 漏洞利用模块 --->ldap查询 --->redis组从复制上传文件执行命令,lua沙箱逃逸RCE --->snmp查询 --->ssh登陆 --->sunlogin向日葵RCE tools 实用工具模块 --->nc简单的nc,可以开放端口连接端口 --->searchfile支持多线程正则搜索文件

root@kitploit:~
Le format d'utilisation est```
zscan 模块 参数

[No input content provided to translate.]```


/___ \ /\ \ /\ \ /\ __ \ /\ "-.\ \
/
/ /
\ _
\ \ \ _
__ \ \ __ \ \ \ -. \
/_\ /_\ \ ___\ \ _\ _\ \ _\"_\ // // /_____/ //// // //

Usage: zscan [command]

Available Commands: all Use all scan mode blast Common service blasting exploit sshlogin,redisexec help Help about any command ping ping scan to find computer ps Port Scan scan ms17010,proxyfind,snmp,winscan(smb,netbios,oxid),poc server start http server or socks5 server

Flags: -h, --help help for zscan --nobar disable portscan progress bar -o, --output string the path of result file (default "result.txt") --proxy string Connect with a proxy(user:[email protected]:1080 or 172.16.95.1:1080) -T, --thread thread Set thread eg:2000 (default 600) -t, --timeout time Set timeout(s) eg:5s (default 5s) -v, --verbose Show verbose information

root@kitploit:~
模块内的Flag表示当前命令的参数,Global Flags表示全局参数(所有命令都可使用)  
这里的Flags是全局参数,所有模块都可以使用

- --log:启用这个参数会将当前运行结果以追加形式写入log.txt(可以记录每次运行的结果)
- -o --output:默认在当前目录中文件名为Hosts,使用-o指定路径
- --proxy :设置代理,用户名密码(user:pass@ip:port)不需要身份验证(ip:port)
- -T --thread:指定线程数,默认100
- -t --timeout:设置超时时间,网络条件好追求速度的话可以设置成1s
- -v --verbose:设置显示扫描过程信息

## Modules fonctionnels 😈

Modules déjà disponibles :

<details>
<summary><b>Module ping : en tant qu'utilisateur normal, appelle le ping système ; en tant que root, peut utiliser des paquets ICMP</b></summary>```
zscan ping 

Charge utile.``` Usage: zscan ping [flags]

Flags: -d, --discover string Live network segment found,local parameter uses the local NIC information。eg:zscan ping -d local/zscan ping -d 172.18.0.0,172.19.0.0 -h, --help help for ping -H, --host hosts Set hosts(The format is similar to Nmap) --hostfile string Set host file -i, --icmp Icmp packets are sent to check whether the host is alive(need root)

Global Flags: --nobar disable portscan progress bar -o, --output string the path of result file (default "result.txt") --proxy string Connect with a proxy(user:[email protected]:1080 or 172.16.95.1:1080) -T, --thread thread Set thread eg:2000 (default 600) -t, --timeout time Set timeout(s) eg:5s (default 5s) -v, --verbose Show verbose information

root@kitploit:~
Vous devez spécifier l'un des deux paramètres `host` ou `hostfile`. Lorsque vous disposez des privilèges root, vous pouvez utiliser `-i` pour ne pas appeler le `ping` local mais envoyer vous-même des paquets ICMP (si le nombre de threads est très élevé, par exemple plusieurs milliers, appeler la commande `ping` locale peut entraîner une utilisation excessive du CPU).

`--discover` propose deux modes de découverte de sous-réseaux : l'un en pingant la passerelle du réseau de classe B, l'autre en effectuant un scan oxid.

`--discover` nécessite un paramètre. Si vous donnez `local` (`zscan ping --discover local`), il lira les informations de la carte réseau locale et analysera le réseau de classe B local. Par exemple, si les deux cartes réseau locales sont `192.168.13.13` et `172.16.95.23`, il pingera alors les deux sous-réseaux de classe B `192.168.0.0/16` et `172.16.0.0/16`.

Vous pouvez également spécifier une ou plusieurs adresses IP de classe B, par exemple `172.17.0.0` ou `172.18.0.0`, `10.10.0.0`. Plusieurs segments IP sont séparés par des virgules.

</details>

<details>
<summary><b>Module ps : scan de ports et récupération du titre HTTP</b></summary>```
zscan ps

fscan est un puissant outil de scan réseau interne, prenant en charge de multiples fonctions de scan, y compris le scan de ports, l'identification de services, le scan de vulnérabilités, le cassage de mots de passe faibles, etc.``` Usage: zscan ps [flags]

Flags: -b, --banner Return banner information -h, --help help for ps -H, --host hosts Set hosts(The format is similar to Nmap) eg:192.168.1.1/24,172.16.95.1-100,127.0.0.1 --hostfile string Set host file -i, --icmp Icmp packets are sent to check whether the host is alive(need root) --noping not ping discovery before port scanning --nowebscan Whether to perform HTTP scanning (httpTitle and HTTP vulnerabilities)(default on) -p, --port port Set port eg:1-1000,3306,3389 or use " zscan ps -p l" ) to scan less port(thirty port) -s, --syn use syn scan --vulscan Whether to perform HTTP vulnerabilities(default off)

Global Flags: --nobar disable portscan progress bar -o, --output string the path of result file (default "result.txt") --proxy string Connect with a proxy(user:[email protected]:1080 or 172.16.95.1:1080) -T, --thread thread Set thread eg:2000 (default 600) -t, --timeout time Set timeout(s) eg:5s (default 5s) -v, --verbose Show verbose information

root@kitploit:~
--host et --hostfile spécifient la cible

-p spécifie le port ; si non spécifié, utilise le port par défaut, ou spécifiez "l" pour utiliser less port (environ trente ports courants)

--noping scanne directement toutes les cibles sans d'abord les pinger

--icmp utilise des paquets ICMP pour la découverte d'hôtes lors du ping

--nowebscan : désactive le scan web, effectue uniquement le scan de ports

--vulscan : active la détection de PoC (utilisable uniquement lorsque le scan web est activé, sinon sans objet)

--syn utilise le scan SYN (nécessite des privilèges élevés)

</details>

<details>
<summary><b>module all : appelle tous les modules de scan et de force brute pour scanner</b></summary>```
zscan all

[No content provided in the INPUT section. Please provide the Markdown text to translate.]``` Usage: zscan all [flags]

Flags: -h, --help help for all -H, --host hosts Set hosts(The format is similar to Nmap) eg:192.168.1.1/24,172.16.95.1-100,127.0.0.1 --hostfile string Set host file -i, --icmp Icmp packets are sent to check whether the host is alive(need root) --noburp Set postgres passworddict path --noping Not ping before port scanning --novulscan disable http vulnerability scan --passdict string Set postgres passworddict path -P, --password string Set postgres password -p, --port port Set port eg:1-1000,3306,3389 or use " zscan all -p l" ) to scan less port(thirty port) -U, --username string Set user name

Global Flags: --nobar disable portscan progress bar -o, --output string the path of result file (default "result.txt") --proxy string Connect with a proxy(user:[email protected]:1080 or 172.16.95.1:1080) -T, --thread thread Set thread eg:2000 (default 600) -t, --timeout time Set timeout(s) eg:5s (default 5s) -v, --verbose Show verbose information

root@kitploit:~
all模块本质是和ps模块基本相同,只不过all模块扫到对应的端口的时候会在当前线程中进行指纹识别或者用户名密码爆破

all模块参数和ps模块相同,就多了一个密码字典,是用来设置扫到需要爆破的端口时候的字典,其他都一样

--notburp 不进行爆破只进行扫描

--novulscan 由于all模块会调用所有模块,这个参数用于禁止漏洞扫描

</details>

<details>
<summary><b>blast:爆破模块,包括常见服务的爆破功能</b></summary>```
zscan blast

(contenu manquant - rien à traduire)``` Usage: zscan blast [command]

Available Commands: ftp burp ftp username and password ldap burp ldap username and password mongo burp mongodb username and password mssql burp mssql username and password mysql burp mysql username and password postgres burp postgres username and password rdp burp remote desktop(3389) redis burp redis password smb burp smb usernamae and password ssh burp ssh username password or traverse the key

Flags: -h, --help help for blast

Global Flags: --nobar disable portscan progress bar -o, --output string the path of result file (default "result.txt") --proxy string Connect with a proxy(user:[email protected]:1080 or 172.16.95.1:1080) -T, --thread thread Set thread eg:2000 (default 600) -t, --timeout time Set timeout(s) eg:5s (default 5s) -v, --verbose Show verbose information

root@kitploit:~
基本上所有的爆破模块使用方式都相同,指定用户名密码或者用户名密码字典即可,还可以指定爆破线程,这个线程和-T的线程不同,-T的线程代表我们并发扫描的目标数量(这个目标是ip和端口的组合,每次并发相当于对目标发送了一个数据包),burptheard代表当我们在上面的并发扫描的单个线程中发现了我们的目标端口例如mysql,他会在当前的扫描线程中开启一个多线程爆破(这里的目标换成了特定ip特定的一个端口,这里就需要进行限速,速度太快可能导致目标服务不可用)

</details>

<details>
<summary><b>module scan : modules de scan courants</b></summary>```
Usage:
  zscan scan [command]

Available Commands:
  ms17010     MS17_010 scan
  poc         poc check
  proxyfind   Scan proxy
  snmp        snmp scan
  winscan     netbios、smb、oxid scan

Flags:
  -h, --help   help for scan

Global Flags:
      --nobar           disable portscan progress bar
  -o, --output string   the path of result file (default "result.txt")
      --proxy string    Connect with a proxy(user:[email protected]:1080 or 172.16.95.1:1080)
  -T, --thread thread   Set thread eg:2000 (default 600)
  -t, --timeout time    Set timeout(s) eg:5s (default 5s)
  -v, --verbose         Show verbose information


module proxyfind : scanner les proxies dans le réseau, supporte actuellement socks4/5, ajoutera http plus tard
``` zscan scan proxyfind ``` ---

Cette branche est dépréciée

Cette branche ne sera plus maintenue. Le projet a été déplacé ici :

GoToSocial

Pour la documentation sur l'utilisation de ce code, veuillez consulter le tag v0.1.0 ou la version v0.1.0.

Liste des variables d'environnement

Lisez avant utilisation ! Cette liste n'est pas garantie complète, il est recommandé de consulter la documentation pour des informations complètes.``` Usage: zscan proxyfind [flags]

Flags: -h, --help help for proxyfind -H, --host hosts Set hosts(The format is similar to Nmap) eg:192.168.1.1/24,172.16.95.1-100,127.0.0.1 --hostfile string Set host file -p, --ports port Set port eg:1-1000,3306,3389 (default "1080,1089,8080,7890,10808") --type string Set the scan proxy type(socks4/socks5/http) (default "socks5")

Global Flags: --log Record the scan results in chronological order,Save path./log.txt -O, --output Whether to enter the results into a file(default ./result.txt),can use --path set --path string the path of result file (default "result.txt") -T, --thread thread Set thread eg:2000 (default 100) -t, --timeout time Set timeout(s) eg:5s (default 3s) -v, --verbose Show verbose information

root@kitploit:~
扫描内网中的代理服务器

-H 指定目标,-p指定端口,--type指定扫描的代理协议类型(目前支持socks4/5,其他协议还在努力中)
</details>

<details>
<summary><b>ms17010模块:ms17010漏洞批量扫描</b></summary>```
Usage:
  zscan scan ms17010 [flags]

Flags:
  -h, --help              help for ms17010
  -H, --host string       Set target
      --hostfile string   Set host file

Global Flags:
      --log             Record the scan results in chronological order,Save path./log.txt
  -O, --output          Whether to enter the results into a file(default ./result.txt),can use --path set
      --path string     the path of result file (default "result.txt")
  -T, --thread thread   Set thread eg:2000 (default 100)
  -t, --timeout time    Set timeout(s) eg:5s (default 3s)
  -v, --verbose         Show verbose information

只需要指定目标即可

Module winscan : inclut les fonctionnalités de scan Oxid, SMB, NetBIOS``` Usage: zscan scan winscan [flags]

Flags: -h, --help help for winscan -H, --host string Set target --hostfile string Set host file --netbios netbios scan --oxid oxid scan --smb smb scan

Global Flags: --log Record the scan results in chronological order,Save path./log.txt -O, --output Whether to enter the results into a file(default ./result.txt),can use --path set --path string the path of result file (default "result.txt") -T, --thread thread Set thread eg:2000 (default 100) -t, --timeout time Set timeout(s) eg:5s (default 3s) -v, --verbose Show verbose information

root@kitploit:~
如果直接给目标的话会同时扫描netbios,oxid,smb。可以使用--来指定只使用某一个

</details>

<details>
<summary><b>poc模块:既是一个单独模块也是一个功能在其他模块调用</b></summary>```
poc check

Usage:
  zscan scan poc [flags]

Flags:
  -h, --help             help for poc
  -l, --listpoc          List built in poc
      --pocname string   set the poc name
      --pocpath string   set target url
      --pocthread int    set poc scan thread (default 500)
  -u, --url string       set target url
      --urlfile string   set target file

Global Flags:
      --nobar           disable portscan progress bar
  -o, --output string   the path of result file (default "result.txt")
      --proxy string    Connect with a proxy(user:[email protected]:1080 or 172.16.95.1:1080)
  -T, --thread thread   Set thread eg:2000 (default 600)
  -t, --timeout time    Set timeout(s) eg:5s (default 5s)
  -v, --verbose         Show verbose information

-l/--list : Liste des POC intégrés de l'outil

--pocname : C'est en fait une option de filtrage, elle filtrera les POC dont le nom contient le champ spécifié (disponible pour la numérisation et la visualisation)

--pocpth : Si un répertoire est spécifié, tous les POC de ce répertoire seront utilisés ; si un POC est spécifié, seul ce POC sera utilisé

module serveur : démarrer le module serveur``` Usage: zscan server [command]

Available Commands: httpserver Start an authentication HTTP server socks5 Create a socks5 server

Flags: -h, --help help for server

Global Flags: --nobar disable portscan progress bar -o, --output string the path of result file (default "result.txt") --proxy string Connect with a proxy(user:[email protected]:1080 or 172.16.95.1:1080) -T, --thread thread Set thread eg:2000 (default 600) -t, --timeout time Set timeout(s) eg:5s (default 5s) -v, --verbose Show verbose information

root@kitploit:~
<details>
<summary><b>socks5 module: ouvrir un serveur socks5</b></summary>```
zscan socks5

0x05 Liens de référence
Consultez l'article détaillé sur cet outil (même principe que l'outil) : https://mp.weixin.qq.com/s/iSbrp_fOa2Ho0QgoKhYQxQ

0x06 Lien du projet
https://github.com/Mustard404/Auto_proxy``` Usage: zscan server socks5 [flags]

Flags: -a, --addr string Specify the IP address and port of the Socks5 service (default "0.0.0.0:1080") -h, --help help for socks5 -P, --password string Set the socks5 service authentication password -U, --username string Set the socks5 service authentication user name

Global Flags: --log Record the scan results in chronological order,Save path./log.txt -O, --output Whether to enter the results into a file(default ./result.txt),can use --path set --path string the path of result file (default "result.txt") -T, --thread thread Set thread eg:2000 (default 100) -t, --timeout time Set timeout(s) eg:5s (default 3s) -v, --verbose Show verbose information

root@kitploit:~
可以使用-a指定socks5服务监听的ip和端口

-p和-u指定代理的用户名和密码

</details>

<details>
<summary><b>httpserver模块:开启一个http服务器,支持身份认证和文件上传</b></summary>```
Usage:
 zscan server httpserver [flags]

Flags:
  -a, --addr string   set http server addr (default "0.0.0.0:7001")
  -d, --dir string    set HTTP server root directory (default ".")
  -h, --help          help for httpserver
  -P, --pass string   Set the authentication password
  -U, --user string   Set the authentication user

Global Flags:
      --log             Record the scan results in chronological order,Save path./log.txt
  -O, --output          Whether to enter the results into a file(default ./result.txt),can use --path set
      --path string     the path of result file (default "result.txt")
  -T, --thread thread   Set thread eg:2000 (default 100)
  -t, --timeout time    Set timeout(s) eg:5s (default 3s)
  -v, --verbose         Show verbose information
Module tools : intègre des outils courants``` Usage: zscan tools [command]

Available Commands: nc A easy nc

Flags: -h, --help help for tools

Global Flags: --nobar disable portscan progress bar -o, --output string the path of result file (default "result.txt") --proxy string Connect with a proxy(user:[email protected]:1080 or 172.16.95.1:1080) -T, --thread thread Set thread eg:2000 (default 600) -t, --timeout time Set timeout(s) eg:5s (default 5s) -v, --verbose Show verbose information

root@kitploit:~
<details>
<summary><b>Module nc : un nc simple, permettant d'ouvrir un port et de se connecter à un port.</b></summary>```
zscan nc

(empty input - no text to translate)``` Usage: zscan nc [flags]

Flags: -a, --addr string listen/connect host address eg(listen):-a 0.0.0.0:4444 eg(connect):-a 172.16.95.1:4444 -h, --help help for nc -l, --listen listen mode(default connect)

Global Flags: --log Record the scan results in chronological order,Save path./log.txt -O, --output Whether to enter the results into a file(default ./result.txt),can use --path set --path string the path of result file (default "result.txt") -T, --thread thread Set thread eg:2000 (default 100) -t, --timeout time Set timeout(s) eg:5s (default 3s) -v, --verbose Show verbose information

-a指定地址,不使用-l的话代表连接目标,使用-l为监听端口

root@kitploit:~
</details>

<details>
<summary><b>Module searchfile : recherche multi-thread de fichiers, avec support des expressions régulières</b></summary>```
Search files that support regular matching

Usage:
  zscan tools searchfile [flags]

Flags:
  -d, --dir string           set search base Dir
  -f, --file stringArray     set filename eg:zscan tools searchfile -d ./ -f pass.txt -f user.txt
  -h, --help                 help for searchfile
  -r, --regexp stringArray   Specifies the re matching parameters
      --walk int             Traversal turns on multithreading depth(Try not to go above 5) (default 3)

Global Flags:
      --nobar           disable portscan progress bar
  -o, --output string   the path of result file (default "result.txt")
      --proxy string    Connect with a proxy(user:[email protected]:1080 or 172.16.95.1:1080)
  -T, --thread thread   Set thread eg:2000 (default 600)
  -t, --timeout time    Set timeout(s) eg:5s (default 5s)
  -v, --verbose         Show verbose information
Module exploit : module d'exploitation après une attaque par force brute réussie sur un service``` Usage: zscan exploit [command]

Available Commands: ldap Ldap queries redis Redis utilizes modules snmp snmp scan sshlogin Login using a user name, password, or key sunlogin sunlogin RCE CNVD-2022-10270

Flags: -h, --help help for exploit

Global Flags: --nobar disable portscan progress bar -o, --output string the path of result file (default "result.txt") --proxy string Connect with a proxy(user:[email protected]:1080 or 172.16.95.1:1080) -T, --thread thread Set thread eg:2000 (default 600) -t, --timeout time Set timeout(s) eg:5s (default 5s) -v, --verbose Show verbose information

root@kitploit:~
<details>
<summary><b>module snmp : scan snmp</b></summary>```
Usage:
  zscan exploit snmp [flags]

MAIS veuillez noter : cela nécessite une connexion DNS externe fonctionnelle...``` Flags: --burpthread int Set burp password thread(recommend not to change) (default 100) --get string set an oid -h, --help help for snmp -H, --host string Set target --hostfile string Set host file -l, --listoid List commonly used OIDs --password string set a password (default "public") --passwordfile string passwords dict file, eg: ./dict/password.txt -p, --port port Set port (default 161) --version string specifies SNMP version to use. 1|2c|3 (default "2c") --walk string set an oid

Global Flags: --log Record the scan results in chronological order,Save path./log.txt -O, --output Whether to enter the results into a file(default ./result.txt),can use --path set --path string the path of result file (default "result.txt") -T, --thread thread Set thread eg:2000 (default 100) -t, --timeout time Set timeout(s) eg:5s (default 3s) -v, --verbose Show verbose information

root@kitploit:~
--listoid lister les informations de requête courantes```
0: 系统基本信息         SysDesc                 GET     1.3.6.1.2.1.1.1.0
1: 监控时间             sysUptime               GET     1.3.6.1.2.1.1.3.0
2: 系统联系人           sysContact              GET     1.3.6.1.2.1.1.4.0
3: 获取机器名           SysName                 GET     1.3.6.1.2.1.1.5.0
4: 机器所在位置         SysLocation             GET     1.3.6.1.2.1.1.6.0
5: 机器提供的服务       SysService              GET     1.3.6.1.2.1.1.7.0
6: 系统运行的进程列表   hrSWRunName             WALK    1.3.6.1.2.1.25.4.2.1.2
7: 系统安装的软件列表   hrSWInstalledName       WALK    1.3.6.1.2.1.25.6.3.1.2
8: 网络接口列表         ipAdEntAddr             WALK    1.3.6.1.2.1.4.20.1.1
sshlogin:可进行ssh账号密码和密钥登陆``` Usage: zscan exploit sshlogin [flags]

Flags: -h, --help help for sshlogin -H, --host string Set ssh server host -d, --keypath string Set public key path -k, --login_key Use public key login -P, --password string Set ssh password -p, --port int Set ssh server port (default 22) -U, --username string Set ssh username

Global Flags: --nobar disable portscan progress bar -o, --output string the path of result file (default "result.txt") --proxy string Connect with a proxy(user:[email protected]:1080 or 172.16.95.1:1080) -T, --thread thread Set thread eg:2000 (default 600) -t, --timeout time Set timeout(s) eg:5s (default 5s) -v, --verbose Show verbose information

root@kitploit:~
​	Connexion par mot de passe de compte : ./zscan exploit ssh -H 172.16.95.24 -U root -P 123456

​	Connexion par clé publique : ./zscan exploit ssh -H 172.16.95.24 -U root -k 

​	Par défaut, la connexion par clé publique va chercher la clé privée dans ./ssh sous le répertoire de l'utilisateur actuel. Vous pouvez spécifier le chemin de la clé privée avec -d/--keypath.

</details>

<details>
<summary><b>redis: module d'exploitation redis</b></summary>```
Usage:
  zscan exploit redis [flags]

Flags:
  -c, --command string    Set the command you want to execute eg:(zscan exploit redis -H 172.16.95.16 -P 123456 -c "keys *")
      --dstpath string    set target path
      --exec              use execute the command mode
  -h, --help              help for redis
  -H, --host string       Set redis server host
      --lhost string      set listen host(!!!Make sure the target has access!!!)
      --lport int         set listen port(!!!Make sure the target has access!!!) (default 20001)
      --lua               use CVE-2022-0543 to attack
  -P, --password string   Set redis password
  -p, --port int          Set redis server port (default 6379)
      --so string         set .so file path
      --srcpath string    set upload file path
      --upload            use upload mode

Global Flags:
      --nobar           disable portscan progress bar
  -o, --output string   the path of result file (default "result.txt")
      --proxy string    Connect with a proxy(user:[email protected]:1080 or 172.16.95.1:1080)
  -T, --thread thread   Set thread eg:2000 (default 600)
  -t, --timeout time    Set timeout(s) eg:5s (default 5s)
  -v, --verbose         Show verbose information
module sunlogin : module d'exploitation de la RCE Sunlogin``` sunlogin RCE CNVD-2022-10270

Usage: zscan exploit sunlogin [flags]

Flags: -c, --command string command you want to execute -h, --help help for sunlogin -H, --host string Set redis server host -p, --port int Set RCE port

Global Flags: --nobar disable portscan progress bar -o, --output string the path of result file (default "result.txt") --proxy string Connect with a proxy(user:[email protected]:1080 or 172.16.95.1:1080) -T, --thread thread Set thread eg:2000 (default 600) -t, --timeout time Set timeout(s) eg:5s (default 5s) -v, --verbose Show verbose information

root@kitploit:~
La découverte de vulnérabilités peut utiliser le module `ps` ou le module `all` pour scanner les ports 40000-65535, et permet d'identifier automatiquement les ports vulnérables.

Vous pouvez utiliser `-c` pour exécuter une commande, ou sans `-c` pour entrer en mode interactif (pseudo-interactif) et exécuter des commandes en fonction de l'entrée.

`-p` spécifie le port.

</details>

</details>

## 使用示例🤪

<details>
<summary><b>Découverte de sous-réseau par ping:zscan ping --discover local</b></summary>```
zscan ping --discover local或者
zscan ping --discover 192.168.0.0

Scan de ports ps : zscan ps -H ip``` zscan ps -H 172.16.95.1-30 [--noping禁用ping] zscan ps -H 172.16.95.1-30 --vulsacn //扫描完http banner之后进行poc探测 zscan ps -H 172.16.95.1-30 --nowebscan //只扫描端口,不进行http探测 ``` ![](https://assets.kitploit.com/production/public/readmes/5177/abda5c86b9152f1cbaa2bf48453657a948970a1d197fc6b37f55612db639032c.jpg) ![](https://assets.kitploit.com/production/public/readmes/5177/cd58bdc53b1644a3681763fe0bb3ffb0c5144c4e86fcd05ad72c6a6ac82f9611.jpg) ![](https://assets.kitploit.com/production/public/readmes/5177/1b2134fb3d91c5065923862db6eeaf838befb73a0ca0d5c9f3ffe20d817fabbe.jpg)
Bruteforce / connexion du module ssh ``` 爆破 zscan blast ssh -H 172.16.95.24 登录 zscan exploit ssh -H 172.16.95.24 -U root -P 123123 ``` ![](https://assets.kitploit.com/production/public/readmes/5177/b7c12e48ab63ea4592a1a8b37b39d35aa305f5dcec44a61a0e03eb83b766c7c0.jpg)
Bruteforce de module Redis / exécution de commandes``` 爆破 zscan blast redis -H 172.16.95.1-30 登录 zscan exploit redis -H 172.16.95.16 -c cmd ``` ![](https://assets.kitploit.com/production/public/readmes/5177/c105a39b6a4230ee42485b8e3b6fe93624b6ff77a13e061450361946712c5c0a.jpg)

winscan模块:zscan scan winscan -H ip``` zscan scan winscan -H 172.16.95.1-33 ``` ![](https://assets.kitploit.com/production/public/readmes/5177/4741150f5ed9a47d1770e04ab344b459e3624ad02634648d4c08a92f9b58397b.jpg)
Appeler tous les modules de scan et de force brute : zscan all -H ip``` zscan all -H 172.16.95.1-30 zscan all -H 172.16.95.1-30 --novulscan //不进行poc探测 ``` ![](https://assets.kitploit.com/production/public/readmes/5177/35c973af3de607d1483c3d657b5573ae82d27735bc22e64cb033c56c2635fff2.jpg)
Module de scan POC:zscan scan poc -u url``` zscan scan poc -l //列出所有内置poc zscan scan poc -l --pocname weblogic //列出内置和weblogic有关的poc zscan scan poc -u http://172.16.95.24:8080 //使用所有内置poc扫描目标 zscan scan poc -u http://172.16.95.24:8080 --pocname weblogic //只使用weblogic的poc zscan scan poc -U http://172.16.95.24:8080 --pocpath /root/pocs //使用整个pocs目录下的poc zscan scan poc --urlfile url.txt --pocpath /root/pocs/weblogic.yml //使用单个poc批量扫描目标 ```

Avantages de l'outil 🚀

  • Commandes simples et pratiques, appels de fonctions de module clairs et concis, faciles à étendre pour ajouter de nouvelles fonctionnalités, et aussi faciles à supprimer les modules inutiles
  • Fonction de découverte de sous-réseau unique. Si vous avez de meilleures méthodes de découverte, faites-le moi savoir et je les ajouterai 😜
  • Ce n'est pas seulement un scanner, il intègre également diverses fonctions pratiques courantes, avec une fonction proxy intégrée (en raison de l'absence d'interface fournie par le pilote de base de données, MSSQL, Mongo, Postgres ne peuvent pas passer par le proxy pour le brute-force et l'exécution de commandes. Si quelqu'un sait comment faire, contactez-moi). On peut l'appeler une boîte à outils.
  • Intégration transparente entre le scan de ports et le brute-force, améliorant considérablement la vitesse de scan : cet avantage est pleinement démontré dans le module all. Pendant le scan multithread des ports, il détecte les ports ouverts. Si un port peut être bruteforcé, un nouveau thread est immédiatement lancé dans le thread actuel pour effectuer le brute-force. Cela augmente considérablement la vitesse. Cela élimine l'étape intermédiaire consistant à d'abord obtenir les ports ouverts puis à les bruteforcer.
  • Format de sortie esthétique et lisible : différenciation par couleur. Non seulement la sortie est effectuée pendant le processus, mais un résultat de scan est également généré à la fin du scan, affichant tous les résultats de scan et de brute-force du processus (voir le format de sortie ci-dessus dans l'introduction). De plus, il prend en charge l'enregistrement des résultats de scan dans un fichier.
  • Pour les services, non seulement il peut bruteforcer, mais aussi exécuter des commandes en cas de succès. Plus tard, une fonction d'exploitation en un clic sera ajoutée.
  • En cours de développement. Si vous trouvez des bugs ou si vous avez des demandes de fonctionnalités nouvelles et intéressantes, n'hésitez pas à me contacter.

Compilation du code source 👨

Il est recommandé de compiler vous-même. Les versions release peuvent parfois ne pas être mises à jour. Pour une raison ou une autre, je ne fournis plus de zscan pré-compilé. Les commandes de compilation se trouvent ci-dessous.``` go get github.com/zyylhn/zscan go bulid 或者docker编译 docker pull golang docker run -v "$GOPATH":/go -v "$PWD":/go/src/zscan -w /go/src/zscan -e GOOS="darwin" -e GOARC H="amd64" golang go build -v -ldflags="-s -w" -trimpath -o zscan_mac_x64 docker run -v "$GOPATH":/go -v "$PWD":/go/src/zscan -w /go/src/zscan -e GOOS="windows" -e GOAR CH="amd64" golang go build -v -ldflags="-s -w" -trimpath -o zscan_x64.exe docker run -v "$GOPATH":/go -v "$PWD":/go/src/zscan -w /go/src/zscan -e GOOS="linux" -e GOARCH ="amd64" golang go build -v -ldflags="-s -w" -trimpath -o zscan_linux_x64

root@kitploit:~
## Avertissement légal 🧐

Cet outil est destiné uniquement aux **actions de sécurité autorisées légalement** au sein des entreprises. Si vous souhaitez tester sa disponibilité, veuillez configurer votre propre environnement cible.

Lorsque vous utilisez cet outil pour des tests, assurez‑vous que cette action est conforme aux lois et réglementations locales et que vous avez obtenu les autorisations nécessaires. **N'effectuez pas de scan sur des cibles non autorisées.**

Si vous commettez un acte illégal en utilisant cet outil, vous assumez seul les conséquences ; nous déclinons toute responsabilité légale ou conjointe.

Avant d'installer et d'utiliser cet outil, veuillez **lire attentivement et comprendre pleinement toutes les clauses**. Les clauses de limitation, d'exonération de responsabilité ou toute autre clause affectant vos droits importants peuvent être mises en évidence en gras ou soulignées. À moins que vous n'ayez lu, compris et accepté toutes les clauses de cet accord, veuillez ne pas installer ni utiliser cet outil. Votre utilisation ou toute autre indication expresse ou implicite de votre acceptation de cet accord constitue votre lecture et votre accord d'être lié par cet accord.

## Références 👀

https://github.com/shadow1ng/fscan

https://github.com/k8gege/LadonGo

## Progression des mises à jour 💪

### Modules fonctionnels

- [x] Module ping : découverte d'hôtes par ping
  - [x] Appel du ping système
  - [x] Envoi de paquets ICMP
  - [x] Découverte de segments réseau internes
    - [x] Ping de la passerelle du segment B
    - [x] Scan OXID
- [x] Module de scan de ports
  - [x] Récupération du titre HTTP et du code d'état
  - [x] Reconnaissance d'empreinte HTTP
  - [x] Validation POC HTTP
  - [x] Retour d'informations de bannière
  - [x] Ping avant scan
- [x] Module all : appelle tous les modules
- [x] Module blast
    - [x] Module SSH
    - [x] Module FTP
    - [x] Module MySQL
    - [x] MSSQL
    - [x] Module MongoDB
    - [x] Module Redis
    - [x] Module PostgreSQL
    - [x] LDAP
    - [x] SMB
    - [x] RDP
- [x] Module scan
    - [x] Module de scan de serveur proxy
        - [x] Scan de serveur proxy SOCKS5
    - [x] Module winscan @https://github.com/shenzhibuqins
        - [x] Fonctionnalité de scan SMB
        - [x] Fonctionnalité de scan OXID
        - [x] Fonctionnalité de scan NetBIOS
    - [x] Module de scan 17010
    - [x] POC
        - [x] Prise en charge de xray v1
        - [ ] Prise en charge de xray v2

- [x] Module serveur
  - [x] Module serveur SOCKS
    - [x] Authentification par nom d'utilisateur et mot de passe
  - [x] Module de démarrage du serveur HTTP
      - [x] Fonctionnalité d'authentification
      - [x] Fonctionnalité de téléversement de fichiers

- [x] Module outil
    - [x] Module nc
        - [x] Fonctionnalité d'écoute de port
        - [x] Fonctionnalité de connexion de port

    - [x] Fonctionnalité de recherche de fichiers
        - [x] Recherche simultanée de plusieurs fichiers, multithread
        - [x] Recherche par expression régulière
        - [ ] Recherche de contenu dans les fichiers
    - [ ] Fonctionnalité de compression de dossier

- [x] Module exploit
    - [x] Module sshlogin
        - [x] Fonctionnalité de connexion par nom d'utilisateur et mot de passe (interactive)
        - [x] Fonctionnalité de connexion par clé (interactive)
    - [x] Module Redis
        - [x] Exécution de commandes Redis
        - [x] Vulnérabilité d'évasion de sandbox Lua
        - [x] RCE par réplication maître‑esclave
    - [x] Requête LDAP
    - [ ] Requête SNMP
    - [ ] Module WMI

- [ ] ..........

### Fonctionnalités de l'outil lui‑même

- [x] Exportation des résultats vers un fichier
- [x] Fonctionnalité de journalisation de chaque exécution
- [x] Fonctionnalité de configuration des threads (scan supporte des threads très élevés)
- [x] Fonctionnalité de configuration du délai d'attente
- [x] Fonctionnalité de proxy
	- [ ] Proxy pour le protocole UDP
	- [x] Proxy pour le protocole TCP
	- [x] Proxy pour le brute‑force de services et l'exécution de commandes
		- [x] MySQL
		- [ ] MSSQL
		- [x] Redis
		- [x] MongoDB
		- [ ] PostgreSQL
		- [x] SSH
		- [x] FTP
- [x] Fonctionnalité de lecture des cibles depuis un fichier
- [x] Brute‑force prenant en charge les très grands dictionnaires
- [ ] ..........

### Objectifs futurs

- [ ] Améliorer les modules de brute‑force des serveurs dans la version actuelle, prendre en charge plus de commandes, viser une utilisation sans obstacle des commandes, et ajouter un module d'exploitation de base de données (exploitation après un brute‑force réussi de la base de données)
  - [ ] Mysql
  - [ ] Mssql
  - [ ] Postgres
  - [ ] Mongodb
  - [ ] Ftp
- [ ] Publier une version allégée de zscna
  - [ ] Supprimer tous les pilotes de base de données pour réduire la taille, au prix de ne pas pouvoir exécuter de commandes
  - [ ] Supprimer les modules de base de données peu utilisés ou inutiles

Merci pour les étoiles, les amis ! 🥳

Bienvenue pour poser des questions 👏

N'hésitez pas à partager des empreintes Web et des POC

Les amis qui aiment écrire des outils en Go peuvent nous rejoindre : [email protected] 😃
Télécharger l’outil

--pocthread : Threads pour le scan POC

--url/--urlfile : Spécifier la cible, -u/--url pour une cible unique, ou via un fichier txt pour un scan par lots

Lance un serveur HTTP simple, capable de télécharger et d'uploader des fichiers. Pour uploader, il faut utiliser le paramètre -u

-a spécifie l'IP et le port d'écoute

-d spécifie le répertoire racine du serveur HTTP

-P et -U définissent le nom d'utilisateur et le mot de passe pour l'authentification

-d指定搜索的根目录,linux可以使用相对路径,winsows上需要绝对路径

-f指定要搜索的文件名,可以使用-f 文件名1 -f 文件名2 来搜索多个文件

-r是使用正则,其实本质上-f也是使用正则只不过给替换成^文件名$

--walk是指遍历开启线程的目录深度:逻辑上是在给定的目录下面遍历有多少文件夹,然后开启多少线程去遍历这些子文件夹,所有这个深度不要太高,虽然越深越快,但是会导致cpu利用过高(三层其实就已经会占用很高了,所以特殊场景建议使用1)

可以通过使用--walk和--get进行查询

密码不指定的话默认使用public

-c用来执行普通的redis命令模式

--exec:使用主从复制执行命令模式

--upload:使用主从复制的上传文件模式

--lua:使用lua沙箱逃逸漏洞模式

以上四个参数必须需要其中一个

--detpath:用来指定主从复制将文件上传到目标的绝对路径

--lport:主从复制时主节点(也就是zscan)监听的端口,默认20001

--lhost:主从复制时主节点(也就是zscan)监听的地址,必须要保证目标redis能访问到

--so:主从复制执行命令的时候上传到目标上的so文件

--srcpath:主从复制上传文件的源文件