Как создать программу вымогатель

Самостоятельное распространение программ‑вымогателей в локальной сети в качестве сетевого червя давно уже не является чем‑то уникальным и новым. Программа‑вымогатель WannaCry в 2017 году распространялась в локальной сети, используя уязвимость SMBv1 MS17–010. Для этого создатели WannaCry использовали эксплойт EternalBlue и бэкдор DoublePulsar из публикации хакерской группировки The Shadow Brokers «Lost in Translation». Но стоит отметить, это всё же немного другая история, отличная от современных RaaS.

В настоящее время уязвимости такого плана и масштаба в арсенале вымогателей появляются не часто, но всегда есть возможность распространения с помощью доступных легитимных механизмов. Для реализации таких способов необходимо наличие корректных учетных данных, которые партнеры RaaS в большинстве случаев и так похищают на этапе постэксплуатации. Программы‑вымогатели LockBit используют групповые политики для своего распространения в локальной сети, а в образцах BlackCat (APLHV) для самораспространения используется содержащаяся в них в зашифрованном и сжатом виде утилита Sysinternals PsExec.

Люди, Пишущие ВИРУСЫ, Почему Вы Это Делаете?

По‑видимому, авторы LockBit для совершенствования своего продукта, а также чтобы не отставать от конкурента, добавили опцию распространения “psexec_netspread”. Но сразу оговоримся, сама утилита PsExec в данном случае не применяется. Интересное мнение о неработоспособности данной функции высказали коллеги. Давайте разберемся в новом механизме распространения в локальной сети, реализованном в LockBit 3.0.

В сентябре 2022 года в публичный доступ «утек» билдер LockBit 3.0, используемый RaaS LockBit. Конечно, эта утечка неплохо помогла ресерчерам в их исследовании LockBit 3.0, но при этом и нельзя умолчать о громадном вреде, которые несут такие общедоступные публикации. По сути, это «оружие», которое получают все без разбора киберхулиганы и хактивисты различной политической окраски. Для атак на российские компании были использованы программы‑вымогатели, созданные в том числе и с помощью данного билдера.

Для анализа сэмплов LockBit 3.0 использовались разработанные скрипты, позволяющие значительно облегчить их анализ. Также среди этих скриптов вы можете найти и реализацию криптографических алгоритмов шифрования файлов в LockBit на Python.

Рис. 1. Фрагмент конфигурации LockBit 3.0 в формате JSON из утекшего в публичный доступ билдера

Этап 1. Проверка указанных учетных данных

Распространение в локальной сети осуществляется при включенной в конфигурации LockBit опции «psexec_netspread» при запуске программы‑вымогателя в режиме полного шифрования системы или шифрования в безопасном режиме (safe mode). Но при этом, как видим (рис. 2), для самораспространения необходим еще и некоторый токен пользователя ( g_hUserToken ).

История вируса WinLocker — Как DUMBAZZ «взламывает» школьников в csgo через termux

Рис. 2. Фрагмент функции полного шифрования системы EncryptEverything

Токен пользователя ( g_hUserToken ) программа‑вымогатель получает ранее в функции, которую мы назвали Prepare , при этом, разумеется, для этого должна быть включена опция конфигурации имперсонификации “impersonation” (рис. 3), а также указаны корректные администраторские учетные данные в поле “impers_accounts”.

Рис. 3. Имперсонификация. Фрагмент функции Prepare

В функции LogonAccounts (рис. 4) определяется имя домена, а далее осуществляется последовательный перебор учетных записей, указанных в поле конфигурации “impers_accounts” и попытка аутентификации для каждой записи с помощью функции API LogonUserW . В случае успешной аутентификации перебор учетных записей прекращается, из функции возвращается токен пользователя, а использованные для входа имя домена, имя пользователя и пароль шифруются и сохраняются в глобальные переменные g_pEncDomain , g_pEncUser и g_pEncPassword соответственно. Впоследствии эти данные, как это показано на рис. 2, используются в качестве параметров функции RunNetSpread .

