




Apocalypse Remote Administration Tool 1.4 BF : 1
-
süper olmuş devam :D
-
WH0 bunu yazdı:
-----------------------------yaw antiler cok kolaydıda şimdi gercekten bayaği zormalaya basladilar 1 sene oncsine kadar hep string detectionu icon detectionu
simdi ise heuristic, apiler, cok can alici noktalari detect ediyorlar
bişey buldum ama henuz koda ceviremedim.
Microsoftun Digital Signature'si
Dijital Imzalar nasil yapildiğina dair hiçbir bilgim yok server a digital signature eklersen :D hiçbir antivirus detect olsa bile otmez. işten anlayan gerçek firewallar bypass etmez.
-----------------------------Delphi de fonksiyonları doğrudan adresleri ile çağırabilecek bir yapı varmı bilmiyorum ancak C de fonksiyon göstericileri ile bunu yapabilirsin.
Mesela bir apinin adresini GetProcAddress apisi ile alıp fonksiyon göstericisi yoluyla çağırırsan programın import tablosuna apinin adı eklenmez böylece antiler de ötmez.
Ancak heuristik antiler daha çok dinamik analizde sorun çıkarıyor. Statik analizde bir kodu basitce xor layarak ve import tablosunu dediğim yöntemle boşaltarak %100 fud edersin, ancak dinamik analizde programın işleyişine göre birçok heuristic anti uyarı verir.
Mesela programın çalışır çalışmaz kendisini system32 ye kopyaladı ve her açılışta çalışmak için regedite kaydını girdi. Statik analizde kaspersky bunu asla farketmez ancak iş çalıştırmaya gelince direkt bloklar.
İster dosya açarmış gibi kendi programını açıp belli baytları system32 de oluşturduğun yeni dosyaya koy, istersen binderlerin yaptıgı gibi yeni bir section olarak yazılmış programı system32 ye yaz programın doğrudan bloklanır.
Bunun çözümü polymorphism denen bir yöntemde. Böylece program bir tane zararlı kod çalıştırmak için 100 tane çöp kod çalıştırıyor ve heuristic antilerin çoğu bu kodu gözden kaçırıyor.
-
GetProcAddress
LoadLibrary
GetModuleHandleAbunlarin hepsi artik VBA32 tarafindan yakalaniyor...
Dinamik cağirmada şimdi yakalaniyor...
baska alternatifler war..====
digital signature eklersen detect olsa bile antivirus otemez.
-
Sadece ağzımızı sulandırmak içinmi yaptın programı.Koklatmıyorsun bile.
-
edit.
-
Hoca ben buna logo yaptığımı hatırlıyorum.Fare ile ilgili bişiler istemiştiniz bir bakayım silmemişimdir inşallah
-
@ WH0
imza konusuyor ;)
-
WH0 bunu yazdı:
-----------------------------GetProcAddress
LoadLibrary
GetModuleHandleAbunlarin hepsi artik VBA32 tarafindan yakalaniyor...
Dinamik cağirmada şimdi yakalaniyor...
baska alternatifler war..====
digital signature eklersen detect olsa bile antivirus otemez.
-----------------------------GetProcAddress ve LoadLibrary yi de doğrudan çağırmayacaksın. Önce kernel32.dll nin adresini stackten alıp (yerel değişkenler sayesinde alabilirsin) GetProcAddress apisinin adresini de o taban adres aracılığı ile alacaksın. Böylece import tablosu tamamen boş olacak.
mesela GetProcAddress(LoadLibrary("user32.dll"),"MessageBoxA")); dersen bu durumda MessageBoxA,user32.dll gibi stringler data sectiona yerleşir. Ancak data sectionuda şifrelersen yakalanmaz olur.
Ayrıca hiç bir program sadece bir api kullandı diye körü körüne heuristicler tarafından yakalanmaz. Bir çok şüpheli hareketin birleşmesi sonucu bir puanlama sistemi ile yakalanır.
Mesela kod sectionunun karakteristiğini yazılabilir yaparsan en dandik heuristic bile bunun bir kod şifrelemesi olduğunu anlar.
dijital imza dediğin şeyin ne oldugunu birazdaha açarsan sevinirim.
-
imza konusur :D -
tugberk
bunu derleyip virustotalda tarat sonucu gor...
1. YONTEMprogram Project2;
uses windows;
var
deneme : function(hWnd: HWND; lpText, lpCaption: PChar; uType: UINT): Integer; stdcall;
begin
@deneme := GetProcAddress(LoadLibrary('User32.dll'),Pchar('MessageBoxA'));
deneme(0,pchar('hello'),pchar('hi'),0);
end.
http://www.virustotal.com/tr/analisis/4a3fe42fbb015c9ae0892b82433523fbba17d4b8f30ba99c23e5d603d3794294-1256999876
2. YONTEM
program Project2;
uses windows;
var
deneme : function(hWnd: HWND; lpText, lpCaption: PChar; uType: UINT): Integer; stdcall;
function NewGetProcAddress(hModule: HMODULE; lpProcName: LPCSTR): FARPROC; stdcall; external 'kernel32' name 'GetProcAddress';
function NewLoadLibrary(lpLibFileName: PChar): HMODULE; stdcall;external 'kernel32' name 'LoadLibraryA';
begin
@deneme := NewGetProcAddress(NewLoadLibrary('User32.dll'),Pchar('MessageBoxA'));
deneme(0,pchar('hello'),pchar('hi'),0);
end.
http://www.virustotal.com/tr/analisis/ef522f0d76eba7e078f26e98a0209e9e4ab79f764d6a11abb3608672ca8f071c-1257000156
3. YONTEM
program Project2;
uses windows;
var
deneme : function(hWnd: HWND; lpText, lpCaption: PChar; uType: UINT): Integer; stdcall;
function NewGetProcAddress(hModule: HMODULE; lpProcName: LPCSTR): FARPROC; stdcall; external 'kernel32' name 'GetProcAddress';
begin
@deneme := NewGetProcAddress(GetModuleHandleA('User32.dll'),Pchar('MessageBoxA'));
deneme(0,pchar('hello'),pchar('hi'),0);
end.
http://www.virustotal.com/tr/analisis/a445ef8074df0a1a2e21e84b571031606710d37651c9713851e9c8f7f6a1fec5-1257000706GetModuleHandleA LoadLibrary Alternatividir ama oda çöp
baska bildiğin method warmi?