内网DNS投毒技术劫持会话
工具列表:
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投毒技术劫持会话的更多相关文章
- Centos下内网DNS主从环境部署记录
一.DNS是什么?DNS(Domain Name System),即域名系统.它使用层次结构的命名系统,将域名和IP地址相互映射,形成一个分布式数据库系统. DNS采用C-S架构,服务器端工作在UDP ...
- 配置内网DNS实现内部域名解析
服务器 实战目的: ü 配置内网的DNS服务器实现内网服务器的域名解析. ü 配置内网的DNS服务器减少到Internet的域名解析流量. ü 配置内网的DNS服务器实现Internet上服务器的域名 ...
- 用 ROS 做内网DNS服务器
转载:http://iliuyong.iteye.com/blog/1035692 用 ROS 做内网DNS服务器方法:1.ROS 设置IP ->DNS 选择"static" ...
- 使用dnsmasq快速搭建内网DNS
背景介绍公司有一批测试服务器,之间希望通过自定义的域名进行访问,这样比较方便,但每个人每台机器都维护一个hosts的话会非常麻烦,于是想搭建一个内部的DNS服务器,对自定义的域名进行解析,同时缓存公网 ...
- 云计算之路-试用Azure:搭建自己的内网DNS服务器
之前我们写过一篇博文谈到Azure内置的内网DNS服务器不能跨Cloud Service,而我们的虚拟机部署场景恰恰需要跨多个Cloud Service,所以目前只能选择用Azure虚拟机搭建自己的内 ...
- bind搭建内网DNS服务器架构(主从、子域授权、DNS转发器)
实验目的 模拟企业DNS服务架构服务器及原理 实验环境准备 实验架构图 实验设备 DNS服务器4台 主服务器master(centos8):IP_192.168.100.30, 从服务器slave(r ...
- 内网dns劫持
进行内网的dns劫持呢 ---> 我们需要用到ettercap 和ettercap内置的工具dns_spoof 1.我们需要开启ip转发 echo >/proc/sys/net/ipv4/ ...
- 常见企业IT支撑【5、内网DNS cache轻量服务dnsmasq】
可参考http://www.centoscn.com/CentosServer/dns/2014/0113/2355.html 布署keepalive高可用方式 此方案只适合小型企业,规模少的情况下使 ...
- bettercap实现内网Dns欺骗
目的 让内网的所有计算机浏览网页的时候, 出现我的钓鱼页面 准备 kali系统 Bettercap dns文件 通过ifconfig查看当前计算机的ip, 我这边为, 192.168.1.150 创建 ...
随机推荐
- kafka工作原理简介
消息队列 消息队列技术是分布式应用间交换信息的一种技术.消息队列可驻留在内存或磁盘上, 队列存储消息直到它们被应用程序读走.通过消息队列,应用程序可独立地执行--它们不需要知道彼此的位置.或在继续执行 ...
- Java:几个正则式应用(检查汉字、日期、EMAIL、手机号码的合法性,替换字符串等)
1. 检查输入是否为合法汉字 /** * 判断输入字符是否为有效汉字 * @param str 字符 * @return 是否合法汉字 */ public static boolean isValid ...
- if else 的或(||)
= "node01" ]; then ssh -p2222 root@.xx.xx.xxx else echo "hello world" #当$=='node ...
- mogoose的bug之不能根据类型为number的字段查找数据
Users.find({paw:6868}).exec() //返回的结果为空 Users.find({paw:"6868"}).exec() //返回的结果也为空 Users.f ...
- Socket相关函数(2)- sendto(), recvfrom() UDP模型
udp_server.c #include <sys/types.h> #include <sys/socket.h> #include <stdio.h> #in ...
- hdoj2111 Saving HDU
Saving HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- Oracle PLSQL Demo - 01.定义变量、打印信息
declare v_sal ) :; begin --if you could not see the output in console, you should set output on firs ...
- 五、String在Java中是传“引用”
这个是Java的经典问题.许多类似的问题在stackoverflow被提问,有很多不正确或不完备的答案.如果不想太多你会认为这个问题比较简单.( The question is simple if y ...
- js异步加载的解决方案
默认情况javascript是同步加载的,javascript的加载时阻塞的,后面的元素要等待javascript加载完毕后才能进行再加载,如何解决这个问题呢,接下来将为你详细介绍下异步加载js三种实 ...
- C#中关于用户名和密码的验证问题。
本次练习的目的是使用LinQ to XML,正则表达式,明天在这个基础上练习使用序列化和反序列化,继续加点儿小功能. 首先,这是一个窗体程序,设计如下: 存放用户名和密码的XML如下: 实现的代码如下 ...