0xAXSDD
Gamma安全实验室负责人
近期,实验室迎来两位新成员,lSLA师傅和DongHuangT1师傅,欢迎欢迎!!!实验室力量再次壮大,同时欢迎各位志同道合的好兄弟们加入到实验室来,一起学习,一起进步,一起安全研究,一起搞事情。
lSLA
Gamma安全实验室核心人员
语言标签:Python
技能标签:渗透测试,威胁情报,溯源分析
个人说明:收藏工程师,收藏=学费了,彩笔渗透,彩笔威胁分析师,二刺螈,Keep Learning
DongHuangT1
Gamma安全实验室核心人员
语言标签:Python JavaScript
技能标签:渗透测试,免杀,代码爱好者,安全开发
个人说明:会点前端开发,会点安全开发,嗯,都只是会点。
正文开始
ISLA
之前在网络上看到大多都使用socat这个工具进行流量转发,但最近和一些师傅交流了解到,有时候使用socat进行转发的时候其稳定性以及速率可能不是那么好,对于流量比较多的情况也许可以使用iptables进行此操作,同时对cs服务器设定一些访问策略,对真实的cs服务器起到一定保护作用。这里简单说一下iptables在此场景的使用,各位师傅如有其他的思路或者工具还请多多交流
iptables中的“四表五链”及“拥堵策略”
“四表”是指,iptables的功能——filter, nat, mangle, raw
- filter:控制数据包是否允许进出及转发(INPUT、OUTPUT、FORWARD),可以控制的链路 有input, forward, output
- nat:控制数据包中地址转换,可以控制的链路有prerouting(路由前), input, output, postrouting
- mangle:修改数据包中的原数据,可以控制的链路有prerouting), input, forward, output, postrouting
- raw:控制nat表中连接追踪机制的启用状况,可以控制的链路有prerouting, output
有关iptables具体介绍可以看下面这篇文章
https://www.cnblogs.com/vathe/p/6973656.html
使用示例:
代码语言:javascript复制iptables –[A|I 链] [-i|o 网络接口] [-p 协议] [-s 来源ip/网域] [-d 目标ip/网域] –j[ACCEPT|DROP]
Iptables设置
首先我需要在跳板机A上使用以下命令将8081端口接收到的流量转发至CS服务器的80端口 (协议和端口可自由替换)
代码语言:javascript复制iptables -I INPUT -p tcp -m tcp --dport 8081 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 8081 -j DNAT --to-destination xxx.xxx.xxx.xxx:8081//这个45323是我的teamserver连接端口,我也给转发到跳板机上去了,以后都从跳板机进行登录了
iptables -I INPUT -p tcp -m tcp --dport 45323 -j ACCEPT iptables -t nat -A PREROUTING -p tcp --dport 45323 -j DNAT --to-destination xxx.xxx.xxx.xxx:45323 iptables -t nat -A POSTROUTING -j MASQUERADE sysctl net.ipv4.ip_forward=1
使用iptables -nL --line-number -t 表名 查看当前设置好的规则
然后我们在cs服务器上设置对8081端口,以及45323端口的访问控制,以及在cs服务器上设置 对整个服务器(全部ip)禁止9100端口
代码语言:javascript复制iptables -I INPUT -p tcp --dport 8081 -j DROPiptables -I INPUT -p tcp --dport 45323 -j DROP //只允许跳板机访问这些端口端口 iptables -I INPUT -s xxx.xxx.xxx.xxx -p tcp --dport 8081 -j ACCEPTiptables -I INPUT -s xxx.xxx.xxx.xxx -p tcp --dport 45323 -j ACCEPT
iptables -I INPUT -p tcp --dport 8081 -j DROP
iptables -I INPUT -p tcp --dport 45323 -j DROP //只允许跳板机访问这些端口端口
iptables -I INPUT -s xxx.xxx.xxx.xxx -p tcp --dport 8081 -j ACCEPT
iptables -I INPUT -s xxx.xxx.xxx.xxx -p tcp --dport 45323 -j ACCEPT
我们可以看到 截图里同意来自xxxx访问45323,8081端口,拒绝了其他地址对45323以及8081端口的访问,iptables的策略设置完成
CS配置以及应用
ok 我们打开cs 连接试一下
不出意外连接失败
把服务器地址改成跳板机的ip
ok 连接成功
然后我们建立一个http的监听器看看,host和stager都填写我的跳板机
简单生成一个后门
运行上线,可以看到cs的web日志显示出我的跳板机访问了 checksum8算法生成的url
最近看到一些文章通过URL的生成算法,以及对Beacon stage的解析来寻找Beacon staging server
代码语言:javascript复制https://mp.weixin.qq.com/s/WUf96myUi8F3X_eNWPRTdw
对于如何Bypass cs beacon的扫描,各位可以看下这篇文章
代码语言:javascript复制https://mp.weixin.qq.com/s/fhcTTWV4Ddz4h9KxHVRcnw
访问跳板机的此目录可下载stage文件,直接访问真实的cs服务器则无法下载。当然这种办法治标不治本,只能对真实的cs服务器起到那么一点保护作用,cs服务器的一些前期隐藏工作和检测规避手段网上有很多,这里就不一一举例了。
END