本文总结各类内网存活主机发现姿势...
0x01 基于ARP发现内网存活主机 ARP协议
1 地址解析协议(英文:Address Resolution Protocol,缩写:ARP)是一个通过解析网络层地址来找寻数据链路层地址的网络传输协议,根据IP地址获取物理地址。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址
1. nmap扫描 1 $ nmap -sn -PR 192.168.1.1/24
2. msf扫描 msf > use auxiliary/scanner/discovery/arp_sweep
msf auxiliary(arp_sweep) > set RHOSTS 192.168.1.0/24
msf auxiliary(arp_sweep) > set THREADS 16
msf auxiliary(arp_sweep) > run
3. arp-scan 1 2 3 $ yum -y install arp-scan //安装 $ arp-scan --interface=eth0 --localnet //发现本地网络上所有主机
4. powershell c:>powershell.exe -exec bypass -Command "Import-Module .\arpscan.ps1;Invoke-ARPScan -CIDR 192.168.1.0/24"
5. netdiscover $ netdiscover -r 192.168.1.0/24 -i wlan0
0x02 基于ICMP发现内网存活主机 ICMP协议
1 ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用
1. nmap扫描 $ nmap -sP -PI -T4 192.168.0.1/24
2. ping 1 2 3 4 5 1) Windows扫描 for /l %i in (1,1,255) do @ping 192.168.0.%i -w 1 -n 1|findstr /i "ttl=" 2)Linux扫描 for i in $( seq 1 255);do ping -c 1 192.168.0.$i|grep "ttl"|awk -F "[ :]+" '{print $4}'; done
3. fping 常用参数
1 2 3 4 5 6 7 8 9 -a:只显示存活主机; -u:只显示不存活主机; -l:循环ping -g:指定扫描范围 -f:扫描IP列表文件
扫描实战
1 2 3 $ fping -af iplist //从文件中扫描存活主机 $ fping -g IP1 IP2 //IP1地址开始范围,IP2地址结束范围
powershell 1 2 3 powershell.exe ‐exec bypass ‐Command "Import‐Module ./Invoke‐TSPingSweep.ps1 ; Invoke‐TSPingSweep ‐StartAddress 192.168.1.1 ‐EndAddress 192.168.1.254 ‐Resolv eHost ‐ScanPort ‐Port 445,135"
tcping tcping.exe ‐n 1 192.168.1.0 80
0x03 基于UDP发现内网存活主机 UDP协议
1 用户数据报协议(英语:User Datagram Protocol,缩写:UDP;又称用户数据包协议)是一个简单的面向数据报的通信协议,位于OSI模型的传输层;UDP报文没有可靠性保证、顺序保证和流量控制字段等,可靠性较差,但在数据传输过程中延迟小、数据传输效率高,适合对可靠性要求不高的应用程序
1. msf扫描 1 2 msf > use auxiliary/scanner/discovery/udp_probe msf > use auxiliary/scanner/discovery/udp_sweep
2. unicornscan 1 $ unicornscan -mU 192.168.1.1
3. nmap 1 $ nmap -sU -T5 -sV --max-retries 1 192.168.1.1 -p 500
0x04 基于snmp发现内网存活主机 SNMP协议
1 SNMP是一种简单网络管理协议,它属于TCP/IP五层协议中的应用层协议,用于网络管理的协议。SNMP主要用于网络设备的管理。SNMP协议主要由两大部分构成:SNMP管理站和SNMP代理。SNMP管理站是一个中心节点,负责收集维护各个SNMP元素的信息,并对这些信息进行处理,最后反馈给网络管理员;而SNMP代理是运行在各个被管理的网络节点之上,负责统计该节点的各项信息,并且负责与SNMP管理站交互,接收并执行管理站的命令,上传各种本地的网络信息
1. nmap扫描 1 $ nmap -sU --script snmp-brute 192.168.1.0/24 -T4
2. msf扫描 1 msf > use auxiliary/scanner/snmp/snmp_enum
0x05 基于netbios发现内网存活主机 netbios协议
1 该协议是一种在局域网上的程序可以使用的应用程序编程接口(API),为程序提供了请求低级服务的同一的命令集,作用是为了给局域网提供网络以及其他特殊功能;系统可以利用WINS服务、广播及Lmhost文件等多种模式将NetBIOS名-特指基于NETBIOS协议获得计算机名称——解析为相应IP地址,实现信息通讯,所以在局域网内部使用NetBIOS协议可以方便地实现消息通信及资源的共享
1. nmap扫描 1 $ nmap -sU --script nbstat.nse -p137 192.168.1.0/24 -T4
2. msf扫描 1 msf > use auxiliary/scanner/netbios/nbname
3. nbtscan扫描 1 2 3 $ nbtscan -r 192.168.1.0/24 $ nbtscan -v -s: 192.168.1.0/24