0×01 Background
ziwen原创 转载请注明!
在我们每天生活的城市里随处都可见一个一个的移动终端或终端机。终端机一般由触控显示器和主机构成 比如银行的atm机 ktv的点歌机 联通营业厅的自助服务机。
而这些东西的安全性并不是很高 一般都是一个win或linux操作系统加一个沙盒构成 而我们要做的就是跳出这个沙盒 这个沙盒一旦跳出且我们的权限足够高 那么我们就可以做一些想做的事
比如我在乌云里提交的那个atm机xss跳出漏洞 如果碰见胆大的黑帽有可能那台atm机就早已经空无一文了…..
0×02 Text
跳出沙盒一般分为三种方式 小的不才 可能说的不够完美 请各位见谅
1.引出优先级更高的弹窗使系统显示出来
2.利用拔电源重启等重新进入系统并找到破綻 比如进入安全模式等
3.利用打开文件等浏览本地的功能写一些bat命令去跳出沙盒
大概就是这样 很多乌云里的案例都是利用的第一种方法
但是我们没有键盘(一般终端机都是触屏)所以没法按一些快捷键来弹窗 该咋办呢?
其实很好破
我相信很多人都会一手简单的xss技术吧?
那么就应该知道这条语句
<script>window.open(/s/)</script>
随便找一个可以输入的地方输入这条语句就可以做到弹出一个框 但是如果没有xss怎么办呢?
那么他还是会弹出一个框 提示你错误 并且如果这个框是调用的win的系统api那么你还是赢了 因为这个框也会帮助你显示出系统下边栏
但是如果他不是调用的web页面完成的功能怎么办呢 总不能在桌面程序里插xss吧?
其实也并不难 利用一些简单的溢出就可以 比如在搜索框输入无数个0000然后点击搜索 一般有溢出漏洞的应用程序碰到这个溢出的字符串之后都会弹出一个错误框 如果运气好的话还会导致应用程序直接关闭进入系统界面.
还有一种猥琐流的方法 就是利用插u盘或者拔硬盘导致他提示错误信息然后跳出沙盒
是不是很简单呢?
那么就再来谈谈第二种方法吧 这种方法是我受一个朋友的案例的启发想到的
如果上述方法不能使用那么我们就可以使用这种硬式方法
这种方法就是利用一些拔电源等恶劣方式导致他重启然后再做一些手脚 或者拔掉网线导致他提示网络连接断开跳出沙盒
第二种方法没有什么技术含量所以就不多说了
并且如果终端机像atm那样封装在铁皮里 那么第二种方法直接就可以跳过了
那么第三种呢 就是利用输入法或者浏览器里的打开文件功能或者一些可以浏览本地文件的功能去做一个bat或者找到命令行程序然后运行在命令行里输入命令跳出沙盒并控制终端机
第三种也不用多说了 很经典的方法
0×03 end
终端机沙盒跳出的一些技巧大概就是这样 不要觉得这个东西的利用性很弱 大家都知道atm机是有提款接口的 所以只要让他跳出沙盒然后运行一些病毒程序 那么这家银行就离破产不远了!
本文阐述的方法仅限安全研究之用