漏洞復現-CVE-2018-15473-ssh用戶枚舉漏洞


 
 
 

0x00 實驗環境

攻擊機:Win 10

 

0x01 影響版本

OpenSSH 7.7前存在一個用戶名枚舉漏洞,通過該漏洞,攻擊者可以判斷某個用戶名是否存在於目標主機

 

0x02 漏洞復現

針對搭建好的vulhub環境:

 

這里最主要的是python3的模塊——paramiko 的調用,需要安裝好該模塊才能使用poc

直接執行以下命令即可

上圖可以發現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可用於不可用兩種情況下,可以看出來這個函數的返回是不同的

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM