<span id="7ztzv"></span>
<sub id="7ztzv"></sub>

<span id="7ztzv"></span><form id="7ztzv"></form>

<span id="7ztzv"></span>

        <address id="7ztzv"></address>

            原文地址:http://drops.wooyun.org/papers/14033

            0x00 起因


            有個老外讀了POINT OF SALE MALWARE: THE FULL STORY OF THE BACKOFF TROJAN OPERATION這篇paper后,對paper里面的數字竊賊先通過入侵CCTV系統識別目標所屬的零售商,然后進一步入侵POS機,竊取信用卡帳號比較感興趣,就去網上找了找了找該CCTV-DVR固件,然后通過分析發現了一個遠程代碼執行漏洞。然后我看他放出來POC,其實還利用了另一個該固件比較老的漏洞。下面一一說。

            0x01 漏洞分析


            通過shodan搜索“Cross Web Server"可以發現大概有18817個設備,其中美國占多數,然后是中國,泰國。這些設備監聽81/82端口的居多,另外也有些監聽8000端口,

            p1 圖0

            打開web后的頁面如下:

            p2 圖1

            然后通過查看網頁源碼找到WebClient.html,在查看WebClient.html源碼找到script/live.js,live.js里包含了logo/logo.png

            p3 圖2

            由這個logo知道這是一家銷售CCTV系統的以色列公司,但是通過查看網站源碼中的注釋,發現是中國人寫的代碼,然后作者去官網下載了固件。固件下載回來是一個zip壓縮包,解壓后可以看到

            p4 圖3

            首先查看boot.sh,發現其中執行了另一個bash腳本deps2.sh,這個腳本執行了2個bin文件,分別是XVDRStart.hisi和td3520a,通過他們的文件體積,原文作者首先看了td3520a,td3520a包含了符號表,使分析變得很容易,通過預覽了一陣代碼,原文作者發現下面有問題的匯編代碼

            p5 圖4

            通過代碼可以看出如果/language/[language]/index.html中的[language]目錄存在,則解壓到[language],如果不存在,則DVRSsystem最終會執行"tar -zxf /mnt/mtd/WebSites/language.tar.gz %s/* -C /nfsdir/language/",這就導致了命令執行。看到這里想到原來玩CTF遇到/etc/crontab文件中管理員用tar做定期備份的時候,語句寫成了tar cfz /home/rene/backup/backup.tar.gz *,引發的問題,原理可以參考http://www.defensecode.com/public/DefenseCode_Unix_WildCards_Gone_Wild.txt

            要想利用還需要克服幾個問題

            1. web服務器不能處理使用空格或換行的URL編碼
            2. 命令長度有限制

            可以通過${IFS}克服空格的限制

            通過請求

            #!bash
            GET /language/Swedish${IFS}&&echo${IFS}$USER>test&&tar${IFS}/string.js HTTP/1.1
            

            來執行查看當前用戶的命令,這個HTTP請求會返回404

            要看執行結果,需要利用一個比較老的漏洞遞歸漏洞來查看結果

            #!bash
            GET /../../../../mnt/mtd/test
            

            p6 圖5

            其實如果不用命令執行漏洞來利用的話,也可以通過遞歸漏洞讀取配置文件(/etc/passwd,/config/config.dat等)

            p7 圖6

            POC地址如下:
            https://github.com/k1p0d/h264_dvr_rce

            這個產品的真正的制造商是深圳的同為數碼(http://www.tvt.net.cn/),其他廠商估計是帶貼標簽的,也就是俗稱的OEM(又叫定牌生產和貼牌生產,最早流行于歐美等發達國家,它是國際大公司尋找各自比較優勢的一種游戲規則,能降低生產成本,提高品牌附加值)

            受影響的廠商列表:

            0x02 參考文章


            <span id="7ztzv"></span>
            <sub id="7ztzv"></sub>

            <span id="7ztzv"></span><form id="7ztzv"></form>

            <span id="7ztzv"></span>

                  <address id="7ztzv"></address>

                      亚洲欧美在线