C и C++: близко к системе
Дают прямой доступ к памяти и функциям операционной системы, программы получаются маленькими и быстрыми. Поэтому на них пишут то, что должно работать незаметно и глубоко в системе. На этих же языках написаны сами Windows, браузеры и антивирусы.
C# и .NET: быстро для Windows
Позволяют быстро собрать программу под Windows с окнами, сетью и шифрованием. Многие программы-кражи паролей, стилеры, написаны именно так.
Python, PowerShell, JavaScript и макросы
Скриптовые языки удобны тем, что их «переводчик» часто уже есть в системе. PowerShell встроен в Windows, JavaScript есть в каждом браузере, макросы на VBA живут в документах Office. Атакующему не нужно ничего устанавливать: он пользуется тем, что уже есть. ILOVEYOU в 2000 году был простым скриптом на VBScript.
Go и Rust: одна программа на все системы
Из одного кода собираются версии для Windows, Linux и macOS. Готовая программа большая и непривычная для анализа, поэтому защитникам сложнее её разбирать. На этих языках написаны многие современные шифровальщики.
Java и Kotlin: Android
Основные языки приложений для Android. На них же пишут банковские трояны, которые маскируются под «приложение банка» или «трекер посылки» и читают СМС с кодами.
Те же языки у защитников
Python пишут аналитики, которые разбирают вредоносы. C и C++ пишут антивирусы. Языки одни и те же, разница только в том, кто и зачем пишет. Создание и распространение вредоносных программ в России уголовно наказуемо по статье 273 УК РФ.
Язык выбирают под задачу: глубоко в системе, быстро под Windows, без установки через скрипты или сразу под все платформы. Защитники пользуются теми же языками.