Merhaba forum üyeleri,
Bu başlık altında zararlı yazılım geliştirme sürecinde öğrendiğim bazı bilgileri ve deneyimlerimi paylaşmak istiyorum.
Yaptığım araştırmalara göre, bazı sandbox ortamları zararlıları analiz ederken belirli teknikleri kullanarak programları izole etmeye çalışır. Örneğin, Sleep() gibi fonksiyonlar programı uyutmak için kullanılırken, bu tür fonksiyonlar bazen sandbox ortamlarında hooklanarak devre dışı bırakılabilir. Bu gibi durumlar, zararlı yazılımın asıl niyetlerinin açığa çıkmasına yol açabilir.
Aşağıda, araştırmalarım sonucunda yazmış olduğum C++ kodu vardır . Bu kod, sandbox ortamlarını tespit edebilmek ve sandbox hızlandırmalarını analiz etmek amacıyla kullanılır. Kod, çeşitli yöntemler kullanarak analiz ortamlarının varlığını ve hızlandırmalarını algılayabilmektedir.
Not: bu yöntemler gerçek zararlı yazılım analiz ortamlarından kaçamayabilir misal bakınız sandboxie api devre dışı bırakıyor.
Bu başlık altında zararlı yazılım geliştirme sürecinde öğrendiğim bazı bilgileri ve deneyimlerimi paylaşmak istiyorum.
Yaptığım araştırmalara göre, bazı sandbox ortamları zararlıları analiz ederken belirli teknikleri kullanarak programları izole etmeye çalışır. Örneğin, Sleep() gibi fonksiyonlar programı uyutmak için kullanılırken, bu tür fonksiyonlar bazen sandbox ortamlarında hooklanarak devre dışı bırakılabilir. Bu gibi durumlar, zararlı yazılımın asıl niyetlerinin açığa çıkmasına yol açabilir.
Aşağıda, araştırmalarım sonucunda yazmış olduğum C++ kodu vardır . Bu kod, sandbox ortamlarını tespit edebilmek ve sandbox hızlandırmalarını analiz etmek amacıyla kullanılır. Kod, çeşitli yöntemler kullanarak analiz ortamlarının varlığını ve hızlandırmalarını algılayabilmektedir.
C++:
#include <iostream>
#include<windows.h>
bool debuger();
bool timer();
int main()
{
SetConsoleOutputCP(CP_UTF8);
SetConsoleCP(CP_UTF8);
std::cout << "Ortam Test Ediliyor...\n";
bool task1 = timer();
bool task2 = debuger();
if (task1 || task2)
{
std::cout << "analiz ortamı olabilir\n";
}
else
{
std::cout << "temiz";
}
system("pause");
}
bool debuger()
{
if (IsDebuggerPresent())
{
return true; /*debuger var*/
}
else
{
return false; /*debuger yok*/
}
}
bool timer()
{
unsigned __int64 start = __rdtsc();
Sleep(60000); // 60 saniye
unsigned __int64 end = __rdtsc();
unsigned __int64 cycles = end - start;
// 1 GHz CPU için 60 saniyede ~60,000,000,000 cycles olur
if (cycles < 30000000000) {
return true; /*sandbox hızlandırması var*/
}
else {
return false; /*sandbox hızlandırması yok*/
}
}
Not: bu yöntemler gerçek zararlı yazılım analiz ortamlarından kaçamayabilir misal bakınız sandboxie api devre dışı bırakıyor.
Son düzenleme:



