一、信息收集
1、IP扫描,这里排除1和2为网关,142为攻击机的IP也可以排除,254太大了基本也是排除的,那么就确定了我们目标机器的靶机ip为192.168.145.155
2、现在进行端口扫描,看看目标机开放了哪些端口,可以看出开放了22端口用来启用ssh服务,还有80端口用来启用http服务,等其他端口
既然它开启了http服务,那么我们直接浏览器访问它的IP地址看看有什么东西
试了一下发现常规的创建账户登录不上去,然后又sqlmap测试了一下发现没有sql注入漏洞。那么还有什么办法呢?我们可以试试能不能进入它的数据库找到账号密码
我们不妨看看这个网站的框架是咋样滴,可以直接用火狐的扩展wappalyzer来查看这个网站的框架。看到cms为Drupal框架,操作系统为kali的的debian。
或者直接用whatweb命令来查看网站的信息,效果是一样的
二、开始渗透
那现在我们知道网站的apache版本,网站的cms等信息,那现在我们能干什么。只要是框架就一定会有漏洞,那我们现在来看看Drupal框架有什么漏洞。进入我们的Metasploit,搜一下这个Drupal框架发现还是有很多漏洞的。
我们用编号为1的漏洞因为这个比较新而且等级比较高
然后三步走,看设置->设置参数->run
渗透成功
三、后渗透
然后我们看看有什么东西,发现有一个名为flag1的文件,现在我们找到了第一一部分的flag
我们来看看flag1里面有什么,里面说每个好的cms都有一个配置文件,那么我们就去看它的配置文件嘛
网上查了一下kali debian的配置文件是放在/var/www/sites/default/settings.php
现在看看里面有什么,发现里面是flag2。而且里面给出了数据库的账号和密码,而且给了提示说暴力破解不行。
前面说了进去数据库拿到密码和账号登录网站,那现在我们进入数据库。先进入shell面板
python -c 'import pty; pty.spawn("/bin/bash")'
这个命令是弄个交互面板出来,看着方便点
输入账号密码登录数据库
爆库
爆表,这里表有很多没截出来
然后我们发现有个名为user的表,看看它里面有什么。里面账号和密码,但都是加密过的
然后我看了别人的wp说加密脚本放在/var/www/scripts这个目录里面,那我们直接去看看
可以看到确实有个脚本,但是只有加密脚本没有解密脚本怎么办呢。其实我们都进入它的数据库那我们直接改里面用户的密码不就好了吗
用这个脚本把密码123456加密完之后,再修改进数据库里面,那账号的密码不就是123456了吗
现在得到123456加密之后的数据了,那现在我们把它修改到数据库里面
登录网站进去即可拿到flag3
查了一下在kali里面/etc/passwd 文件,是系统用户配置文件,存储了系统中所有用户的基本信息,并且所有用户都可以对此文件执行读操作,/etc/shadow该文件存储了系统用户的密码等信息,只有root权限用户才能读取,保证了安全性。既然passwd是谁都能看,那么我们先去看一下有啥东西,可以看到有flag4这个用户。
那么我们怎么登录进去flag4这个用户呢,前面我们说了etc/shadow文件存了用户的登录密码,但是我们看不了,我们现在只是普通用户。我们可以爆破它的密码,这里用的工具是kali自带的Hydra(九头蛇)工具来爆破它
知道flag4账号的密码了,我们直接远程登录上去,登录成功
现在看看里面有什么,发现有个flag4.txt,我们打开发现,里面叫我们找到在root目录的flag。
四、提权
但是root目录只有管理员才有权限,那我们进行提权嘛,让我们变成管理员。其实上面也可以提权然后查看shadow文件里面的密码,但爆破密码也行。我们使用suid来提权
使用find / -perm -u=s -type f 2>/dev/null命令找到可以提权的文件
发现蛮多的,我们通过find来提权,这个最常用。find什么文件不重要,重要的是文件要存在
提权成功
现在去查看root,发现最终的flag
打开它,至此结束
五、总结
最后,以上仅为个人的拙见,如何有不对的地方,欢迎各位师傅指正与补充,有兴趣的师傅可以一起交流学习。