RAT, NAT и прослушка - получаем удаленный доступ к ПК.
Введение
Remote access trojan (RAT, от англ. Троян удаленного доступа) - троян, предоставляющий атакующему удаленный доступ к информационной системе. Как правило ратники (так называют в обиходе данные вирусы) делятся по системам: для Android, IOS, Windows. Есть платные и бесплатные, с закрытым и открытым кодом. Мы с вами посмотрим на один из примеров данной программы дабы разобраться, как оно работает, на все подводные камни данной штуки.
Дисклеймер
Действия показанные в данной статье караются законом, вся описанная информация несёт исключительно образовательный характер. Не пытайтесь применять это на практике.
Глава 1 - кажется что-то не работает.
И так, как я уже ранее и сказал, наша цель - получить удаленный доступ к компьютеру жертвы. В моем примере жертвой будет мой компьютер, а админом - арендованный Windows Server.
Но почему так? А всё просто, и сейчас я тебе объясню что будет, если ты попытаешься со своего компа заслать вирус жертве.
В далеком бородатом году, когда люди стали подключаться к глобальной сети интернет, протокол идентификации сетевых устройств (ip; internet protocol от англ. межсетевой протокол) 4 версии имел достаточно ограниченное количество адресов - 4 294 967 296. Т.е. всего интернетом могло пользоваться чуть более 4-х миллиардов устройств. Но так уж вышло, что люди подсели на порнушку, аську и прочие приколюхи, что-то вроде донатов на наноферму (а могли бы мне донатить) и так далее. И вот, семь миллиардов человек по приблизительному подсчету, стали стремительно поглощать интернет. А тут ещё и всякие провайдеры, дата-центры и прочие корпоративные коридоры серверов стали мгновенно сжирать все запасы адресов. И тут IETF (Инженерный совет Интернета) начал понимать, что такими темпами интернет закончится и новые пользователи не смогут подключиться к вообще-то ИНТЕРНАЦИОНАЛЬНОЙ сети, т.е. к мировой. А значит она уже станет не такой уж и мировой и всей этой утопичной идее придет конец.
Тогда людям пришло в голову одновременно две гениальные вещи:
- Расширить количество адресов. Таким образом ipv4 заменил ipv6. Или не заменил? Ну, в целом идея была хороша - ибо в 6 версии протокола ip таких уникальных адресов стало бы аж 340 282 366 920 938 000 000 000 000. Но, технически перевести всю аппаратуру на новую версию протокола сложно, а потому, данный процесс медленно пытается по сей день двигаться.
- Методы делегирования адресов. Тут всем на помощь пришла популярная метода NAT.
И так, если с ipv6 всё понятно, то в чем суть NAT.
Вы подписываете договор на подключение с вашим провайдером. Далее провайдер подключает свой провод к вашему... пк? роутеру? Кто знает...
- Подключение по этому проводу провайдера между тобой и провайдером происходит по протоколу PPPoE. По сути это такой протокол, при котором чтобы тебе подключиться к интернету провайдера, нужно иметь логин и пароль. Можно ли подрезать кабель и сбрутить акк? Хз, не пробовал) но вполне возможно.
- Подключение между тобой и провайдером идёт по протоколу DHCP. Здесь в таком случае если сосед спиздит у тебя провод и воткнет себе, то у него будет работать интернет, ибо никаких логинов и паролей для этого не надо. Надежно? - да пиздец.
Ну вот мы подписали договор, идёт у нас электрический ток по интернет кабелю, присылаются единички (0.5-1v) и нули (<0.5v), компьютер/роутер считывает данные сигналы и преобразует их в соответствующие кадры, пакеты и т.д. - всё как завещала модель OSI.
Далее, ответьте на простой вопрос - куда идёт весь ваш трафик когда вы заходите на свой любимый оранжевый ютуб?
Раньше, ваш запрос бы шёл НАПРЯМУЮ на ip адрес сервера сайта, к которому вы обратились. Этот ip называется белый ip, или - статический. Т.е. вам выделен один конкретный ip адрес по договору с вашим провайдером.
Но так как сейчас беда и этих белых адресов не хватает, то его закупает себе контора провайдеров, подключает с ПРЯМЫМ выходом в интернет свои главные сервера, а дальше создаёт большую, тернистую и страшную локальную сеть, к которой подключены их серваки для распределения нагрузки, фильтрации трафика, прослушки, и где-то там в конце, наконец, подключены по договору мы, их клиенты. Такой ip называется серым, локальным, может быть динамическим и статическим, но чаще динамический. Он внутренний локальный. Т.е. поймите главную вещь - в интернет выходим не мы, а наш провайдер. Через него идёт весь трафик и направляется нам.
Такая схема очень напоминает атаку посередине - т.е. когда между тобой и твоим собеседником стоит некая темная личность, которая может исказить то что ты говоришь, и обратно, сказать тебе то, что тебе не говорили. Или вообще ничего не сказать, что называется у нас блокировкой сайтов).
А теперь возвращаемся к сути вопроса - как жертва подключится к нам, т.е. предоставит удаленный доступ? Ответ - никак. Ну, или почти никак. Всё что она будет, так это стучать на наш внутренний ip адрес (которого нет публично в сети Интернет), либо стучать на публичный ip адрес нашего провайдера, который мы можем посмотреть, зайдя например сюда.
На своем примере ниже показываю как это выглядит:
Слева где замазанный ipv4 - это ip, назначенный провайдером. Справа - это ip сервера провайдера, к которому я подключен по своему локальному ip типа 10.34.x.x. Вот тот что справа (95.83.x.x) посылает запрос на сайты, получает ответ и переадресовывает мне, на мой локальный ip 10.34.x.x.
Вот так работает интернет. Так что зараженный пк нашим ратником на данном этапе будет долбиться лбом об стену (ну или об пол, призывая бога антивирус).
Глава 2 - чиним наш интернет.
Разобравшись с проблемой поговорим о способах решения и о других попутных проблемах:
- Запрос на выделение статического ip адреса. Звоним нашему провайдеру и просим дать нам выделенный ip адрес. Как правило большинство провайдеров за дополнительную стоимость без проблем предоставят вам белый ip адрес. На него то вы и будете клипать ваш вирус. Какие проблемы? - то что жертва при должной сноровке увидит, что некий подозрительный файл стучится по такому-то ip адресу. И этот ip адрес конечно же будет ВАШ). Ну а дальше останется только надеть маску анонимуса, оставить ключики под ковриком и ждать БСТМ.
- Backend на хостинге. Да, можно написать backend часть на например php, и указать вашему rat стучаться на ваш сайт к этому файлу, который бы ретранслировал соединения на ваш комп с запущенной админкой. Стильно, модно, по хакерски.
- Аренда VPS. Этот способ я сегодня вам и покажу, потому как он менее затратный, не требует знаний backend разработки, да и вообще для нубасиков вроде меня самое то. Здесь мы получаем систему с уже белым ip, не нашим, к которому злоумышленник бы подключался по vpn, тем самым обезопасив себя от деанона.
И так, погнали реализовывать третий пункт.
Первое что сделаем - зарегаем аккаунт на каком-нибудь VPS и потратим пару шекелей на счёт.
После того как мы регнули акк и пополнили счёт (в некоторых местах можно криптой пополнить, что удобно) - арендовываем windows server.
Лично я выбрал такие параметры: Windows Server 2022 RAM 4GB Хранилище 60GB Процессор 2 Ядра.
Вот, теперь нам нужно подключиться к нему. В Windows есть встроенная утилита "Подключение к удаленному рабочему столу".
На линуксе можно установить Remmina или любой другой RMS на выбор.
RMS (Remote Manipulator System - удаленное администрирование системой). Не троян, носит легальный характер доступа к удаленному пк, типо как тот же SSH.
Вводим ip от нашего сервака, логин и пароль. И видим рабочий стол арендованой винды.
Здесь нас встречает встроенная прога на windows server - она нам понадобится чтобы установить некоторые зависимости.
Нам нужно тыкнуть здесь вот сюда:
В открывшемся окне жмем next до момента, пока не дойдем до Features:
Здесь ставим первую галочку (устанавливаем .NET Framework 3.5.). Ну и в целом готово, далее по вкусу можно русифицировать систему. Жмякаем next, далее на кнопку install и пойдет процесс установки зависимостей.
По окончании нас встретит такое окно, означающее окончание установки:
Это окно и прогу можно закрывать.
Теперь берем наш билдер (генератор вируса), нажимаем ctrl+c, заходим в окно с windows сервер, и вставляем туда, ctrl+v. Всё, у нас через инет закачается наш билдер. Заранее через winrar сделайте sfx архив с паролем, чтобы нигде антивир ничего не удалил, и предварительно отключите их у себя и на windows server.
Поискав несколько ратников, нашел вот этот рабочий - NjRAT.
Запускаем Danger edition и видим такое окно:
Там где порт - указываем любой порт, который не будет занят. Обычно это между 1000 и 10000. Например выберем тот порт с которого я познакомился с ратниками, ещё когда по юпупам гуляли видосы про darkcometrat - 1604. Пароль поставим 12345.
Теперь у нас прослушивается трафик на 1604 порту. Нам надо создать вирус, который бы на него стучался. Т.е. стучался на нашip:нашport. В моем случае это будет 150.241.91.82:1604.
Для этого жмем внизу проги на слово-ссылку builder
.
У нас откроется такое окно и даа.. - у вас откроется тромб от увиденного разнообразия и непонимания всего происходяего.. ща всё в краце поясню.
Ну первым делом Host и порт - здесь вместо локального ip по-умолчанию (127.0.0.1) вставляем наш, тот, по которому мы подключились к серваку. В моем случае это 150.241.91.82.
Далее галочка Kill Anti Process и Copy Directory включает нам следующие окошки:
Анти-процесс - закрывает указанные проги которые мы выбрали. То есть наш ратник следит за процессами в системе, и как только видит какой-то из выбранных нами - сразу же его убивает. Это позволяет бороться с установщиками антивирусов и прочими прогами, которые могут спалить нас или наш ратник.
Копирование в директории - просто копирует наш вирус во многие места, чтобы его было тяжелей найти и удалить.
Остальные функции не так интересны, так что, оставим всё выключенным для теста, единственное только добавим наш хост, введя ip нашего сервера и нажав на кнопку Added
.
После этого у нас появится наш зашифрованный паролем хост и кнопка Build, на которую мы жмякаем и собираем ратник.
Готово. Наш вирус создан, и теперь пробуем закинуть его себе на комп (но лучше не быть экстремалом как я, а загрузить его на виртуалку) и протестить
Но, после запуска ничего не случилось - поэтому на сервере пришлось отключить файрвол чтобы всё заработало:
На самом деле конечно отключать его не стоит, достаточно просто пробросить наш порт в настройках файрвола, но мы не будем этим сейчас запариваться.
Глава 3 - функционал.
И так, для примера я повторил это всё во второй проге из папки с ратниками, и вот что вышло:
Это наш зараженный комп. Таких может быть много.
Теперь кликнув правой кнопкой мыши мы можем увидеть функции, доступные нам.
Даёт нам возможность получить доступ к файловой системе, реестру, командной строке, процессам и службам, а также посмотреть текущие сетевые подключения. Здесь же мы можем скачать, загрузить и запустить любые файлы, например другие вирусы.
Вторая функция запуска файла повторяет тоже самое. Позволяет выбрать наш файл на компе, отправить его во временную папку и запустить.
Позволяет совместно проводить время с жертвой за просмотром культурных фильмов. А функция удаленной камеры и микрофона ещё и позволит проникнуться полностью его эмоциями и впечатлении о происходящей на мониторе картине. Помимо этого удаленный экран дает возможность перехватить управление мышкой и клавиатурой, делать скрины и запись экрана в некоторых ратниках.
Остальные функции думаю и так понятны, сами попробуйте и потыкайте. Воровалка паролей ворует пароли, кейлогер записывает то, что печатает на клавиатуре жертва.
Кнопка сервер позволяет удалить или обновить наш ратник, например, когда мы обновили его версию, по новой закриптовали (зашифровали для того чтобы антивирусы не видели вирус как вирус).
Каков итог?
Если ваш пк ведёт себя странно - посмотрите на процессы и соединения в службах Windows.
Ратник позволяет легко управлять устройствами жертв, получая полный доступ и неограниченные возможности над ними - но раскрывает ip вашего сервера/vpn/proxy/etc...
Используйте эту информацию чтобы проверить, как оно работает, и знать, как от этого можно защититься и даже сдеанонить мамкина доксера.
На связи был Hunter Ghoul, подписывайтесь на мой канал и до новых встреч.