工具列表:

tcpdump
Ferret
Hamster
node
closurether

拓扑环境:

攻击机:Kali 10.10.10.237

被攻击机: win7 10.10.10.232

因为只为了测试,只修改了PC1的DNS

0x01  node安装

wget http://nodejs.org/dist/v0.8.7/node-v0.8.7.tar.gz
tar zxvf node-v0.8.7.tar.gz
root@192:~/node-v0.8.7# ./configure
{ "target_defaults": { "cflags": [],
"default_configuration": "Release",
"defines": [],
"include_dirs": [],
"libraries": []},
"variables": { "clang": 0,
"gcc_version": 47,
"host_arch": "ia32",
"node_install_npm": "true",
"node_install_waf": "true",
"node_prefix": "",
"node_shared_openssl": "false",
"node_shared_v8": "false",
"node_shared_zlib": "false",
"node_use_dtrace": "false",
"node_use_etw": "false",
"node_use_openssl": "true",
"target_arch": "ia32",
"v8_no_strict_aliasing": 1,
"v8_use_snapshot": "true"}}
creating ./config.gypi
creating ./config.mk
root@192:~/node-v0.8.7# make install

安装完后,执行

npm install -g closurether

 

如果出现错误

SSL Error: SELF_SIGNED_CERT_IN_CHAIN

