Руководство по Cobalt Strike для самых маленьких. Часть 2
Проникновение – только первый этап взлома сети. Дальше ещё необходимо в ней закрепиться, получить учетные записи пользователей и обеспечить возможность запуска произвольного кода на всех компах. С этой задачей отлично справляется Cobalt Strike, который давно и горяче любим как пен-тестерами, так и различными хакерскими группировками по всему миру. Мы продолжаем цикл статей об этом замечательном инструменте.
В первой части, мы изучали доставку полезной нагрузки и получали максимальные права в системе, а сегодня тебе предстоит узнать, что такое lateral movement, как сканировать сеть с помощью модуля portscan, как запускать прокси сервер в сети, как “подружить” metasploit с кобальтом, а также научитесь осуществлять атаки pass-the-hash. Все наши статьи по Cobalt Strike можно найти тут, подробнее о техниках описанных в этой статье можно узнать тут и тут.
Что такое lateral movement?
Боковое перемещение относится к методам, которые атакующие используют после получения первоначального доступа для дальнейшего передвижения в сети. Боковое перемещение позволяет избежать обнаружения и сохранить доступ, даже если нас обнаружат на машине, которая была заражена ранее.
Для перемещения по сети нам потребуются:
Действительные учетные данные для входа. Один из способов получить эти учетные данные – обманом заставить пользователей делиться ими с помощью тактики социальной инженерии, Вы также можете найти пароли или логины в файлах на сервере.
Атака pass-the-hash – метод аутентификации без доступа к паролю пользователя. Этот метод обходит стандартные шаги аутентификации, захватывая действительные хэши паролей, которые после аутентификации позволяют злоумышленнику выполнять действия в локальных или удаленных системах.
Mimikatz – используются для кражи кэшированных паролей открытого текста или сертификатов аутентификации из памяти скомпрометированной машины. Затем их можно использовать для аутентификации на других компьютерах.
Metasploit – один из мощнейших инструментов, который могут использовать как киберпреступники, так и «белые хакеры» и специалисты по проникновению для исследования уязвимостей в сетях и на серверах. Поскольку это фреймворк с открытым исходным кодом, его можно легко настроить и использовать на большинстве операционных систем.
Без лишних слов перейдем сразу к практике
Допустим, у нас есть пользователь, с правами администратора и мы хотим получить доступ к другим машинам в этой сети, что делать? Ответ – дампить пароли других пользователей!
Сделать это можно командой hashdump:
Или с помощью Mimikatz, командой logonpasswords:
Ищем доступные хосты
После получения паролей, нам нужно найти доступные для атаки системы, для этого воспользуемся командой portscan:
Получить айпи мы также можем из вывода команды arp:
Используя net view, мы также получаем список машин, их домены и версию системы:
После сканирования, во вкладке targets появятся новые хосты:
Получаем доступ с помощью pass-the-hash
Для этого нажимаем ПКМ по одной из доступных машин и выбираем psexec_psh, далее указываем данные пользователя из нашего домена, listener, а также сессию, с которой будет осуществляться атака:
Если атака прошла успешно, спустя несколько секунд мы получим отстук и сможем осуществлять дальнейшее перемещение по сети или сбор данных:
Используем Metasploit и другое ПО с кобальтом
С помощью модуля встроенного в Cobalt Strike мы можем создать себе доступ в атакуемую сеть через прокси сервер, для этого в консоли нам нужно перевести сессию в интерактивный режим и после этого с помощью socks порт запустить прокси сервис:
Теперь мы можем использовать proxychains для доступа в сеть, чтобы всё работало нужно в файле конфигурации (/etc/proxychains.conf) добавить строку socks4 айпи_тимсервера порт. После этого вы сможете запускать nmap, enum4linux, скрипты Python в атакуемой сети, пример команды:
proxychains nmap 192.168.1.100 -p 445
Чтобы использовать Metasploit, во вкладке proxy pivots нужно выбрать сессию с прокси, нажать tunnel, после чего скопировать однострочную команду и ставить её в консоль Metasploit:
Теперь любой модуль Metasploit будет пускать трафик через прокси прямо в атакуемую сеть, что значительно облегчает использование эксплоитов и сканеров. Для примера я запустил сканер eternalblue, это достаточно известная (хоть и уже старая) уязвимость, которую частенько можно встретить внутри сети, она затрагивает почти все версии Windows, вплоть до 8.1:
Спустя какое-то время сканер нашёл уязвимый хост:
Использование модуля Metasploit выглядит следующим образом:
При эксплуатации я использовал стандартный пейлоад (при желании вы можете указать windows/meterpreter/reverse_http и получить отстук сразу в кобу) и получил сессию meterpreter, после чего запустил однострочный PS скрипт доставки пейлоада кобальта:
Также бывают случаи, когда сессию кобальта необходимо передать в метасплоит, для этого нужно создать отдельный foreign http listener, в котором указать айпи и порт Metasploit:
В метасплоите нужно выбрать exploit/multi/handler с пейлоадом windows/meterpreter/reverse_http и указать там свои порт и айпи. После передачи или создании сессии в кобальте мы получим коннект meterpreter:
Мы также можем получить доступ в сеть, используя autoroute в сессии meterpreter, работает это также как и socks прокси:
С помощью всё того же eternalblue мне удалось получить доступ к ещё одному серверу, но уже в другой сети:
Используя техники описанные выше, я смог получить доступ к серверам с бэкапами, базами данных и личными документами сотрудников:
Как видишь, ничего сложного. Надо было только разобраться… Удачного взлома…