内网存活主机发现姿势

本文总结各类内网存活主机发现姿势...

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