实战仿真靶场Killboy_Team_1——渗透测试过程

OnionT@KillBoy 渗透测试评论13,6067字数 1841阅读6分8秒阅读模式

CTF比赛冲昏了头脑的我,突然发现自己的渗透测试能力直线下降,可能和脑洞大开、不切实际的CTF题目有关吧,让我一度茫然的开启刷题模式,现在我觉醒了,黑客技术不是CTF,从现在开始,我会搭建一些仿真环境,让自己和小伙伴复习复习,熟悉渗透测试流程,掌握渗透测试中常用的手段和工具。
好了废话不多说了。。。。咱们开始吧。这个靶机共有4个flag。。

靶机环境:
操作系统:Debian
CMS:Drupal 7
靶机IP地址:192.168.43.104

1、信息收集
使用nmap 或者 masscan 对靶机开放的端口信息进行扫描,这里我使用nmap,masscan扫描速度快,但是有点不准,nmap有点慢吧,但是效果比较好。。。
实战仿真靶场Killboy_Team_1——渗透测试过程
可以看到,目标开放了4个端口,分别是 22、80、111、35476,同时可以看到,目标的80上跑的是Apache,框架是Drupal 7,我们访问一下80端口看看
实战仿真靶场Killboy_Team_1——渗透测试过程
业务系统是 Drupal,我们上网搜一下Drupal有没有什么公开的漏洞,发现了好多,那我们直接可以用msf搜一下看看有什么可以直接利用的EXP,发现有好几个可以直接利用的攻击模块,为了省事,我们尝试一下,看看能不能成功利用。。。
实战仿真靶场Killboy_Team_1——渗透测试过程
2、漏洞利用
这里我使用第一个2014年的漏洞利用模块,我也不知道这个能不能用,咱们先试试。。。
实战仿真靶场Killboy_Team_1——渗透测试过程
应用该模块后,看看需要设置什么东西,可以看到,这里我们直接设置靶机ip地址就可以了
实战仿真靶场Killboy_Team_1——渗透测试过程
实战仿真靶场Killboy_Team_1——渗透测试过程
然后使用 run 命令或者 exploit 命令开始攻击。。。
实战仿真靶场Killboy_Team_1——渗透测试过程
从上面的图中可以看到,已经成功的入侵,并获得了一个会话,那我们看看用户权限
实战仿真靶场Killboy_Team_1——渗透测试过程
发现是个www-data用户,看一下根目录,发现flag1...,同时附带一个提示信息。。。
实战仿真靶场Killboy_Team_1——渗透测试过程
实战仿真靶场Killboy_Team_1——渗透测试过程
根据提示,找到该网站的连接数据库配置文件在 sites/default/中的一个叫settings.php,获取到数据库用户和密码,同时发现flag2和下一个提示信息。。。
实战仿真靶场Killboy_Team_1——渗透测试过程
实战仿真靶场Killboy_Team_1——渗透测试过程
根据提示信息,我们要登录Drupal系统中才能获取到flag3,所以,我们需要查看数据库中的账号密码,但是通过shell直接连接数据库无法得到回显信息,不能正常使用,翻看/etc/passwd文件发现存在一个flag4的账户,于是对它进行一个ssh爆破,看看能不能爆破出来,如果可以,就可以用ssh连接数据库了。。。
实战仿真靶场Killboy_Team_1——渗透测试过程
利用hydra对flag4这个用户进行ssh爆破。。。成功爆出其密码。。。
实战仿真靶场Killboy_Team_1——渗透测试过程
然后我们利用ssh登录到flag4中,然后连接数据库,看看数据库中的信息
实战仿真靶场Killboy_Team_1——渗透测试过程
实战仿真靶场Killboy_Team_1——渗透测试过程
发现users表,进去看看,发现密码pass字段进行了加密,,,于是,在百度和翻来翻去中了解到Drupal的密码加密有个脚本,就是 这个 /var/www/scripts/password-hash.sh
实战仿真靶场Killboy_Team_1——渗透测试过程
实战仿真靶场Killboy_Team_1——渗透测试过程
然后我们利用这个脚本,生成一个密码,然后再用我们生成的密码替换掉数据库中的admin密码。。。这里我的密码是 hahaha 然后把加密后的密码保存在 321.txt 中。。。
实战仿真靶场Killboy_Team_1——渗透测试过程
执行后发现flag4权限不够,那我们继续使用msf做这一步操作。。。
实战仿真靶场Killboy_Team_1——渗透测试过程
发现成功执行,查看321.txt,复制密码,在MySQL中替换掉admin的密码。。。
实战仿真靶场Killboy_Team_1——渗透测试过程
实战仿真靶场Killboy_Team_1——渗透测试过程
然后我们用admin登录前台系统,发现flag3。。。
实战仿真靶场Killboy_Team_1——渗透测试过程
实战仿真靶场Killboy_Team_1——渗透测试过程
然后,在flag4的家目录下发现一个提示,说flag4在root用户的家目录下,那也就是说我们要进行提取,获取到root用户才能拿到最终的flag4,并且结合flag3中的提示信息,要利用拥有suid权限位的命令进行提权,这里对suid相关的资料可以参考这个链接:
https://www.cnblogs.com/jacob-tian/articles/6475887.html
这里利用 find / -perm -u=s -type f 2>/dev/null 这个命令查看拥有suid权限的命令,可以执行命令拥有者的权限,具体的可以参考这个链接:https://blog.csdn.net/qq_36119192/article/details/84872644
实战仿真靶场Killboy_Team_1——渗透测试过程
这里我们用find命令提权,因为find 命令可以在查找之后执行命令,至于为什么,find -h 一下就知道了。。。
查看权限。。。果然是root。。。
实战仿真靶场Killboy_Team_1——渗透测试过程
然后我们把/bin/sh给反弹过来,就成功的拿到了root权限。。。
实战仿真靶场Killboy_Team_1——渗透测试过程
OK,查看flag4,,,结束战斗。。。
实战仿真靶场Killboy_Team_1——渗透测试过程
当然,还有其他的方法能够提权拿到flag4,其他的方法后续如果会在其他靶场中介绍。。。。

http://www.oniont.cn/index.php/archives/104.html

免责声明:本站某些文章、信息、图片、软件等来源于互联网,由本网整理发表,希望传递更多信息和学习之目的,并不意味赞同起观点或证实其内容的真实性以及非法用途。 如设计、版权等问题,请立即联系管理员,我们会给予更改或删除相关文章,保证您的权利。
高性能云服务器2折起
 
OnionT@KillBoy
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: