Hoşgeldin Misafir

Sandbox ortamları c++

xS0N3R

23 Ağu 2020
5,424 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
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*/
    }
}