對操作系統(tǒng)的認識,對于每一個從事計算行業(yè)的人都是非常重要,要成為一名黑客更是要對操作系統(tǒng)有深入、深刻的認識。下面和大家一起來探討一下這方面的問題。 我們先來看分析一下一個黑客入侵的基本過程:1、判斷入侵對象的操作系統(tǒng)—>2、描掃端口,判斷開放了那些服務(wù)(這兩步有可能同時進行)—>3、跟據(jù)操作系統(tǒng)和所開放的服務(wù)選擇入侵方法,通常有“溢出”和“弱口猜測”兩種方法—>4、獲得系統(tǒng)的權(quán)力—>5、安放后門、日志走人(也許有格盤走人的)。
由上面可以知道,在整個過程當(dāng)中對操作系統(tǒng)類型的判斷識別是最基本也是很關(guān)系的一步?上攵,如果你連對方的操作系統(tǒng)是什么都不知道,要想入侵跟本無從談起。
也許很少人問過自己,我們?yōu)槭裁匆攘私鈱Ψ降牟僮飨到y(tǒng)呢?其實,我們了解操作系統(tǒng)的原因是因為我們要了解系統(tǒng)內(nèi)存的工作況態(tài),了解它是以什么方式,基于什么樣的技術(shù)來控制內(nèi)存,以及怎么樣來處理輸入與輸出的數(shù)據(jù)的。世上任何東西都不可能是盡善盡美的(當(dāng)然這也是我們?nèi)祟惒粩嘧非蟮膭恿λ冢鳛閺?fù)雜的計算機系統(tǒng)更如此,它在控制內(nèi)存與處理數(shù)據(jù)的過程中總是有可能出錯的(特別是在安裝了其它的應(yīng)用程序以后),系統(tǒng)本身也會存在各種各樣的弱點與不足之處。黑客之所以能夠入侵,是利用了這些弱點與錯誤,F(xiàn)在網(wǎng)上流行的各種各樣的入侵工具,都是黑客在分析了系統(tǒng)的弱點及存在的錯之后編寫出來的。(其中以“緩沖區(qū)溢出”最為常見)
作為一般的黑客,我們只要善于使用現(xiàn)成的入侵工具,可以達到我們?nèi)肭值哪康。但是因為不同的系統(tǒng),其工作原理不一樣,所以不同的入侵工具只能針對相應(yīng)的操作系統(tǒng)。因此,對操作系統(tǒng)的識別是必不可少的,這需要我們對操作系統(tǒng)有相當(dāng)?shù)牧私,對網(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 那么這臺肯定是windows的機子。 如果返回,
Method Not Implementedget to / not supported. Invalid method in request get
Apache/1.3.27 Server at gosiuniversity.com Port 80
遺失對主機的連接。 C:\> 那么多數(shù)是UINX系統(tǒng)的機子了。
2、如果機子開了21端口,我們可以直接FTP上去
C:\>ftp 10.1.1.2 如果返回, Connected to 10.1.1.2. 2 sgyyq-c43s950 Microsoft FTP Service (Version 5.0). User (10.1.1.2none)): 那么這肯定是一臺win00的機子了,我們還可以知道主機名呢,主機名是sgyyq-c43s950。這個FTP是windows的IIS自帶的一個FTP服務(wù)器。 如果返回, Connected to 10.1.1.3. 2 Serv-U FTP Server v4.0 for WinSock ready... User (10.1.1.3none)): 也可以肯定它是windows的機子,因為Serv-U FTP是一個專為windows平臺開發(fā)的FTP服務(wù)器。 如果返回, Connected to 10.1.1.3. 2 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.991.1 login:
那么這肯定是一臺windows的機子了
如果返回, SunOS 5.8 login:
不用說了,這當(dāng)然是一臺UINX的機子了,并且版本是SunOS 5.8的。
三、利用專門的軟件來識別
這種有識別操作系統(tǒng)功能的軟件,多數(shù)采用的是操作系統(tǒng)協(xié)議棧識別技術(shù)。這是因為不同的廠家在編寫自己操作系統(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ù)庫,我們可以準確的識別操作系統(tǒng)了。目前來說,用這種技術(shù)識別操作系統(tǒng)是最準確,也是最科學(xué)的。因此也被稱為識別操作系統(tǒng)的“指紋技術(shù)”。當(dāng)然識別的能力與準確性,要看各軟件的數(shù)據(jù)庫建立情況了。
下面是簡單介紹兩款有識別功能的軟件。
1、 的nmap,它采用的是主動式探測,探測時會主動向目標系統(tǒng)發(fā)送探測包,根據(jù)目標目標機回應(yīng)的數(shù)據(jù)包來,叛斷對方機的操作系統(tǒng)。用法如下:
F:\nmap>nmap -vv -sS -O 10.1.1.5Starting nmap V. 3.00 Host IS~123456ADCD (10.1.1.5) appears to be up ... good. Initiating SYN Stealth Scan against IS~123456ADCD (10.1.1.5) Adding open port 139/tcp Adding open port 7070/tcp Adding open port 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 3389/tcp open 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 00/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 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 00/XP/ME 這行是NMAP對操作系統(tǒng)類型的判斷。還返回了好多信息,NMAP不愧為掃描。
2、天眼,采用的是被動式的探測方法。不向目標系統(tǒng)發(fā)送數(shù)據(jù)包,只是被動地探測網(wǎng)絡(luò)上的通信數(shù)據(jù),通過分析這些數(shù)據(jù)來判斷操作系統(tǒng)的類型。配合supersan使用,較果很好。
具體的使用方法,在此不具體介紹了。有興趣的的朋友可以到網(wǎng)上搜一下關(guān)于天眼使用方法的文章,會有很多的。
以上講解了一些對操作系統(tǒng)識別的基本方法。由于本人水平有限,不當(dāng)之處,還請高手斧正!
轉(zhuǎn)自:動態(tài)網(wǎng)制作指南 www.knowsky.com