找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
.COM/.NET/.ORG 国际域名注册全功能虚拟主机/免备案虚拟主机
查看: 2407|回复: 9

黑客对系统识别的基本方法

[复制链接]

15

主题

61

回帖

3193

积分

论坛元老

积分
3193
发表于 2003-10-26 23:47:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
对操作系统的认识,对于每一个从事计算行业的人都是非常重要,要成为一名黑客更是要对操作系统有深入、深刻的认识。下面就和大家一起来探讨一下这方面的问题。

我们先来看分析一下一个黑客入侵的基本过程:1、判断入侵对象的操作系统—>2、描扫端口,判断开放了那些服务(这两步有可能同时进行)—>3、跟据操作系统和所开放的服务选择入侵方法,通常有“溢出”和“弱口猜测”两种方法—>4、获得系统的最高权力—>5、安放后门、清除日志走人( :)也许有格盘走人的)。

由上面可以知道,在整个过程当中对操作系统类型的判断识别是最基本也是很关系的一步。可想而知,如果你连对方的操作系统是什么都不知道,要想入侵跟本无从谈起。

也许很少人问过自己,我们为什么要先了解对方的操作系统呢?其实,我们了解操作系统的原因是因为我们要了解系统内存的工作况态,了解它是以什么方式,基于什么样的技术来控制内存,以及怎么样来处理输入与输出的数据的。世上任何东西都不可能是尽善尽美的(当然这也是我们人类不断追求的动力所在),作为复杂的!

计算机系统更如此,它在控制内存与处理数据的过程中总是有可能出错的(特别是在安装了其它的应用程序以后),系统本身也会存在各种各样的弱点与不足之处。黑客之所以能够入侵,就是利用了这些弱点与错误。现在网上流行的各种各样的入侵工具,都是黑客在分析了系统的弱点及存在的错之后编写出来的。(其中以“缓冲区溢出”最为常见)

作为一般的黑客,我们只要善于使用现成的入侵工具,就可以达到我们入侵的目的。但是因为不同的系统,其工作原理不一样,所以不同的入侵工具只能针对相应的操作系统。因此,对操作系统的识别是必不可少的,这就需要我们对操作系统有相当的了解,对网络有一定的基础识(要作黑客还是不那么容易的),关于各类操作系统的介绍,在网上有成堆的文章,大家可以自己去查阅。

在此介绍一此简单的操作系统识别方法给大家,希望对大家有用。

一、用ping来识别操作系统

C:\>ping 10.1.1.2



Pinging 10.1.1.2 with 32 bytes of data:



Reply from 10.1.1.2: bytes=32 time<10ms TTL=128

Reply from 10.1.1.2: bytes=32 time<10ms TTL=128

Reply from 10.1.1.2: bytes=32 time<10ms TTL=128

Reply fr!

om 10.1.1.2: bytes=32 time<10ms TTL=128



Ping statist!

ics for

10.1.1.2:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 0ms, Maximum = 0ms, Average = 0ms



C:\>

C:\>ping 10.1.1.6



Pinging 10.1.1.6 with 32 bytes of data:



Request timed out.

Reply from 10.1.1.6: bytes=32 time=250ms TTL=237

Reply from 10.1.1.6: bytes=32 time=234ms TTL=237

Reply from 10.1.1.6: bytes=32 time=234ms TTL=237



Ping statistics for 10.1.1.6:

Packets: Sent = 4, Received = 3, Lost = 1 (25% loss),

Approximate round trip times in milli-seconds:

Minimum = 234ms, Maximum = 250ms, Average = 179ms

我们跟据ICMP报文的TTL的值,我们就可以大概知道主机的类型。如:TTL=125左右的主机应该是windows系列的机子,TTL=235左右的主机应该是UINX系列的机子。如上面的两个例子,10.1.1.2就是win2000的机子,而10.1.1.6则是UINX(Sunos 5.8)的机子。这是因为不?

?僮飨低车幕?佣訧CMP报文的处理与应答是有所不同的,TTL值每过一个路由器会减1。所以造成了TTL回复值的不同。对于TTL值与操作系统类型的对应,还要靠大家平时多注意观察和积累。

二、直接通过联接端口根据其返回的信息来判操作系统

这种方法应该说是用得最多的一种方法,下面我们来看几个实例。

