搭好实验环境之后,打开靶机,显示如下。
第一步:找出靶机的ip地址,确定目标,以便后续操作。
1.记录本机的ip地址及网段:在kali终端执行 ip -a 查看本机网卡的配置信息。
2.随后对该网段进行nmap扫描:在终端执行 nmap -sn 192.168.174.0/24 -oG -(nmap调用nmap扫描工具、-sn仅发现主机不扫描端口、网段、-oG输出格式、-直接输出到屏幕不存文件),找到目标ip地址为“192.168.174.130”
第二步:端口扫描,探测目标开放了哪些端口以及对应的服务与版本,从而确定后续共计路径。
1.使用nmap对目标进行端口扫描,在终端执行 nmap -sV 192.168.1774.130(-sV探测开放端口及服务版本),扫描结果显示目标开放了22端口(SSH服务,版本OpenSSH 6.6.1p1)和80端口(HTTP服务,版本Apache http 2.4.7)
第三步:绕过“权限本地访问”限制,使攻击者能够正常访问靶机站点,为后续越权与信息收集创造条件。
1.在浏览器中访问http://靶机IP,右键查看源码(查看有无有用信息),发现一段注释信息,提示我们可以使用 X-Forwarded-For 伪造客户端 IP。
2.使用Firefox插件常驻伪,在 Firefox扩展中搜索并安装X-Forwarded-For Header 插件,IP Address 填入 127.0.0.1,勾选 Send 下的 x-Forwarded-For
第四步:越权访问,利用服务端对用户参数缺少身份校验的缺陷,获取网站内所有用户的信息。
1.在站点 Register 页面注册任意账,完成登录。
2.逐个点击功能页面,观察地址栏URL的变化规律:
第五步:一次便利1~11,发现有6个用户的账号,F12可以看到他们的密码。
第六步:撞库,把“网站用户”转化为“系统用户”,从而取得靶机的操作系统级交互能力。
1.在kali终端执行 ssh alice@192.168.174.130,输入密码,登陆成功,找到flag1
第七步:sudo提权,获取root权限
1.提权侦查,回到主目录下执执行 sudo -l,发现alice可以不需要输入密码就可以以root的身份运行php程序。
2.执行提权,输入 php -r "system('pwd');" 验证 PHP 能否调用系统命令(可以),输入sudo php -r "system('/bin/bash');" 以 root 身份让 PHP 启动一个 bash,提权成功。
3.找到flag2