利用Meterpreter与Nmap进行内网端口扫描的实战指南

本文详细介绍了在获得Meterpreter会话后,如何通过Metasploit路由和SOCKS代理结合proxychains工具,使用Nmap对目标内网进行隐蔽端口扫描的技术方案,包含具体操作步骤和命令示例。

如何将Nmap与Meterpreter结合使用

作者:Brian Fehrman //

你已经发送了钓鱼诱饵,目标运行了Meterpreter有效载荷,并且你在他们的系统上获得了shell。接下来该怎么办?如果你关注我们的博客,可能已经有了不少想法!我通常不会做的一件事是端口扫描网络上的其他系统。这有几个原因:端口扫描非常嘈杂,许多IDS包会迅速对这些活动发出警报,而且大多数时候这并不是实现我的目标所必需的。不过,假设你确实遇到了需要查找其他系统上服务的情况。也许你处于一个分段网络中,已经在一个跳板机上获得了shell,现在想要探索刚刚向你敞开的新世界。有几种选项可供你利用。

Metasploit有一些内置的扫描器模块,可以在系统上获得Meterpreter会话后使用。你只需在Metasploit中添加一个路由,通过会话隧道传输流量,向扫描模块提供要扫描的地址,启动扫描器,然后等待结果。根据我的经验,使用这种方法的效果参差不齐。有时反馈可能有些不足,结果也不总是一致。这很可能只是用户错误。即便如此,我更喜欢比模块提供的更多灵活性。

如果我们能使用像Nmap这样的工具进行扫描,那不是很好吗?嗯,你猜怎么着?我们可以!我们将利用工具和功能的组合来快速启动和运行[1]。第一步是在系统上获得一个Meterpreter会话。

一旦完成,添加一个路由,通过会话隧道传输目标子网的流量。

接下来,进入Metasploit的auxiliary/server/socks4a模块,将srvport设置为1090,并运行该模块。你可以选择不同的端口,这只是我选择使用的端口。这将在你的本地系统上设置一个SOCKS代理监听器。SOCKS代理将知晓你在Metasploit中添加的路由。任何通过此代理且目标地址在你添加的子网路由范围内的流量将自动通过相应的Meterpreter会话路由。

在你运行Metasploit的同一台机器上打开另一个终端,如果尚未安装,请安装proxychains包。例如,在Ubuntu或Debian上:

1
apt-get install proxychains

现在,使用你喜欢的编辑器打开/etc/proxychains.conf文件。转到文件底部,编辑最后一行,使其看起来像下图所示。

返回终端,你就可以开始扫描了!我发现通过proxychains,Nmap的Syn扫描和Ping发现选项似乎效果不佳。建议在使用proxychains方法时,使用-sT-Pn选项运行Nmap。下图显示了如何启动对目标网络子网的扫描,检查一些常用端口,将状态输出到屏幕,并以多种格式保存结果,便于后续解析。

[1] https://pen-testing.sans.org/blog/2012/04/26/got-meterpreter-pivot 在Twitter上关注Brian @fullmetalcache

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计