应急靶场(2):Windows Server 2022 - Web1

目录

一、攻击者的shell密码

二、攻击者的IP地址

三、攻击者的隐藏账户名称

四、攻击者挖矿程序的矿池域名(仅域名)

五、有实力的可以尝试着修复漏洞

下载好靶场(前来挑战!应急响应靶机训练-Web1)并搭建好环境,无需密码直接进入靶机的Administrator帐号。

a4a1549c7875851e5e562f245a4f8d9b.png

一、攻击者的shell密码

在桌面看到phpStudy,右键选择“打开文件所在的位置”,获得phpStudy路径:C:\phpStudy_pro。

373791d8b0c4ff979e829f91e65f9d3a.png

使用D盾在phpStudy路径下查找webshell,获得webshell路径:C:\phpStudy_pro\WWW\content\plugins\tips\shell.php。

1c78b1348737aba99cd97f60431b5dce.png

打开webshell文件,获得连接密码的32位md5值的前16位e45e329feb5d925b 。

dd061a4f874ae601bfdac1cfef35b200.png

拿md5值去反查明文,获得webshell的连接密码rebeyond。

57fa581c9197028ad4140409418c997c.png

因此第一题“攻击者的shell密码”的答案是:rebeyond。

7242ed18188ea966050e7db3970e5abd.png

另一种解法,是通过web访问日志(accesslog)查找webshell路径。

在phpStudy的C:\phpStudy_pro\Extensions路径下,发现有Apache和Nginx两种中间件。依次查看,发现Nginx的accesslog为空,Apache的accesslog将近15M。

7c6edcd89c4f7e152469d358c5f60b1b.png

将Apache的accesslog拷贝到Kali中分析,使用命令cat access.log.1708905600 | cut -d ' ' -f 7 | sort | uniq -c | sort -nr发现/content/plugins/tips/shell.php文件被访问14万次,经分析确认是webshell文件。

751af569e1707e78ce1aed1317340617.png

二、攻击者的IP地址

沿用第一题的Apache的accesslog,在Kali中使用命令cat access.log.1708905600 | grep shell.php | cut -d ' ' -f 1 | sort | uniq -c | sort -nr,获得访问webshell的攻击者IP地址192.168.126.1。

9446b121e27d2181e4c44de5e7ae4365.png

因此第二题“攻击者的IP地址”的答案是:192.168.126.1。

ed4221a73298a30ab03277aa640c4449.png

三、攻击者的隐藏账户名称

使用命令compmgmt.msc进入计算机管理,在系统工具->本地用户和组->用户下,发现以$结尾的隐藏用户hack168$。

e548299dccda63d2cef91d2d66642008.png

因此第三题“攻击者的隐藏账户名称”的答案是:hack168$。

ea7bd9c319205cc39f6862c95119fc0d.png

四、攻击者挖矿程序的矿池域名(仅域名)

首先要找出挖矿程序,在攻击者创建的隐藏账户hack168$的用户目录下随意翻找,最终在C:\Users\hack168$\Desktop目录下找到Kuang.exe程序。

点击程序后发现CPU跑满,且存在外连恶意IP的情况,确认该程序是挖矿程序。

203acf71c064c1b942d066eb39c4348b.png

使用DIE工具识别挖矿程序是由PyInstaller打包的。

f66f526de6284697c386164e79bf9fc2.png

使用 pyinstxtractor对挖矿程序进行解包,将exe文件解包成pyc文件。

1eb0f16e00b7b37bf8f6df113a442824.png

7c74d50b4b1932cef7d526173f246620.png

使用 uncompyle6将pyc文件反编译成py文件。

在py代码中,挖矿程序对矿池域名wakuang.zhigongshanfang.top发起请求。

0ee6a39b412bf528d58c231de2840488.png

因此第四题“攻击者挖矿程序的矿池域名(仅域名)”的答案是:wakuang.zhigongshanfang.top。

fd8e5721d99addc225d0633e5497766d.png

五、有实力的可以尝试着修复漏洞

在Kali中使用命令cat access.log.1708905600 | grep 192.168.126.1 | cut -d ' ' -f 7 | uniq -c | grep -v "css\|js" | less查看攻击者访问的URL地址。

232e0966ce1cd7e5f7ce602a4eddf1e4.png

第一步,首先访问了5736次“/admin/account.php?action=dosignin&s=”,地址包含admin、account、dosignin等关键词,猜测是在爆破管理后台的弱口令。

第二步,然后访问了“/admin/plugin.php”等admin路径下的地址,猜测是爆破成功了。地址上存在关键词plugin,插件功能一般存在文件上传漏洞,猜测是在进行漏洞利用。

第三步,最后访问了webshel地址“/content/plugins/tips/shell.php”,猜测是成功利用漏洞上传了webshell后门。

通过搜索“/admin/plugin.php”地址的漏洞,发现EMLOG博客系统存在CVE-2023-44974文件上传漏洞。

aee32e1a7bbb42009ebcfe99c2ad370d.png

打开网站文件“C:\phpStudy_pro\WWW\admin\plugin.php”确认网站确实是EMLOG,因此最终确认本次攻击是由于EMLOG博客系统的管理后台存在 CVE-2023-44974文件上传漏洞,被攻击者爆破弱口令进入管理后台,然后上传webshell控制服务器。

88f75519e2ffeac01704e88853aa246e.png

复现一下漏洞,打开phpStudy并启动Apache和MySQL,浏览器访问http://127.0.0.1/进入EMLOG博客系统。

f6e8d29642595b755e7983270df10619.png

b055d667b55d88f54da0213cf8d59dfd.png

第一步,手工爆破一下管理后台的弱口令,第一次admin/admin失败了,没想到第二次admin/123456就成功了。

f17e16480b10b81327c3df1217441869.png

第二步,在插件处选择“安装插件”,上传事先准备好的含有webshell的插件。

d58b62eef563df0633bf9e1cb9f9a154.png

插件是一个muma.zip压缩包,里面的结构是muma.zip\muma\muma.php,其中muma.php是webshell文件。

6dc982224a8d4c907d5c2a18acb05d18.png

第三步,访问webshell即可获得服务器权限。

19d11286bcc6bff1f18268621a18d3ce.png

至于修复建议,当然是升级至最新版本啦。以及,修改管理后台弱口令。

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 00:34:02       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 00:34:02       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 00:34:02       57 阅读
  4. Python语言-面向对象

    2024-07-17 00:34:02       68 阅读

热门阅读

  1. Spring Boot 面试题及答案整理,最新面试题

    2024-07-17 00:34:02       21 阅读
  2. 【python基础】学习路线

    2024-07-17 00:34:02       20 阅读
  3. HTTP基本原理

    2024-07-17 00:34:02       23 阅读
  4. Git 的基本命令和使用方式

    2024-07-17 00:34:02       21 阅读
  5. 1.3Zygote

    2024-07-17 00:34:02       20 阅读
  6. 精准打击:Conda中conda remove命令的高效使用指南

    2024-07-17 00:34:02       22 阅读
  7. react项目使用EventBus实现登录拦截

    2024-07-17 00:34:02       20 阅读
  8. MySQL 关键字 IN 与 EXISTS 的使用与区别

    2024-07-17 00:34:02       22 阅读
  9. 关于ARP欺骗

    2024-07-17 00:34:02       20 阅读
  10. 20. Python读取.mat格式文件通用函数

    2024-07-17 00:34:02       15 阅读