- 303
- 484
- 7 Июн 2016
Сегодня мы опять поговорим о такой прекрасной вещице, как Metasploit Framework. А если точнее, то о пасынке MSF – «нагрузке» Meterpreter. Это реально advanced payload с учетом всего, что туда вложено, а также того, что мы можем сделать своими ручками.
Что это такое?
Meterpreter – это нагрузка, задуманная в контексте MSF как гибкая, расширяемая, полнофункциональная и унифицированная основа для пост-эксплуатации, как альтернатива классическим шеллкодам. Вполне резонный вопрос – в чем проблема стандартного шелла (/bin/sh, cmd.exe)? Ведь мы с детства только и стремимся к тому, чтобы получить его . Косяков с ним, на самом деле, много. Во-первых, чаще всего «получение доступа к шеллу» – это порождение нового процесса – самого шелла. Это очень заметно – косяк. Во-вторых, всяческие IDS четко отлавливают «переписку» с шеллом: команды стандартны, все – плэйн-текстом, так что задетектить и пресечь – не проблема. В-третьих, если процесс ограничен chroot’ом, то есть смещена рутовая директория, то до шелла нам уже просто так не добраться. В-четвертых, шеллы, в зависимости от ОС, заметно отличаются между собой как командами с их форматом, так и набором стандартных возможностей. К тому же наши возможности ограничены установленными у жертвы программами. Иначе не возникало бы стандартных вопросов типа «а как, имея доступ через виндовый шелл, закачать жертве файлик?». В общем-то, создатели MP и решили эти проблемы.
Можно ли обнаружить?
Так как MP работает только в памяти и ничего не пишет на жесткий диск, то раньше нельзя было задетектить его антивирусами . Насколько сильно изменилась ситуация сейчас – мне трудно сказать. Но пара попсовеньких антивирей, с которыми я сталкивался недавно, не обнаруживали MP в памяти. В то же время появилось несколько проектов, которые разработали методики обнаружения MP и выпустили по ним небольшие концепт-тулзы. Например, питоновская тулза antimeter2 с Для просмотра ссылки Войдиили Зарегистрируйся отлично справляется с обнаружением 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)? Ведь мы с детства только и стремимся к тому, чтобы получить его . Косяков с ним, на самом деле, много. Во-первых, чаще всего «получение доступа к шеллу» – это порождение нового процесса – самого шелла. Это очень заметно – косяк. Во-вторых, всяческие IDS четко отлавливают «переписку» с шеллом: команды стандартны, все – плэйн-текстом, так что задетектить и пресечь – не проблема. В-третьих, если процесс ограничен chroot’ом, то есть смещена рутовая директория, то до шелла нам уже просто так не добраться. В-четвертых, шеллы, в зависимости от ОС, заметно отличаются между собой как командами с их форматом, так и набором стандартных возможностей. К тому же наши возможности ограничены установленными у жертвы программами. Иначе не возникало бы стандартных вопросов типа «а как, имея доступ через виндовый шелл, закачать жертве файлик?». В общем-то, создатели MP и решили эти проблемы.
Можно ли обнаружить?
Так как MP работает только в памяти и ничего не пишет на жесткий диск, то раньше нельзя было задетектить его антивирусами . Насколько сильно изменилась ситуация сейчас – мне трудно сказать. Но пара попсовеньких антивирей, с которыми я сталкивался недавно, не обнаруживали MP в памяти. В то же время появилось несколько проектов, которые разработали методики обнаружения MP и выпустили по ним небольшие концепт-тулзы. Например, питоновская тулза antimeter2 с Для просмотра ссылки Войди
Как всё работает
Указание значений 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 – очень мощная основа, особенно с учетом того, что он развивается и обрастает новыми возможностями, а также за счет тех расширений, которые к нему можно добавить. А если к этому добавить ваши прямые руки! Так что творить – чудесно, а ученье – свет. Дерзай .