攻击机:Win 10

 

0x01 影响版本

OpenSSH 7.7前存在一个用户名枚举漏洞,通过该漏洞,攻击者可以判断某个用户名是否存在于目标主机

 

0x02 漏洞复现

针对搭建好的vulhub环境:

漏洞复现-CVE-2018-15473-ssh用户枚举漏洞

 

这里最主要的是python3的模块——paramiko 的调用,需要安装好该模块才能使用poc

直接执行以下命令即可

漏洞复现-CVE-2018-15473-ssh用户枚举漏洞

上图可以发现root与vulhub是存在的用户,可进行爆破。

针对特定版本的payload可用,若需要我测试可使用的payload请私聊我

 

0x03 漏洞原理

  87 static int
  88 userauth_pubkey(struct ssh *ssh)
  89 {
 ...
 101         if (!authctxt->valid) {
 102                 debug2("%s: disabled because of invalid user", __func__);
 103                 return 0;
 104         }
 105         if ((r = sshpkt_get_u8(ssh, &have_sig)) != 0 ||
 106             (r = sshpkt_get_cstring(ssh, &pkalg, NULL)) != 0 ||
 107             (r = sshpkt_get_string(ssh, &pkblob, &blen)) != 0)
 108                 fatal("%s: parse request failed: %s", __func__, ssh_err(r));

当用户不可用时,userauth_pubkey会直接返回错误信息,如果用户可用,则会进入下一个条件判断,调用fatal函数。所以在username可用于不可用两种情况下,可以看出来这个函数的返回是不同的

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-17
  • 2021-10-26
  • 2022-01-07
  • 2021-06-24
猜你喜欢
  • 2021-05-17
  • 2021-11-19
  • 2021-08-10
  • 2021-04-19
  • 2021-09-02
  • 2021-11-09
相关资源
相似解决方案