1、如果机子开了80端口,我们可以telnet(当然如果有NC最好用NC,它可以不用盲打)它的80端口。

Microsoft Windows 2000 [Version 5.00.2195]

(C) 版权所有 1985-1998 Microsoft Corp.



C:\>telnet 10.1.1.2 80

输入get 回车(注意这里是盲打)

如果返回,

HTTP/1.1 400 Bad Request

Server: Microsoft-IIS/5.0

Date: Fri, 11 Jul 2003 02:31:55 GMT

Content-Type: text/html

Content-Length: 87



<html><head><title>Error</title></head><body>The parameter is incorrect. </body>

</html>



遗失对主机的连接。

C:\>

那么这台就肯定是windows的机子。

如果返回,

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> !

; &!

nbsp;&nb

sp; <HTML><HEAD> <TITLE>501 Method

Not Implemented</TITLE> </HEAD><BODY> &nbs!

p; <H1>Method Not Implemented</H1> get to / not

supported.<> Invalid method in request get<><HR> <ADDRESS>Apache/1.3.27 Server at gosiuniversity.com Port 80</ADDRESS>

</BOD!

Y></HTML>

遗失对主机的连接。

C:\>

那么多数就是UINX!

系统的机

子了。

2、如果机子开了21端口,我们可以直接FTP上去

C:\>ftp 10.1.1.2

如果返回,

Connected to 10.1.1.2.

220 sgyyq-c43s950 Microsoft FTP Service (Version 5.0).

User (10.1.1.2none)):

那么这就肯定是一台win2000的机子了,我们还可以知道主机名呢,主机名就是sgyyq-c43s950。这个FTP是windows的IIS自带的一个FTP服务器。

如果返回,

Connected to 10.1.1.3.

220 Serv-U FTP Server v4.0 for WinSock ready...

User (10.1.1.3none)):

也可以肯定它是windows的机子,因为Serv-U FTP是一个专为windows平台开发的FTP服务器。

如果返回,

Connected to 10.1.1.3.

220 ready, dude (vsFTPd 1.1.0: beat me, break me)

User (10.1.1.3none)):

那么这就是一台UINX的机子了。

3、如果开了23端口,这个就简单了,直接telnet上去。

如果返回,

Microsoft (R) Windows (TM) Version 5.00 (Build 2195)

Welcome to Microsoft Telnet Service

Telnet Server Build 5.00.99201.1

login:

那么这肯定是一台windows的机子了

如果返回,

SunOS 5.8

login:

不用说了,这当然是一台U!

INX的机子了,并且版本是SunOS 5.8的。

三、利用专门的软件来识别

这种有识别操作系统功能的软件,多数采用的是操作系统协议栈识别技术。这是因为不同的厂家在编写自己操作系统时,TCP/IP协议虽然是统一的,但对TCP/IP协议栈是没有做统一的规定的,厂家可以按自己的要求来编写TCP/IP协议栈,从而造成了操作系统之间协议栈的不同。因此我们可以通过分析协议栈的不同来区分不同的操作系统,只要建立起协议栈与操作系统对应的数据库,我们就可以准确的识别操作系统了。目前来说,用这种技术识别操作系统是最准确,也是最科学的。因此也被称为识别操作系统的“指纹技术”。当然识别的能力与准确性,就要看各软件的数据库建立情况了。

下面是简单介绍两款有识别功能的软件。

1、著名的nmap,它采用的是主动式探测,探测时会主动向目标系统发送探测包,根据目标目标机回应的数据包来,叛断对方机的操作系统。用法如下:

F:\nmap>nmap -vv -sS -O 10.1.1.5



Starting nmap V. 3.00 ( www.insecure.org/nmap )

Host IS~123456ADCD (10.1.1.5) appears to be up ... good.

Initiating SYN Stealth Scan against IS~123456ADCD (10.1.1.5)

Ad!

ding open port 139/tcp

Adding open port 7070/tcp

Adding !

open por

t 554/tcp

Adding open port 23/tcp

Adding open port 1025/tcp

Adding open port 8080/tcp

Adding open port 21/tcp

Adding open port 5050/tcp

Adding open port 9090/tcp

Adding open port 443/tcp

Adding open port 135/tcp

Adding open port 1031/tcp

Adding open port 3372/tcp

