Cobalt Strike网上不出网的Linux与Windows主机
- 背景
- 实验
-
- 拓扑
- 开启CS
- 在边缘主机上设置代理
- 设置listener
- 生成beacon并上线
- 总结
背景
在真实的内网中,很容易遇到内网主机不出网的情况。
这种情况可以分为边缘主机Linux和为Windows两类。
windows上线windows很容易,linux上线linux可以用CrossC解决插件。
更麻烦的是边缘主机是Linux网上内网的情况Windows主机。
CrossC2暂时不支持Linux上线Windows,然而,作者已经设置了这一需求New,期待接下来的版本可以支持该功能。
网上常见的思路是利用网上常见的思路Pystinger的socks为什么不呢?socks5应该是CS不支持socks5.但是我没有试过)来积极代理,但是这种方法的一个缺点是需要web服务。
那如果没有web如何推出服务?有两篇文章解释得很清楚: https://blog.csdn.net/csdnmmd/article/details/120589452 http://blog.leanote.com/post/snowming/2ec80f7823e0 第一篇是使用frp等待代理工具cs流量转发到边缘主机,但我没有成功测试。 第二篇是使用cs自带的beacon的http代理,即靶机执行木马后会通过http代理去找我们cs服务器。 第二个实验的环境是边缘机和内网主机都是Windows本文主要针对边缘机Linux内网主机为Windows实验的情况。
实验
拓扑
拓扑图如下
Kali可访问攻击机Linux边缘服务器,Linux和Windows也是互通的,但是Windows不出网。
思路是边缘主机Linux上起http代理,带出内网流量,即8080后内网流量转发到指定端口的攻击机上CS服务器listener。在线无需转发边缘主机端口。
开启CS
把Kali作为CS服务端,然后
./teamserver 192.168.140.131 123456 c2.profile
在边缘主机上设置代理
然后在Linux设置好主机HTTP代理,这里用的是goproxy,和第二篇一样Linux上面开8080端口HTTP代理,可用curl检查设置是否成功。
./proxy http -t tcp -p "0.0.0.0:8080" --daemon
设置listener
在CS上设置好listener
listener中的C2端口可以自己设置,但是HTTP代理需要设置内网代理,即192.168.52.10:8080。
生成beacon并上线
然后生成beacon,注意生成stageless马比较好,具体原因可以参考第二篇。
然后在内网主机上运行木马,可以看到https木马已成功上线。http和https木马均可以上线。
总结
以前想复杂,其实只需要cs的http代理可以上线内网不出网主机。