黑客技術,簡單地說,是對計算機系統和網絡的缺陷和漏洞的發現,以及針對這些缺陷實施攻擊的技術。這里說的缺陷,包括軟件缺陷、硬件缺陷、網絡協議缺陷、管理缺陷和人為的失誤。很顯然,黑客技術對網絡具有強大的破壞能力,“黑客技術”一詞是由英語Hackte音譯出來的,拼為“Hackte”。它是互聯網發展至今一個客觀的存在,對此我們無須諱言。與科學技術應用一樣,黑客既有攻擊性,也有防護的作用。黑客技術不斷地促使計算機和網絡產品供應商不斷地改善他們的產品,對整個互聯網的發展始終起著推動的作用。發現并實現黑客技術通常要求這個人對計算機和網絡非常精通,發現并證實一個計算機系統漏洞可能需要做大量測試、分析大量代碼和長時間的程序編寫(如對iOS系統進行越獄工作),這和一個科學家在實驗室中埋頭苦干沒有太大的區別。發現者不同于那些在網上尋找并使用別人已經寫好的黑客軟件的人,就如同武器發明者和使用者的區別。


黑與白 是與非
與一切科學技術一樣,黑客技術的好壞取決于使用它的人。計算機系統和網絡漏洞的不斷發現促使產品開發商修補產品的安全缺陷,同時也使他們在設計時更加注意安全。研究過黑客技術的管理員會把自己使用的操作系統和網絡配置得更安全。如果沒有那些公布重大漏洞發現并提出修補建議的黑客,互聯網不可能像今天這樣讓人們受益,也不會有今天這么強韌(相對而言)。在2014年,除360互聯網安全大會外,黑帽大會、黑客聯盟大賽也逐一展開,使之前讓人感覺神秘的黑客們走向了臺前。其實,許多黑客為追求技術而起,最終大都投入至互聯網安全領域,所以不能因為叫黑客就是“黑”,如著名的烏云網站、360的白帽們,就是因為有他們這群維護正義的黑客,才會使漏洞得到及時彌補、危險得以公開。
黑客常見術語淺析
俗話說,入鄉隨俗。既然入了黑客的門,就必須懂得黑客的行話,下面先簡單介紹一下黑客專用術語:
1.肉雞:所謂“肉雞”是一種很形象的比喻,比喻那些可以隨意被我們控制的電腦,對方可以是Windows操作系統,也可以是UNIX/LINUX等系統,可以是普通的個人電腦,也可以是大型的服務器,我們可以像操作自己的電腦那樣來操作它們,而不被對方所發覺;
2.木馬:就是那些表面上偽裝成了正常的程序,但是當這些程序被運行時,就會獲取系統的整個控制權限。有很多黑客就是熱衷于使用木馬程序來控制別人的電腦,如臭名昭著的灰鴿子;
3.網頁木馬:表面上偽裝成普通的網頁文件或將自己的代碼直接插入到正常的網頁文件中,當有人訪問時,網頁木馬就會利用對方系統或者瀏覽器的漏洞自動將配置好的木馬的服務端下載到訪問者的電腦上來自動執行;
4.掛馬:就是在別人的網站文件里面放入網頁木馬或者是將代碼潛入到對方正常的網頁文件里,以使瀏覽者中馬;
5.后門:這是一種形象的比喻,入侵者在利用某些方法成功地控制了目標主機后,可以在對方的系統中植入特定的程序,或者是修改某些設置。這些改動表面上是很難被察覺的,但是入侵者卻可以使用相應的程序或者方法來輕易地與這臺電腦建立連接,重新控制這臺電腦;
6.Rootkit:是攻擊者用來隱藏自己的行蹤和保留Root(根權限,可以理解成Windows的System或者管理員權限)訪問權限的工具。通常,攻擊者通過遠程攻擊的方式獲得Root訪問權限,或者是先使用密碼破解的方式獲得對系統的普通訪問權限,進入系統后,再通過對方系統內存在的安全漏洞獲得系統的Root權限。隨后攻擊者就會在對方的系統中安裝Rootkit,以達到自己長久控制對方的目的,Rootkit與我們前邊提到的木馬和后門很類似,但遠比它們要隱蔽;
7.IPC$:是共享“命名管道”的資源,它是為了讓進程間通信而開放的命名管道,可以通過驗證用戶名和密碼獲得相應的權限,在遠程管理計算機和查看計算機的共享資源時使用;
8.弱口令:指那些強度不夠,容易被猜解的,類似123、abc這樣的口令(密碼);
9.默認共享:默認共享是Windows 2000/XP/2003系統開啟共享服務時自動開啟所有硬盤的共享,因為加了“$”符號,所以看不到共享的托手圖表,也稱為隱藏共享。
10.Shell:指的是一種命令執行環境,比如我們按下鍵盤上的“開始鍵+R”時出現“運行”對話框,在里面輸入“cmd”會出現一個用于執行命令的黑窗口,這個就是Windows的Shell執行環境。通常我們使用遠程溢出程序成功溢出遠程電腦后得到的那個用于執行系統命令的環境就是對方的Shell;
11.WebShell:WebShell就是以asp、php、jsp或者cgi等網頁文件形式存在的一種命令執行環境,也可以將其稱做是一種網頁后門。黑客在入侵了一個網站后,通常會將這些asp或php后門文件與網站服務器Web目錄下正常的網頁文件混在一起,然后就可以使用瀏覽器來訪問這些asp或者php后門,得到一個命令執行環境,以達到控制網站服務器的目的??梢陨蟼飨螺d文件、查看數據庫、執行任意程序命令等。國內常用的WebShell有海陽ASP木馬、Phpspy、c99shell等;
12.溢出:確切地講,應該是“緩沖區溢出”。簡單地解釋就是程序對接收的輸入數據沒有執行有效的檢測而導致錯誤,后果可能是造成程序崩潰或者是執行攻擊者的命令。大致可以分為兩類:堆溢出和棧溢出;
13.注入:隨著B/S模式應用開發的發展,使用這種模式編寫程序的程序員越來越多,但是由于程序員的水平參差不齊,相當大一部分應用程序存在安全隱患。用戶可以提交一段數據庫查詢代碼,根據程序返回的結果,獲得某些他想要知道的數據,這個就是所謂的SQLinjection,即:SQL注入;
14.注入點:是可以實行注入的地方,通常是一個訪問數據庫的連接。根據注入點數據庫的運行賬號的權限的不同,你所得到的權限也不同;
15.內網:通俗地講就是局域網,比如網吧、校園網、公司內部網等都屬于此類。查看IP地址如果是在以下三個范圍之內的話,就說明我們是處于內網之中的:10.0.0.0~10.255.255.255,172.16.0.0~172.31.255.255,192.168.0.0~192.168.255.255;
16.外網:直接連入互聯網,可以與互聯網上的任意一臺電腦互相訪問,IP地址不是保留IP(內網)IP地址;
17.端口:相當于一種數據的傳輸通道。用于接收某些數據,然后傳輸給相應的服務,而電腦將這些數據處理后,再將相應的恢復通過開啟的端口傳給對方。一般每一個端口的開放都對應了相應的服務,要關閉這些端口只需要將對應的服務關閉就可以了;
18.免殺:就是通過加殼、加密、修改特征碼、加花指令等等技術來修改程序,使其逃過殺毒軟件的查殺;
19.加殼:就是利用特殊的算法,將EXE可執行程序或者DLL動態連接庫文件的編碼進行改變(如實現壓縮、加密),以達到縮小文件體積或者加密程序編碼,甚至是躲過殺毒軟件查殺的目的。較常用的殼有UPX,ASPack、PePack、PECompact、UPack、免疫007、木馬彩衣等;
20.花指令:就是幾句匯編指令,讓匯編語句進行一些跳轉,使得殺毒軟件不能正常地判斷病毒文件的構造。說通俗點就是“殺毒軟件是從頭到腳按順序來查找病毒,如果我們把病毒的頭和腳顛倒位置,殺毒軟件就找不到病毒了”。
網絡安全可以理解成是對網絡上信息的保護,所以我們完全可以用儲存安全和傳輸安全兩個方面來概括。前者就是指信息在靜態存儲時所涉及到的使用權限,后者則是說信息在傳輸過程中的安全狀態。總之,網絡安全的本質就是對信息保護的安全,只要是涉及到網絡上信息的保密性、可用性和完整真實性等方面的相關技術和理論都是網絡安全所涉及的研究領域。那么確保網絡安全又該注意什么呢?
1.對網絡上信息的監聽
2.對用戶身份的仿冒
3.對網絡上信息的篡改
4.對發出的信息予以否認
5.對信息進行重發
針對以上問題,我們總結了幾點常見黑客使用的手法,現在介紹給大家,以便讓你更好地對自己的信息進行安全保護。
口令入侵
顧名思義,口令入侵就是利用一些軟件破解被人所加密的文檔信息。當然,這種方法很笨,如今大多黑客多用一種“繞開”口令保護程序的方法進行黑客工作。破解或隔離口令的軟件我們常稱為“Crack”,這些軟件如今很容易就能找到,所以使現在進行黑客動作變得非常簡單,就算是不懂系統內部結構的初學者,也可以進行操作。
特洛伊木馬術
就像古希臘人所做的那樣,特洛伊木馬病毒簡單來說就是“打入敵人內部”,然后里應外合完成黑客行動。最典型的木馬病毒就是把一個能夠幫助黑客完成某一特定動作的程序依附在某個用戶的正常程序中,以篡改該用戶程序的代碼。當黑客觸發該程序時,之前潛入的程序便會被激活去完成某個特定指令,而黑客就可以利用這個病毒所創造的漏洞,從而進行侵入工作。由于這種病毒很有特定性,所以使用起來一般都是黑客自己進行編寫,需要一定的編程能力,主要是進行代碼更改時會需要一定的權限,所以比較難以搞定。但好壞參半,正因為它的復雜性,所以使被入侵用戶很難發現。
監聽法
監聽法很常見也很有效,但是也非常危險。這種黑客手法很簡單,就是通過截取網絡節點的信息,從而得到自己想要的信息。簡單來說就是在一個沒有集線器的網絡環境中,利用數據傳輸沒有特定方向的特性進行截取。眾所周知,網絡節點與工作站之間是通過信息流的轉送而完成傳輸的,此時你可以理解成每一個工作站都是一個固定的接口。而你就可以“假扮”這樣一個接口,然后“光明正大”地完成數據接收,簡單、有效。如今網絡上流傳著很多嗅探類軟件,利用它們就可以監聽到很多數據,甚至包括重要的口令文件,甚至有的文件在傳輸過程中根本沒有進行加密過程,一旦被截取后果非常嚴重。
這個辦法簡單有效,但也最容易被人家查出來,是把雙刃劍。
E-mail技術
E-mail并不是一種侵入的手段,黑客更多是通過E-mail的運用把木馬病毒放入到目標用戶的系統當中。這種辦法非常有效,一般用戶很難發現,尤其現在很多用戶對網絡安全意識比較模糊,給了很多黑客可乘之機。
攻擊前的準備工作
入侵者有兩種,一種是內部入侵,就是利用自己職能的便利和權限來獲取不該有權限的信息。另一種是外部入侵,包括遠程入侵和網絡節點等入侵方式。所謂家賊難防,內部入侵比較難以應對,所以我們主要講解一下外部入侵。
網絡入侵是一件非常系統的事,不管你用何種手段基本都遵循著這個步驟來完成——獲取信息、進行侵入、遠程登錄、取得權限、取得超級用戶權限、留下渠道、清除日志。其中分析、獲取、破解是至關重要的一環,當然日志的清除是黑客高手的標志。
確定攻擊的目的
黑客在完成一次侵入之前一定會有著明確的目標,會想到要達到什么樣的目的,或者是給對方造成什么樣的后果。常見的攻擊目的基本上包含破壞性攻擊和盜取性入侵兩種。從字面上就可以簡單理解,破壞性指的是給對方造成一定的損失,使其系統不能正常運行或者不能正??刂疲瑥亩_到破壞的目的。這種破壞性攻擊常見的手段有很多,比如最主要的拒絕服務攻擊。
而后者的黑客行為就更為常見了,這種入侵目的性很強,往往都是黑客鎖定目標之后才進行目的性操作的。這種攻擊主要是獲得目標的一定控制權限,從而達到一些制定的目的,比如獲取文件信息等等。這種攻擊比較普遍,威脅性也大,手里握有重要數據的用戶一定要嚴加防范。此類攻擊多是利用服務器操作系統、軟件或者網絡協議的漏洞,進行針對性破解的。當然還有更簡單的辦法,就是獲取目標用戶的密碼,從而獲得權限進行黑客動作,這時黑客也就可以利用管理員的身份進行任何操作了。
信息獲取
當確定了攻擊目標之后,黑客往往下一步動作就是大量收集目標用戶的信息,這些信息主要是目標用戶的系統類型、版本,還有提供何種服務。這些資料越全黑客也就越容易找到系統漏洞,從而制定一個有效的黑客方案。
攻擊一臺計算機確定運行的操作系統非常關鍵,甚至同一系統不同的版本也會有不同的應對措施。因為任何一個版本、種類的系統漏洞都各不相同,而且區別很大。所以要確定目標的準確系統和版本是非常困難的事,這往往都來自黑客的經驗和判斷。當然,這也不是無據可依,往往從服務器上的一些信息中都可以看出一些端倪,例如一臺TELNET服務器上顯示:Unix(r)System V Release 4.0 login,那么基本上就可以確定這個機器上運行的操作系統為SUN OS 5.5或5.5.l。但這樣來判斷操作系統類型不一定100%準確,因為這些信息都可以進行人為修改來迷惑對方,不過這在一般情況下都是最直觀的判斷依據了。
無論如何,絕大多數黑客的成功案例都是恰當地利用了系統軟件本身的漏洞,而造成這種漏洞的原因往往都是編程者嚴重缺乏安全意識。比如利用緩沖區溢出進行破譯,就是當黑客對目標用戶的軟件進行非正常的調用請求時,造成的緩沖區溢出或者對文件的非法訪問。利用緩沖區溢出漏洞來獲得非法權限就是黑客最常使用的手段之一,據統計80%以上成功的攻擊都是由此方法實現的。
權限的擴大
系統漏洞分為遠程漏洞和本地漏洞兩種,遠程漏洞是指黑客可以直接利用其它計算機上的漏洞,對目標用戶進行攻擊,從而獲取一定的權限。這種漏洞的威脅很大,絕大部分的黑客動作都是遠程漏洞入手的,但利用遠程漏洞所獲取的權限往往都不是最高權限,而普通的用戶權限所造成的損失就小很多了。雖然造成不了巨大的破壞,但對數據安全的保障還是非常危險的。當遇到這種情況,黑客往往都選擇配合本地漏洞來把所獲得的權限擴大,從而得到管理員的操作權限。
當獲得了管理員權限之后,目標電腦就像是為黑客敞開了一座大門,這時就可以進行諸如監聽、清掃痕跡等動作了。當然要完成權限擴大也不是一件容易的事,首先要利用已獲得的普通權限在本地漏洞中尋找契機,比如放置一些木馬程序來竊得管理員密碼。這種木馬程序在本地很受限制,基本上只能用來套取高級權限的密碼,而不能進行遠程操控。不過當一個黑客得知了另一個普通用戶的登錄權限,那么就可以利用這個權限提前安排好一個“復制陷阱”,等真正管理員錄入管理密碼時,這個陷阱軟件就可以記錄下來再告訴黑客,從而獲得最高的操作權限。
結束語
總之,黑客入侵最重要的一點就是找到目標用戶的本地漏洞。而當得知本地漏洞的具體信息,那么操作起來就水到渠成了。不過如上文所講,判斷目標用戶的系統版本和類型尤為關鍵,這就需要多下工夫積累經驗了。