chaos 是一款由 RST 与 ChatGPT 合作开发的“源站”IP 扫描器。它是一款小众工具,目标用户主要是渗透测试人员和漏洞猎人。
“源站 IP”是一个术语,指通过第三方公开提供服务的网站最终的公网 IP 地址。如果您想了解更多关于源站 IP 的信息,请查看我们的博客文章。
chaos 从概念到功能原型在不到 24 小时内快速实现,遵循了我们使用 ChatGPT 进行 DevOps 的原则。
usage: chaos.py [-h] -f FQDN -i IP [-a AGENT] [-C] [-D] [-j JITTER] [-o OUTPUT] [-p PORTS] [-P] [-r] [-s SLEEP] [-t TIMEOUT] [-T] [-v] [-x]
_..._
.-'` `'-.
__|___________|__
\ /
`._ CHAOS _.'
`-------`
/ \\
/ \\
/ \\
/ \\
/ \\
/ \\
/ \\
/ \\
/ \\
/_____________________\\
CHAtgpt Origin-ip Scanner
_______ _______ _______ _______ _______
|\\ /|\\ /|\\ /|\\ /|\\/|
| +---+ | +---+ | +---+ | +---+ | +---+ |
| |H | | |U | | |M | | |A | | |N | |
| |U | | |S | | |A | | |N | | |C | |
| |M | | |E | | |N | | |D | | |O | |
| |A | | |R | | |C | | | | | |L | |
| +---+ | +---+ | +---+ | +---+ | +---+ |
|/_____|\\_____|\\_____|\\_____|\\_____\\
Origin IP Scanner developed with ChatGPT
cha*os (n): complete disorder and confusion
(ver: 0.9.4)

cd 路径/到/chaospip3 install -U pip setuptools virtualenvvirtualenv envsource env/bin/activate(env) pip3 install -U -r ./requirements.txt(env) ./chaos.py -h-h, --help 显示此帮助信息并退出
-f FQDN, --fqdn FQDN FQDN 文件路径(每行一个 FQDN)
-i IP, --ip IP HTTP 请求的 IP 地址(逗号分隔的 IP、IP 网络,和/或包含每行 IP/网络的文件)
-a AGENT, --agent AGENT
请求的 User-Agent 头值
-C, --csv 将 CSV 输出追加到 OUTPUT_FILE.csv
-D, --dns 在请求前对 FQDN/IP 值执行正向/反向 DNS 查找;不影响测试队列
-j JITTER, --jitter JITTER
为睡眠值添加 0-N 秒随机延迟
-o OUTPUT, --output OUTPUT
将控制台输出追加到 FILE
-p PORTS, --ports PORTS
要使用的 TCP 端口列表(逗号分隔,默认:"80,443")
-P, --no-prep 不预先使用 `GET /` 和 `Host: {IP:Port}` 头扫描每个 IP/端口以排除无响应的主机
-r, --randomize 随机化(大致)测试 IP/端口的顺序
-s SLEEP, --sleep SLEEP
在完成线程前添加 N 秒
-t TIMEOUT, --timeout TIMEOUT
等待无响应主机 N 秒
-T, --test 测试模式;不发送请求
-v, --verbose 启用详细输出
-x, --singlethread 单线程执行;适用于 1-2 核心系统;默认线程数=(核心数-1) 若核心数>2
启动 Python HTTP 服务器
% python3 -u -m http.server 8001
Serving HTTP on :: port 8001 (http://[::]:8001/) ...
启动 ncat 作为 HTTP 监听在一个被检测为 SSL 的端口上;使用循环因为 --keep-open 可能挂起
% while true; do ncat -lvp 8443 -c 'printf "HTTP/1.0 204 Plaintext OK\n\n<html></html>\n"'; done
Ncat: Version 7.94 ( https://nmap.org/ncat )
Ncat: Listening on [::]:8443
Ncat: Listening on 0.0.0.0:8443
同样启动 ncat 作为 SSL 监听在一个默认检测为 HTTP 的端口上
% while true; do ncat --ssl -lvp 8444 -c 'printf "HTTP/1.0 202 OK\n\n<html></html>\n"'; done
Ncat: Version 7.94 ( https://nmap.org/ncat )
Ncat: Generating a temporary 2048-bit RSA key. Use --ssl-key and --ssl-cert to use a permanent one.
Ncat: SHA-1 fingerprint: 0208 1991 FA0D 65F0 608A 9DAB A793 78CB A6EC 27B8
Ncat: Listening on [::]:8444
Ncat: Listening on 0.0.0.0:8444
准备一个 FQDN 文件:
% cat ../test_localhost_fqdn.txt
www.example.com
localhost.example.com
localhost.local
localhost
notreally.arealdomain
准备一个 IP 文件/列表:
% cat ../test_localhost_ips.txt
127.0.0.1
127.0.0.0/29
not_an_ip_addr
-6.a
=4.2
::1
运行扫描