Функции с именами IsRunningAsSvc и RunAsSvc рассмотрим позже, они будут использоваться на последнем этапе.

Рис. 4. Фрагмент функции LogonAccounts

Для взаимодействия между процессами LockBit в функции RunNetSpread создается канал IPC (Inter‑Process Communication) в виде именованного пайпа ( PIPE1 ) (рис. 5)

где PIPE1_NAME — UUID‑подобная строка , полученная с помощью хеша MD5 от Unicode‑строки _IPC$ , где DECRYPTION_ID — строка с первыми 8 байтами в шестнадцатеричном представлении модуля (n) публичного ключа RSA‑1024.

Читайте также:
Определение суточной программы по то

Рис. 5. Фрагмент функции RunNetSpread

Далее программа‑вымогатель запускает себя в контексте безопасности учетной записи, полученной в LogonAccounts , при запуске также добавляет параметр командной строки «‑psex». Если текущая учетная запись — LocalSystem, для запуска нового процесса программы используется функция API CreateProcessAsUserW(g_hUserToken, …) , в ином случае — CreateProcessWithLogonW с именем пользователя, именем домена и паролем, расшифрованных из g_pEncDomain , g_pEncUser , g_pEncPassword .

После этого в канал IPC PIPE1 записываются строка с аргументами командной строки, использованными при первоначальном запуске программы‑вымогателя (рис. 6). Затем программа‑вымогатель продолжает обычное функционирование, в том числе и шифрование данных на хосте.

Рис. 6. Фрагмент функции RunNetSpread

Функция RunNetSpread возвращает дескриптор запущенного процесса, и вызывающая функция ожидает его завершения (рис. 2).

При самораспространении же с помощью групповых политик программа‑вымогатель запускается с параметром “‑gspd”, в остальном же все действия программы‑вымогателя идентичны на данном этапе.

Этап 2. Выполнение программы-вымогателя с аргументом «-psex»

На предыдущем этапе программа-вымогатель была запущена в контексте безопасности учетной записи, указанной в конфигурации, с добавлением аргумента командной строки «‑psex». Проверка аргументов командной строки в LockBit 3.0 осуществляется по контрольным суммам так же, как и в BlackMatter, впрочем, и как многое другое (рис. 7-8).

Рис. 7. Фрагмент функции PayloadРис. 8. Фрагмент функции Payload

В функции PsexHandler программа открывает ранее созданный основным процессом LockBit канал IPC \.pipe , из которого получает строку с первоначальными аргументами командной строки, и затем в случае успеха вызывает функцию NetSpread (рис. 9).

Рис. 9. Функция PsexHandler

В функции NetSpread (рис. 10) создается еще один канал IPC PIPE2 (функция CreateAndReadPipe2 )

где PIPE2_NAME – UUID-подобная строка, полученная с помощью хеша MD5 от Unicode-строки в нижнем регистре

COMP_NAME – имя компьютера, DOMAIN_NAME – имя домена.

Стоит отметить, что для приведения строки в нижний регистр в программе используется функция _wcslwr , которая не учитывает локальных языковых настроек.

Дескриптор именованного канала PIPE2 дублируется с помощью NtDuplicateObject для уже существующего процесса explorer.exe или lsass.exe, в результате чего будет закрыт впоследствии данным процессом.

Программа получает список компьютеров домена (функция GetADCompList ).

Рис. 10. Начальный фрагмент функции NetSpread

Получение списка компьютеров в GetADCompList осуществляется двумя способами. Первый способ — перечисление контроллеров домена с помощью функций API DsGetDcOpenW / DsGetDcNextW . Второй способ — перечисление собственно компьютеров Active Directory с помощью запросов LDAP, для перечисления используются функции API ADsOpenObject , ADsBuildEnumerator , ADsEnumerateNext и интерфейсы IADs , IADsContainer .

Далее для каждого хоста из указанного списка создается поток (рис. 11), но одновременно может выполняться не более 64 потока. В функцию потока передается имя хоста в виде

где COMP_NAME – имя компьютера, DOMAIN_NAME – имя домена.

Рис. 11. Фрагмент функции NetSpread

В функции NetConnAddOrCancel с помощью функции API WNetAddConnection2W осуществляется подключение к административным сетевым ресурсам компьютера (Admin Shares) ADMIN$ и IPC$ (рис. 12). Подключение к ресурсу IPC$ позволяет осуществлять удаленное взаимодействие между процессами LockBit.

Программа проверяет наличие канала IPC PIPE2 на хосте

Если именованный пайп PIPE2 на хосте уже существует, дальнейших действий по распространению для данного компьютера не осуществляется.

Имя PIPE2_NAME используется также в качестве имени службы, создаваемой удаленно на компьютере, и имени копируемого на этот компьютер файла.

Рис. 12. Фрагмент функции потока CompSpreadThreadProc

Программа-вымогатель создает на другом компьютере каталог

и копирует в него свой исполняемый файл под именем .exe (рис. 13).

Рис. 13. Фрагмент функции потока CompSpreadThreadProc

На компьютере удаленно создается и запускается служба с именем PIPE2_NAME , для которой используется скопированный на компьютер исполняемый файл программы-вымогателя со следующими аргументами командной строки (рис. 14):

%%SystemRoot%%Temp.exe -k LocalServiceNetworkRestricted

Рис. 14. Фрагмент функции потока CompSpreadThreadProc

После успешного запуска в канал IPC PIPE2 записываются ранее полученные через канал IPC PIPE1 данные – строка с первоначальными аргументами командной строки. Далее служба удаляется и происходит отключение от административных сетевых ресурсов компьютера (Admin Shares) ADMIN$ и IPC$ (рис. 15).

Рис. 15. Фрагмент функции потока NetConnAddThreadProc

Этап 3. Выполнение службы на компьютере

Ранее на 1 этапе мы упоминали функции с именами IsRunningAsSvc и RunAsSvc , которые вызывались в Prepare (рис. 3). В функции IsRunningAsSvc осуществляется проверка наличия аргумента командной строки «LocalServiceNetworkRestricted» с помощью контрольной суммы строки (рис. 16). Эта проверка осуществляется заранее, до проверки аргументов в функции Payload (рис.

Читайте также:
Полезные программы для Симс 3

7).

Рис. 16. Фрагмент функции IsRunningAsSvc

Таким образом, если программа-вымогатель запущена с аргументом командной строки «LocalServiceNetworkRestricted», запускается функция RunAsSvc , которая осуществляет запуск программы как системной службы (рис. 17).

Рис. 17. Фрагмент функции RunAsSvc

В функции SvcMain программа создает IPC канал с именем PIPE2_NAME и читает из него данные в буфер (рис. 18). После этого служба завершает свою работу.

Рис. 18. Функция SvcMain

Далее после завершения службы выполняется следующий за StartServiceCtrlDispatcherW код, а именно запускается функция RunMe , которой в качестве параметра передаются данные, полученные из IPC канала PIPE2 . Функция RunMe запускает исполняемый файл программы-вымогателя с аргументами командной строки, переданными первоначально программе на 1-м этапе. RunMe определяет идентификатор сеанса физической консоли ( GetActiveConsoleSessionID ) и устанавливает его для токена текущего процесса (процесса службы) ( NtSetInformationToken ) и запускает процесс шифрования компьютера в контексте безопасности текущего процесса ( CreateProcessAsUserW ).

Таким образом, запуск программы-вымогателя на одном из компьютеров домена при наличии корректных учетных данных администратора домена в конфигурационных данных программы-вымогателя приводит к шифрованию компьютеров (рис. 19) и контроллера домена (рис. 20).

Рис. 19. Выполнение программы-вымогателя на компьютере домена MYPC1 Рис. 20. Выполнение программы-вымогателя на контроллере домена MYDC1