Adding open port 25/tcp

Adding open port 1433/tcp

Adding open port 3389/tcp

Adding open port 445/tcp

Adding open port 80/tcp

The SYN Stealth Scan took 1 second to scan 1601 ports.

For OSScan assuming that port 21 is open and port 1 is closed and neither ar

rewalled

Interesting ports on IS~123456ADCD (10.1.1.5):

(The 1583 ports scanned but not shown below are in state: closed)

Port State Service

21/tcp open ftp

23/tcp open telnet

25/tcp!

open smtp

80/tcp open http

135/tcp open loc-srv

139/tcp open netbios-ssn

443/tcp open https

445/tcp open microsoft-ds

554/tcp open rtsp

1025/tcp open NFS-or-IIS

1031/tcp open iad2

1433/tcp open ms-sql-s

3372/tcp open msdtc

338!

9/tcp open &nbs!

p;

ms-term-serv

5050/tcp open mmcc

7070/tcp open realserver

8080/tcp open http-proxy

9090/tcp open zeus-admin

Remote operating system guess: Windows 2000/XP/ME

OS Fingerprint:

TSeq(Class=RI%gcd=1%SI=21F8%IPID=I%TS=0)

T1(Resp=Y%DF=Y%W=FAF0%ACK=S++%Flags=AS%Ops=MNWNNT)

T2(Resp=Y%DF=N%W=0%ACK=S%Flags=AR%Ops=)

T3(Resp=Y%DF=Y%W=FAF0%ACK=S++%Flags=AS%Ops=MNWNNT)

T4(Resp=Y%DF=N%W=0%ACK=O%Flags=R%Ops=)

T5(Resp=Y%DF=N%W=0%ACK=S++%Flags=AR%Ops=)

T6(Resp=Y%DF=N%W=0%ACK=O%Flags=R%Ops=)

T7(Resp=Y%DF=N%W=0%ACK=S++%Flags=AR%Ops=)

PU(Resp=Y%DF=N%TOS=0%IPLEN=38%RIPTL=148%RIPCK=E%UCK=E%ULEN=134%DAT=E)



TCP Sequence Prediction: Class=random positive increments

&nbs!

p; Difficulty=8696 (Worthy challenge)

TCP ISN Seq. Numbers: 5B9022E2 5B914E12 5B92A495 5B93915A 5B94A9B5 5B95CC64

IPID Sequence Generation: Incremental



Nmap run completed -- 1 IP address (1 host up) scanned in 2 seconds



其中 Remote operating system guess: Windows 2000/XP/ME 这行就是NMAP对操作系统类型的判断。还返回了好多信息,NMAP不愧为扫描之王。(哈哈,黑客必备哦!)

2、天眼,采用的是被动式的探测方法。不向目标系统发送数据包,只是被动地探测网络上的通信数据,通过分析这些数据来判断操作系统的类型。配合supersan使用,较果很好。

具体的使用方法,在此就不具体介绍了。有兴趣的的朋友可以到网上搜一下关于天眼使用方法的文章,会有很多的。

以上讲解了一些对操作系统识别的基本方法,希望对初学者有用。由于本人水平有限,不当之处,还请高手斧正!
回复

使用道具 举报

281

主题

3228

回帖

55万

积分

管理员

积分
551869
发表于 2003-10-27 09:08:40 | 显示全部楼层
好,经典!加精华!
网路游侠 www.youxia.org
回复 支持 反对

使用道具 举报

33

主题

203

回帖

4503

积分

论坛元老

积分
4503
发表于 2003-10-27 10:19:35 | 显示全部楼层
[emb7]
再长的路也有尽头,千万不要回头,再快乐的心都有烦恼,千万不要在意,请相信,野草遮不住太阳的光芒,困难挡不住勇敢者的脚步。 我这个男孩崇尚自然纯朴的生活。喜欢聆听约翰·斯特劳斯的圆舞曲;喜欢探讨梵高画中的精神世界;喜欢阅读柯南道尔笔下的福尔摩斯;喜欢研究中国上下五千年历史和古希腊文化;喜欢享受柏拉图式的精神恋爱;喜欢捕捉大自然的规律。向往去神农架探险,到罗马度假。
回复 支持 反对

使用道具 举报

1

主题

29

回帖

3125

积分

