淺談終端機(jī)與移動(dòng)設(shè)備的沙盒安全
0×01 Background
在我們每天生活的城市里隨處都可見一個(gè)一個(gè)的移動(dòng)終端或終端機(jī)。
終端機(jī)一般由觸控顯示器和主機(jī)構(gòu)成,比如銀行的atm機(jī),ktv的點(diǎn)歌機(jī),聯(lián)通營業(yè)廳的自助服務(wù)機(jī)。而這些東西的安全性并不是很高 一般都是一個(gè)win或linux操作系統(tǒng)加一個(gè)沙盒構(gòu)成,而我們要做的就是跳出這個(gè)沙盒,這個(gè)沙盒一旦跳出且我們的權(quán)限足夠高, 那么我們就可以做一些想做的事。
比如我在烏云里提交的那個(gè)atm機(jī)xss跳出漏洞 如果碰見膽大的黑帽有可能那臺atm機(jī)就早已經(jīng)空無一文了…..
0×02 Text
跳出沙盒一般分為三種方式 小的不才 可能說的不夠完美 請各位見諒
1.引出優(yōu)先級更高的彈窗使系統(tǒng)顯示出來
2.利用拔電源重啟等重新進(jìn)入系統(tǒng)并找到破綻 比如進(jìn)入安全模式等
3.利用打開文件等瀏覽本地的功能寫一些bat命令去跳出沙盒
大概就是這樣 很多烏云里的案例都是利用的第一種方法
但是我們沒有鍵盤(一般終端機(jī)都是觸屏)所以沒法按一些快捷鍵來彈窗 該咋辦呢?
其實(shí)很好破
我相信很多人都會(huì)一手簡單的xss技術(shù)吧?
那么就應(yīng)該知道這條語句
隨便找一個(gè)可以輸入的地方輸入這條語句就可以做到彈出一個(gè)框 但是如果沒有xss怎么辦呢?
那么他還是會(huì)彈出一個(gè)框 提示你錯(cuò)誤 并且如果這個(gè)框是調(diào)用的win的系統(tǒng)api那么你還是贏了 因?yàn)檫@個(gè)框也會(huì)幫助你顯示出系統(tǒng)下邊欄
但是如果他不是調(diào)用的web頁面完成的功能怎么辦呢 總不能在桌面程序里插xss吧?
其實(shí)也并不難 利用一些簡單的溢出就可以 比如在搜索框輸入無數(shù)個(gè)0000然后點(diǎn)擊搜索 一般有溢出漏洞的應(yīng)用程序碰到這個(gè)溢出的字符串之后都會(huì)彈出一個(gè)錯(cuò)誤框 如果運(yùn)氣好的話還會(huì)導(dǎo)致應(yīng)用程序直接關(guān)閉進(jìn)入系統(tǒng)界面.
還有一種猥瑣流的方法 就是利用插u盤或者拔硬盤導(dǎo)致他提示錯(cuò)誤信息然后跳出沙盒
是不是很簡單呢?
那么就再來談?wù)劦诙N方法吧 這種方法是我受一個(gè)朋友的案例的啟發(fā)想到的
如果上述方法不能使用那么我們就可以使用這種硬式方法
這種方法就是利用一些拔電源等惡劣方式導(dǎo)致他重啟然后再做一些手腳 或者拔掉網(wǎng)線導(dǎo)致他提示網(wǎng)絡(luò)連接斷開跳出沙盒
第二種方法沒有什么技術(shù)含量所以就不多說了
并且如果終端機(jī)像atm那樣封裝在鐵皮里 那么第二種方法直接就可以跳過了
那么第三種呢 就是利用輸入法或者瀏覽器里的打開文件功能或者一些可以瀏覽本地文件的功能去做一個(gè)bat或者找到命令行程序然后運(yùn)行在命令行里輸入命令跳出沙盒并控制終端機(jī)
第三種也不用多說了 很經(jīng)典的方法
0×03 end
終端機(jī)沙盒跳出的一些技巧大概就是這樣 不要覺得這個(gè)東西的利用性很弱 大家都知道atm機(jī)是有提款接口的 所以只要讓他跳出沙盒然后運(yùn)行一些病毒程序 那么這家銀行就離破產(chǎn)不遠(yuǎn)了!