Как видим, все работает.

  • реверс-инжиниринг
  • реверсинг
  • анализ вредоносного кода
  • анализ вредоносного по
  • malware analysis
  • malware reversing

Источник: habr.com

Программа-вымогатель Zeppelin

Тема воздушных шаров достаточно актуальна сейчас… Поговорим про распространенное семейство программ-вымогателей Zeppelin, или иначе Buran, осуществляющих шифрование файлов на всех дисках и доступных сетевых ресурсах. По ряду причин я отношу Zeppelin к фриковым семействам вымогателей.

Семейство не новое, оно появилось в 2019 году. Программы разработаны на языке программирования Delphi в среде разработки CodeGear RAD Studio 2007.

В программах Zeppelin содержится проверка языковых и локальных настроек для предотвращения шифрования файлов на компьютерах, которые имеют отношение к России и некоторым странам СНГ. Тем не менее, Zeppelin часто используется для атак на российские компании. За декриптор, как и в случае другого семейства – Dharma, атакующие просят немного, и жертвы нередко покупают его, а точнее их, так декриптор необходим соответственно для каждого компьютера.

Как создать вирусную ссылку для телефона и компьютера?

Android принято называть рассадником вредоносных программ. Каждый день здесь выявляют более 8 тысяч новых образцов вирусов. И эти цифры постоянно растут.

Но задумывались ли вы, как эти вредоносные программы работают? Сегодня мы разберемся с этим, изучив приложение для Android, способное собирать информацию об устройстве, его местоположении, делать фотографии и записывать аудио. И все это с удаленным управлением.

Еще по теме: Как вирусы попадают в Google Play Market

Определение вируса

История компьютерных вирусов берет свое начало в 1983 году, когда Фред Коэн использовал его впервые.

Онлайн проверка ссылки

Вирус — это вредоносный код, он направлен на захват управления вашими файлами, настройками. Создает копии самого себя, всячески захламляет персональный компьютер пользователя. Некоторые можно обнаружить сразу, когда другие скрываются в системе и паразитируют в ней. Часто их передача происходит с помощью сайтов, где размещен пиратский контент, порно-сайтов и других.

Бывает, скачивание вирусов происходит при желании скачать мод или чит. Довольно просто распространить вирус, если у вас готова вирусная ссылка.

Скрытая съемка

С камерой сложнее всего. Во-первых, по-хорошему необходимо уметь работать сразу с двумя API камеры: классическим и Camera2, который появился в Android 5.0 и стал основным в 7.0. Во-вторых, API Camera2 часто работает некорректно в Android 5.0 и даже в Android 5.1, к этому нужно быть готовым. В-третьих, Camera2 — сложный и запутанный API, основанный на колбэках, которые вызываются в момент изменения состояния камеры.

В-четвертых, ни в классическом API камеры, ни в Camera2 нет средств для скрытой съемки. Они оба требуют показывать превью, и это ограничение придется обходить с помощью хаков.

Учитывая, что с Camera2 работать намного сложнее, а описать нюансы работы с ней в рамках данной статьи не представляется возможным, я просто приведу весь код класса для скрытой съемки. А вы можете либо использовать его как есть, либо попробуете разобраться с ним самостоятельно (но я предупреждаю: вы попадете в ад):

Читайте также:
Как узнать когда была удалена программа с компьютера

Этот код следует вызывать в отдельном потоке, передав в качестве аргументов место расположения камеры («front» — передняя, «back» — задняя) и каталог, в который будут сохранены фотографии. В качестве имен файлов будет использована текущая дата и время.

Методы воздействия вредоносных программ

Шуточный вирус

