- 301
- 485
- 7 Июн 2016
Сегодня мы опять поговорим о такой прекрасной вещице, как Metasploit Framework. А если точнее, то о пасынке MSF – «нагрузке» Meterpreter. Это реально advanced payload с учетом всего, что туда вложено, а также того, что мы можем сделать своими ручками.
Что это такое?
Meterpreter – это нагрузка, задуманная в контексте MSF как гибкая, расширяемая, полнофункциональная и унифицированная основа для пост-эксплуатации, как альтернатива классическим шеллкодам. Вполне резонный вопрос – в чем проблема стандартного шелла (/bin/sh, cmd.exe)? Ведь мы с детства только и стремимся к тому, чтобы получить его
. Косяков с ним, на самом деле, много. Во-первых, чаще всего «получение доступа к шеллу» – это порождение нового процесса – самого шелла. Это очень заметно – косяк. Во-вторых, всяческие IDS четко отлавливают «переписку» с шеллом: команды стандартны, все – плэйн-текстом, так что задетектить и пресечь – не проблема. В-третьих, если процесс ограничен chroot’ом, то есть смещена рутовая директория, то до шелла нам уже просто так не добраться. В-четвертых, шеллы, в зависимости от ОС, заметно отличаются между собой как командами с их форматом, так и набором стандартных возможностей. К тому же наши возможности ограничены установленными у жертвы программами. Иначе не возникало бы стандартных вопросов типа «а как, имея доступ через виндовый шелл, закачать жертве файлик?». В общем-то, создатели MP и решили эти проблемы.
Можно ли обнаружить?
Так как MP работает только в памяти и ничего не пишет на жесткий диск, то раньше нельзя было задетектить его антивирусами . Насколько сильно изменилась ситуация сейчас – мне трудно сказать. Но пара попсовеньких антивирей, с которыми я сталкивался недавно, не обнаруживали MP в памяти. В то же время появилось несколько проектов, которые разработали методики обнаружения MP и выпустили по ним небольшие концепт-тулзы. Например, питоновская тулза antimeter2 с mertsarica.com отлично справляется с обнаружением MP.
Как всё работает
Указание значений RHOST и PAYLOAD (начинка)
Эксплуатация цели (Windows XP)
Итак, мы, наконец, совершили атаку. Теперь начинается интересная часть.
Использование функций начинки
Чтобы посмотреть список опций, предоставляемых meterpreter, введите ?.
meterpreter>?
Знакомство с жертвой
Теперь давайте воспользуемся базовой командой sysinfo, чтобы получить информацию о системе, к которой мы только что получили доступ. Кроме этого, выполните getuid, чтобы узнать, от имени какого пользователя вы зашли в систему и какими привилегиями обладаете. Вдобавок, getpid покажет вам, какой процесс использует ваша начинка, а ps продемонстрирует список всех процессов, запущенных в системе жертвы.
meterpreter>sysinfo
meterpreter>getpid
meterpreter>getuid
meterpreter>ps
Примечание: На создание этих панелек с кодом уходит немало времени, так что в будущем я буду просто выделять код курсивом (такой уж я ленивый).
Несколько интересных команд meterpreter
Воспользовавшись командой run checkvm, вы сможете узнать, является ли ваша цель виртуальной машиной.
Чтобы получить список всех приложений, установленных на компьютере жертвы, введите run get_application_list.
Чтобы остановить антивирус жертвы, выполните run killav. Конечно, в реальных условиях это не сработает, так как остановка процесса антивируса — непростая задача, чтобы справиться с которой одной строки кода явно недостаточно. Впрочем, в зависимости от того, какую машину вы выбрали в качестве своей жертвы для этого руководства, команда может и помочь.
Заключение
Как вы увидели, Meterpreter – очень мощная основа, особенно с учетом того, что он развивается и обрастает новыми возможностями, а также за счет тех расширений, которые к нему можно добавить. А если к этому добавить ваши прямые руки! Так что творить – чудесно, а ученье – свет. Дерзай
.
Что это такое?
Meterpreter – это нагрузка, задуманная в контексте MSF как гибкая, расширяемая, полнофункциональная и унифицированная основа для пост-эксплуатации, как альтернатива классическим шеллкодам. Вполне резонный вопрос – в чем проблема стандартного шелла (/bin/sh, cmd.exe)? Ведь мы с детства только и стремимся к тому, чтобы получить его
Можно ли обнаружить?
Так как MP работает только в памяти и ничего не пишет на жесткий диск, то раньше нельзя было задетектить его антивирусами . Насколько сильно изменилась ситуация сейчас – мне трудно сказать. Но пара попсовеньких антивирей, с которыми я сталкивался недавно, не обнаруживали MP в памяти. В то же время появилось несколько проектов, которые разработали методики обнаружения MP и выпустили по ним небольшие концепт-тулзы. Например, питоновская тулза antimeter2 с mertsarica.com отлично справляется с обнаружением MP.
Как всё работает

Указание значений RHOST и PAYLOAD (начинка)

Эксплуатация цели (Windows XP)
Итак, мы, наконец, совершили атаку. Теперь начинается интересная часть.
Использование функций начинки
Чтобы посмотреть список опций, предоставляемых meterpreter, введите ?.
meterpreter>?

Знакомство с жертвой
Теперь давайте воспользуемся базовой командой sysinfo, чтобы получить информацию о системе, к которой мы только что получили доступ. Кроме этого, выполните getuid, чтобы узнать, от имени какого пользователя вы зашли в систему и какими привилегиями обладаете. Вдобавок, getpid покажет вам, какой процесс использует ваша начинка, а ps продемонстрирует список всех процессов, запущенных в системе жертвы.
meterpreter>sysinfo
meterpreter>getpid
meterpreter>getuid
meterpreter>ps

Примечание: На создание этих панелек с кодом уходит немало времени, так что в будущем я буду просто выделять код курсивом (такой уж я ленивый).
Несколько интересных команд meterpreter
Воспользовавшись командой run checkvm, вы сможете узнать, является ли ваша цель виртуальной машиной.
Чтобы получить список всех приложений, установленных на компьютере жертвы, введите run get_application_list.
Чтобы остановить антивирус жертвы, выполните run killav. Конечно, в реальных условиях это не сработает, так как остановка процесса антивируса — непростая задача, чтобы справиться с которой одной строки кода явно недостаточно. Впрочем, в зависимости от того, какую машину вы выбрали в качестве своей жертвы для этого руководства, команда может и помочь.

Заключение
Как вы увидели, Meterpreter – очень мощная основа, особенно с учетом того, что он развивается и обрастает новыми возможностями, а также за счет тех расширений, которые к нему можно добавить. А если к этому добавить ваши прямые руки! Так что творить – чудесно, а ученье – свет. Дерзай