<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    Samba 遠程命令執行漏洞(CVE-2017-7494)

    Path samba/CVE-2017-7494

    運行測試環境

    docker-compose up -d

    Samba版本:4.6.3(該漏洞在4.6.4被修復)

    原理

    Samba允許連接一個遠程的命名管道,并且在連接前會調用is_known_pipename()函數驗證管道名稱是否合法。在is_known_pipename()函數中,并沒有檢查管道名稱中的特殊字符,加載了使用該名稱的動態鏈接庫。導致攻擊者可以構造一個惡意的動態鏈接庫文件,執行任意代碼。

    該漏洞要求的利用條件:

    • 擁有共享文件寫入權限,如:匿名可寫等
    • 需要知道共享目錄的物理路徑

    參考:

    測試過程

    測試環境運行后,監聽445端口,默認開啟了一個共享“myshare”,共享的目錄為/home/share,可讀可寫。

    我們可以在Linux下用smbclient(安裝:apt install smbclient)連接試試:

    成功連接。大家測試的時候如果連接不成功,有可能是國內運營商封了445端口,最好在VPS上進行測試,比如上圖,我在本地進行測試,連接的是127.0.0.1。

    然后使用metasploit來利用該漏洞,首先在Docker中運行最新版的metasploit:

    git clone git@github.com:rapid7/metasploit-framework.git
    cd metasploit-framework
    chmod 0777 $HOME/.msf4/
    docker-compose run --rm --service-ports ms

    然后選擇模塊exploit/linux/samba/is_known_pipename,RHOST為目標IP(運行docker的主機的IP),我這里是127.0.0.1。

    注意,如果你能猜到目標可寫的目錄的絕對路徑,比如當前這個測試環境,就設置一下set SMB_FOLDER /home/share。如果在實戰中你猜不到絕對路徑,那么就不設置,msf會自動爆破一些路徑。

    成功拿到shell。

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类