系統(tǒng)識別有什么方法
系統(tǒng)識別有什么方法
操作系統(tǒng)的認(rèn)識,對于每一個從事計算行業(yè)的人都是非常重要,要成為一名黑客更是要對操作系統(tǒng)有深入、深刻的認(rèn)識。下面就和大家一起來探討一下這方面的問題。
我們先來看分析一下一個黑客入侵的基本過程:1、判斷入侵對象的操作系統(tǒng)—>2、描掃端口,判斷開放了那些服務(wù)(這兩步有可能同時進(jìn)行)—>3、跟據(jù)操作系統(tǒng)和所開放的服務(wù)選擇入侵方法,通常有“溢出”和“弱口猜測”兩種方法—>4、獲得系統(tǒng)的最高權(quán)力—>5、安放后門,清除日志走人(也許有格盤走人的)。
由上面可以知道,在整個過程當(dāng)中對操作系統(tǒng)類型的判斷識別是最基本也是很關(guān)系的一步??上攵?,如果你連對方的操作系統(tǒng)是什么都不知道,要想入侵跟本無從談起。
也許很少人問過自己,我們?yōu)槭裁匆攘私鈱Ψ降牟僮飨到y(tǒng)呢?其實(shí),我們了解操作系統(tǒng)的原因是因?yàn)槲覀円私庀到y(tǒng)內(nèi)存的工作況態(tài),了解它是以什么方式,基于什么樣的技術(shù)來控制內(nèi)存,以及怎么樣來處理輸入與輸出的數(shù)據(jù)的。世上任何東西都不可能是盡善盡美的(當(dāng)然這也是我們?nèi)祟惒粩嘧非蟮膭恿λ?,作為復(fù)雜的!
計算機(jī)系統(tǒng)更如此,它在控制內(nèi)存與處理數(shù)據(jù)的過程中總是有可能出錯的(特別是在安裝了其它的應(yīng)用程序以后),系統(tǒng)本身也會存在各種各樣的弱點(diǎn)與不足之處。黑客之所以能夠入侵,就是利用了這些弱點(diǎn)與錯誤。現(xiàn)在網(wǎng)上流行的各種各樣的入侵工具,都是黑客在分析了系統(tǒng)的弱點(diǎn)及存在的錯之后編寫出來的。(其中以“緩沖區(qū)溢出”最為常見)
作為一般的黑客,我們只要善于使用現(xiàn)成的入侵工具,就可以達(dá)到我們?nèi)肭值哪康?。但是因?yàn)椴煌南到y(tǒng),其工作原理不一樣,所以不同的入侵工具只能針對相應(yīng)的操作系統(tǒng)。因此,對操作系統(tǒng)的識別是必不可少的,這就需要我們對操作系統(tǒng)有相當(dāng)?shù)牧私猓瑢W(wǎng)絡(luò)有一定的基礎(chǔ)識(要作黑客還是不那么容易的),關(guān)于各類操作系統(tǒng)的介紹,在網(wǎng)上有成堆的文章,大家可以自己去查閱。
在此介紹一此簡單的操作系統(tǒng)識別方法給大家,希望對大家有用。
一、用ping來識別操作系統(tǒng)
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
我們跟據(jù)ICMP報文的TTL的值,我們就可以大概知道主機(jī)的類型。如:TTL=125左右的主機(jī)應(yīng)該是windows系列的機(jī)子,TTL=235左右的主機(jī)應(yīng)該是UINX系列的機(jī)子。如上面的兩個例子,10.1.1.2就是win2000的機(jī)子,而10.1.1.6則是UINX(Sunos 5.8)的機(jī)子。這是因?yàn)椴煌到y(tǒng)ICMP報文的處理與應(yīng)答是有所不同的,TTL值每過一個路由器會減1。所以造成了TTL回復(fù)值的不同。對于TTL值與操作系統(tǒng)類型的對應(yīng),還要靠大家平時多注意觀察和積累。
二、直接通過聯(lián)接端口根據(jù)其返回的信息來判操作系統(tǒng)
這種方法應(yīng)該說是用得最多的一種方法,下面我們來看幾個實(shí)例。
1、如果機(jī)子開了80端口,我們可以telnet(當(dāng)然如果有NC最好用NC,它可以不用盲打)它的80端口。
Microsoft Windows 2000 [Version 5.00.2195]
(C) 版權(quán)所有 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
The parameter is incorrect.
遺失對主機(jī)的連接。
C:\>
那么這臺就肯定是windows的機(jī)子。
如果返回,
!
; &!
nbsp;&nb
sp; &nbs!
p;
Method Not Implemented
get to / notsupported.
Invalid method in request get
Apache/1.3.27 Server at gosiuniversity.com Port 80
Y>
遺失對主機(jī)的連接。
C:\>
那么多數(shù)就是UINX!
系統(tǒng)的機(jī)
子了。
2、如果機(jī)子開了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.2:(none)):
那么這就肯定是一臺win2000的機(jī)子了,我們還可以知道主機(jī)名呢,主機(jī)名就是sgyyq-c43s950。這個FTP是windows的IIS自帶的一個FTP服務(wù)器。
如果返回,
Connected to 10.1.1.3.
220 Serv-U FTP Server v4.0 for WinSock ready...
User (10.1.1.3:(none)):
也可以肯定它是windows的機(jī)子,因?yàn)镾erv-U FTP是一個專為windows平臺開發(fā)的FTP服務(wù)器。
如果返回,
Connected to 10.1.1.3.
220 ready, dude (vsFTPd 1.1.0: beat me, break me)
User (10.1.1.3:(none)):
那么這就是一臺UINX的機(jī)子了。
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的機(jī)子了
如果返回,
SunOS 5.8
login:
不用說了,這當(dāng)然是一臺U!
INX的機(jī)子了,并且版本是SunOS 5.8的。
三、利用專門的軟件來識別
這種有識別操作系統(tǒng)功能的軟件,多數(shù)采用的是操作系統(tǒng)協(xié)議棧識別技術(shù)。這是因?yàn)椴煌膹S家在編寫自己操作系統(tǒng)時,TCP/IP協(xié)議雖然是統(tǒng)一的,但對TCP/IP協(xié)議棧是沒有做統(tǒng)一的規(guī)定的,廠家可以按自己的要求來編寫TCP/IP協(xié)議棧,從而造成了操作系統(tǒng)之間協(xié)議棧的不同。因此我們可以通過分析協(xié)議棧的不同來區(qū)分不同的操作系統(tǒng),只要建立起協(xié)議棧與操作系統(tǒng)對應(yīng)的數(shù)據(jù)庫,我們就可以準(zhǔn)確的識別操作系統(tǒng)了。目前來說,用這種技術(shù)識別操作系統(tǒng)是最準(zhǔn)確,也是最科學(xué)的。因此也被稱為識別操作系統(tǒng)的“指紋技術(shù)”。當(dāng)然識別的能力與準(zhǔn)確性,就要看各軟件的數(shù)據(jù)庫建立情況了。
下面是簡單介紹兩款有識別功能的軟件。
1、著名的nmap,它采用的是主動式探測,探測時會主動向目標(biāo)系統(tǒng)發(fā)送探測包,根據(jù)目標(biāo)目標(biāo)機(jī)回應(yīng)的數(shù)據(jù)包來,叛斷對方機(jī)的操作系統(tǒng)。用法如下:
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對操作系統(tǒng)類型的判斷。還返回了好多信息,NMAP不愧為掃描之王。(哈哈,黑客必備哦!)
2、天眼,采用的是被動式的探測方法。不向目標(biāo)系統(tǒng)發(fā)送數(shù)據(jù)包,只是被動地探測網(wǎng)絡(luò)上的通信數(shù)據(jù),通過分析這些數(shù)據(jù)來判斷操作系統(tǒng)的類型。配合supersan使用,較果很好。
具體的使用方法,在此就不具體介紹了。有興趣的的朋友可以到網(wǎng)上搜一下關(guān)于天眼使用方法的文章,會有很多的。