NAS 與 CVE 之間的距離 / ddaa === NAS:網路附加儲存裝置,現今會加儲存裝置。 但目前由於Open Source 所以風險增高 - CVE 每個CVE編號會應對唯一漏洞 - CWE 漏洞的root Cause 分類標準 - CVSSv3 - 攻擊向量AV - 網路(Network) - 協定(Adjacent) - 本機(Local) - 實體(Physical) - Attack Complexity(AC) - Low - High - Privileges Requireed(PR) - 登入驗證 - User interaction(UI) - ex.XSS Scope 機密性 Confidentialtiy.明碼密碼 完整性 Integrity.Log Fogging 可用性 Availability.ex.Dos 可能不同組織,計算分數的基準評分不同。 ### ROOT CAUSE ### Severity ### CVE 2017-0372 MediaWiki MediaWiki 內建套件預設不啟用 由於權限受限,故做的項目是有限的 Securgumen Injection or Moditfication >>Code Review 由於用完整字串,用逗號接起來, 所以syntaxHightlight (使用Wiki syntax語法) 使用symfony.Process Builder(php library) shell command >-l java \ >-O start=0,full=1,title=,\ >> 原本只接受數字 0 ,但由於後面餵其他參數,故一樣接受指令 #Qnap 也有 XSS 這個弱點 發生原因,把start傳入,而沒有檢查。 改善:加上型別檢查,並且可以做型別轉換 ### CVE-201705223 PHP CodeReview addEmbeddedImage() 可以透過電子郵件傳染,OUTLOOK 沒辦法寄送郵件,但可以透過Burpsuite改完再寄出。((超壞 修復:因為basedir 空字串,應該不允許透過 url 存取檔案 檢查url是否是出現dot-dot, 避免path 繞過 ### CVE-2017-7494 要有SMB寫入權限才能觸發漏洞 metasploit 裡面已經可以實作了 Code Review … 上傳時偷塞入| 所以是功能(feature)還是Bug? 是因為client \\PIPE\test 但Samba server 以絕對路徑去載入 /test 沒有去做檢查, 就成功了。 修復: smb.conf 中關閉目錄絕對路徑瀏覽,也可以用 metasploit 去調整 或去過濾傳入的內容路徑 (/) ### CVE-2018-1160 Netatalk Remote Code Exction 其實是Buffer Over 導致的問題,沒有檢查字串欄位,所以memcpy 的size 可控 dsi>command 給值的size 可控 足夠長的Payload 把參數蓋掉。 就能直接蓋掉command 的命令位置。 所以是Buffer Overflow,可以繞過認證,造成address 寫入任意 data <heap圖> ### CVE-2018-10387 來不及抄 =V=||| ### CVE-2018-10388 OpenTFTP 由於 optenftpd 自行處理log,無法觸發fmt string漏洞 ### CVE-2018-10388 Open TFTP(QNAP) TFTP 無認證機制,故允許打穿。 TFTP Format 實作 RFC2349 <看圖那好像很難> 不能用常用的方式:%x %p %s 不能用sprintf() 不能疊stack,因為會被清掉 讀檔的服務: 檔案名稱是不是有包含 ../ 如果有的話,就不處理無效檔案 但由於是寫在另外一個檔,但這個檔可以被覆寫… 所以改掉就可以上傳,然後就可以任意讀檔了。 逆向 reverse shell command (1)複寫 atol.got to system() (2)取消設定,然後就允許疊 stack 就有機會 RCE 更精簡的方式… ### CVE-2018-10388 OPEN FTTP 如果opentfppd 自行處理log,無法觸發stack overflow (QNAP) >> Proof of Concept 可以蓋掉stack,結果就爛掉了 但後來發現有一個,%n做結尾 會被換行。x64環境不行,但x86的環境有機會。(4bytes 所以可,但有保護) (Asustor) >> 硬要打,就成功了… 長度有限制,但不夠嚴謹,所以還是有機會可以蓋過stack 即使最後有個\%0a,但不重要,該蓋的都有蓋掉,沒問題。 ### CVE-2018-10387 OPen TFTP (Synology) 前提要有讀取檔案目錄的權限。 能存取到,才會分配heap的空間出來,才有機會能造成heap overflow。 版本利用會相關複雜一點,blksize 有做限制 512-65536 bytes,故其實利用上較難。 而且還有connect timeout 才有機會free 掉 buffer pwnable.tw 來玩來玩~ TFTP on internet, 共 138867 筆 看Shodan 上的錯誤訊息看有沒有機會。 講者的工作到底是檢查自家的 NAS 有沒有問題還是打別人家的 NAS 啊 (X ###### tags: `HITCONCMT2019`,`HITCONCMT`,`HITCON`
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.