靶场环境
靶机:VirtualBox虚拟机主机(IP:192.168.56.17),网卡类型Host_only
测试机:kali linux(IP:192.168.56.3) ,网卡类型Host_only
端口扫描
nmap对靶机端口扫描,发现只开放了80、3306和33060三个端口。
nmap -sT --min-rate 10000 -p- 192.168.56.17
继续对端口进行详细信息扫描
nmap -sT -sV -sC -p80,3306,33060 192.168.56.17
发现apache版本和数据库mysql版本信息。
目录爆破
使用gobuster和字典进行目录爆破http://192.168.56.17。
gobuster dir -u http://192.168.56.17 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x txt,php,html,conf
发现爆破出来的目录几乎都不能访问,转移注意力到80端口的页面。
访问靶机网页观察信息
观察网站页面,经过一番尝试后发现该网站有一个contact模块,貌似具有提交的功能,测试<script>alert(123);</script>和单引号和双引号SQL注入测试,均未能测试出结果。而且网站的地质类中的地址一直都为发生变换。
F12查看网页源码,发现有引入了几个js文件:
逐个访问这些js文件,发现网站路径,同时也知道了后台使用的CMS类型版本信息。
访问该路径,发现是登录后台,尝试admin/admin 弱口令失败。
分析CMS源码
由于靶机使用的是SeedDMS系统,百度该系统发现是它是一个开源的文档管理系统,
现在网站源码进行源码分析下载。发现在conf目录下的settings.xml文件中有数据库的配置。
直接访问靶机的配置文件:
http://192.168.56.17/seeddms51x/conf/settings.xml
发现连接数据库的信息
登录数据库
mysql -h 192.168.56.17 -u seeddms -p seeddms
查看数据库信息,查看数据库中的表格
发现敏感数据库表格users 和tblUsers:
查询表格中的数据库:
发现admin guest和saket用户,其中admin的密码MD5加密的。
修改数据库中的用户名登录网站后台
直接操作数据库修改数据库中用户的密码1234
update seeddms.tblUser set pwd=md5('1234') where login='admin';
修改密码成功登录网站管理后台admin/1234:
发现在“添加文档”模块中有文件上传功能可以考虑是否可以存在文件上传漏洞:
收集可以利用的exploit
在kali中使用searchexploit seeddms命令查找是否有利用的exploit
查看该exploit:
searchexploit -m 47022.txt
cat 47022.txt
47022.txt文件中给出了漏洞利用的步骤:
上传反弹shell文件
创建反弹shell的文件(需要上传的文件)
上传反弹shell的文件:
查看已经上传的文件序号为5:
反弹shell
按照47022.txt中的四部构造能够访问可以反弹shel的php文件,kali中开启监听以后再访问该url。
http://192.168.56.17/seeddms51x/data/1048576/5/1.php
kali中开启监听:
nc -lvvp 1234
浏览器访问构造的url以后,kali中得到了一个shell
su saket 切换到上面在数据库中的得到的用户。
并使用以下命令得到一个交互的shell
python2 -c 'import pty;pty.spawn("/bin/bash")'
提权
id命令查看依旧不是root权限:
sudo bash的到系统最高权限。
总结:
端口扫描发现数据库和网页的80端口开放,目录爆破并未发现有用的信息,只能访问到网站的首页,点击网站的页面,浏览器的url不会发生变化。发现有contact模块,并尝试XSS注入测试和SQL注入测试,但并未发现漏洞。F12观察网站的源码,发现有y引入的js文件,遂尝试访问这几个js文件,可以访问并且在其中一个js文件中发现了网站管理后台使用的CMS信息和用户的登录路径。百度得知SeedDMS系统是一个开源的文件管理系统,然后下载源码,进行分析,发现conf目录中settings.xml文件中有数据库的配置信息,包括数据库用户名和密码。所以尝试能否通过url访问配置文件,发现可以访问该配置文件,并且拿到了数据库的账号密码,登录数据库,搜集用户的信息,最后通过修改数据库中的用户密码,登录网站管理后台,发现文档上传模块。通过searchexploit功能查找到47022.txt的exploit,按照步骤斤进行,上传反弹shell的文件,监听端口,触发反弹shell的文件,拿到shell后,切换到saket用户(数据库中users表格中存有该用户的密码且为明文)。sudo -l 发现该用户可以执行所有命令,执行sudo bash,打开一个新的具有root权限的shell。
标签:文件,shell,发现,数据库,打靶,192.168,CTF,Vulnhub,56.17 From: https://blog.csdn.net/zhangsen0/article/details/144441034