К компьютерным вирусам относится множество вредоносных программ, однако не все они способны к «размножению»:

  • Черви. Заражают файлы на компьютере, это могут быть любые файлы, начиная от .exe и заканчивая загрузочными секторами. Передаются через чаты, программы для общения типа Skype, icq, через электронную почту.
  • Троянские кони, или трояны. Лишены самостоятельной способности распространяться: они попадают на компьютер жертвы благодаря их авторам и третьим лицам.
  • Руткит. Сборка различных программных утилит при проникновении на компьютер жертвы получает права суперпользователя, речь про UNIX-системы. Представляет собой многофункциональное средство для «заметания следов» при вторжении в систему с помощью снифферов, сканеров, кейлоггеров, троянских приложений. Способны заразить устройство на операционной системе Microsoft Windows. Захватывают таблицы вызовов и их функций, методы использования драйверов.
  • Вымогатели. Такие вредоносные программы препятствуют входу пользователя на устройство путем принуждения к выкупу. Последние крупные события, связанные с программами-вымогателями, — WannaCry, Petya, Cerber, Cryptoblocker и Locky. Все они требовали за возвращение доступа в систему криптовалюту биткоин.

Фальшивое обновление

  • Кейлоггер. Следит за вводом логинов и паролей на клавиатуре. Фиксирует все нажатия, а затем отсылает журнал действий на удаленный сервер, после чего злоумышленник использует эти данные на свое усмотрение.
  • Снифферы. Анализирует данные с сетевой карты, записывает логи с помощью прослушивания, подключения сниффера при разрыве канала, ответвления сниффером копии трафика, а также через анализ побочных электромагнитных излучений, атак на канальном или сетевом уровне.
  • Ботнет, или зомби-сети. Такая сеть представляет собой множество компьютеров, образующих одну сеть и зараженных вредоносной программой для получения доступа хакеру или иному злоумышленнику.
  • Эксплойты. Этот вид вредоносного программного обеспечения может быть полезным для пиратов, ведь эксплойты вызываются ошибками в процессе разработки программного обеспечения. Так злоумышленник получает доступ к программе, а дальше и к системе пользователя, если так задумал хакер. У них есть отдельная классификация по уязвимостям: нулевой день, DoS, спуфинг или XXS.

Создаем зараженный APK

Чтобы создать файл APK для Android, открой вкладку APK Builder. Внешний вид конструктора вредоносных мобильных приложений показан на следующей иллюстрации.

Вкладка с конструктором APK

Пользоваться этим инструментом очень просто. В окне Source IP мы прописываем IP-адрес атакующей машины (этот адрес потом легко вычисляется при исследовании вредоноса). В поле Source Port ты можешь указать порт, который будет зарезервирован машиной для прослушивания подключений. По умолчанию используется порт 42 474.

Пути распространения

Вредоносный контент может попасть на устройство разными способами:

Рассылка в социальных сетях

  • Вирусная ссылка.
  • Доступ к серверу или локальной сети, по которой будет проходить распространение вредоносного приложения.
  • Выполнение программы, зараженной вирусом.
  • Работа с приложениями пакета Microsoft Office, когда с помощью макровирусов документов вирус распространяется по всему персональному компьютеру пользователя.

Спам вирусы

  • Просмотр вложений, пришедших с сообщениями электронной почты, а они оказались с инфицированными программами и документами.
  • Запуск операционной системы с зараженного системного диска.
  • Установка на компьютер заранее зараженной операционной системы.

Где могут прятаться вирусы

Когда вирусная ссылка сделана, а вы запустили программу, которая начинает скрытую работу на персональном компьютере, то некоторые вирусы и другие вредоносные программы способны на сокрытие своих данных в системе или в исполняемых файлах, расширение которых может быть следующего типа:

Как стать “хакером” андроида?

Да тут особо ни чего мудрить не надо. Просто идем по шагам. 1. Устанавливаем java для разработчиков с офф сайта. (скачать) 2. Качаем android studio (скачать) Качаем полную рекомендованную. Сейчас мы не будем вдаваться в эти все подробности. Оно нам надо?

3. Запасаемся бубликами и пивом. Ведь сейчас придется все это поставить и настроить. 4. Тыкаем в основном далее, не вдумываясь что там написано. Незачем забивать голову

Источник: game-srv.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru