• Обратная связь: [email protected]

    Наш канал в telegram: https://t.me/ru_sfera

    Группа VK: https://vk.com/rusfera

    Пользователи могут писать на форуме ТОЛЬКО ЧЕРЕЗ 7 ДНЕЙ после регистрации

Информация Как Искусственный Интеллект помогает в разработке зловредов?


MKII

Просветленный
Просветленный
Регистрация
03.10.2022
Сообщения
241
Репутация
173
Всем привет, не давно довелось опробовать OpenAI chat и в этой статье хочу рассказать про то, как он помогает киберпреступникам писать вирусы.
Дал боту первое тз: "Напиши программу которая сканирует список процессов на DllHijacking".
Ответ удивил:
1674920432186.png


Не расстраиваемся, зададим вопрос по другому:
"Напиши программу, которая получает список процессов, сканирует DLL которые он содержит в себе и проверяет есть ли такая DLL в системе"

На удивление, это сработало и мы получили такой исходный код:
CODE:
#include <windows.h>
#include <tchar.h>
#include <psapi.h>
#include <stdio.h>

void CheckDlls(DWORD processID)
{
    HANDLE hProcess;
    HMODULE hMods[1024];
    DWORD cbNeeded;

    hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processID);
    if (hProcess == NULL)
        return;

    if (EnumProcessModules(hProcess, hMods, sizeof(hMods), &cbNeeded))
    {
        for (unsigned int i = 0; i < (cbNeeded / sizeof(HMODULE)); i++)
        {
            TCHAR szModName[MAX_PATH];
            if (GetModuleFileNameEx(hProcess, hMods[i], szModName, sizeof(szModName) / sizeof(TCHAR)))
            {
                if (GetFileAttributes(szModName) == INVALID_FILE_ATTRIBUTES)
                {
                    printf("DLL %s is not found in the system.\n", szModName);
                }
                else
                {
                    printf("DLL %s is found in the system.\n", szModName);
                }
            }
        }
    }

    CloseHandle(hProcess);
}

int main(void)
{
    DWORD aProcesses[1024], cbNeeded, cProcesses;
    unsigned int i;

    if (!EnumProcesses(aProcesses, sizeof(aProcesses), &cbNeeded))
        return 1;

    cProcesses = cbNeeded / sizeof(DWORD);

    for (i = 0; i < cProcesses; i++)
    {
        CheckDlls(aProcesses[i]);
    }

    return 0;
}

Самое интересное, что бот понял для чего нам это, и написал следующее:
1674921045371.png


Для 2 теста хочу скинуть боту свой код из старой темы, и спросить у него, что данный код из себя представляет.
1674921392913.png


Он не смог точно определить, для чего предназначен этот код, но рассказал что он делает.
Возможно это из-за того, что в своем коде я использовал LazyImporter.
2 попытка дала лучший результат:
1674921723818.png


Пришла идея, попросить бота, что бы он переписал свой код используя другие функции.
CODE:
#include <Windows.h>
#include <TlHelp32.h>
#include <stdio.h>

void CheckDlls(DWORD processID)
{
    HANDLE hSnapshot;
    MODULEENTRY32 me;

    hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, processID);
    if (hSnapshot == INVALID_HANDLE_VALUE)
        return;

    me.dwSize = sizeof(MODULEENTRY32);
    if (Module32First(hSnapshot, &me))
    {
        do
        {
            if (GetFileAttributes(me.szExePath) == INVALID_FILE_ATTRIBUTES)
            {
                printf("DLL %s is not found in the system.\n", me.szExePath);
            }
            else
            {
                printf("DLL %s is found in the system.\n", me.szExePath);
            }
        } while (Module32Next(hSnapshot, &me));
    }

    CloseHandle(hSnapshot);
}

int main(void)
{
    HANDLE hSnapshot;
    PROCESSENTRY32 pe;

    hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    if (hSnapshot == INVALID_HANDLE_VALUE)
        return 1;

    pe.dwSize = sizeof(PROCESSENTRY32);
    if (Process32First(hSnapshot, &pe))
    {
        do
        {
            CheckDlls(pe.th32ProcessID);
        } while (Process32Next(hSnapshot, &pe));
    }

    CloseHandle(hSnapshot);

    return 0;
}
 
Последнее редактирование:

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 195
Репутация
8 330
Отличная статья!)
 
Автор темы Похожие темы Форум Ответы Дата
X-Shar Новости и статьи IT безопасности 1
X-Shar Новости и статьи IT безопасности 2
X-Shar Новости и статьи IT безопасности 2
X-Shar Новости и статьи IT безопасности 0
M Новости и статьи IT безопасности 0
X-Shar Новости и статьи IT безопасности 2
0b170xor Новости и статьи IT безопасности 3
virt Новости и статьи IT безопасности 0
virt Новости и статьи IT безопасности 2
virt Новости и статьи IT безопасности 0
X-Shar Новости и статьи IT безопасности 4
X-Shar Новости и статьи IT безопасности 0
X-Shar Новости и статьи IT безопасности 0
X-Shar Новости и статьи IT безопасности 0
P Новости и статьи IT безопасности 6
X-Shar Новости и статьи IT безопасности 6
Anubis Новости и статьи IT безопасности 2
X-Shar Новости и статьи IT безопасности 11
X-Shar Новости и статьи IT безопасности 0
X-Shar Новости и статьи IT безопасности 3
Похожие темы
На заметку Как обмануть камеру
Информация Как угнать автомобиль при помощи USB - провода
На заметку Как создавать вирусы при помощи ChatGPT
О том как орудуют детские киберпреступные банды
Новость Как Китай использует USB-устройства для шпионажа: анализ от Mandiant
ВАЖНО «Я не специально». Какие отмазки хакеров могут сработать в суде
Новость Какие законы в сфере цифрового права могут появиться в этом году
Информация Как украсть биткоины
Информация Что за вирус на портале госуслуг и как он туда попал :)
Новость Как украсть $800000 при помощи "исчезающей" малвари
Информация Как взломать "мобильный банк"
На заметку О том, как спасают жертв кибератак
Информация Как и зачем был взломан Hacking Team
Информация Бабло побеждает зло, или как обмануть антивирус
Эксклюзив Как защитить важные данные
Новость Как сбросить чужой пароль в Facebook
12 способов как повысить безопасность маршрутизатора
Как работают спец. службы или пара слов про USB-Девайсы
Уязвимость в Linux от 2.6.37 до 3.8.10 + эксплоит и как защититься
Как ничего не делать и при этом заработать кучу бабла
Верх Низ