发新话题
打印

[转载]UNIX入侵经典步骤详解(part 1.2)

[转载]UNIX入侵经典步骤详解(part 1.2)

来源:黑基

大家好我是cnbird,欢迎大家转载我的文章,不过要写上出处,要求不高吧??????

偶的blog:http://cnbird.99blog.com      myQQ:550669.

part one:

偶然的机会发现了一篇名为hacking unix的文章,大概看了看觉得价值十分的大,所以决定翻译出来,我觉得这篇文章一定能够成为中国unix黑客的基石...呵呵,也许有点夸大,不过等你看完了这篇文章以后,你的态度绝对会有转变的...

  再次声明,这篇文章不是为脚本小孩准备的,因为脚本小孩只会找有已知漏洞的机器,然后用脚本去入侵.......好了不罗嗦了go...........

   前四章都是一些基本的介绍,例如tcp/ip协议什么的,价值不大,网络上有的是介绍,大家自己参阅别的文章吧.

5.步骤(Profiling)

5.1目标的选择

有3 个不同的合乎逻辑的目标可供选择:

    ⒈主机

    ⒉网络

    ⒊组织

5.2网络映射

  网络映射阶段通常用于查明网络环境的细节,和存活的主机. 大多数的网络通常有各种各样的系统,例如处理email,文件共享,数据库,web服务器等等.在网络映射(mapping)阶段期间我们努力鉴定这些重要和有趣的系统以及潜在脆弱的机器.网络映射基本上对目标无害和几乎在并没有做什么的时候第一时间非常正确的把威胁看清楚,所以这是最好的第一个台阶..

5.2应用nmap

关于它我不想在做过多的描述,这里只说明一下它的用法:

nmap [switches] <ip | hostname | ip-range>

所有的应用文档你可以去http://www.insecure.org/nmap/ 察看...

  5.2.1

我们使用Nmap 的-sP选项与我们想要联合在一起扫描的IP范围接通。这个范围可以使用各种各样的表达式,但是我们在这里用标准的子网掩码表达式,

123.123.123.123/mask (prefix).如果你想去扫描123.123.123.123/24这个IP范围,然后nmap讲发送pings到123.123.123.*这个范围里面,就是256台主机123.123.123.1-123.123.123.255,下面给出一个nmap使用的例子:

