打靶记录(三七)之VulnhubHealthCheck
主机发现
sudo nmap -sn 192.168.162.0/24 |
端口扫描
sudo nmap --min-rate 10000 -p- 192.168.162.146 |
sudo nmap -sT -sV -sC -O -p21,80 192.168.162.146 |
好老版本的内核,FTP看了一下不能匿名登录
web
gobuster dir -u http://192.168.162.146/ -w /usr/share/wordlists/seclists/Discovery/Web-Content/directory-list-2.3-big.txt -x rar,zip,sql,txt,jsp,php,html,bak |
扫一下目录,大部分都没能访问因为没有权限,但是有一个openemr目录可以访问。是一个登陆界面,看似是一个CMS。搜了一下这个版本是有挺多洞
cp /usr/share/exploitdb/exploits/php/webapps/49742.py ~/桌面 |
利用这个试试,编辑脚本里的url换成自己的靶机。运行之后会自动注入出用户名和密码的哈希。不过好像直接跑sqlmap也能出来
得到
admin:ackbar
medical:medical
发现第二个凭证能够用于ftp登录。把所有东西都下载下来,看到一个password。于是又多了一对凭证
root:root
Getshell
我们用第一个凭证能够登录这个CMS。(好有年代感的页面。转了一圈并没有什么东西可以用。感觉ftp那边一定有什么可以用得上,于是又回去了。pwd发现我们在medical的家目录,但是发现我们可以cd至/var/www/html目录,ls发现我们用拥有openemr目录的权限!那我们就可以上传一个反弹shell上去了
开启监听,然后在访问得到shell,移动到mecical用户看看
提权
发现除了medical还有一个almirant用户。但是没有什么用于横向移动的凭证,甚至没有安装sudo命令。在最开始看到了机器的内核版本非常低,试试看内核提权,穿个linpeas。试试看脏牛,在shell里没权限gcc,那就在kali中编译好
gcc -static -o 40611 40611.c |
抽象了,提示不能执行二进制文件。看来内核提权的机会看起来有点渺茫。
find / -type f -a \( -perm -u+s -o -perm -g+s \) -exec ls -l {} \; 2> /dev/null |
找一下UID和GID,发现一个healthcheck,和这台靶机的名字也有点关系。运行发现输出了一些系统设置。试着用ida看看这个程序做了什么
cp /usr/bin/healthcheck /home/medical/healthcheck |
使用nc将文件传到kali
进入main函数,看到使用了一些sleep,ifconfig之类的系统命令并且没有绝对路径,那我们就能劫持环境变量了
劫持ifconfig,cd至/tmp
export PATH=/tmp:$PATH |
创建一个ifconfig,并输入
#!/bin/bash |
chmod +x ifconfig |
cd至/usr/bin
./healthcheck |
成功提权
碎碎念
怎么说呢,中等难度靶机吧,但是Web的内容还是挺多的,并且那个CMS实际上没什么用的样子,如果陷进去就要花不少时间了。通过ftp传马也不是第一次见了,后面的环境变量劫持也比较熟悉。