论坛元老

积分
3125
发表于 2003-11-22 10:36:19 | 显示全部楼层
[emb7] 明白一点点,拿谁开刀
回复 支持 反对

使用道具 举报

41

主题

110

回帖

3981

积分

论坛元老

积分
3981
发表于 2003-11-26 21:03:14 | 显示全部楼层
游侠!![emb2]
回复 支持 反对

使用道具 举报

0

主题

16

回帖

3067

积分

论坛元老

积分
3067
发表于 2003-11-27 11:10:00 | 显示全部楼层
[emb7]
回复 支持 反对

使用道具 举报

0

主题

5

回帖

3020

积分

论坛元老

积分
3020
发表于 2003-12-11 12:55:29 | 显示全部楼层
[emb7]不错.但是不知道能不能用上.
我在一名电脑工程师.很想与大家交朋友.
回复 支持 反对

使用道具 举报

77

主题

701

回帖

1万

积分

论坛元老

积分
16048
发表于 2003-12-19 08:58:23 | 显示全部楼层
[emb7][emb6]
回复 支持 反对

使用道具 举报

77

主题

201

回帖

3791

积分

论坛元老

积分
3791
发表于 2003-12-25 13:03:57 | 显示全部楼层
呵呵!
回复 支持 反对

使用道具 举报

10

主题

44

回帖

3469

积分

论坛元老

积分
3469
发表于 2003-12-27 21:51:27 | 显示全部楼层
TTL值全称是“生存时间(Time To Live)”,简单的说它表示DNS记录在DNS服务器上缓存时间。要理解TTL值,请先看下面的一个例子:有这样一个域名MYHOST.88IP.CN(其实,这就是一条DNS记录,通常表示在88IP.CN域中有一台名为MYHOST的主机)对应IP地址为1.1.1.1,它的TTL为10分钟。这个域名或称这条记录存储在一台名为DNS.88IP.CN的DNS服务器上。现在有一个用户在浏览器中键入一下地址(又称URL)HTTP://MYHOST.88IP.CN 这时会发生社么呢?该访问者指定的DNS服务器(或是他的ISP,互联网服务商, 动态分配给他的)8.8.8.8就会试图为他解释MYHOST.88IP.CN,当然8.8.8.8这台DNS服务器由于没有包含MYHOST.88IP.CN这条信息,因此无法立即解析,但是通过全球DNS的递归查询后,最终定位到DNS.88IP.CN这台DNS服务器,DNS.88IP.CN这台DNS服务器将MYHOST.88IP.CN对应的IP地址1.1.1.1告诉8.8.8.8这台DNS服务器,然有再由8.8.8.8告诉用户结果。8.8.8.8为了以后加快对MYHOST.88IP.CN这条记录的解析,就将刚才的1.1.1.1结果保留一段时间,这就是TTL时间,在这段时间内如果用户又有对MYHOST.88IP.CN这条记录的解析请求,它就直接告诉用户1.1.1.1,当TTL到期则又会重复上面的过程。动态主机用户的IP地址的多变性就决定了大的TTL值是不合适的,试想当用户的IP地址变化时全球的DNS服务器由于TTL没有到期而继续使用旧的IP地址就会产生解析错误了。因此,我们建议您将TTL值设置为1分钟,但如果您的IP地址是固定的或长时间不断线,那么较长的TTL比较好,因为这样会加快解析速度。
WINDOWS NT/2K默认的TTL值为 128 ,如果没有过滤ICMP,对方只要 PING 一下,就大概知道你的系统了(呵呵,可以看前一篇文章咯)

所以、、

我们来修改成其它值,相对不是可以起到简单的欺骗达到保护的目的了嘛

修改!

以改成UNIX类的255为例

下面的内容存成.reg文件

双击导入即可

————从这里开始————

REGEDIT4

[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters]
\"DefaultTTL\"=dword:000000ff

————到这里结束————

相对应的TTL值

十进制——十六进制

255---FF
128---80
64----40
32----20
有一个女孩,她愿意等我到下辈子……她溫柔委婉地说:想让我成为你女朋友,等下辈子吧......
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|西京校友网 ( 陕ICP备11003551号-5 )

GMT+8, 2025-5-9 04:36 , Processed in 0.020861 second(s), 7 queries , MemCache On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表