靶场下载地址:点击进入下载界面 下载.ova文件,在VMware中导入该虚拟机,导入完成后开启虚拟机。
这个靶场背景告诉我们有一对恋人,即 Alice 和 Bob,这对情侣原本很浪漫,但自从 Alice 在一家私人公司“Ceban Corp”工作后,Alice 对 Bob 的态度发生了一些变化,就像“ 隐藏”了什么,Bob 请求您帮助以获取 Alice隐藏的内容并获得对公司的完全访问权限!
打开我们的Kali,查看kali的ip地址,为192.168.123.154 由于是靶机环境,目标主机与本地在同一网段,使用nmap进行网段扫描,探测存活主机,由结果判断192.168.123.226看起来像目标主机ip。 使用nmap对目标主机进行扫描,显示开放了22端口和80端口,分别是ssh和http服务 我们首先使用浏览器访问目标主机的http服务,结果如下图 查看网页源代码,提示我们可以通过x-forwarded-for伪装成本地访问
X-Forwarded-For 是一个 HTTP 扩展头部。HTTP/1.1(RFC 2616)协议并没有对它的定义,它最开始是由 Squid 这个缓存代理软件引入,用来表示 HTTP 请求端真实 IP。如今它已经成为事实上的标准,被各大 HTTP 代理、负载均衡等转发服务广泛使用,并被写入 RFC 7239(Forwarded HTTP Extension)标准之中。
刷新页面,使用burp抓包,发现原本请求头中没有x-forwarded-for这个参数,我们添加该参数并将值修改为127.0.0.1 可以看到现在成功访问了该网站 可是每次发送请求都需要手动添加x-forwarded-for请求头参数,很不方便。我们可以在burp的Proxy——>Options——>Match and Replace选项里,添加如下配置,这样在后续操作时burp就会自动添加XFF请求头参数。 回到目标网站,首先注册一个账号 进入登陆页面,使用注册的账号进行登录,登陆成功后,可以在Profile页面内看到当前登录用户的账号和密码 此处存在越权访问,修改地址栏中的user_id参数,即可看到其他用户的账号密码信息,尝试到5时,发现用户正是alice 按F12审查元素,找到password的input标签,将type从"password"改为"text",就可以看到密码了 此时我们已经知道了alice的账号和密码,可以去尝试ssh登录目标主机,初次登陆时系统会提示真实性无法确定,是否继续,输入yes后,系统会要求输入密码,登陆成功。 首先查看自己的身份和位置,然后列出当前目录,发现.my_secret目录 进入后看到flag1.txt,查看其内容 可以看到flag1已经得到,现在的目标是提升到root权限拿到flag2,通过sudo -l查看当前用户可执行的指令,发现可以使用php 参照博客文章尝试使用php提权,输入whoami后显示已经是root权限。 由于flag2需要root权限,猜想可能存放在root目录下,切换到root目录,看到flag2.txt,查看
sudo -l