Windy's little blog

一切生活中的杂七杂八, and I like CTF.

HackMyVm靶机Number的Walkthrough(nothing special)

    2021新年,玩一个靶机庆祝一下,顺便更新了一下shell,从bash换到zsh。

    靶机的下载地址是https://hackmyvm.eu/machines/machine.php?vm=Number,看题目,意思是和数字有关。

    用VirtualBox加载靶机后运行,并扫描端口,就是22和80。

    图片.png

   打开80端口,没有什么内容,只有一句作者的“Good luck.”。接下来在80端口扫描目录。

    图片.png


    找到两个目录和一个robots.txt。打开robots.txt,显示whoami.php,但是根目录下面并没有这个文件。接下来进入admin目录,打开后来到一个登录窗口,试了几个用户名和密码都是错误。

    图片.png


    扫描/admin目录,发现只有index.php和command.php两个文件。这个command.php的文件名很敏感,但目前无法使用,需要登录。

    图片.png


    接下来进入pin目录,发现需要输入一个4位数字的PIN码。随便输入一个数字,会显示错误。

    图片.png

   

    习惯性地,先扫一下目录看看有什么文件,原来刚才提示的whoami.php在这个目录里。

    图片.png


    下面来尝试爆破这个4位数字的pin码。这里使用burpsuite,抓包后发送给intruder,Payload type选择Numbers,大小从0到9999,step为1,数字的长度为4。

     图片.png


     运行后可以得到,正确的pin是4444。

    图片.png

    在/pin/的窗口中输入4444,显示“PIN CORRECT"。这里再执行whoami.php,显示我们以melon用户的身份登入了。这里得到了一个用户名。

    图片.png

    pin目录下没有什么好探索的了,回到admin目录。刚才已经得到了用户名melon,密码是多少呢?我们输入4444试一下,居然成功了,来到command.php。

    图片.png


    这里我们随意输入一个数字,会显示“正在运行反弹shell“,但是什么事都没有发生。

    图片.png

      如果我们输入本机的IP,如192.168.1.100,则会提示只能输入数字。那能否将本机IP地址,从传统的表示形式转化为数字呢?Google一下,果然找到了方法,得到本机IP的数字表示。

    图片.png


    IP地址有了,可以这个shell是哪个端口的呢?因为靶机并没有给我们输入端口的机会。为了找到这个端口,不妨用wireshark看一下流量。当点击提交后,wireshark捕捉到了靶机发出的到本机4444端口的流量(红色上面那一行,红色那一行其实是本机回复靶机的数据。)

    图片.png

    我们在本机运行nc -nlvp 4444,然后再次在靶机的IP入输入本机的IP地址,提交后成功得到反弹shell。随手升级一下。

    图片.png


    在home目录下,发现只有一个melon用户目录。接下来就是在靶机一顿搜索,包括上传了一些信息获取软件、查看端口、查看服务等,但是并没有找到任何可以切换到melon用户或者直接提仅的办法。就在快要没办法时,想到直接su melon,然后试一试直接使用用户名作密码,结果成功切换到melon。

    图片.png


    然后sudo -l,发现melon用户可以无密码执行hping3。

    图片.png


    接下来就是在gtfobins.github.io网站,查找一下hping3提权的方法,并按此操作,成功得到root!

    图片.png

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.0