• AI Web 1靶机渗透实战-vuluhub系列(一)


    这是vulnhub靶机系列文章的第一篇,接下来这段时间会分享曾经做过比较接近实战的靶机,把思路分享给大家...

    靶机下载链接:https://www.vulnhub.com/entry/ai-web-1,353/

     

    #001 环境搭建(nat)

    攻击机kali:192.168.136.129

    靶机AI-web-1:192.168.136.142

     

    #002 实战writeup

    寻找靶机ip,netdiscover -i eth0,发现靶机ip为192.168.136.142

    Nmap扫描以下端口开放情况,发现只开启了80端口

    访问了一下80端口,页面只有一句话,所以只有爆破一下目录看下有没有突破口了

    dirb跑一下目录,目录也是少得可怜只有两个有用的,看一下robots.txt文件看下,发现两个目录,访问第一个没权限,第二个看着是上传目录

    接着访问/se3reTdir777/uploads/目录还是没权限

    然后我就尝试只访问/se3reTdir777/,发现是一个选择框,应该是存在注入的

    #003 sqlmap注入

    构造完payload,显示正常,存在注入

    因为最近想把sqlmap用熟一点,所以用burp抓包,然后加一个*号告诉sqlmap注入点,保存为1.txt,然后用sqlmap -r跑包

    爆数据库 --dbs,可以看到有这么2个数据库

    爆aiweb1的表名 -D aiweb1 --tables,可以看到有两个表

     


    爆user表的列名 -D aiweb1 -T user --columns


    爆列名的内容 -D aiweb1 -T user --columns –dump


    然后再把systemUser的内容爆出来-D aiweb1 -T systemUser --columns --dump

     

    #004 尝试--os-shell,写入一句话

    判断当前用户,尝试--os-shell


    因为要网站绝对路径,所以再尝试继续爆破一下robots文件里的爆出的目录下还有没有目录,或许存在phpinfo信息泄露,结果爆破m3diNf0目录下有一个info.php

    访问一下info.php,发现是phpinfo探针,找到网站绝对路径

    尝试--os-shell,但是显示没有写入权限,所以要找一个可以写入的路径,把所有我所能知道的路径都试了一下,终于这个uploads的目录是可以成功写入的

    查看权限,发现是普通网站用户权限,权限很低

    用echo写入一句话木马,方便上传文件提权

    蚁剑测试连接成功

     

     

    #005 提权分析

    利用蚁剑把linux提权辅助工具上传到目标,然后给权限,并执行,但是并没有给出可利用的exp


    接下来再查看一下目录的文件看一下有没有可利用的,linux有种提权方式是直接修改/etc/passwd文件,有写入权限的话直接添加一个root身份的用户,从而提权

    ls -l /etc/passwd  #看一下权限,发现竟然可以写,ok直接添加

    #006 提权操作

    直接利用kali的openssl工具生成相应格式的密码

    openssl passwd -1 -salt panda panda   //用openssl生成用户,用户名为panda ,密码为 panda
    $1$panda$OuzPB6mr8Cmrm7FQ5zoj5/   //生成后/etc/passwd储存用户格式的文件
    panda:$1$panda$OuzPB6mr8Cmrm7FQ5zoj5/:0:0:root:/root:/bin/bash  //写入/etc/passwd文件的格式


    把文件写入/etc/passwd文件下

    echo 'panda:$1$panda$OuzPB6mr8Cmrm7FQ5zoj5/:0:0::/root:/bin/bash' >>/etc/passwd    //把文件写入到/etc/passwd文件里面

    查看一下/etc/passwd文件内容,可以看到成功写入了,至于为什么是panda2,因为一开始测试写入格式错了,所以重新写了个panda2,步骤不变

    然后su切换到panda用户,但是需要一个标准的终端,但是我在蚁剑终端多次尝试利用php脚本反弹shell失败,然后利用sqlmap的os-shell执行反弹也失败,然后我就上传了一个执行命令的马

    然后利用burp抓包,执行php反弹shell命令,注意payload需要url编码之后再执行,否则不识别

     

    然后nc监听6666端口,成功接收到反弹的shell,python一句话获取标准终端

    su panda2 输入密码panda2,顺利提权到root

     

     

    #007 总结归纳

    判断注入,利用sqlmap自动化注入

    利用sqlmap参数判断数据库用户以及权限

    利用os-shell时,需要找到网站绝对路径并且路径需要允许写入

    利用echo命令直接写入一句话木马

    反弹shell可利用上传执行命令的一句话,用burp执行反弹(url编码后)

    Linux提权的姿势:修改/etc/passwd文件直接添加root身份的用户提权

    kali中openssl的使用

  • 相关阅读:
    201805140815_《缓存操作函数封装》
    201802071223_《更换两个二进制》
    201801301359——《注意Javascript这种形式》
    201708310807_《算法-Javascript实现最大公约数》
    重拾java openjdk1.8 语法小试
    代码轮子之很简单但是挺管用的基于C# Task的模拟并发的代码
    docker1.12 安装pxc(Percona XtraDB Cluster )测试
    .net orm比较之dapper和Entity Framework6的简单测试比较
    StackExchange.Redis使用和封装小试
    docker1.12 安装redis3官方集群 攻略
  • 原文地址:https://www.cnblogs.com/PANDA-Mosen/p/13172299.html
Copyright © 2020-2023  润新知