信息快速收集工具 -- SX
2022-9-29 08:2:39 Author: Web安全工具库(查看原文) 阅读量:21 收藏

===================================

免责声明
请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具来自网络,安全性自测,如有侵权请联系删除。

0x01 工具介绍

sx是按照 UNIX 理念设计的命令行网络扫描程序。这个项目的目标是用干净简单的代码创建最快的网络扫描仪。主要功能:

1、比 nmap快 30 倍

2、ARP 扫描:扫描您的本地网络以检测活动设备

3、ICMP 扫描:使用高级 ICMP 扫描技术来检测活动主机和防火墙规则

4、TCP SYN 扫描:传统的半开扫描以查找打开的 TCP 端口

5、TCP FIN / NULL / Xmas 扫描:绕过某些防火墙规则的扫描技术

6、带有任何 TCP 标志的自定义 TCP 扫描

7、UDP 扫描:扫描 UDP 端口并获取完整的 ICMP 回复以检测开放端口或防

    火墙规则

8、应用程序扫描:SOCKS5 扫描,Docker 扫描,Elasticsearch scan

9、使用有限循环乘法组对 IP 地址进行随机迭代

10、JSON输出支持:sx专为方便的自动处理结果而设计

0x02 安装与使用

ARP扫描

扫描您的本地网络并显示连接设备的 IP 地址、MAC 地址和相关硬件供应商:

sx arp 192.168.0.1/24

样本输出:

192.168.0.1          b0:be:76:40:05:8d    TP-LINK TECHNOLOGIES CO.,LTD.192.168.0.111        80:c5:f2:0b:02:e3    AzureWave Technology Inc.192.168.0.171        88:53:95:2d:3c:af    Apple, Inc.

使用 JSON 输出:

sx arp --json 192.168.0.1/24

样本输出:

{"ip":"192.168.0.1","mac":"b0:be:76:40:05:8d","vendor":"TP-LINK TECHNOLOGIES CO.,LTD."}
{"ip":"192.168.0.111","mac":"80:c5:f2:0b:02:e3","vendor":"AzureWave Technology Inc."}
{"ip":"192.168.0.171","mac":"88:53:95:2d:3c:af","vendor":"Apple, Inc."}

在退出接收延迟回复数据包之前等待 5 秒,默认sx等待 300 毫秒:

sx arp --exit-delay 5s 192.168.0.1/24

每 10 秒重新扫描一次网络的实时扫描模式:

sx arp 192.168.0.1/24 --live 10s

TCP扫描

与在实际扫描之前隐式执行 ARP 请求以将 IP 地址解析为 MAC 地址的 nmap 和其他扫描器不同,它sx明确使用ARP 缓存概念。ARP 缓存文件是一个简单的文本文件,每行都包含 JSON 字符串(JSONL文件),它具有与上述 ARP 扫描 JSON 输出相同的 JSON 字段。TCP 和 UDP 等高级协议的扫描从标准输入读取 ARP 缓存文件,然后开始实际扫描。
这不仅简化了程序的设计,而且加快了扫描过程,因为不必每次都执行 ARP 扫描。
假设实际的 ARP 缓存在arp.cache文件中。我们可以手动创建或使用 ARP 扫描,如下所示:
sx arp 192.168.0.1/24 --json | tee arp.cache
一旦我们有了 ARP 缓存文件,我们就可以运行更高级别的协议扫描,例如 TCP SYN 扫描:
cat arp.cache | sx tcp -p 1-65535 192.168.0.171
样本输出:
192.168.0.171        22192.168.0.171        443
在这种情况下,我们发现端口 22 和 443 是开放的。欢迎关注微信公众号:web安全工具库
使用 JSON 输出扫描:
cat arp.cache | sx tcp  --json -p 1-65535 192.168.0.171
样本输出:
{"scan":"tcpsyn","ip":"192.168.0.171","port":22}{"scan":"tcpsyn","ip":"192.168.0.171","port":443}
扫描多个端口范围:
cat arp.cache | sx tcp -p 1-23,25-443 192.168.0.171
或个别端口:
cat arp.cache | sx tcp -p 22,443 192.168.0.171
或使用该--ports-file选项指定一个文件,其中包含要扫描的端口或端口范围,每行一个。
从带有 JSON 输出的文件中扫描 ip/port 对:
cat arp.cache | sx tcp --json -f ip_ports_file.jsonl
输入文件的每一行都是一个 json 字符串,其中必须包含ipport字段。
示例输入文件:
{"ip":"10.0.1.1","port":1080}{"ip":"10.0.2.2","port":1081}
可以使用-aor--arp-cache选项指定 ARP 缓存文件:
sx tcp -a arp.cache -p 22,443 192.168.0.171
或标准输入重定向:
sx tcp -p 22,443 192.168.0.171 < arp.cache
您还可以使用tcp syn子命令代替tcp
cat arp.cache | sx tcp syn -p 22 192.168.0.171
tcptcp syn除非传递了选项,否则subcomand 只是 subcommand 的简写--flags,见下文。

SOCKS5 扫描

sx可以检测实时 SOCKS5 代理。要进行扫描,您必须指定 IP 范围或带有 ip/端口对的 JSONL 文件。
例如,IP 范围扫描:
sx socks -p 1080 10.0.0.1/16
从带有 JSON 输出的文件中扫描 ip/port 对:
sx socks --json -f ip_ports_file.jsonl 
输入文件的每一行都是一个 json 字符串,其中必须包含ipport字段。
示例输入文件:
{"ip":"10.0.1.1","port":1080}{"ip":"10.0.2.2","port":1081}
您还可以指定要扫描的端口范围:
sx socks -p 1080-4567 -f ips_file.jsonl
在这种情况下,只会从文件中获取 IP 地址,并且不再需要端口字段。

0x03 项目链接下载

1、通过阅读原文,到项目地址下载

2、关注公众号"web安全工具库",后台回复:20220929

· 推 荐 阅 读 ·

《x64汇编语言:从新手到AVX专家》

从简单和基本的程序开始,一直讲到 AVX 编程。,专门针对Linux上的汇编,了解如何在Windows 上进行汇编。帮助读者快速掌握64 位汇编语言。


文章来源: http://mp.weixin.qq.com/s?__biz=MzI4MDQ5MjY1Mg==&mid=2247504836&idx=1&sn=158e5319414b4212e76eae17d8152816&chksm=ebb53cc7dcc2b5d1d909922612a48321ad6ca803734902616863a77fcb8f07e849bd8eb88788#rd
如有侵权请联系:admin#unsafe.sh