symlinking ../lib/node_modules/npm/bin/npm-cli.js -> /usr/local/bin/npm
updating shebang of /usr/local/bin/npm to /usr/local/bin/node
root@192:~/node-v0.8.7# npm install -g closurether
npm http GET https://registry.npmjs.org/closurether
npm http GET https://registry.npmjs.org/closurether
npm http GET https://registry.npmjs.org/closurether
npm ERR! Error: SSL Error: SELF_SIGNED_CERT_IN_CHAIN
npm ERR! at ClientRequest.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/request/main.js:440:26)
npm ERR! at ClientRequest.g (events.js:185:14)
npm ERR! at ClientRequest.EventEmitter.emit (events.js:88:17)
npm ERR! at HTTPParser.parserOnIncomingClient [as onIncoming] (http.js:1455:

找到解决方法是:

root@192:~/node-v0.8.7# npm install npm -g --ca=null
npm http GET https://registry.npmjs.org/npm
npm http 200 https://registry.npmjs.org/npm
npm http GET https://registry.npmjs.org/npm/-/npm-1.4.26.tgz
npm http 200 https://registry.npmjs.org/npm/-/npm-1.4.26.tgz
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm@1.4.26 /usr/local/lib/node_modules/npm
root@192:~/node-v0.8.7# npm config set ca=""
root@192:~/node-v0.8.7# npm install -g closurether
/usr/local/bin/closurether -> /usr/local/lib/node_modules/closurether/bin/closurether
closurether@0.1.1 /usr/local/lib/node_modules/closurether
├── mkdirp@0.3.5
├── iconv-lite@0.2.11
└── uglify-js@2.3.6 (async@0.2.10, source-map@0.1.39, optimist@0.3.7)

再执行closurether已经正常。

这里运行是 DNS走的流量通过本机的服务再转发给访问者。HTTP是正常的。遇到HTTPS会出现一些错误。也没有找到什么好的解决方式一起共勉下。

现在配置好了,来测试一下。

修改下本机的DNS 。指向kali,用closurether来处理DNS信息。(修改DNS也可以在路由上面进行修改。另外也可以DHCP,自动获取DNS的话可以强制获取到自己设置的DNS。怎么实现大家可以自己去测试,这里就不讨论了)

0x02  测试劫持

修改成功后。可以看到详细的DNS信息与访问信息。

这里。我们当然就用来node来进行JS注入了。

找一个这个文件js

find / -name extern.js

  

加入测试内容

alert 弹出

加入后。会在默认的列表里面自动加入JS,默认是所有的网站都会注入JS。JS是会缓存的。要清理缓存。也可以new预加载。

想要加入js的url.自要在

/usr/local/lib/node_modules/closurether/tool/cache-sniffer

  

这个目录里面加入 就可以了。

这里的10086.cn伪造地址 具体想伪装成什么地址,可以在config.json里配置。

JS里面就是我们修改的文件extern.js

这里就可以用js进行投毒。投入flash升级与下载exe识别替换与js获得主机的一些信息。(注意JS死循环)

0x03 实战劫持

试一试劫持会话

tcpdump 监听下eth0  生成cap

用ferret处理生成的cap文件 自动在目录会长成一个hamster.txt.

在启用hamster 代理

这样就可以劫持他们的会话了

这里看不懂的可以看看查查中间人攻击。

劫持会话的kali上面集成了很多。如urlsnarf,Cookie Cadger(这种我觉得太方便)这里我不演示这几种了,大家可以自己测试。

urlsnarf 劫持的话也只是处理下头文件。

本机我访问下QQ空间。

收到了urlsnarf里面的信息

我们通过抓取到的信息。直接就可以登陆到QQ空间。

在局域网利用信息是很方便的,还有没有隐私。测试成功的有 QQ空间 QQ邮箱,百度网盘。其他的HTTP没有一一测试。我测试的基本都成功。

说的都是常规思路,大牛们求更淫荡的姿态。

转载自 :http://www.freebuf.com/articles/web/43157.html

内网DNS投毒技术劫持会话的更多相关文章

  1. Centos下内网DNS主从环境部署记录

    一.DNS是什么?DNS(Domain Name System),即域名系统.它使用层次结构的命名系统,将域名和IP地址相互映射,形成一个分布式数据库系统. DNS采用C-S架构,服务器端工作在UDP ...

  2. 配置内网DNS实现内部域名解析

    服务器 实战目的: ü 配置内网的DNS服务器实现内网服务器的域名解析. ü 配置内网的DNS服务器减少到Internet的域名解析流量. ü 配置内网的DNS服务器实现Internet上服务器的域名 ...

  3. 用 ROS 做内网DNS服务器

    转载:http://iliuyong.iteye.com/blog/1035692 用 ROS 做内网DNS服务器方法:1.ROS 设置IP ->DNS 选择"static" ...

  4. 使用dnsmasq快速搭建内网DNS

    背景介绍公司有一批测试服务器,之间希望通过自定义的域名进行访问,这样比较方便,但每个人每台机器都维护一个hosts的话会非常麻烦,于是想搭建一个内部的DNS服务器,对自定义的域名进行解析,同时缓存公网 ...

  5. 云计算之路-试用Azure:搭建自己的内网DNS服务器

    之前我们写过一篇博文谈到Azure内置的内网DNS服务器不能跨Cloud Service,而我们的虚拟机部署场景恰恰需要跨多个Cloud Service,所以目前只能选择用Azure虚拟机搭建自己的内 ...

  6. bind搭建内网DNS服务器架构(主从、子域授权、DNS转发器)

    实验目的 模拟企业DNS服务架构服务器及原理 实验环境准备 实验架构图 实验设备 DNS服务器4台 主服务器master(centos8):IP_192.168.100.30, 从服务器slave(r ...

  7. 内网dns劫持

    进行内网的dns劫持呢 ---> 我们需要用到ettercap 和ettercap内置的工具dns_spoof 1.我们需要开启ip转发 echo >/proc/sys/net/ipv4/ ...

  8. 常见企业IT支撑【5、内网DNS cache轻量服务dnsmasq】

    可参考http://www.centoscn.com/CentosServer/dns/2014/0113/2355.html 布署keepalive高可用方式 此方案只适合小型企业,规模少的情况下使 ...

  9. bettercap实现内网Dns欺骗

    目的 让内网的所有计算机浏览网页的时候, 出现我的钓鱼页面 准备 kali系统 Bettercap dns文件 通过ifconfig查看当前计算机的ip, 我这边为, 192.168.1.150 创建 ...

随机推荐

  1. C++ 智能指针 shared_ptr

    今天晚上去旁听了C++高级编程的课,其中提到智能指针.第一反映还以为是auto_ptr呢,一听才知道是share_ptr这个.哦,原来是C++11特性.大致的原因是auto_ptr有一点缺陷,而sha ...

  2. android笔记一 控件属性

    <?xml version = "1.0" encoding = "utf-8"?> <LinearLayout xmlns:android= ...

  3. CCProgressTo和CCProgressTimer

    在cocos2d中同样提供了很多表现图片和精灵的方式,上一篇当中提到的切换场景的方式之一是顺或逆时针切入的方法,在图片上也可以使用,test里有一个例子介绍CCProgressTimer可以实现一些图 ...

  4. Spark的基本说明

    1.关于Application 用户程序,一个Application由一个在Driver运行的功能代码和多个Executor上运行的代码组成(工作在不同的节点上). 又分成多个Job,每个Job由多个 ...

  5. Ajax实现异步刷新验证用户名是否已存在

    由于要做一个注册页面,看到许多网站上都是使用Ajax异步刷新验证用户名是否可用的,所以自己也动手做一个小实例 都是简单的实例,所以直接发代码 静态页面Ajax.html <html> &l ...

  6. LeetCode: Restore IP Addresses 解题报告

    Restore IP Addresses My Submissions Question Solution Given a string containing only digits, restore ...

  7. asp.net显示用户信息

    web.config <?xml version="1.0" encoding="utf-8"?> <!-- 有关如何配置 ASP.NET 应 ...

  8. 一款基于jquery超炫的图片切换特效

    今天为给大家介绍一款基于jquery超炫的图片切换特效.由百叶窗飞入显示图片.图片消息的时候也是百叶窗渐行渐远.用于图片展示,效果还是非常好,我们一起看下效果图: 在线预览   源码下载 来看下实现的 ...

  9. tcp与http的区别

    1.TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接.TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上. ...

  10. Android——数据存储:手机内部存储

    存取字符串和存取图片不相同 xml <EditText android:layout_width="match_parent" android:layout_height=& ...