主动信息收集
直接与目标系统交互通信
无法避免留下访问痕迹
使用受控的第三方电脑进行探测
- 使用代理或已经被控制的主机
- 做好被封杀的准备
- 使用噪声迷惑目标,淹没真实的探测流量
扫描
- 发送不同的探测,根据返回结果判断目标状态
发现
- 识别活着的主机
- 潜在的被攻击目标
- 输出一个IP地址列表
- 2、3、4层发现
二层发现
优点:扫描速度快,可靠。
缺点:不可路由
Arp协议
- 抓包
arping
arping 1.1.1.1 -c 1
- 编写一个扫描本网段的脚本
- 编写一个扫描指定ip列表的脚本
nmap -sn(nmap还发了一个反向域名解析请求)
- nmap -sn -iL
Netdiscover
- 专用于二层发现
- 可用于无线和交换网络
- 主动和被动探测
- 主动:
- netdiscover -i eth0 -r 1.1.1.0/24
- netdiscover -l iplist.txt
- 被动:
- netdiscover -p
- 主动:
Scapy
- Python库
- 也可作为单独的工具使用
- 抓包、分析、创建、修改、注入网络流量
apt-get install python3-gnuplot
Scapy
- ARP().display()
- sr1()
- Python脚本
在不同的环境下可使用的工具不确定。
三层发现
优点
- 可路由
- 速度比较快
缺点
- 速度比二层慢
- 经常被边界防火墙过滤
IP、ICMP协议
ping
traceroute(发的UDP,IP段的TTL=0后会返回ICMP),每一跳是路由器的内侧网口
ping -R返回的是外侧网口 点这里了解更多关于ping -R
- 编写ping扫描网段脚本
Scapy
- 分别用shell和python编写ping扫描网段脚本
- 读取文件扫描ip列表
- 分别用shell和python编写ping扫描网段脚本
nmap -sn
- 如果ip是本网段的就是二层扫描,否则是三层扫描。
- 发送了2个ICMP请求,type是8和13.发送了两个TCP消息,一个443 SYN,一个80 ACK。
- 对于每个消息如果目标没有响应就会再发一遍。两遍都没有响应就判定host is down.
fping
- fping支持地址段扫描
- fping -g 192.168.1.100 192.168.1.200 -c 1
Hping
- 能够发送激活任意TCP/IP包
- 功能强大但每次只能扫描一个目标
四层发现
优点
- 可路由且结果可靠
- 不太可能被防火墙过滤
- 甚至可以返现所有端口都被过滤的主机
缺点
- 基于状态过滤的防火墙可能过滤扫描
- 全端口扫描速度慢
TCP
- 未经请求的ACK——RST
- SYN——SYN/ACK、RST
UDP
- ICMP端口不可达、一去不复返
ACK——TCP Port——RST
- Scapy
- Python脚本
nmap - x.x.x.x -PU53333 -sn UDP扫描53333端口
nmap - x.x.x.x -PA53333 -sn ACK扫描53333端口 (PS PA PU PY(SCTP))
hping3 –udp xxx -c 1
其他命令
- |egrep -v “xxx”
- 除符合xxx的字段