被动信息搜集:基于公开渠道的信息获取
信息收集内容
• IP地址段
• 域名信息
• 邮件地址
• ⽂档图⽚数据
• 公司地址
• 公司组织架构
• 联系电话 / 传真号码
• ⼈员姓名 / 职务
• 目标系统使⽤的技术架构
• 公开的商业信息
DNS信息收集——NSLOOKUP
• nslookup www.sina.com
• server
• type=a、 mx、 ns、 any
• nslookup -type=ns example.com 156.154.70.22
第一个阶段:
arping
• arping 1.1.1.1 -c 1 -c 发起arp包次数,可以用wirshark做筛选
• arping 1.1.1.1 -d -d 发现重复响应
• arping -c 1 1.1.1.1 | grep "bytes from" | cut -d" " -f 5 | cut -d "(" -f 2 | cut -d")" -f 1
自定义脚本:
• arping1.sh eth0 > addrs 对连续多个IP地址扫描
• arping2.sh addrs 对文件中不连续的连续多个IP地址扫描
nmap(简介二层发现)
• nmap 1.1.1.0/24 –sn 连续扫描
• nmap -iL iplist.txt -sn 不连续扫描
被动方式,可以用ping、arping命令发出包,用netdiscover -p 监听,获取数据
输入scapy,进入console
结合wireshark看包头的结构
具体过程:
arp=ARP() 定义变量
arp.display 查看变量内容
arp.pdst="192.168.1.1"
sr1(arp) 发出请求,并返回结果
answer=sr1(arp)
answer.display()
用python脚本开发ARP扫描
arp1.py
arp2.py
traceroute www.sina.com
TTL值:time to live,默认64,每经过一个路由减一
nmap在同一网段发ARP包,不同网段发ICMP包
只要IP存在,既有ACK返回包。
用wireshark观察结果
proto=1,表明返回的上层是ICMP协议
实验启动两台虚拟机:windows、metasploitable的虚拟机
打开wireshark抓包
在scapy运行:发出syn请求
用a.display()观察,也可以用wireshark观察
用脚本实现:
调用:如果目标主机开放防火墙,可能不会扫描到结果
iptables -A OUTPUT -p tcp --tcp-flags RST RST -d 192.168.20.2 -j DROP
防火墙加入规则:向目标IP发的RST包都DROP掉
-w 1 设置超时时间1秒
-z 表明做端口扫描