Unix設置系統入侵經典步驟詳細說明
發表時間:2023-07-12 來源:明輝站整理相關軟件相關文章人氣:
[摘要]偶然的機會發現了一篇名為hacking unix的文章,大概看了看覺得價值十分的大,所以決定翻譯出來,我覺得這篇文章一定能夠成為中國unix黑客的基石...呵呵,也許有點夸大,不過等你看完了這篇文章...
偶然的機會發現了一篇名為hacking unix的文章,大概看了看覺得價值十分的大,所以決定翻譯出來,我覺得這篇文章一定能夠成為中國unix黑客的基石...呵呵,也許有點夸大,不過等你看完了這篇文章以后,你的態度絕對會有轉變的...
再次聲明,這篇文章不是為腳本小孩準備的,因為腳本小孩只會找有已知漏洞的機器,然后用腳本去入侵.......好了不羅嗦了go...........
5.3.1. 基本端口掃描
應用服務監聽在一個端口上,并且直到等待到一個連接(TCP)或者報文被收到.端口掃描器就是做掃描應用服務監聽端口的工作.當任何應用可能易受某種攻擊傷害時, 對一位黑客來說這信息有價值.同時它也給出了在那個系統的目的上的線索.如果看來像是一郵件服務器程序在遠程系統上,只不過可能是這個系統是組織的mailserver。 為了查明, 在一個目標第一系統上運行的服務能連接每個可能的端口并且查明他們中的哪些正在被監聽.這種方式就是端口掃描.端口掃描看起來是簡單的掃描哪個服務器開開放什么端口,但是這里面也有很多不同的技術.在這部分里面我僅講述2中基本的端口掃描技術,TCP全連接和半連接.
5.3.2. TCP 全連接(FULL CONNECT)
TCP與UDP是一個面向連接的協議是不同的, 一次僅僅建立一個連接, 通訊就能進行.去做一個tcp端口掃描的另外一個方式是只嘗試啟動一個連接.這過程要求TCP進行3次包的交換(就是傳說中的三次握手), 我以一個典型的例子再一次講解A和B之間的連接.
①主機A發送TCP SYN包給B,
②主機B發送TCP SYN/ACK包給主機A
③主機A發送TCP ACK包給主機B
三次握手初始化使用的順序號是必要的, 在哪些連接期間同時記錄哪些建立哪些操作系統的雙方連接(當然,只有一個連接可以被建立)。 如果在目標系統上的一個范圍的內的端口中有1個端口回復了3次握手的過程,哪我們就可以肯定這個端口是開放的.當目標系統上的端口沒有開放的時候,那么它將返回一個RST的包.簡而言之,TCP協議的頭部包含了flags(就是標志位).例如"SYN"標記設置了,flags(標志位)告訴大約包應該怎樣被對待的某些事情.在例如RST標志位表明這個連接重新建立.(連接中斷).這SYN標志位是開始, 或者協調一個連接的一個請求。 ACK這個標志位只是確認.好了不說了也許你們都不喜歡看,如果有興趣的可以去看TCP/IP~本站也有相應的tcp/ip教程..讓我們來看一個具體的實例吧.
讓我們再一次在你自己的本地系統嘗試一個TCP全連接掃描:
$ nmap localhost Starting nmap ( http://www.insecure.org/nmap/ ) Interesting ports on localhost (127.0.0.1): (The 1649 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp 80/tcp open http 110/tcp open pop-3 143/tcp open imap 515/tcp open printer 993/tcp open imaps 5432/tcp open postgres Nmap run completed -- 1 IP address (1 host up) scanned in 0.815 seconds $
|
這種類型的端口掃描用的是操作系統的應用程序的接口去創建連接,以與一個正常的程序(象你的webbrowser一樣)將同樣的方式。 它的另外一個名字是TCP connect(),相信這個大家比較熟悉吧.因為connect()是操作系統的過程去建立一個連接.操作系統將告訴我們這個連接是連接了還是沒有連接(failed).原因是應用服務已經注冊了一個套接字(SOCKET).并且一旦一個進來的連接被建立, 操作系統告訴應用服務程序繼續.這種掃描將會被日志紀錄,其余的部分自己看看TCP/IP協議吧.
我們開始另外一個掃描方式也是很隱蔽的方式,半連接掃描
5.3.3. TCP半連接掃描.
TCP半掃描又稱作"SYN掃描"或者一些時候也叫"SYN秘密掃描".它的意思就是端口掃描器講發送一個SYN包,知道它接受到了SYN/ACK或者是RST一次這樣的話我就能得到端口的狀態(SYN/ACK說明此端口開放,RST代表端口沒有開放)然后繼續掃描下一個端口.連接絕不會被完全建立, 因此任何應用程序記錄將不發生(就是說不寫入日志).(當連接已經被建立時,TCP 只將通知進來的連接的申請).所以它有了秘密掃描的名字.好了下面我來給出一個半連接掃描的例子
# nmap -sS 10.0.0.1 Starting nmap ( http://www.insecure.org/nmap/ ) Interesting ports on 10.0.0.1 (10.0.0.1): (The 1649 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp 80/tcp open http 110/tcp open pop-3 143/tcp open imap 515/tcp open printer 993/tcp open imaps 5432/tcp open postgres Nmap run completed -- 1 IP address (1 host up) scanned in 0.787 seconds #
|
手工端口掃描
這里有一個非常時髦的工具叫做"hping"(http://www.hping.org)
給出一個例子:
devil:~# hping -S -p 79 tosca HPING tosca (eth0 192.168.9.1): S set, 40 headers + 0 data bytes len=46 ip=192.168.9.1 ttl=64 DF id=2869 sport=79 flags=RA seq=0 win=0 rtt=0.3 ms len=46 ip=192.168.9.1 ttl=64 DF id=2870 sport=79 flags=RA seq=1 win=0 rtt=0.4 ms --- tosca hping statistic --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max = 0.3/0.4/0.4 ms devil:~# |
正如你看到的那樣,返回了RST和ACK的包.
好了開始下一個主題: 開始之前廢話幾句,我寫這篇文章的目的是以黑客的角度來分析UNIX的入侵技術,為什么要以這個角度寫呢,因為網絡管理員必須要知道黑客的手法才能更好的防守.所以我寫本文的目的是更好的防守,因為我比較喜歡UNIX,我最討厭windows那種不開放源代碼的作風....好了繼續吧.不發牢騷了
5.3.4. OS 探測
這里沒有簡單的方法去鑒定遠程的操作系統.NMAP提供了一個很好的方法而且非常可靠的方式去找到操作系統的指紋(fingerprint).這個技術是利用操作系統的各種各樣的網絡協議方面的在實施方面的輕微的變化分清操作系統和他們的版本。
讓我們來嘗試一個:
# nmap -P0 -sS -O 192.168.0.1 Starting nmap ( http://www.insecure.org/nmap/ ) Warning: OS detection will be MUCH less reliable because we did not find at least 1 open and 1 closed TCP port Interesting ports on server (192.168.0.1): (The 1655 ports scanned but not shown below are in state: filtered) PORT STATE SERVICE 21/tcp open ftp 23/tcp open telnet Device type: general purpose Running (JUST GUESSING) : DEC OpenVMS 7.X (90%), Compaq Tru64 UNIX 5.X (88%) Aggressive OS guesses: DEC OpenVMS 7.3 (Compaq TCP/IP 5.3) (90%), DEC OpenVMS 7.3 (Alpha) TCP/IP 5.3 (88%), Compaq Tru64 UNIX V5.1 (Rev. 732) (88%), Compaq Tru64 UNIX V5.1A (Rev. No exact OS matches for host (test conditions non-ideal). Nmap run completed -- 1 IP address (1 host up) scanned in 284.404 seconds
|
這里有個小技巧,就是NMAP打印LINUX的內核,而不是具體的linux操作系統版本號,有經驗的人很容易得到版本號,下面給出幾個常用的對應表
2.2.16=red hat 7.0 2.2.20= red hat 9.0
大家弄多了就有經驗了.
好, 說不可靠即使, 完全關閉(OpenVMS) .建議你必須跟一些端口掃描技術一起使用-O 選項...如果主機再線但是遠程系統沒有對ICMP ECHO(PING)作出作出反應,那么你應該用-PO選項去關閉檢測
$ telnet server Trying 192.168.0.1... Connected to 192.168.0.1. Escape character is ’^]’. Welcome to OpenVMS (TM) Alpha Operating System, Version V7.3-2 Username: [SSL not available]
|
指紋的想法不是新的技術, 并且是被在各種各樣的工具里使用的(雖然Nmap是利用這的第一個公共工具之一), 但是Nmap巨大的指紋數據庫并且給非常準確的結果.
本來到時間了該吃飯了,可是今天心情不好不想吃了,繼續翻譯吧..
Let's go on..
5.4. 0 處理防火墻
這個部分講解的是防火墻的基本概念,我將介紹幾種新顯示輪廓的方法去確認一個防火墻和發現防火墻的規則(ruleset).在一個相互連接的環境在internet網上的用戶可以訪問其他的網絡.一組織將想要限制參與因特網并且將特別想要限制從不可信的因特網進入進內部的網絡。 防火墻在交互模式下用于控制網絡交通.管理者需要組成一個基于服務的策略, 用戶關于外部網絡要求和服務關于要求的內部的網絡從網絡的外面進入.到外部網絡的某種部分限制進入進內部的網絡也是可能的.這個規則然后能被轉化成能被用于安置在兩個網絡之間的防火墻的規則表。
下面介紹幾種常見的防火墻:
5.4.1. Packet Filtering Firewalls (包過濾防火墻)
網上有很多這方面的介紹我就不浪費時間了,我們下面給出一個規則:
管理者確定的第1 個(聰明)規則看起來象這樣:
Source: Anywhere Destination: Anywhere Protocol: Any Destination port: Any Policy: DENY |
下一步管理者努力鑒定這基礎規則的例外 .一名管理者可能在組織網絡里面有mailserver(郵件服務器)。
我宿舍的朋友給我買飯了.先吃吧..一會再寫,先看看魔獸的錄象,以前我可是human的guso,再bn上曾經打到過38級,不是吹的,希望大家有時間的話和我切磋啊~..
好了吃完了繼續吧...
上次我們講到了這里下一步管理者努力鑒定這基礎規則的例外 .一名管理者可能在組織網絡里面有mailserver(郵件服務器)。
下面繼續講郵件被通過SMTP 服務從郵件服務器交付,簡單的例子就是sendmail和postfix.管理員知道SMTP服務必須能從INTERNET接收郵件,所以管理員定義了一個新的規則(關于第一個的規則的例外)
Source: External (Internet) Destination: Internal mailhost Protocol: TCP Destination Port: 25 (SMTP) Policy: ACCEPT.
|
意思任何包從任何預定到去SMTP 服務(TCP 端口25)的地址在MIAL服務器上將被提供適當的方向.. 管理員允許在internet上的任意系統給用戶的郵箱交付E-Mail.管理員沒有為INTERnet網絡定義規則,那些用戶只需要連接郵件服務器, 不對在內部的網絡外邊的郵件服務器.因此他只將需要從郵件服務器為SMTP做一個例外:
Source: Internal mailhost Destination: External (Internet) Protocol: TCP Port: 25 Policy: ACCEPT
|
管理者想要的下一件事情將允許用戶在郵件服務器使用POP3 協議上從他們的信箱收到他們的郵件 .管理員喜歡在internet把POP協議設置為.DENY.好了下次再寫吧累死了,干了好幾個小時了...
上面是電腦上網安全的一些基礎常識,學習了安全知識,幾乎可以讓你免費電腦中毒的煩擾。