背景

授权测试XX工程公司内部OA系统

主要业务:监理,工程造价等

正文

接入内部网络,拿到网址后使用nmap扫描服务器信息

nmap -O 目标

微信图片_20230106191700

开启了不少端口,扫描结果服务器可能为win7或windows sever 2012,开启了445端口,试试永恒之蓝是否能直接拿下

msfconsole

use exploit/windows/smb/ms17_010_eternalblue

set rhost 目标IP

exploit

微信图片_20230106191805

没成功,意料之中。

尝试3306端口爆破mysql口令。

mysql -h 目标ip

微信图片_20230106191843

拒绝了我们的连接,不过在这里曝出了服务器名,现在尝试查看80端口的web服务,web才是我们的主要目标。

登录页

微信图片_20230106191934

这里未做验证码控制,说明可能允许爆破,打开purb进行抓包,查看信息

微信图片_20230106192013

密码未进行加密,手动尝试了几个弱口令没有提示异常,

选择OA系统成功率高的字典开始枚举!

且把从浏览器收集到的公司暴露在外面的员工姓名加入字典

微信图片_20230106192049

枚举途中查看网站指纹,下图为wappalyzer插件

微信图片_20230106192232

可以看到网站使用thinkphp框架,中间件为APache 2.4.4

thinkphp不同版本具有远程代码执行漏洞,信息泄露、文件包含、SQL注入漏洞

尝试利用文件包含漏洞途中thinkphp报错

微信图片_20230106192306

虽然没利用成功,但是这里曝出了网站路径和thinkphp具体版本

知道具体版本后尝试使用thinkphp3.2.3经典漏洞信息泄露查看日志文件

/Application/Runtime/Logs/Home/19_07_022.log

微信图片_20230106192339

成功查看到日志文件,包含了历史登录的所有用户名、密码和一些其他信息,数据量巨大,没来得及慢慢看。

这里使用泄露的用户名密码登录系统

微信图片_20230106192406

进入系统后从项目信息中获取到公司内部结构,然后从日志信息中获取权限更高的用户密码

微信图片_20230106192442

登录到高权限账户后发现待我处理模块中可以上传合同文件

微信图片_20230106192517

thinkphp框架中规定了各类函数的安全引用方法

尝试过程中发现XSS已经做了转译处理,SQL注入也已预编译,防护均OK

但是上传功能配合APache 2.4.4的解析漏洞可能绕过thinkphp规定的安全策略,

开始从上传点入手

下载部分网站图片等文件作为上传测试,乱输入一个后缀无法上传,

说明为白名单,测试结果仅允许JPG,PNG,docx,xlsx后缀上传

微信图片_20230106192630

这里花费了很多功夫,发现安全策略检查了MIME,检查了后缀,检查了文件内容,

且上传后会二次渲染并重新随机命名文件

安全策略还是很全面的,单配合解析漏洞无法利用

微信图片_20230106192701

但工作表的上传可能带来另一个危险漏洞,如果上传的合同文件带有Office宏病毒,当工作人员下载查看文件的时候可能被控制主机

微信图片_20230106192729

上传点进行到这里结束,寻找其他漏洞

这时我们想起之前的信息泄露,目录文件为wamp,wamp server为开发者的集成环境

推测服务器环境使用此环境搭建,且wamp默认安装了phpmyadmin进行mysql管理,尝试访问phpmyadmin

微信图片_20230106192815

这里显示无权限访问phpmyadmin界面

微信图片_20230106192851

这里修改IP尝试访问,最终在58网段成功访问phpmyadmin界面

微信图片_20230106192915

对之前的泄露的口令进行口令组合尝试密码枚举

成功登录枚举出root密码,密码为小写字母加数字加特殊字符方式,进入数据库

微信图片_20230106192957

数据在系统里已经呈现七七八八了,尝试写入shell获得系统权限

select ‘内容’ into outfile ‘这里的绝对路径thinkphp报错已经告诉我们,

并且日志文件泄露,mysql日志文件同样记录有绝对路径’

微信图片_20230106193042

成功执行,访问地址

微信图片_20230106193127

接下来写入一句话,写入一句话的时候遇到点问题

执行后访问无这个文件,推测可能装了杀毒,写入免杀脚本成功连接

微信图片_20230106193154

执行MSF的payload进入后渗透