黑客基礎知識
---前言
高中的時候就非常喜歡上網,玩玩遊戲偶爾也弄個外掛,偷個qq啥的,感覺真是太神奇了,大學的時候就選擇了計算機這個專業,也算是興趣吧,好再沒有被調劑到其他專業,一心想做黑客的說,但是理想和現實總是有些差距的,當你食不果腹,朝不保夕的時候還哪有心思想這些,自由的程式設計師在天朝算是比較難吧。(說句話不要噴我,我很愛國的,那就是----美利堅,程式設計師的天堂) 。當然這也和中國的教育模式有關,沒辦法,80後的我們有很多人的父母都是50,60後沒什麼文化,對子女的教育也不到位,結果我們成長的就比國外的孩子慢,看鋼鐵俠那個電影,說斯塔克幾歲就發明了V8(google 的v8引擎無關哦)發動機了,我們幾歲的時候還在玩尿泥,哎 扯遠了
---摘要
今天整理行動硬碟,偶然發現了大學收集的一些資料,當然也都看完了,不過現在基本都忘記的差不多了吧,放在這裡時刻提醒自己要朝著自己的目標前進。
當然這只是資料的一部分,今天主要給大家分享一下黑客的基礎知識,非即興發揮,是從上面圖中的文件中copy出來的。
一、基礎知識
在介紹木馬的原理之前有一些木馬構成的基礎知識我們要事先加以說明,因為下面有很多地方會提到這些內容。
一個完整的木馬系統由硬體部分、軟體部分和具體連線部分組成。
1.硬體部分
建立木馬連線所必須的硬體實體。
控制端:對服務端進行遠端控制的一方。
服務端:被控制端遠端控制的一方。
INTERNET:控制端對服務端進行遠端控制,資料傳輸的網路載體。
2.軟體部分
實現遠端控制所必須的軟體程式。
控制端程式:控制端用以遠端控制服務端的程式。
木馬程式:潛入服務端內部,獲取其操作許可權的程式。
木馬配置程式:設定木馬程式的埠號,觸發條件,木馬名稱等,使其在服務端藏得更隱蔽的程式。
3.具體連線部分
通過INTERNET在服務端和控制端之間建立一條木馬通道所必須的元素。
控制端IP,服務端IP:即控制端,服務端的網路地址,也是木馬進行資料傳輸的目的地。
控制端埠,木馬埠:即控制端,服務端的資料入口,通過這個入口,資料可直達控制端程式或木馬程式。
二、特洛伊木馬的攻擊步驟
用木馬這種黑客工具進行網路入侵,從過程上看大致可分為六步,下面我們就按這六步來詳細闡述木馬的攻擊原理。
1. 配置木馬
一般來說一個設計成熟的木馬都有木馬配置程式,從具體的配置內容看,主要是為了實現以下兩方面功能:
(1)木馬偽裝:木馬配置程式為了在服務端儘可能好的隱藏木馬,會採用多種偽裝手段,如修改圖示、捆綁檔案、定製埠、自我銷燬等等。
(2)資訊反饋:木馬配置程式將就資訊反饋的方式或地址進行設定,如設定資訊反饋的郵件地址、IRC號、ICQ號等。
2. 傳播木馬
(1)傳播方式
木馬的傳播方式主要有兩種:一種是通過E-MAIL,控制端將木馬程式以附件的形式夾在郵件中傳送出去,收信人只要開啟附件系統就會感染木馬;另一種是軟體下載,一些非正規的網站以提供軟體下載為名義,將木馬捆綁在軟體安裝程式上,下載後,只要一執行這些程式,木馬就會自動安裝。
(2)偽裝方式
鑑於木馬的危害性,很多人對木馬知識還是有一定了解的,這對木馬的傳播起了一定的抑制作用,這是木馬設計者所不願見到的。因此他們開發了多種功能來偽裝木馬,以達到降低使用者警覺,欺騙使用者的目的。一般來說有以下幾種:
◆修改圖示:也許你會在E-MAIL的附件中看到一個很平常的文字圖示,但是我不得不告訴你,這也有可能是個木馬程式,現在已經有木馬可以將木馬服務端程式的圖示改成HTML、TXT、ZIP等各種檔案的圖示,這有相當大的迷惑性,但是目前提供這種功能的木馬還不多見,並且這種偽裝也不是無懈可擊的,所以不必整天提心吊膽、疑神疑鬼的。
◆捆綁檔案:這種偽裝手段是將木馬捆綁到一個安裝程式上,當安裝程式執行時,木馬在使用者毫無察覺的情況下,偷偷的進入了系統。至於被捆綁的檔案一般是可執行檔案,即EXE、COM一類的檔案。
◆出錯顯示:有一定木馬知識的人都知道,如果開啟一個檔案,沒有任何反應,這很可能就是個木馬程式,木馬的設計者也意識到了這個缺陷,所以已經有木馬提供了一個叫做出錯顯示的功能。當服務端使用者開啟木馬程式時,會彈出一個錯誤提示框——這當然是假的,錯誤內容可自由定義,大多會定製成一些諸如“檔案已破壞,無法開啟的!”之類的資訊,當服務端使用者信以為真時,木馬卻悄悄侵入了系統。
◆定製埠:很多老式的木馬埠都是固定的,這給判斷是否感染了木馬帶來了方便,只要查一下特定的埠就知道感染了什麼木馬,所以現在很多新式的木馬都加入了定製埠的功能,控制端使用者可以在1024——65535之間任選一個埠作為木馬埠。一般不選1024以下的埠,這樣就給判斷所感染木馬型別帶來了麻煩。
◆自我銷燬:這項功能是為了彌補木馬的一個缺陷。我們知道當服務端使用者開啟含有木馬的檔案後,木馬會將自己拷貝到WINDOWS的系統檔案的C:\WINDOWS或C:\WINDOWS\SYSTEM目錄下,一般來說原木馬檔案和系統資料夾中的木馬檔案的大小是一樣的,捆綁檔案的木馬除外。那麼中了木馬的朋友只要在近來收到的信件和下載的軟體中找到原木馬檔案,然後根據原木馬的大小去系統資料夾找相同大小的檔案, 判斷一下哪個是木馬就行了。而木馬的自我銷燬功能是指安裝完木馬後,原木馬檔案將自動銷燬,這樣服務端使用者就很難找到木馬的來源,在沒有查殺木馬的工具幫助下,就很難刪除木馬了。
◆木馬更名:安裝到系統資料夾中的木馬的檔名一般是固定的,那麼只要根據一些查殺木馬的文章,按圖索驥在系統資料夾查詢特定的檔案,就可以斷定中了什麼木馬。所以現在有很多木馬都允許控 制端使用者自由定製安裝後的木馬檔名,這樣很難判斷所感染的木馬型別了。
3.執行木馬
服務端使用者執行木馬或捆綁木馬的程式後,木馬就會自動進行安裝。首先將自身拷貝到WINDOWS的系統資料夾中C:\WINDOWS或C:\WINDOWS\SYSTEM目錄下。然後在登錄檔、啟動組、非啟動組中設定好木馬的觸發條件,這樣木馬的安裝就完成了。安裝後就可以啟動木馬了。
由觸發條件啟用木馬
觸發條件是指啟動木馬的條件,大致出現在下面八個地方:
◆登錄檔:開啟HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\下的五個以Run和RunServices主鍵,在其中尋找可能是啟動木馬的鍵值。
◆WIN.INI:C:\WINDOWS目錄下有一個配置檔案win.ini,用文字方式開啟,在windows欄位中有啟動命令load=和run=,在一般情況下是空白的,如果有啟動程式,可能是木馬。
◆SYSTEM.INI:C:\WINDOWS目錄下有個配置檔案system.ini,用文字方式開啟,在386Enh、mic、drivers32中有命令列,在其中尋找木馬的啟動命令。
◆Autoexec.bat和Config.sys:在C盤根目錄下的這兩個檔案也可以啟動木馬。但這種載入方式一般都需要控制端使用者與服務端建立連線後,將已新增木馬啟動命令的同名檔案上傳到服務端覆蓋這兩個檔案才行。
◆*.INI:即應用程式的啟動配置檔案,控制端利用這些檔案能啟動程式的特點,將製作好的帶有木馬啟動命令的同名檔案上傳到服務端覆蓋這同名檔案,這樣就可以達到啟動木馬的目的了。
◆登錄檔:開啟HKEY_CLASSES_ROOT\檔案型別\shell\open\command主鍵,檢視其鍵值。舉個例子,國產木馬“冰河”就是修改HKEY_CLASSES_ROOT\txtfile\shell\open\command下的鍵值,將“C:\WINDOWS \NOTEPAD.EXE %1”改為“C:\WINDOWS\SYSTEM\SYSEXPLR.EXE %1”,這時你雙擊一個TXT檔案後,原本應用NOTEPAD開啟檔案的,現在卻變成啟動木馬程式了。還要說明的是不光是TXT檔案,通過修改HTML、EXE、ZIP等檔案的啟動命令的鍵值都可以啟動木馬,不同之處只在於“檔案型別”這個主鍵的差別,TXT是txtfile,ZIP是WINZIP,大家可以試著去找一下。
◆捆綁檔案:實現這種觸發條件首先要控制端和服務端通過木馬建立連線,然後控制端使用者用工具軟體將木馬檔案和某一應用程式捆綁在一起,然後上傳到服務端覆蓋原檔案,這樣即使木馬被刪除了,只要執行捆綁了木馬的應用程式,木馬又會被安裝上去了。
◆啟動選單:在“開始—程式—啟動”選項下也可能有木馬的觸發條件。
-------------------------------------------------------------------------------------------------------------
當然這些資料可能已經很陳舊很老套了,權當入門吧,有時間給大家分享下DDOS攻擊方面的知識。
author : alexanderkenndy
create date 20014/4/20
相關文章
- 基礎知識
- java基礎知識Java
- 1、基礎知識
- 前端基礎知識前端
- Vue基礎知識Vue
- Camera基礎知識
- Hadoop基礎知識Hadoop
- python基礎知識Python
- BGP基礎知識
- Mybatis基礎知識MyBatis
- linux基礎知識Linux
- Kafka 基礎知識Kafka
- qml基礎知識
- python 基礎知識Python
- webpack基礎知識Web
- AI 基礎知識AI
- PRML 基礎知識
- JSP基礎知識JS
- Dart基礎知識Dart
- RabbitMQ基礎知識MQ
- Android基礎知識Android
- javascript基礎知識JavaScript
- Laravel基礎知識Laravel
- ThinkPHP基礎知識PHP
- Nginx基礎知識Nginx
- SpringCloud 基礎知識SpringGCCloud
- Redis基礎知識Redis
- PHP基礎知識PHP
- CSS基礎知識CSS
- Envoy基礎知識
- DockerFile基礎知識Docker
- Webpack 基礎知識Web
- js基礎知識JS
- React基礎知識React
- 程式基礎知識
- Docker基礎知識Docker
- CSS 基礎知識 初識CSS
- MySQL基礎知識(5)MySql
- MySQL基礎知識(6)MySql