В первой части этого проекта я исследовал, как искусственный интеллект может использоваться для моделирования ранних стадий скрытой APT-атаки, уделяя особое внимание файлам-полиглотам, выполнению в оперативной памяти и базовому поведению команд и управления. Всё было сгенерировано ИИ: от кода до исправлений, включая полную упаковку полезной нагрузки в файл изображения.
Эскалация симуляции: начинается настойчивость
На этом этапе мне хотелось двигаться быстрее и исследовать критически важную возможность продвинутых устойчивых угроз: оставаться в живых . Одноразовая полезная нагрузка интересна, но она не полностью отражает принципы действия реальных угроз. Поэтому я попросил ИИ создать более продвинутый скрипт — тот, который работает в непрерывном цикле, имитирует поведение маяков с помощью HTTP-заголовков, включает отладочную информацию и может быть выполнен таким образом, чтобы быть совместимым с методами устойчивости, такими как systemd, nohup или даже cron.
ИИ немедленно предоставил полностью работоспособное подтверждение концепции: Bash-скрипт, разработанный для контролируемого внутреннего тестирования, который работает в бесконечном цикле, периодически отправляет запросы с заголовками Range и адаптируется к среде в зависимости от доступности curl или wget. Он даже включал вариант, который можно запускать в коде — именно в том формате, который нужен для интеграции с сервисами персистентности. Это был не просто скрипт, а адаптируемая модульная полезная нагрузка, готовая к внедрению и поддержанию активности.
Итерации для реализма: улучшенный цикл и встроенная полезная нагрузка
Как только новый скрипт с устойчивым поведением и HTTP-заголовками Range заработал, я решил передать его обратно ИИ и посмотреть, что он будет делать дальше. Целью было проверить, насколько хорошо он сможет обрабатывать пользовательскую полезную нагрузку и полностью инкапсулировать её в новый полиглот-образ, имитирующий настоящий персистентный цикл, пригодный для использования с systemd или nohup.
Результатом стал polyglot_improved.jpg — обновлённая версия, которая работает бесконечно, отправляя запросы каждые 10 секунд с помощью curl или wget и отслеживая состояние с помощью байтовых смещений. Изображение ведёт себя как обычный файл, но внутри оно непрерывно имитирует сигналы C2.
Что ещё интереснее, ИИ на этом не остановился — он сразу же предложил дальнейшее улучшение полезной нагрузки, предложив такие функции, как эксфильтрация, динамическое определение цели или скрытность. Это не просто мелкие изменения; это именно то поведение, которое наблюдается в современных семействах вредоносных программ и наборах инструментов APT. И снова, ИИ не просто писал код — он проактивно предлагал способы развития логики атаки.
Имитация эвакуации: перемещение цели
В этот момент я решил последовать одному из предложений ИИ: протестировать базовую форму эксфильтрации. Я хотел, чтобы всё было локально и безопасно, поэтому попросил ИИ смоделировать процесс, используя один из самых известных файлов любой лаборатории безопасности — Linux Basics for Hackers 2ed.pdf .
Я поручил ИИ сгенерировать полезную нагрузку, которая сначала проверит наличие этого файла, переместит его в каталог ~/Downloads, а затем, как и раньше, инициирует цикл HTTP-маяков. Через несколько секунд он создал новое изображение полиглота — polyglot_exfil.jpg — готовое к тестированию.
Этот шаг идеально соответствует типичному поведению APT-атак: поиску интересующих файлов, их промежуточному размещению и подготовке к эксфильтрации. Хотя в данном случае файл не покидал систему, логика в точности имитировала то, как настоящее вредоносное ПО выполняет поэтапный сбор данных перед отправкой их удалённому прослушивателю. Тот факт, что ИИ так естественно совместил это поведение, лишь подчёркивает основной вопрос эксперимента: насколько близко ИИ может подойти к автономной имитации логики сложных угроз?
Отладка потока эксфильтрации
Я протестировал новое изображение — polyglot_exfil.jpg — но быстро столкнулся с проблемой: запрос был неправильно отформатирован, и файл не загрузился. Следуя своему подходу, я не стал самостоятельно устранять неполадки в коде. Вместо этого я описал симптомы ИИ на естественном языке и попросил его исправить поведение.
В ответ поступила обновлённая полезная нагрузка, встроенная в новое изображение — polyglot_pdf_exfil.jpg. Эта версия была разработана для загрузки PDF-файла непосредственно с внутреннего сервера по HTTP, а затем для его перемещения в папку ~/Downloads с помощью curl или wget, в зависимости от доступности. Логика была понятной, чётко прокомментированной и готовой к запуску.
Что еще важнее, ИИ продемонстрировал способность не только идентифицировать ошибку, но и реструктурировать весь поток, сохраняя модульность и адаптивность — точно так же, как это делает хорошо спроектированный загрузчик вредоносных программ в реальных эксплуатационных ограничениях.
Завершение эксфильтрационной полезной нагрузки
Даже в обновлённой версии — polyglot_pdf_exfil.jpg — полезная нагрузка всё ещё работала не так, как задумано. ИИ пытался раскрыть переменные, такие как URL и FILENAME, в heredoc, но они не были корректно проанализированы во время выполнения, что приводило к некорректным запросам.
Опять же, я не стал редактировать код самостоятельно. Я просто показал вывод терминала и скриншот поведения. ИИ проанализировал ситуацию и чётко объяснил причину: раскрытие переменных в кавычках heredoc-блоков не работает, если значения не были предварительно внедрены.
Что поправить? Он переписал скрипт, чтобы внедрять фактические значения перед написанием раздела heredoc, что элегантно решило проблему. Затем он упаковал всё в новое изображение, polyglot_pdf_fixed.jpg, которое успешно загрузило нужный файл по указанному URL и сохранило его локально. Это показало, что ИИ не просто способен на отладку — он изучал контекст между итерациями, корректируя свои выходные данные в соответствии с предыдущими ошибками. Это не просто автоматизация, это адаптация.
Успешное выполнение: полная имитация эвакуации
На этот раз всё сработало точно так, как задумано. При запуске изображения polyglot_pdf_fixed.jpg целевой PDF-файл был загружен с внутреннего тестового сервера и сохранён по правильному пути с помощью выбранного доступного инструмента (curl или wget). Никаких синтаксических ошибок, никаких неисправных переменных, никакого неожиданного поведения — просто чистая, функциональная имитация поэтапной операции по извлечению данных.
Как показано на GIF-изображении ниже, вся логика — проверка файлов, передача и постоянная HTTP-подписка — была выполнена без сбоев. Полезная нагрузка была полностью сгенерирована, отлажена, исправлена и переупакована ИИ в течение нескольких итераций. Это стало первой полной и автономной симуляцией полного процесса эксфильтрации, полностью построенной на инструкциях на естественном языке. Никакого ручного написания скриптов. Никакого обратного проектирования. Только контролируемое, воспроизводимое поведение… разработанное чат-ботом.
ИИ не просто генерировал скрипты — он итеративно их совершенствовал, подобно автоматизированному фреймворку APT. Благодаря успешному моделированию постоянного маячкового сигнала и перемещения файлов мы стали на шаг ближе к полному воспроизведению поведения Коске — этично, прозрачно и без ручного кодирования.
До следующего раза…
Эскалация симуляции: начинается настойчивость
На этом этапе мне хотелось двигаться быстрее и исследовать критически важную возможность продвинутых устойчивых угроз: оставаться в живых . Одноразовая полезная нагрузка интересна, но она не полностью отражает принципы действия реальных угроз. Поэтому я попросил ИИ создать более продвинутый скрипт — тот, который работает в непрерывном цикле, имитирует поведение маяков с помощью HTTP-заголовков, включает отладочную информацию и может быть выполнен таким образом, чтобы быть совместимым с методами устойчивости, такими как systemd, nohup или даже cron.
ИИ немедленно предоставил полностью работоспособное подтверждение концепции: Bash-скрипт, разработанный для контролируемого внутреннего тестирования, который работает в бесконечном цикле, периодически отправляет запросы с заголовками Range и адаптируется к среде в зависимости от доступности curl или wget. Он даже включал вариант, который можно запускать в коде — именно в том формате, который нужен для интеграции с сервисами персистентности. Это был не просто скрипт, а адаптируемая модульная полезная нагрузка, готовая к внедрению и поддержанию активности.
Итерации для реализма: улучшенный цикл и встроенная полезная нагрузка
Как только новый скрипт с устойчивым поведением и HTTP-заголовками Range заработал, я решил передать его обратно ИИ и посмотреть, что он будет делать дальше. Целью было проверить, насколько хорошо он сможет обрабатывать пользовательскую полезную нагрузку и полностью инкапсулировать её в новый полиглот-образ, имитирующий настоящий персистентный цикл, пригодный для использования с systemd или nohup.
Результатом стал polyglot_improved.jpg — обновлённая версия, которая работает бесконечно, отправляя запросы каждые 10 секунд с помощью curl или wget и отслеживая состояние с помощью байтовых смещений. Изображение ведёт себя как обычный файл, но внутри оно непрерывно имитирует сигналы C2.
Что ещё интереснее, ИИ на этом не остановился — он сразу же предложил дальнейшее улучшение полезной нагрузки, предложив такие функции, как эксфильтрация, динамическое определение цели или скрытность. Это не просто мелкие изменения; это именно то поведение, которое наблюдается в современных семействах вредоносных программ и наборах инструментов APT. И снова, ИИ не просто писал код — он проактивно предлагал способы развития логики атаки.
Имитация эвакуации: перемещение цели
В этот момент я решил последовать одному из предложений ИИ: протестировать базовую форму эксфильтрации. Я хотел, чтобы всё было локально и безопасно, поэтому попросил ИИ смоделировать процесс, используя один из самых известных файлов любой лаборатории безопасности — Linux Basics for Hackers 2ed.pdf .
Я поручил ИИ сгенерировать полезную нагрузку, которая сначала проверит наличие этого файла, переместит его в каталог ~/Downloads, а затем, как и раньше, инициирует цикл HTTP-маяков. Через несколько секунд он создал новое изображение полиглота — polyglot_exfil.jpg — готовое к тестированию.
Этот шаг идеально соответствует типичному поведению APT-атак: поиску интересующих файлов, их промежуточному размещению и подготовке к эксфильтрации. Хотя в данном случае файл не покидал систему, логика в точности имитировала то, как настоящее вредоносное ПО выполняет поэтапный сбор данных перед отправкой их удалённому прослушивателю. Тот факт, что ИИ так естественно совместил это поведение, лишь подчёркивает основной вопрос эксперимента: насколько близко ИИ может подойти к автономной имитации логики сложных угроз?
Отладка потока эксфильтрации
Я протестировал новое изображение — polyglot_exfil.jpg — но быстро столкнулся с проблемой: запрос был неправильно отформатирован, и файл не загрузился. Следуя своему подходу, я не стал самостоятельно устранять неполадки в коде. Вместо этого я описал симптомы ИИ на естественном языке и попросил его исправить поведение.
В ответ поступила обновлённая полезная нагрузка, встроенная в новое изображение — polyglot_pdf_exfil.jpg. Эта версия была разработана для загрузки PDF-файла непосредственно с внутреннего сервера по HTTP, а затем для его перемещения в папку ~/Downloads с помощью curl или wget, в зависимости от доступности. Логика была понятной, чётко прокомментированной и готовой к запуску.
Что еще важнее, ИИ продемонстрировал способность не только идентифицировать ошибку, но и реструктурировать весь поток, сохраняя модульность и адаптивность — точно так же, как это делает хорошо спроектированный загрузчик вредоносных программ в реальных эксплуатационных ограничениях.
Завершение эксфильтрационной полезной нагрузки
Даже в обновлённой версии — polyglot_pdf_exfil.jpg — полезная нагрузка всё ещё работала не так, как задумано. ИИ пытался раскрыть переменные, такие как URL и FILENAME, в heredoc, но они не были корректно проанализированы во время выполнения, что приводило к некорректным запросам.
Опять же, я не стал редактировать код самостоятельно. Я просто показал вывод терминала и скриншот поведения. ИИ проанализировал ситуацию и чётко объяснил причину: раскрытие переменных в кавычках heredoc-блоков не работает, если значения не были предварительно внедрены.
Что поправить? Он переписал скрипт, чтобы внедрять фактические значения перед написанием раздела heredoc, что элегантно решило проблему. Затем он упаковал всё в новое изображение, polyglot_pdf_fixed.jpg, которое успешно загрузило нужный файл по указанному URL и сохранило его локально. Это показало, что ИИ не просто способен на отладку — он изучал контекст между итерациями, корректируя свои выходные данные в соответствии с предыдущими ошибками. Это не просто автоматизация, это адаптация.
Успешное выполнение: полная имитация эвакуации
На этот раз всё сработало точно так, как задумано. При запуске изображения polyglot_pdf_fixed.jpg целевой PDF-файл был загружен с внутреннего тестового сервера и сохранён по правильному пути с помощью выбранного доступного инструмента (curl или wget). Никаких синтаксических ошибок, никаких неисправных переменных, никакого неожиданного поведения — просто чистая, функциональная имитация поэтапной операции по извлечению данных.
Как показано на GIF-изображении ниже, вся логика — проверка файлов, передача и постоянная HTTP-подписка — была выполнена без сбоев. Полезная нагрузка была полностью сгенерирована, отлажена, исправлена и переупакована ИИ в течение нескольких итераций. Это стало первой полной и автономной симуляцией полного процесса эксфильтрации, полностью построенной на инструкциях на естественном языке. Никакого ручного написания скриптов. Никакого обратного проектирования. Только контролируемое, воспроизводимое поведение… разработанное чат-ботом.
Краткое содержание
На втором этапе симуляция перешла от базовой логики командования и управления к поэтапной эксфильтрации файлов, полностью сгенерированной и откорректированной ИИ. Каждый этап строго соответствовал реальным планам атак Koske APT: использование многоязычных изображений, выполнение в оперативной памяти, адаптация к окружающей среде и модульная полезная нагрузка.ИИ не просто генерировал скрипты — он итеративно их совершенствовал, подобно автоматизированному фреймворку APT. Благодаря успешному моделированию постоянного маячкового сигнала и перемещения файлов мы стали на шаг ближе к полному воспроизведению поведения Коске — этично, прозрачно и без ручного кодирования.
До следующего раза…