黑客日記:如何攻擊 IP 攝像頭環境測試

花無涯帶你走進黑客世界之黑客日記:如何攻擊 IP 攝像頭環境測試

如何開始分析 IP 攝像頭,當然本文提到的工具同樣適用於分析其他的設備。首先,我會介紹如何獲取目標固件,並利用固件來收集信息;然後,會講解如何進入系統;最後,會講如何在設備上面安裝 gdbserver。不過,本文不會去分析那些相對複雜的漏洞,而只專注於那些有助於我們分析設備漏洞的部分,包括後面會提及的一個管理界面遠程代碼執行漏洞(當然這個漏洞早已提交給了相關廠商)。

黑客日記:如何攻擊 IP 攝像頭環境測試

分析設備

這章開始,我們將會在一個已經搭建好的攝像頭測試環境中介紹分析的步驟,當然這個測試環境與一般的 Web 應用滲透測試環境沒什麼太大的區別。在最初的階段,我們需要通過一些外部資源(例如廠商網站或者谷歌)來收集攝像頭的信息,然後利用適當的工具(Burp Suite,nmap等等)掃描攝像頭可能暴露的服務(特別是管理界面)。隨後就是利用階段,我們需要拿到進入攝像頭的權限,最後就是後利用階段了,此時我們就可以適當的在攝像頭上部署調試分析工具。

黑客日記:如何攻擊 IP 攝像頭環境測試

步驟1:收集信息

在分析設備前最關鍵的步驟就是儘可能多的收集相關信息,幸運的是,Edimax 官方網上提供了大量攝像頭的信息,如數據表,操作手冊,固件和構建工具(包括構建鏡像的文件),但是一些涉及敏感信息的二進制文件源碼沒有公開。

固件可以提供對攝像頭最初的認識,通過使用 binwalk 分析固件,可以提取出攝像頭的文件系統。

$ binwalk -e IC3116W_v2.10.binDECIMAL HEX DESCRIPTION-------------------------------------------------------------------------------------------------------605 0x25D LZMA compressed data, properties: 0x88, dictionary size: 1048576 bytes, uncompressed size: 65535 bytes10392 0x2898 LZMA compressed data, properties: 0x5D, dictionary size: 8388608 bytes, uncompressed size: 3735204 bytes1245312 0x130080 Squashfs filesystem, little endian, version 4.0, compression: lzma, size: 4072088 bytes, 907 inodes, blocksize: 131072 bytes, created: Mon Feb 22 11:50:40 2038

從上面信息可以得知,開發人員使用了 SquashFS 文件系統,為了瀏覽文件系統,我使用帶有 LZMA 支持的 unsquashfs:

$ unsquashfs -d filesystem 130080.squashf

這樣我們就獲得解壓過後的文件系統(存儲在filesystem文件夾下面)

$ ls -a filesystem. .. bin dev etc home init lib mnt proc sys test tmp usr var web www

在提取出文件系統後,我們就可以來瀏覽攝像頭的相關文件了。這個文件系統裡包含一些有趣的二進制文件,如:telnetd,wget,FTP等等,但是通過使用 Nmap 掃描得知,telnet 守護進程默認情況下沒有運行。

$ nmap -sS -p0- --reason -v -T3 -Pn 192.168.2.3[...]Nmap scan report for 192.168.2.3Host is up, received arp-response (0.00065s latency).Not shown: 65534 closed portsReason: 65534 resetsPORT STATE SERVICE REASON80/tcp open http syn-ack554/tcp open rtsp syn-ackMAC Address: 74:DA:38:34:AA:75 (Unknown)[...]

Web 服務的根目錄位於 www 下面,在這裡我發現了一些無需身份認證直接就能訪問的 CGI 文件:

/www/camera-cgi/public/anonymous.cgi/www/camera-cgi/public/getSysteminfo.cgi/www/camera-cgi/public/supportiPhoneAppVersion.cgi

黑客日記:如何攻擊 IP 攝像頭環境測試

其中,anonymous.cgi 和 getSysteminfo.cgi 透露了很多 IP 攝像頭的安裝信息(包括內部IP地址,固件版本等等)。

在查看攝像頭文件系統中的文件後,下一步就是利用自動化工具結合手動測試來發現攝像頭內部服務是如何運行的了。如之前 Nmap 的掃描結果,有一個運行在 80 端口的 Web 服務,通過查看相機背面的說明信息,得知其默認賬號密碼是 admin:1234。

黑客日記:如何攻擊 IP 攝像頭環境測試

有了這個賬號密碼我們就可以進行下一步獲取系統訪問權限的內容了。

步驟2:獲取系統訪問

在通過自動化掃描和手工測試後,我在攝像頭的 Web 界面中發現了 System Log 允許遠程命令執行。通過輸入 telnetd 的路徑,攝像頭的 telnet 服務就被開啟了。

黑客日記:如何攻擊 IP 攝像頭環境測試

這樣,我們就可能通過 telnet 進入攝像頭了:

$ telnet 192.168.2.3Trying 192.168.2.3...Connected to 192.168.2.3.Escape character is '^]'.IC-34AA75 login: adminPassword:RLX Linux version 2.0 _ _ _ | | | ||_|  _ _ | | _ _ | | _ ____ _ _ _ _ | |/ || | / / | || | _ | | | | / / | |_/ | |/ | || | | | | |_| |/  |_| |_|_/_/ |_||_|_| |_|____|_/_/For further information check:http://processor.realtek.com/BusyBox v1.13.4 (2015-02-25 18:14:22 CST) built-in shell (ash)Enter 'help' for a list of built-in commands.# cat /etc/passwdadmin:$1$yAn92Ld/$u5nHFH9nLds0naDaLuK1d/:0:0:System Administrator,,,:/:/bin/sh

telnet 的用戶憑證跟 Web 管理界面是一樣的,從 /etc/passwd 文件發現只有一個賬戶 admin(uid 0,gid 0) 存在於系統之中,這就意味著我們直接就有了系統的 root 權限了。

我希望你觸碰到它的時候,心存感激,因為, 你現在拿起的這本書,不是簡單的技術講解,不是純粹的課程教學,不是空洞的作者感想,它瘦弱的身軀,承載著太多的重量!這裡,還有當年抵禦外敵網絡入侵的熱血氣息,這裡,還有對整個中華黑客新秀的殷切希望。

這是對於整個黑客帝國的描述,這是巍巍中華最為龐大的黑客組織之一黑協聯手推出的指路明燈,這裡凝聚著太多太多的心血,這一切,都是為了給你最好的學習體驗,都是為了打造一本足以驚世駭俗的經典,都是為了捧起中國新一代擁有黑客夢想的那些人們。

——學習黑客技術攻防書籍 《網絡黑白》 某寶有。


分享到:


相關文章: