渗透测试:内网DNS投毒技术劫持会话
本文仅供渗透测试技术学习及教学用途,禁止非法使用
最近一段时间一直在研究内网中嗅探的一些方法,各种方式的尝试,才找到一个比较靠谱的一种方式。dns投毒与中间人。ARP掉线太高了。单一的ARP掉线也在10分钟内。
工具列表:
tcpdump Ferret Hamster node closurether
Ox0
拓扑环境:
攻击机:Kali 10.10.10.237
被攻击机: win7 10.10.10.232
因为只为了测试,只修改了PC1的DNS
Ox01
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 [email protected] /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 [email protected] /usr/local/lib/node_modules/closurether ├── [email protected] ├── [email protected] └── [email protected] ([email protected], [email protected], [email protected])
再执行closurether已经正常。
这里运行是 DNS走的流量通过本机的服务再转发给访问者。HTTP是正常的。遇到HTTPS会出现一些错误。也没有找到什么好的解决方式一起共勉下。
现在配置好了,来测试一下。
修改下本机的DNS 。指向kali,用closurether来处理DNS信息。(修改DNS也可以在路由上面进行修改。另外也可以DHCP,自动获取DNS的话可以强制获取到自己设置的DNS。怎么实现大家可以自己去测试,这里就不讨论了)
Ox02
修改成功后。可以看到详细的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死循环)
更加专业的解答可以去看下 EtherDream 博客 专注wifi劫持30年。
Ox03
试一试劫持会话
tcpdump 监听下eth0 生成cap
用ferret处理生成的cap文件 自动在目录会长成一个hamster.txt.
在启用hamster 代理
这样就可以劫持他们的会话了
这里看不懂的可以看看查查中间人攻击。
劫持会话的kali上面集成了很多。如urlsnarf,Cookie Cadger(这种我觉得太方便)这里我不演示这几种了,大家可以自己测试。
Ox04
urlsnarf 劫持的话也只是处理下头文件。
本机我访问下QQ空间。
收到了urlsnarf里面的信息
我们通过抓取到的信息。直接就可以登陆到QQ空间。
在局域网利用信息是很方便的,还有没有隐私。测试成功的有 QQ空间 QQ邮箱,百度网盘。其他的HTTP没有一一测试。我测试的基本都成功。
说的都是常规思路,大牛们求更淫荡的姿态。
最后
我只想做一个安静的美男子。
如果有什么好玩的内网中的思路可以与我分享下mail:Sh4dow[at]lcx.cc
感谢Evil,王老板,开发,这些天一起的努力。