XRay 已用 Rust 重新实现并扩展了更多功能,此仓库为遗留代码。请使用 https://github.com/evilsocket/legba
XRay 是一款用于网络 OSINT 收集的工具,其目标是自动化信息收集和网络映射的一些初始任务。
XRay 是一个非常简单的工具,其工作方式如下:
抓取器和收集器
Server、X-Powered-By 和 Location 头部。robots.txt 禁止条目。<title> 标签。version.bind. 和 hostname.bind. 记录。Shodan API 密钥
shodan.io 的 API 密钥参数(-shodan-key KEY)是可选的,但如果不指定,将不会执行服务指纹识别,显示的信息也会少很多(基本上只是 DNS 子域名枚举)。
ViewDNS API 密钥
如果提供了 ViewDNS API 密钥参数(-viewdns-key KEY),还会检索域名的历史数据。
匿名性与法律问题
该软件将依赖您的主 DNS 解析器来枚举子域名,此外,可能会从您的主机直接连接到您正在扫描的网络中的计算机,以获取开放端口的横幅。从技术上讲,您只是连接到具有开放端口的公共地址(并且没有进行端口扫描,因为此类信息是通过 Shodan API 间接获取的),但您知道,有些人可能不喜欢这种行为。
如果我是您,我会想办法对整个过程进行代理…… #justsaying
要使用最新版本的 XRay 构建 Docker 镜像:
git clone https://github.com/evilsocket/xray.git
cd xray
docker build -t xraydocker .
构建完成后,可以使用以下命令在 Docker 容器中启动 XRay:
docker run --rm -it -p 8080:8080 xraydocker xray -address 0.0.0.0 -shodan-key shodan_key_here -domain example.com
请确保您使用的是 Go >= 1.7,安装正常,已设置 $GOPATH 变量,并且已将 $GOPATH/bin 添加到 $PATH 中。
然后:
go get github.com/evilsocket/xray
cd $GOPATH/src/github.com/evilsocket/xray/
make
您将在 build 文件夹中找到可执行文件。
Usage: xray -shodan-key YOUR_SHODAN_API_KEY -domain TARGET_DOMAIN
Options:
-address string
IP 地址,用于绑定 Web UI 服务器。(默认 "127.0.0.1")
-consumers int
子域名枚举使用的并发消费者数。(默认 16)
-domain string
开始枚举的基础域名。
-port int
TCP 端口,用于绑定 Web UI 服务器。(默认 8080)
-preserve-domain
不从提供的域名中移除子域名。
-session string
会话文件名。(默认 "<domain-name>-xray-session.json")
-shodan-key string
Shodan API 密钥。
-viewdns-key string
ViewDNS API 密钥。
-wordlist string
用于枚举的字典文件。(默认 "wordlists/default.lst")
示例:
# xray -shodan-key yadayadayadapicaboo... -viewdns-key foobarsomethingsomething... -domain fbi.gov
____ ___
\ \/ /
\ RAY v 1.0.0b
/ by Simone 'evilsocket' Margaritelli
/___/\ \
\_/
@ Saving session to fbi.gov-xray-session.json
@ Web UI running on http://127.0.0.1:8080/
XRay 由 Simone Margaritelli 用 ♥ 制作,并以 GPL 3 许可证发布。
wordlists 文件夹中的文件来自数周内多个开源工具,我记不全了。如果您在此处找到您的项目的字典并希望被提及,请随时提交 issue 或发送 pull request。