我可以用 SSH 证书做什么?

逆向工程 加密
2021-06-16 00:50:04

目前在做一个信息安全项目。在获得对 ftp 驱动器的访问权限后,里面有一个简单地称为“hackme”的文件。它包含在我看来像是 SSH 证书的内容,但不确定我可以用它做什么或如何反转/破坏它。

文件

MIIEowIBAAKCAQEAop+enpIZtPJpZfz5Op7O1EswtZX+OvNDYKYzO/qdi0EhnJKU
Os3ltr2utFZsEuVKCeXMkcFbJTQu/DuUD8sKPXYC4d7JR9j5Xaz2s9NAVcUtezZ2
cE2vLPAt9AhT2gSknuemYM8nSuYE2IGGaYOztTtjkSDXNrm6M3MTMdLPziGGp8lg
1/7mTnQQ6HHn4fLqSKJLRH8dMZ3MfgMaPtbdvaw+GjZsm8pL8o5OzVrBKZqbOS2/
IOP7vrL43MmgPCpWsJIZMKeFHYCAzB3sTK++O2f6uag3U7tDun/P7Ztkhhbtxx1e
K4NXawjTT4AzZu2jo8LGGD+t7DdiPdIMNSIFbwIDAQABAoIBAHwsmbfHI23xc912
bu/99zxPNaBSKc/llFsmTRTNZqLAVuPxYNIOCguhhtcY7mj3P7OTDsN0+x3LXN0o
uQPeK7GGfOjvbo439SE8QxxIgGV9rB7bFVDnYI1V0CD4gt6EkRbtFzPwubYNMUII
lRPYhs4pzPsyMmMNKkrC4bM3n4lrBDBEjcRgITho54xDBY7frcEamm5DllUcKYuZ
sNLqwZ1LSuVFBRNRKp/U5X8tDYud+QduNfCdtho5eDrHkUOvh/6tJ0RrMk2M4bQU
rUNJSl/6qh1nga5gaTSitBerwkcgC0hnA55EsLKuf7sGNLSF0IEzRawOvWvGkgTG
X9WkJQECgYEA1c89buUyW6dsx5B5+C3sTHTVNlCumZVj+ectzQTe42XzKTS4kwDb
h9JZhGtAl3MiuRjA6vOvGPPagFmcFDfoDpiK47ATfia8ruxRK/51XqaMnaQb+Un0
gZdkhOflcWiG0QzSXRpjfxAQyunKMcJQEuu6WjnxTmCTA6Zjs3FfN8ECgYEAwrat
SgFhF+zJGajIkNvPOHC6g6Q8Cwoww7QmbJ+erOvefJbASn8vEh/7y3pEFmm0W5tw
8e9+FoMv4BVqm5UZ0WsxgYN4qivmmaXRBWNiPJVk0nLCA1dZttN53lJqldynO6zo
pkmMjINd1+nB/78aGMK8cEA39XlOs/c5xk/xCS8CgYAXssC8aesK/aOw+vKJ740h
bFG1k3vGyigqqtUIxGFwEvzAtHdA0/eBNm91ne2q27gdjADWCex+d4jgcQ47r3ap
J389fWartN91A/x7Q9j+hLdRQb9YAjp3orAhixKDX3KR+TnX1/TvQHicBQ3ENiVp
83bUSVfVuB6TaP3kBczoAQKBgBRnuHlM87PiKKD7wykLIAg2KBWrnG87viiENJKl
l6dfgI1l7vjfozsvBuAoDAKdST1gaNGx23DYhqfhFq7/TRlZNnLwKDENMLlhWypJ
Y/4dWdeEFzjqaohyWQ8na+wQl6X1VNw4UPZYvfjmkmIO0NlPbxgEYtjiwZCyk+do
cUYZAoGBAJ+SpmK1lL0tvuy+bwEe3H4IwCfRBZ+lKUhCeJ4+3S4WF4W23T8urmd1
zVo81WxHReJAWQIT1QxjwqWkcQmMSzgpsy2JSOzjvps2NHkt+XUozmv43wRlPLon
y407ZNPOrzD+82cKCrX6BpPy5EagwP+v1HFb5QiJsoEnZt7VRJPC

尝试使用它通过 SSH 登录,但仍然要求输入密码。关于我可以采取的路线的任何建议吗?这是第一个项目,所以我觉得这么早被难住有点傻。

1个回答

我希望你认可base64十六进制转储中的前几个字节是

30 82 04 a3 02 01 00 02  82 01 01 00 a2 9f 9e 9e

30 82 尖叫“ ASN.1 DER ”——30 的意思是“序列”,82 的意思是“后面跟着一个 2 字节的长度”,接下来的两个字节是长度。序列中的第一个元素具有整数类型,2 个字节的长度为 01 01 (257),接下来的 257 个字节是该整数值(从 00 字节开始,因此它是一个 2048 位整数。

我不打算继续手动分析。这是base64 -d | dumpasn1省略整数值的输出,给出了结构:

   0 1187: SEQUENCE {
   4    1:   INTEGER 0
   7  257:   INTEGER
 268    3:   INTEGER 65537
 273  256:   INTEGER
 533  129:   INTEGER
 665  129:   INTEGER
 797  128:   INTEGER
 928  128:   INTEGER
1059  129:   INTEGER
         :   }

所以我们有一个 2048 位整数、一个整数 65537、另一个 2048 位整数和五个 1024 位整数。这很容易让人联想到 RSA 私钥:模数、公共指数、私人指数和 CRT 参数。

这与没有密码短语的 OpenSSH 私钥文件的格式相匹配,只是您需要-----BEGIN RSA PRIVATE KEY-----在开头和-----END RSA PRIVATE KEY-----结尾添加两行因此,添加这两行并尝试将该文件用作 SSH 私钥文件 ( ssh -i /path/to/file username@thehost.example.com)。