渗透测试:内网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 closurethernpm 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=nullnpm 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.tgznpm 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。怎么实现大家可以自己去测试,这里就不讨论了)

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没有一一测试。我测试的基本都成功。

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

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2014-09-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏aoho求索

认证鉴权与API权限控制在微服务架构中的设计与实现(一)

引言: 本文系《认证鉴权与API权限控制在微服务架构中的设计与实现》系列的第一篇,本系列预计四篇文章讲解微服务下的认证鉴权与API权限控制的实现。 1. 背景 ...

70360
来自专栏码神联盟

碎片化 | 第四阶段-28-Struts2框架概述以及原理图解-视频

如清晰度低,可转PC网页观看高清版本: http://v.qq.com/x/page/o05656uacql.html Struts2 概述 Strut...

43860
来自专栏Dawnzhang的开发者手册

spring cloud心跳检测自我保护(EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT

默认情况下,如果Eureka Server在一定时间内(默认90秒)没有接收到某个微服务实例的心跳,Eureka Server将会移除该实例。但是当网络分区故障...

35340
来自专栏数据和云

修而未复:说说WebLogic那修不完的Java反序列化漏洞

编者说明:这篇文章初稿写在Oracle CPU补丁发布之后,考虑到文章内容的影响,并未在当时发布,WebLogic 的 Java 反序列化漏洞,已经修复了多次,...

25760
来自专栏数据之美

记一次诡异的 ssh 互信免密码登录失败

背景 因为 hadoop 环境需要 master 能免密码 ssh localhost,所以我们需要建立与本机 localhost 的互信,方法很简单: 1. ...

49950
来自专栏IT大咖说

开源中国社区创始人红薯:J2Cache开源中国两级缓存实践

内容摘要 J2Cache 是开源中国开发的一个两级缓存框架,以高性能著称。那么它与同样是缓存框架的Ehcache和redis的区别在哪,又有哪些高性能的体现呢?...

40890
来自专栏云端架构

【云端架构】网站运维之CDN链接鉴权示例入门(PHP)

链接时间戳格式和有效时间与鉴权KEY 要求跟腾讯云CDN链接鉴权 配置保持同步,服务器以CDN节点配置为基准。以上模板可以根据需要调整,但请不要过度依赖模板,努...

983120
来自专栏FreeBuf

Metasploitable2使用指南

Metasploitable 2 Metasploitable2 虚拟系统是一个特别制作的ubuntu操作系统,本身设计作为安全工具测试和演示常见漏洞攻击。版...

60990
来自专栏玄魂工作室

Hacker基础之工具篇 braa

但与net-snmp的snmpget或snmpwalk不同,它可以同时查询数十个或数百个主机,并且可以在单个进程中查询

16230
来自专栏Java与Android技术栈

多个语言项目发布JCenter仓库的小结

我在 JCenter 上发布过 Java、Android、Kotlin 的项目已经有数十个了。踩坑无数,所以写下这篇文章,作为记录和总结。

11620

扫码关注云+社区

领取腾讯云代金券