$ nmap -sP 192.168.9.0/24
Starting nmap ( http://www.insecure.org/nmap/ )
Host tosca (192.168.9.1) appears to be up.
Host android (192.168.9.2) appears to be up.
Host ruby (192.168.9.11) appears to be up.
Host simon (192.168.9.12) appears to be up.
Host jona (192.168.9.13) appears to be up.
Host kibi (192.168.9.17) appears to be up.
Host catnet-0 (192.168.9.128) appears to be up.
Nmap run completed -- 256 IP addresses (4 hosts up) scanned in 6.882 seconds
$


  这里有一个非常中的情报,那就是名字是tosca的主机是一个网关或者是一个路由,

用".1"做为IP地址的经常被用作路由(不总是真实的).

当我正使用这个网络时,我能证实它...

$ /sbin/route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.9.0 * 255.255.255.0 U 0 0 0 eth0
default kibi 0.0.0.0 UG 0 0 0 eth0
$Content$nbsp;
你也可以用traceroute工具来找出远程主机的的网关.

这个阶段的IP扫描方法的最大的优势是, 那它能查找全部存活的hostname的主人,给有用大约那些类型系统的线索。例如一个主机名象这样‘ns.example.com&#39; or ‘ns1.example.com&#39;我们就可以猜测它们是域名服务器.或者像www.example.com,我们可以猜测它是一个web服务器,有时名字在其他有趣的事情上给一条线索,例如&#39;sparc01.example.com&#39;我们可以大胆猜测这是一个a Sun Sparc 的机器,或者是solaris.也许将来你会看到‘gateway.example.com&#39;或者是‘firewall.example.com&#39;.

5.2.3. Broadcast PING
这个广播ping经常被用做对一个子网所有的机器发送数据包.再我的网络上广播地址是192.168.9.0 和192.168.9.255.这些通常可以用ifconfig一起的(在linux上)命令来证实.现在,我连接测试程序对广播之一处理将会发生什么呢?下面我们来看一个例子:$ ping -b 192.168.9.255
WARNING: pinging broadcast address
PING 192.168.9.255 (192.168.9.255) 56(84) bytes of data.
64 bytes from 192.168.9.17: icmp_seq=1 ttl=64 time=0.098 ms
64 bytes from 192.168.9.11: icmp_seq=1 ttl=64 time=0.284 ms (DUP!)
64 bytes from 192.168.9.13: icmp_seq=1 ttl=64 time=0.367 ms (DUP!)
64 bytes from 192.168.9.1: icmp_seq=1 ttl=64 time=0.396 ms (DUP!)
64 bytes from 192.168.9.2: icmp_seq=1 ttl=255 time=0.524 ms (DUP!)
--- 192.168.9.255 ping statistics ---
1 packets transmitted, 1 received, +4 duplicates, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.098/0.333/0.524/0.142 ms
$
正如你看的那样,这是一个获得主机列表的很简单但是非常有效的办法.但是这个方法经常用做flood攻击.当然你可以这样:# ping -b -f 192.168.9.255
PING 192.168.9.255 (192.168.9.255): 56 data bytes
.
--- 192.168.9.255 ping statistics ---
59136 packets transmitted, 53261 packets received, +5875 duplicates, 9% packet loss
round-trip min/avg/max = 0.0/13.0/156.0 ms

它被称为"smurf"攻击.-f选项设置flood模式(必须再root模式下才可用),我们可以看到"最大"往返时间是156毫秒,平均13毫秒等等.

5.2.4:用DNS

DNS或者是域名系统是一个非常好的信息来源,既然一旦因特网扩大,人们不能记得IP 地址,人们想要名字来记IP地址.在早期的时候用"hosts"和至今是unix系统的/etc/hosts的"hosts.txt"文件来作为第一个解决办法,有一台中心的服务器包含人们将下载到他们的计算机的最新的主文件.下面是一些基础的介绍了,大家可以看tcp/ip协议,比这里讲的全...我们还是来看看如何利用dns搜集信息吧..当你要查询&#39;unix.cs.fuckmicrosoft.edu&#39;这样的域名时候,首先要查询fuckmicrosoft.edu&#39; 然后请求&#39; cs &#39; 子域的nameserver,然后&#39;在&#39;unix&#39;那块领土的主人的IP 地址的地址.

然而,际上你可以对你的本地nameserver 请求&#39; unix.cs.example.edu &#39;的IP 地址 ,可能然后把相同的需要送到&#39; example.edu &#39; nameserver.

让我们来做一个简单的查询:$ host www.example.org
www.example.org has address 192.168.0.102

   下面我们来讲讲区域传送的问题.

大多数的域名服务器都有不仅一个服务器来分配负荷.通常有一个主域服务器.你配制你的主域服务器和其他区域的域名服务器成型.第二域名服务器然后能请求一个区域转复制领域信息.

我们可以用UNIX的host工具来获得区域传送:

$ host -l example.org
Host example.org not found: 9(NOTAUTH)
; Transfer failed.
$
在这个例子里面这个域名服务器不允许区域传送.注意到如果他们来自未知的来源,管理者可能记录这些请求.更有趣是很多管理者使他们的主要领土服务员安全但是忘记他们的次要的那些.例如:

$ host -t ns example.org
example.org name server georgi.example.org.
example.org name server ns1.isp.net.
$
用这个命令你可以获得example.org的一个域,名服务器的列表.现在用-l选项尝试georgi.example.org的区域传送.让我们从&#39; ns1.isp.net &#39; 尝试它:

$ host -l example.org ns1.isp.net
Using domain server:
Name: ns1.isp.net
Address: 192.168.0.1#53
Aliases:
example.org SOA freedom.example.org. hostmaster.example.org.
Using domain server:
Name: ns1.isp.net
Address: 192.168.0.1#53
Aliases:
example.org mail is handled by 10 mailserver.example.org.
Using domain server:
Name: ns1.isp.net
Address: 192.168.0.1#53
Aliases:
example.org has address 192.168.9.2
Using domain server:
Name: ns1.isp.net
Address: 192.168.0.1#53
Aliases:
example.org name server ns1.isp.net.
Using domain server:
Name: ns1.isp.net
Address: 192.168.0.1#53
Aliases:
example.org name server georgi.example.org.
Using domain server:
Name: ns1.isp.net
Address: 192.168.0.1#53
Aliases:
andromeda.example.org has address 192.168.0.70
Using domain server:
Name: ns1.isp.net
Address: 192.168.0.1#53
Aliases:
barentsz.example.org has address 192.168.0.84
Using domain server:
Name: ns1.isp.net
Address: 192.168.0.1#53 Aliases:
example.org SOA freedom.example.org. hostmaster.example.org.
你应该试试它并且看见你能从区域得到数据的多少信息.得到一个更好的列表:

$ host -l example.org ns1.isp.net | grep -E "has address"\ \|\ alias
example.org has address 192.168.0.1
andromeda.example.org has address 192.168.0.70
barentsz.example.org has address 192.168.0.84
chandra.example.org has address 192.168.0.65
darwin.example.org has address 192.168.0.12
elmo.example.org has address 192.168.0.14
再此列举一些其他有用的命令:

$ host -t mx example.org
example.org mail is handled by 10 mailserver.example.org.
用-t接通你指定你想要列举的类型记录。 &#39; mx &#39;那里代表邮件eXchange。

得到一个特别的类型的目录使用这个:  

$ host -t any example.org
example.org name server ns1.isp.net.
hen.nl name server georgi.example.org.
$ host -t any example.org ns1.isp.net
Using domain server:
Name: ns1.isp.net
Address: 192.168.9.1#53
Aliases:
example.org SOA freedom.example.org. hostmaster.example.org.
example.org mail is handled by 10 mailserver.example.org.
example.org has address 192.168.9.2
example.org name server georgi.example.org.
example.org name server ns1.isp.net
$
你能理解其他域,名服务器和host需要知道他们能使用哪些域,名服务器到IP 服务器">地址解决名字.如果你把一个邮件寄到webmaster@example.org,,邮件服务器 将使用mx质问,把邮件寄给主人.

现在你能用这些命令稍微实践一下并且检查手工页.

  好了第一部分就写到这里了,其他部分以后继续放出,现在都快下午2点了,该回去吃饭了,学校的生活就是苦啊.,........

希望自己早日脱离苦海,找到自己喜欢的工作和PP的wife......

  耳边听着下辈子如果我还记得你,想着她,我只希望她能过的比我好,过的比我幸福.同时我也祝福我的父母,和所有关心我的人,当然还有你们我亲爱的读者...

再见....

I will come soon...Waiting  for me...!!!!!!!!

---------------------------------------------

part two:

5.2.5. 用traceroute

在3.1.4 部分我们已经学到了数据包如果要到达目的地那么一定需要要穿越过很多的host."traceroute"这个工具用上面的原则去跟踪在路由器上的网关,traceroute是一个真正的"hack"为什么这么说呢?因为这在一些协议里不是一个标准特征.TTL在IP头部的领域里常常限制包的寿命.当TTL为0的时候这个包将会丢失,并且给原host返回一个错误的ICMP信息.通过送一连串的IP 包,Traceroute用最初TTL的1从一包开始利用.那值为被送的每个包增加1.结果送的第一个包绝不会通过第一个gateway,而且gateway应该答复"时间超越(TIME EXCEEDED)"的错误ICMP信息.traceroute程序开始监听这些包,拿他们的源地址(gateway的地址)和选择查那IP地址的主机名,然后traceroute到一点增加TTL的值并且送另一个,这引起下一个航程返回一条错误信息 .这个过程继续,直到目标主人被达到.关于他们在IP之上使用什么协议,Traceroute能在他们的实施过程中变化.

给出用法:traceroute <IP or hostname>
Example usage:
$ traceroute www.example.org
traceroute to www.example.org (192.168.0.102), 30 hops max, 38 byte packets
1 tosca (192.168.9.1) 0.548 ms 0.408 ms 0.355 ms 2
2 freedom.example.org (192.168.0.1) 21.638 ms 21.629 ms 22.813 ms
3 www.example.org(192.168.0.102) 36.052 ms 18.338 ms 15.218 ms
$
5.2.6. WHOIS
$ whois example.org 很简单就不多做介绍了,有兴趣的话可以看看RFC 812文档~

5.3. 端口列举

完成网络映射阶段后,你选择你想更详细调查的1 或者几个主机.下一步就是端口列举,或者其他人所说的端口扫描,端口扫描就是列举出远程主机上有端口开放,端口扫描能够列举出远程主机开放了哪些服务,被监听的每一个端口的应用潜在的安全危险.监听服务可以在目标系统上给线索并且最好在他们的实施过程中有瑕疵,那可以被利用获得本地目标的入口。

5.3.1. 基础端口扫描



我靠卡上没钱了,出来的太急忘记带钱包了,郁闷ing....

不好意思啊~

下机了,明天上午上课的时候继续翻译啊....
益友网吧联盟  http://www.96-7.com

TOP

发新话题