渗透测试之信息收集 DNS主机发现探测方式NetBIOS 协议发现主机 以及相关PorCheck scanline工具的使用哟
目录
主机发现
利用NetBIOS 协议发现主机
利用TCP/UDP发现主机
PorCheck
scanline
利用DNS协议发现主机
-
主机发现
- 信息收集中的一项重要工作是发现内网中的主机、数据库、IP段网络设备、安全设备等资产,以便于更快地获取更多权限和密码,更加接近红队的目标资产。
- 在控制的人口点权限不足的情况下,如果补丁更新较多,不能进行提权或提权会影响主机稳定性,就不便于我们对当前计算机进行详细的主机信息收集。
- 发现更多主机的优势在于,我们能够以人口点计算机作为跳板机,发现更多的内网主机,获取其他计算机权限,收集更多密码,以滚雪球式地获得战果。
- 常见的主机发现方法有网络连接、路由表、常见IP段、ARP记录、NetBIOS 扫描、ICMP、TCP/UDP、HTTP(S)、DNS缓存等。
利用NetBIOS 协议发现主机
- 在实际应用中,NetBIOS协议对各种IDS(人侵检测系统)、IPS(入侵防御系统)、杀毒软件的规避效果比其他协议更好,因为利用NetBIOS是正常的机器名解析查询应答的过程,推荐优先使用。
- NetBIOS通常被称为Windows网络邻居协议,是一种局域网程序可以使用的应用程序编程接口(API),为应用程序提供了请求低级服务的统一命令集,作用是为局域网提供网络以及其他特殊功能。
- NetBIOS名也是计算机的标识名,该名字主要用于局域网中计算机之间的相互访问。
- NBNS 协议是 TCP/IP 上的NetBIOS(NetBT)协议族的一部分,它在基于NetBIOS名称访问的网络上提供主机名和地址映射方法。
- nbtscan是一个命令行工具,用于扫描本地或远程TCP/IP网络上的开放NetBIOS名称服务器。
- nbtscan有 Windows和Linux 两个版本,体积都很小,且不需要特殊的库或DLL。
- 如果主机存活,则发送NBNS消息查询对方主机名,输入命令 nbtscan.exe cidr(此处cidr为192.168.1.1/24)。
-
- 显示结果的第一列为地址
- 第二列是计算机名和域名
- 最后一列是计算机所开服务的列表
-
-
- 如果使用nbtscan.exe批量扫描,会发送大量请求,导致安全设备告警,并且该工具要落地磁盘。
- 而这会增加被发现风险。可使用Windows自带命令nbtstat指定IP识信息,输入命令 nbtstat -A 192.168.1.120
-
利用TCP/UDP发现主机
- 基于TCP/UDP探测,利用端口扫描技术能探测出一些存活主机,但是主动探测大量端口可能会触发安全设备告警,建议每次在尽量小的范围(如一个C段)内单线程扫描单端口,并且在扫描每个IP中间增加适当延迟。
- 伪造成正常业务请求来逃避安全设备的识别下面介绍两款端口扫描工具-PortCheck和 scanline。
PorCheck
- PonCheck是一款小众的端口扫描工具,没有反病毒软件认为它是恶意软件,甚至它也不被认为是黑客工具。
- 我们利用PontCheck 工具和for循环,批量低速扫描一个C段内的单端口,并将结果保存,输入命令:
- for /L %I in (1,1,255) do @PortCheck.exe -w:6 192.168.1.%I 445 200 succe log
- 我们利用PontCheck 工具和for循环,批量低速扫描一个C段内的单端口,并将结果保存,输入命令:
病毒检测结果 VirusTotal
scanline
- 它是一款经典而古老的端口扫描工具,它支持bamer获取,Windows全版本通用、依赖少、体积小、单文件,便于上传,同时支持对TCP/UDP的端口扫描。
- scanline 的最大优势在于,在进行单端口扫描时,可以对需要扫描的IP段进行随机扫描,避免顺序扫描触发规则,引起告警。
- 但是它的免杀效果一般,很多反病毒软件将其识别为恶意黑客软件,可能会发出告警。可以采取相应的免杀策略绕过。
- 输入命令可以扫描常见TCP/UDP端口:
- s1 -bh -t 21-23,25 53,80-90,110,389,,443,445,1099, 1433,1521,3306,3389,6379,7001,8080-8090,8443 192.168.1.1-254 -u 53,161 -c 5000 -d 6 -r -p -z -O scan.log
利用DNS协议发现主机
- 大型企业内部均有DNS服务器,用于解析内网域名地址、审计与转发内部主机的 DNS请求、降低内网域名解析流量。
- 我们如果得到了内部的DNS服务器地址,也就是NS记录,一般会通过DHCP自动分配。
- 可以指定内网中的DNS服务器,然后以目标域名为规则逐个解析常见生产力系统域名的二级域名,这样就能够发现大量内部业务及IP段。
【1】Invoke-DNSDiscovery.ps1可用于识别内部网络/Windows域上的常用二级域名列表,此脚本可用于在突破边界后进行内部DNS侦察。
- 这个脚本内置了大量常见二级域名。
- 可以执行命令
- Import-Module .\Invoke-DNSDiscovery.ps1
- Invoke-DNSDiscovery -Namelist name.txt -Path dns_short.csv
- 将存在的域名保存到dns_short.csv中,也可以使用-Namelist names.txt语法自定义二级域名。
- Namelist 二级域名字典
【2】gobusterdns是爆破二级域名工具gobuster的精简版,该工具只用于子域名爆破,支持自定义DNS服务器运行,内置精简字典,可导入域名列表进行扫描。
- 可执行命令:
- gobusterdns_linux -d dm.org -r 192.168.79.5:53-i-q
编写文章不易 点个赞吧 ~