内网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

原文地址:https://www.cnblogs.com/lfoder/p/6478391.html