渗透测试:内网DNS投毒技术劫持会话

2014-09-12 +8 1151117人围观 ,发现 56 个不明物体 WEB安全

本文仅供渗透测试技术学习及教学用途,禁止非法使用

最近一段时间一直在研究内网中嗅探的一些方法,各种方式的尝试,才找到一个比较靠谱的一种方式。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
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没有一一测试。我测试的基本都成功。

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

最后

我只想做一个安静的美男子。

如果有什么好玩的内网中的思路可以与我分享下mail:Sh4dow[at]lcx.cc

感谢Evil,王老板,开发,这些天一起的努力。

这些评论亮了

  • chenyoufu123 (4级) upyun 安全 回复
    最关键的如何修改呗攻击机器的DNS没看懂,说的也不明白。
    看文章的截图应该是直接跑过去修改了一下网络配置,也就是说已经能够控制被攻击的机器了,这样再搞什么劫持有什么意思呢?相当于自己劫持自己。
    其余的都是什么劫持工具之类的,听起来高大上,说白了就是抓包改包的内容。
    )59( 亮了
  • chenyoufu123 (4级) upyun 安全 回复
    @chenyoufu123  “怎么实现大家可以自己去测试,这里就不讨论了。”
    这句话的意思其实就是我有一个0day,直接就日进去了,关于怎么进去的,0day什么样子,你们自己去研究吧。下面就讲讲我获得了root权限后,可以做些什么。。。。。。
    )14( 亮了
  • sh4dow@lcx.cc (2级) I need AV! 回复
    比如用sqlmap 跑出了注入。你们说不知道有种东西叫啊D吗? 你不知道具体东西什么处理起来方便用什么吗? 你ettercqp能直接去把数据列出来利用吗?不用改编码吗? 你ettercap可以把把处理得请求通过本机流量转发到请求机器上?自己没有详细测试就不要说这样麻烦. 没有处理这问题你怎么知道要怎么会方便不影响? 你DNS 抓到数据了不返回包 别人能上网?
    )9( 亮了
  • CCAV 回复
    @chenyoufu123  我个人理解,主要讲还是dns劫持? 说的这么复杂,ettercap一样可以搞定是不?
    )7( 亮了
  • 珂珂 回复
    不错的文章,虽然就像楼上们说的,欠缺了一点细节。既然分享希望能更加open哈哈。
    依然感谢楼主分享,希望看到更多这种文章。
    )7( 亮了
发表评论

已有 56 条评论

取消
Loading...

特别推荐

推荐关注

填写个人信息

姓名
电话
邮箱
公司
行业
职位
css.php