Внутреннее тестирование на проникновение, одна из самых сложных и при этом впечатляющих услуг на рынке. Впечатляющих в первую очередь для руководства, ведь за несколько дней, а иногда и часов, пентестер выкладывает перед ним на стол пароли к учетным записям в базах данных 1с, SAP, CRM, Jira, пароль администратора домена, финансовую отчетность, сканы паспортов топ менеджмента и любую другую информацию по запросу.
Но в большинстве случаев все это получить не так сложно как кажется, по моей статистике, накопленной за 4 года работы в этой области, около 80% внутренних пентестов заканчиваются захватом всей сети.
Неплохая схема от securelist.ru, но фишинг тут лишний для данного повествования
Модель злоумышленника при таких работах проста, он имеет доступ в корпоративную сеть, или же к одному из компьютеров рядовых сотрудников, например секретарши. Как именно он получил доступ не имеет значения, прошел ли на территорию и спрятал где-то за принтером Raspberry, или же банально заразил компьютер через фишинговое письмо.
С этого пентестер и начинает свой путь по сети. Этот “злоумышленник” не использует никакое уникальное ПО, и конечно же не имеет под рукой уязвимостей нулевого дня. Наш герой обращается к публичным гайдам и публичному ПО и… ему этого более чем достаточно. Именно так это и делают настоящие злоумышленники, например в 2017 году Group-iB подробно описывала атаки на банки в РФ и этап захвата сети банка. Так вот ничего уникального они не использовали, все подходы и методы были идентичны тем, что мои коллеги пентестеры делают на внутреннем пентесте!
Поехали
Существует ряд наиболее часто встречающихся проблем ИБ, из-за которых захватить корпоративную сеть организации становится слишком легко.
- Shadow IT — забытые компьютеры/сервера/системы. Они как правило не обновлены, без домена и групповых политик, с паролями по умолчанию. Возможно они использовались когда-то для теста и не были выключены, или остались «в наследство» от прошлого админа и были забыты. Именно с такого проще всего начинать, получить первые учетные записи домена, запись старого локального админа… Именно на такой инфраструктуре работают bluekeep, Estemaudit, PrivExchange и прочие публичные эксплойты под критические уязвимости. Там находятся MS17-010 и даже MS08-067! Да, в 2021 году.
- LLMNR и NBNS спуфинг — настоящая палочка-выручалочка для пентестера. Два включенных по умолчанию протокола, которые позволяют вам практически незаметно для пользователей вашей сети встать посередине и угнать хэши учетных записей домена.
- “Любовь” пользователей к смене паролей — у нас политикой разрешены только стойкие пароли. И меняются они каждые 3 месяца, скажете вы. Тогда я вас расстрою, процентов 60% вашей компании будут “January2021”, “February2021” и так далее. Спецсимволы? “January2021!” Проверено не на одной компании, на удивление практика частой смены паролей сейчас играет в минус.
- Файловые помойки — во многих компаниях активно с ними борются, но они есть. И что на них только нет, при правильном поиске можно найти не только пароли пользователей, но и сервисные учетные записи. Также там можно оставить ярлык, на свою шару и собирать хэши учетных записей зашедших пользователей.
- Хранение паролей в оперативной памяти lsass.exe — есть такая любимая игрушка у пентестеров и злоумышленников — Mimikatz, которая помимо всего прочего позволяет эффективно доставать пароли из оперативной памяти процесса lsass.exe, в открытом виде. Это не заработает, если у вас в сети нет серверов/компьютеров с ОС ниже Server 2012 или Windows 8. Но до полного перехода на эти версии еще далеко, а защитить lsass на старых серверах еще сложнее. Поэтому это лучшее средство поднятия привилегий с локального админа.
- Кривая настройка антивируса — антивирус установлен, заблокированы изменения паролем, что еще нужно? Исключения. Очень часто они настраиваются единообразно для всех компьютеров в сети, например есть исключение на папку IIS… которого на большинстве компьютеров — то и нет. А что мешает злоумышленнику ее создать и запускать оттуда вирус? Ничего, вы сами оставили избыточные исключения.
- Пароль локального администратора в GPO — Майкрософт уже много лет говорит о том, что нельзя менять учетные записи через групповые политики, и даже сделало для этого отдельный софт. Но почему пароль ведь там зашифрован? Да зашифрован, ключом который уже много лет слит в интернет, и все пользователи домена, нагуглив гайд, могут узнать УЗ локальных админов или другие раздаваемые локальные УЗ.
- Неэффективная сетевая сегментация — да, VLANы нарезаны, но только правил фаерволов между ними нет или почти нет, подключаться по управляющим портам может кто угодно, пользователям доступны сервисы, которые им и не нужны, а все это очень ускоряет работу пентестеру, да, так удобнее и админам и злоумышленникам, спасибо.
- Проблемы Linux-машин, о них покороче ведь встречаются они пореже в энтерпрайзе. Запуск скриптов через crontab с кривыми правами или неполными путями позволяет подменить скрипт или выполнить свой, и так поднять привилегии. Избыточные права на sudo команды, ну и конечно же bash history и по ошибке введенные пароли — чего только не увидишь там.
“Нам потребовался всего один день, теперь взгляните на отчёт”
Кейсы и Kill-chains. От самых простых и коротких до простых и длинных
“Плоская сеть”
- Llmnr/nbns спуфинг.
- Множественные хэши, включая хэш доменного админа(Ivanov_adm).
- Перебор хэша (Cby[hjafpjnhjy).
- Профит!
Время? 20 минут.
“Грязные шары”
- Llmnr/nbns спуфинг.
- Множественные хэши пользователей, часть из них подобраны (January2021!).
- Поиск по файловой помойке, найдены конфиги сервиса с сервисной УЗ администратора (Zabbix_m).
- Профит!
Время? 1 час.
“Групповые политики”
- Llmnr/nbns спуфинг.
- Множественные хэши пользователей, часть из них подобраны (January2021!).
- Анализ GPO, найден пароль локального админа, расшифрован(Administrator).
- Заход под локальным админом на один из серверов с ОС 2008R2(Terminal_2_srv).
- Пароли из оперативной памяти процесса lsass.exe получены, включая доменного админа.
- Профит!
Время? 2 часа.
“Shadow IT”
- Сканирование сети.
- Найден уязвимый сервер вне домена.
- MS17-010, сервер захвачен, получена УЗ локального администратора(Administrator).
- Заход под локальным админом на один из серверов с ОС 2008R2(Msk_mail3).
- Пароли из оперативной памяти процесса lsass.exe получены, включая доменного админа.
- Профит!
Время? 2 часа.
“Банк”
- Первоначальная сеть “мертвая” Llmnr/nbns спуфинг ничего не дает
- Сканирование сети, поиск сервисов.
- Найдена забытая система мониторинга с учеткой по умолчанию (admin/admin), в ней УЗ домена(Monitor1), но с правами обычного пользователя.
- Получен доступ к файловой шаре пользователей, найдена УЗ пользователя с правами на удаленное подключение(PopovAO).
- Выполнено подключение к серверу 2008R2(MSK_FSRV3), выполнено закрепление и обход Антивирусного ПО из-за лишних исключений.
- Привилегии подняты, из памяти процесса lsass.exe получена привилегированная УЗ сотрудника ИБ(Romanov_sec), но без прав администратора домена.
- Наиболее интересный сегмент — процессинг недоступен, закрыт сетевой доступ с серверов.
- Проход по ИБ-серверам, сервер (MSK_MaxPatrol) имеет доступ ко всей сети без ограничений.
- Вход на сервер 2008R2(MSK_PRC_APP2) в защищенном сегменте, восстановлен пароль локального администратора из lsass.exe.
- Профит!
Время? 1 день.
Подытожим
Это самые популярные проблемы ИБ, во многих корпоративных сетях встречаются 2-3 из них, а иногда и все. Для их эксплуатации не требуется высокого уровня навыков, и гайдов, что находится дальше первой страницы поиска гугла. От этих проблем нужно избавляться, вот самые популярные рекомендации:
- Регулярно проводить аудит/сканирование корпоративной сети, обновление карты сети и сервисов, отключать все неиспользуемое.
- Использовать DNS, а не LLMNR и NBNS.
- Ввести требования по сложности паролей, черный список словарных паролей, смена паролей не чаще раза в полгода. Провести работу с пользователями.
- Бороться с файловым помойкам, только папки для отделов со строгим контролем доступа.
- Перейти на версии ОС Windows выше 2008R2.
- Провести аудит исключений антивирусного ПО, удалить все лишние и неиспользуемые, уделить особое внимание исключениям на папки.
- Использовать Microsoft LAPS, а не GPO для распространения пароля локального администратора.
- Использовать только “белый список” правил между сегментами сети, уделить особое внимание серверам, которым нужен доступ во все сегменты.
- Внимательно изучить содержимое Linux-машин и запускаемых скриптов из crontab.
Эти проблемы можно решить и иначе, так, как вам удобнее, но главное решить.
Я очень надеюсь, что в будущем жизнь пентестерам и злоумышленникам усложнят, заставят их изучать все доступные сервисы в сети и забыть про этот список. Сделайте свою корпоративную сеть защищеннее, а среднестатистический пентест — настоящей битвой умов.
Комментарии (21)
iiwabor
09.12.2021 13:23+11У нас в компании была подобная проверка:
Тестер переоделся уборщиком, показал уборщице через окно копию пропуска, у новых уборщиков часто не срабатывали пропуска - она открыла ему пожарную дверь.
Тестер прошел внутрь, из переговорки по внутреннему телефону позвонил заму коммерческого директора под видом службы безопасности и получил удаленный доступ к ее компу - до этого у нее были проблемы с вирусами, полученными от Тестера по почте, так что звонок СБ подозрений не вызвал.
Потом Тестер под ее логином и паролем сделал все, что хотел и ушел. Все это заняло примерно 10 минут
zaiats_2k
09.12.2021 17:53+1А копию пропуска где взял?
plFlok
10.12.2021 06:06+2мне рассказывали байку, как сотрудник, занимавшийся организацией концертов музыкантов, фотался в закулисье с артистами, выкладывал фотки в инсту. Там был виден бейджик. Немного навыков фотошопа, и можно было воспроизвести очень похожий на реальный бейдж с надписью "организатор", с которым с ненулевой вероятностью можно пройти на концерт без билета. Ну и финал байки - что теперь организаторам запрещают фотографироваться с бейджами.
Mopckou
10.12.2021 14:29Так, а в чем смысл? Если знать куда бить, то конечно получится.
Вот если бы не было проблем с пропусками у уборщиков, не знать телефон зама коммерческого директора, и не знать, что были проблемы с вирусами на компе - это другое дело.
dartraiden
09.12.2021 21:11+5В этом году прямо тут на Хабре один сисадмин мне доказывал, что его практика раздавать конфиги своим маршрутизаторам по FTP вполне нормальна, ведь у него всё обёрнуто в VPN и снаружи никто не пройдёт, а внутри сети зачем что-то шифровать…
PereslavlFoto
10.12.2021 02:05+1Скорее всего, в его организации не потерпят сотрудников, которые понимают работу FTP.
FloorZ
10.12.2021 11:45Если ftp внутри ipsec, то точкой отказа является раздающий конфиги сервер, а не сам протокол
PereslavlFoto
10.12.2021 02:04+24. «только папки для отделов со строгим контролем доступа».
Как организовать работу между отделами? Как поступать, чтобы несколько отделов смогли вместе обращаться к одному комплекту статистических данных, общих отчётов, изображений, шаблонов, презентаций?Kioju
11.12.2021 11:18Думаю имеется в виду, что отдел А владеет папкой 1, а отдел Б папкой 2.
И когда нужен общий файл обоим отделам, то выкладывается в одну из папок+ даётся доступ другому конкретному человеку.
В таком варианте тот отдел, что выкладывал файл точно знает, когда его удалить.
С автоматически генерируемыми файлами примерно так же. Главное, что б область принятия решений сузилась до меньшего количества лиц чем "вся компания"
PereslavlFoto
11.12.2021 11:46То есть отдел А должен дать доступ отделам Б, В, Г и Д, которые работают с ним?
В чём же состоит «строгий контроль доступа»?Kioju
11.12.2021 12:03Если давать доступ на конкретную папку с конкретным файлом, то норм же ж. Не?
Уходит момент "помойки"
PereslavlFoto
11.12.2021 12:05Никогда не понимал, зачем словом «помойка» называют совместную работу группы людей со множеством файлов…
PereslavlFoto
10.12.2021 02:12+1Правильно ли я понял статью, что ради безопасности полезно отключить домен как неиспользуемый и перейти на локальных пользователей?
Ведь при этом злоумышленник, даже раскрыв имена и пароли локальных пользователей, не сможет применить их на других компьютерах?
Pablo777
10.12.2021 06:06+4Попасть во "внутренний охраняемый периметр" вообще труда не составляет. Лично видел, как человек в грязной одежде с каким-то строительным мусором проходил достаточно серьезную охрану и СКУД со словами "Да вы чё, я тут работаю".
ilmarinnen
10.12.2021 07:50+1Я бегал через проходные со сложным лицом и бумагами с печатями а-ля важные доки с печатями. Зимой без верхней одежды — считай в шапке-невидимке
Tarakanator
10.12.2021 09:21+2где-то на ютубе есть ролик где 2 мужика в светоотражающих желетах и с лестницей куда только ни проходят.
GarretThief
10.12.2021 09:50+1Сколько сцен в фильмах про то, как злоумышленник в костюме уборщика/рабочего/официанта/прочего персонала, которого никто не хочет знать, проникают в серьёзную компанию и творят свои злые дела.
А вообще глупость и пофигизм людей недооценён даже теми, кто думает о человечестве очень плохо. У меня знакомый во времена, когда телефоны были не настолько частыми, украл несколько бочек краски с завода просто позвонив на пункт охраны и сказав серьёзным голосом "Сейчас человек за краской приедет, пропусти его".
vsb
10.12.2021 11:13+2Я одно время работал в правительственном здании (проходная, охранники из внутренних войск с автоматами). Заходил туда каждый день в 10 утра. Охранников всех в лицо знал. Но тем не менее каждый день получал пропуск со звонком ответственному лицу (а если лицо не отвечало, то ждал, пока ответит), каждый день проходил обыск металлоискателем, как-то флешку в кармане оставил - нашли и попросили оставить на проходной. Много раз видел, как такую же процедуру проводили с рабочими, которые приходили по каким-то своим рабочим делам - приходил человек, ответственный за то, чтобы сопровождать этого рабочего, получал пропуск с предъявлением документов и тд.
Единственная "уязвимость" - когда приходило какое-то высокопоставленное лицо (вероятно генерал или около того), ему все отдавали честь и пропускали его и тех, кто был с ним, без каких-либо проверок.
В целом просто нужны регламенты и запрет их нарушений в любых ситуациях и всё будет хорошо.
PereslavlFoto
10.12.2021 21:51Когда нет регламента, люди нарушают порядок.
А когда есть регламент, люди будут нарушать регламент.
Просто потому, что выполнять регламент слишком сложно и долго. Если выполнять регламент, сотрудники не успеют выполнить свою работу.
Javian
На самом деле "Zydfhm2021?" "Atdhfkm2021"