IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

 Kayıt ol  Topluluk
Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 11 Mart 2015, 13:40   #1
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
CreateProcessW Hook (hafıza kartlarından trojan bulaşmasına son)




CreateProcessW Hook (hafıza kartlarından trojan bulaşmasına son)


bu yazilimi çok sevdiğim iş yeri bilgisayarıma sürekli hafıza kartlarından
bulaşan trojanlar için hazırladım, bilindiği üzere trojanlı
harici disklerdeki autorun dosyaları olur veya autorun yoksa bile
trojanlı bir exe var ise kazayla ona tıklayabilirsiniz, veya
klasör iconlu exe ler vardır, hazırladığım kod explorer in
program çalıştırma fonksiyonuna bir kanca atıyor,

masa üstü diye tabir ettiğim şey esasında explorer.exe nin kendisidir,
bir programı çalıştırmak istediğinizde bu işi explorer windows api
si üzerinden sisteme bildirir, işte bu noktada çalıştırılmak istenen
program eğerki harici bir diskde ise sanki hiç tıklanmamış gibi davranmasını
sağlıyoruz, böylece sürücüde autorun dosyası olsabile veya
kullanıcı kasıtlı kasıtsız, hafıza kartından, flaş diskden bir program
çalıştıramıyor....

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
// msn:
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
& irc: irc.123213s.net/g3 --- injexe.dpr --- program InjExe; Uses ExSMEM, Windows, SysUtils, Messages, TLHelp32, ExSpeaker, ExCodeHook; Var CreateProcessW_Hook: function(lpApplicationName: PWideChar; lpCommandLine: PWideChar; lpProcessAttributes, lpThreadAttributes: PSecurityAttributes; bInheritHandles: BOOL; dwCreationFlags: DWORD; lpEnvironment: Pointer; lpCurrentDirectory: PWideChar; const lpStartupInfo: TStartupInfo; var lpProcessInformation: TProcessInformation): BOOL; stdcall; Function DriveIsRemoveable(Drive:Char):Boolean; Var Tmp:PChar; Begin Result:=False; New(Tmp); Try StrPCopy(Tmp,Drive+':\'); case GetDriveType(Tmp) of DRIVE_REMOVABLE:Result:=True; DRIVE_CDROM:Result:=True; end; Finally Dispose(tmp); End; End; function CreateProcessW_HookProc(lpApplicationName: PWideChar; lpCommandLine: PWideChar; lpProcessAttributes, lpThreadAttributes: PSecurityAttributes; bInheritHandles: BOOL; dwCreationFlags: DWORD; lpEnvironment: Pointer; lpCurrentDirectory: PWideChar; const lpStartupInfo: TStartupInfo; var lpProcessInformation: TProcessInformation): BOOL; stdcall; Var AppPath:String; Drive:Char; Begin // MessageBoxW(0, lpCommandLine ,lpApplicationName , 0); AppPath:=lpApplicationName; Drive:=AppPath[1]; If (DriveIsRemoveable(Drive)) Then Begin Result:=True; Sound(3000, 100) ; Sound(500, 100) ; NoSound; End Else Begin UnhookCode(@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]ProcessW_Hook); Result:=CreateProcessW(lpApplicationName, lpCommandLine, lpProcessAttributes, lpThreadAttributes, bInheritHandles, dwCreationFlags, lpEnvironment, lpCurrentDirectory, lpStartupInfo, lpProcessInformation); HookCode('kernel32.dll', 'CreateProcessW', @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]ProcessW_HookProc, @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]ProcessW_Hook); End; end; function GetPID(ExeFileName: string): Integer; var ContinueLoop: BOOL; FSnapshotHandle: THandle; FProcessEntry32: TProcessEntry32; begin result := 0; FSnapshotHandle := CreateToolhelp32Snapshot (TH32CS_SNAPPROCESS, 0); FProcessEntry32.dwSize := Sizeof(FProcessEntry32); ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32); while integer(ContinueLoop) <> 0 do begin if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) = UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) = UpperCase(ExeFileName))) then begin Result := FProcessEntry32.th32ProcessID; CloseHandle(FSnapshotHandle); Exit; End; ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32); end; CloseHandle(FSnapshotHandle); end; Const PIPE_Handle='CallBack.HK'; var BytesRead, Module, Process, Size: dword; Path:array [0..MAX_PATH] of char; Data:pointer; FName:String; PIPE1, PIPE2:TExSMEM; InjectPID:Integer; begin FName:='explorer.exe'; PIPE1:=TExSMEM.Create(Nil); PIPE1.Handle:=PIPE_Handle; If (Length(PIPE1.Contents)>0) Then Halt; PIPE1.Contents:=''; Repeat Sleep(1); if UpperCase(ExtractFileName(FName))=UpperCase(ExtractFileName(ParamStr(0))) then begin PIPE2:=TExSMEM.Create(Nil); PIPE2.Handle:=PIPE_Handle; PIPE2.Contents:='OK'; {-----------------------------------------------------------------------------------------} // asci: 109 115 110 58 32 97 100 109 105 110 64 103 51 110 105 117 115 46 110 101 116 32 38 32 105 114 99 46 103 51 110 105 117 115 46 110 101 116 47 103 51 // hex: 6D 73 6E 3A 20 61 64 6D 69 6E 40 67 33 6E 69 75 73 2E 6E 65 74 20 26 20 69 72 63 2E 67 33 6E 69 75 73 2E 6E 65 74 2F 67 33 HookCode('kernel32.dll', 'CreateProcessW', @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]ProcessW_HookProc, @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]ProcessW_Hook); {-------} Sound(500, 100) ; Sound(300, 100) ; NoSound; Repeat Sleep(1); Until (1=0); PIPE2.Destroy; ExitThread(0); end; InjectPID:=GetPID(FName); If (InjectPID>0) Then Begin {---- Kendini oku ----} GetCurrentDirectory(MAX_PATH, Path); Module := CreateFile(pchar(ParamStr(0)), GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); Size := GetFileSize(Module, nil); GetMem(Data, Size); ReadFile(Module, Data^, Size, BytesRead, nil); CloseHandle(Module); {--- Çalışan proccess e ekle ---} Process := OpenProcess(PROCESS_ALL_ACCESS, False, InjectPID); InjectLibrary(Process, Data); CloseHandle(Process); FreeMem(Data); Sleep(3000); End; Until (Length(PIPE1.Contents)>0); PIPE1.Destroy; end.


__________________
SusKun ve Sessiz Mürekkep...


Kullanıcı imzalarındaki bağlantı ve resimleri görebilmek için en az 20 mesaja sahip olmanız gerekir ya da üye girişi yapmanız gerekir.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet
Cevapla

Etiketler
bulaşmasına, createprocessw, createprocessw hook, hafıza, hook, kartlarından, son, trojan


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Unutma ve Hafıza Zayıflığı - Unutma ve Hafıza Zayıflığına Karşı Etkili Formüller PySSyCaT Sağlık Köşesi 0 26 Ekim 2014 11:04
HOOK çalışan programlar aSi Delphi 0 23 Temmuz 2013 22:55
Oyun Kartlarından Dekorasyonlar Afrodit Ev Dekorasyonu 0 03 Eylül 2012 22:46
Kazı kazan kartlarından şehir! Kalemzede Esrarengiz Olaylar 0 26 Şubat 2012 11:11
Kimlik kartlarından din hanesi çıkarılıyor PassioN Haber Arşivi 0 20 Ocak 2012 20:31