Внутреннее тестирование на проникновение, одна из самых сложных и при этом впечатляющих услуг на рынке. Впечатляющих в первую очередь для руководства, ведь за несколько дней, а иногда и часов, пентестер выкладывает перед ним на стол пароли к учетным записям в базах данных 1с, SAP, CRM, Jira, пароль администратора домена, финансовую отчетность, сканы паспортов топ менеджмента и любую другую информацию по запросу.

Но в большинстве случаев все это получить не так сложно как кажется, по моей статистике, накопленной за 4 года работы в этой области, около 80% внутренних пентестов заканчиваются захватом всей сети.


Неплохая схема от securelist.ru, но фишинг тут лишний для данного повествования

Модель злоумышленника при таких работах проста, он имеет доступ в корпоративную сеть, или же к одному из компьютеров рядовых сотрудников, например секретарши. Как именно он получил доступ не имеет значения, прошел ли на территорию и спрятал где-то за принтером Raspberry, или же банально заразил компьютер через фишинговое письмо.

С этого пентестер и начинает свой путь по сети. Этот “злоумышленник” не использует никакое уникальное ПО, и конечно же не имеет под рукой уязвимостей нулевого дня. Наш герой обращается к публичным гайдам и публичному ПО и… ему этого более чем достаточно. Именно так это и делают настоящие злоумышленники, например в 2017 году Group-iB подробно описывала атаки на банки в РФ и этап захвата сети банка. Так вот ничего уникального они не использовали, все подходы и методы были идентичны тем, что мои коллеги пентестеры делают на внутреннем пентесте!

Поехали


Существует ряд наиболее часто встречающихся проблем ИБ, из-за которых захватить корпоративную сеть организации становится слишком легко.

  1. Shadow IT — забытые компьютеры/сервера/системы. Они как правило не обновлены, без домена и групповых политик, с паролями по умолчанию. Возможно они использовались когда-то для теста и не были выключены, или остались «в наследство» от прошлого админа и были забыты. Именно с такого проще всего начинать, получить первые учетные записи домена, запись старого локального админа… Именно на такой инфраструктуре работают bluekeep, Estemaudit, PrivExchange и прочие публичные эксплойты под критические уязвимости. Там находятся MS17-010 и даже MS08-067! Да, в 2021 году.
  2. LLMNR и NBNS спуфинг — настоящая палочка-выручалочка для пентестера. Два включенных по умолчанию протокола, которые позволяют вам практически незаметно для пользователей вашей сети встать посередине и угнать хэши учетных записей домена.
  3. “Любовь” пользователей к смене паролей — у нас политикой разрешены только стойкие пароли. И меняются они каждые 3 месяца, скажете вы. Тогда я вас расстрою, процентов 60% вашей компании будут “January2021”, “February2021” и так далее. Спецсимволы? “January2021!” Проверено не на одной компании, на удивление практика частой смены паролей сейчас играет в минус.
  4. Файловые помойки — во многих компаниях активно с ними борются, но они есть. И что на них только нет, при правильном поиске можно найти не только пароли пользователей, но и сервисные учетные записи. Также там можно оставить ярлык, на свою шару и собирать хэши учетных записей зашедших пользователей.
  5. Хранение паролей в оперативной памяти lsass.exe — есть такая любимая игрушка у пентестеров и злоумышленников — Mimikatz, которая помимо всего прочего позволяет эффективно доставать пароли из оперативной памяти процесса lsass.exe, в открытом виде. Это не заработает, если у вас в сети нет серверов/компьютеров с ОС ниже Server 2012 или Windows 8. Но до полного перехода на эти версии еще далеко, а защитить lsass на старых серверах еще сложнее. Поэтому это лучшее средство поднятия привилегий с локального админа.
  6. Кривая настройка антивируса — антивирус установлен, заблокированы изменения паролем, что еще нужно? Исключения. Очень часто они настраиваются единообразно для всех компьютеров в сети, например есть исключение на папку IIS… которого на большинстве компьютеров — то и нет. А что мешает злоумышленнику ее создать и запускать оттуда вирус? Ничего, вы сами оставили избыточные исключения.
  7. Пароль локального администратора в GPO — Майкрософт уже много лет говорит о том, что нельзя менять учетные записи через групповые политики, и даже сделало для этого отдельный софт. Но почему пароль ведь там зашифрован? Да зашифрован, ключом который уже много лет слит в интернет, и все пользователи домена, нагуглив гайд, могут узнать УЗ локальных админов или другие раздаваемые локальные УЗ.
  8. Неэффективная сетевая сегментация — да, VLANы нарезаны, но только правил фаерволов между ними нет или почти нет, подключаться по управляющим портам может кто угодно, пользователям доступны сервисы, которые им и не нужны, а все это очень ускоряет работу пентестеру, да, так удобнее и админам и злоумышленникам, спасибо.
  9. Проблемы Linux-машин, о них покороче ведь встречаются они пореже в энтерпрайзе. Запуск скриптов через crontab с кривыми правами или неполными путями позволяет подменить скрипт или выполнить свой, и так поднять привилегии. Избыточные права на sudo команды, ну и конечно же bash history и по ошибке введенные пароли — чего только не увидишь там.


“Нам потребовался всего один день, теперь взгляните на отчёт”

Кейсы и Kill-chains. От самых простых и коротких до простых и длинных


“Плоская сеть”


  1. Llmnr/nbns спуфинг.
  2. Множественные хэши, включая хэш доменного админа(Ivanov_adm).
  3. Перебор хэша (Cby[hjafpjnhjy).
  4. Профит!

Время? 20 минут.

“Грязные шары”


  1. Llmnr/nbns спуфинг.
  2. Множественные хэши пользователей, часть из них подобраны (January2021!).
  3. Поиск по файловой помойке, найдены конфиги сервиса с сервисной УЗ администратора (Zabbix_m).
  4. Профит!

Время? 1 час.

“Групповые политики”


  1. Llmnr/nbns спуфинг.
  2. Множественные хэши пользователей, часть из них подобраны (January2021!).
  3. Анализ GPO, найден пароль локального админа, расшифрован(Administrator).
  4. Заход под локальным админом на один из серверов с ОС 2008R2(Terminal_2_srv).
  5. Пароли из оперативной памяти процесса lsass.exe получены, включая доменного админа.
  6. Профит!

Время? 2 часа.

“Shadow IT”


  1. Сканирование сети.
  2. Найден уязвимый сервер вне домена.
  3. MS17-010, сервер захвачен, получена УЗ локального администратора(Administrator).
  4. Заход под локальным админом на один из серверов с ОС 2008R2(Msk_mail3).
  5. Пароли из оперативной памяти процесса lsass.exe получены, включая доменного админа.
  6. Профит!

Время? 2 часа.

“Банк”


  1. Первоначальная сеть “мертвая” Llmnr/nbns спуфинг ничего не дает
  2. Сканирование сети, поиск сервисов.
  3. Найдена забытая система мониторинга с учеткой по умолчанию (admin/admin), в ней УЗ домена(Monitor1), но с правами обычного пользователя.
  4. Получен доступ к файловой шаре пользователей, найдена УЗ пользователя с правами на удаленное подключение(PopovAO).
  5. Выполнено подключение к серверу 2008R2(MSK_FSRV3), выполнено закрепление и обход Антивирусного ПО из-за лишних исключений.
  6. Привилегии подняты, из памяти процесса lsass.exe получена привилегированная УЗ сотрудника ИБ(Romanov_sec), но без прав администратора домена.
  7. Наиболее интересный сегмент — процессинг недоступен, закрыт сетевой доступ с серверов.
  8. Проход по ИБ-серверам, сервер (MSK_MaxPatrol) имеет доступ ко всей сети без ограничений.
  9. Вход на сервер 2008R2(MSK_PRC_APP2) в защищенном сегменте, восстановлен пароль локального администратора из lsass.exe.
  10. Профит!

Время? 1 день.



Подытожим


Это самые популярные проблемы ИБ, во многих корпоративных сетях встречаются 2-3 из них, а иногда и все. Для их эксплуатации не требуется высокого уровня навыков, и гайдов, что находится дальше первой страницы поиска гугла. От этих проблем нужно избавляться, вот самые популярные рекомендации:
  1. Регулярно проводить аудит/сканирование корпоративной сети, обновление карты сети и сервисов, отключать все неиспользуемое.
  2. Использовать DNS, а не LLMNR и NBNS.
  3. Ввести требования по сложности паролей, черный список словарных паролей, смена паролей не чаще раза в полгода. Провести работу с пользователями.
  4. Бороться с файловым помойкам, только папки для отделов со строгим контролем доступа.
  5. Перейти на версии ОС Windows выше 2008R2.
  6. Провести аудит исключений антивирусного ПО, удалить все лишние и неиспользуемые, уделить особое внимание исключениям на папки.
  7. Использовать Microsoft LAPS, а не GPO для распространения пароля локального администратора.
  8. Использовать только “белый список” правил между сегментами сети, уделить особое внимание серверам, которым нужен доступ во все сегменты.
  9. Внимательно изучить содержимое Linux-машин и запускаемых скриптов из crontab.

Эти проблемы можно решить и иначе, так, как вам удобнее, но главное решить.

Я очень надеюсь, что в будущем жизнь пентестерам и злоумышленникам усложнят, заставят их изучать все доступные сервисы в сети и забыть про этот список. Сделайте свою корпоративную сеть защищеннее, а среднестатистический пентест — настоящей битвой умов.

Комментарии (21)


  1. Javian
    09.12.2021 12:13
    +7

    процентов 60% вашей компании будут “January2021”, “February2021” и так далее. Спецсимволы? “January2021!”

    На самом деле "Zydfhm2021?" "Atdhfkm2021"


  1. iiwabor
    09.12.2021 13:23
    +11

    У нас в компании была подобная проверка:

    Тестер переоделся уборщиком, показал уборщице через окно копию пропуска, у новых уборщиков часто не срабатывали пропуска - она открыла ему пожарную дверь.

    Тестер прошел внутрь, из переговорки по внутреннему телефону позвонил заму коммерческого директора под видом службы безопасности и получил удаленный доступ к ее компу - до этого у нее были проблемы с вирусами, полученными от Тестера по почте, так что звонок СБ подозрений не вызвал.

    Потом Тестер под ее логином и паролем сделал все, что хотел и ушел. Все это заняло примерно 10 минут


    1. zaiats_2k
      09.12.2021 17:53
      +1

      А копию пропуска где взял?


      1. plFlok
        10.12.2021 06:06
        +2

        мне рассказывали байку, как сотрудник, занимавшийся организацией концертов музыкантов, фотался в закулисье с артистами, выкладывал фотки в инсту. Там был виден бейджик. Немного навыков фотошопа, и можно было воспроизвести очень похожий на реальный бейдж с надписью "организатор", с которым с ненулевой вероятностью можно пройти на концерт без билета. Ну и финал байки - что теперь организаторам запрещают фотографироваться с бейджами.


    1. Mopckou
      10.12.2021 14:29

      Так, а в чем смысл? Если знать куда бить, то конечно получится.

      Вот если бы не было проблем с пропусками у уборщиков, не знать телефон зама коммерческого директора, и не знать, что были проблемы с вирусами на компе - это другое дело.


    1. damirTV
      10.12.2021 15:10
      -1

      Уборщик с личным компом или как он зашёл на удалённый стол?


  1. dartraiden
    09.12.2021 21:11
    +5

    В этом году прямо тут на Хабре один сисадмин мне доказывал, что его практика раздавать конфиги своим маршрутизаторам по FTP вполне нормальна, ведь у него всё обёрнуто в VPN и снаружи никто не пройдёт, а внутри сети зачем что-то шифровать…


    1. PereslavlFoto
      10.12.2021 02:05
      +1

      Скорее всего, в его организации не потерпят сотрудников, которые понимают работу FTP.


    1. FloorZ
      10.12.2021 11:45

      Если ftp внутри ipsec, то точкой отказа является раздающий конфиги сервер, а не сам протокол


  1. PereslavlFoto
    10.12.2021 02:04
    +2

    4. «только папки для отделов со строгим контролем доступа».

    Как организовать работу между отделами? Как поступать, чтобы несколько отделов смогли вместе обращаться к одному комплекту статистических данных, общих отчётов, изображений, шаблонов, презентаций?


    1. Kioju
      11.12.2021 11:18

      Думаю имеется в виду, что отдел А владеет папкой 1, а отдел Б папкой 2.

      И когда нужен общий файл обоим отделам, то выкладывается в одну из папок+ даётся доступ другому конкретному человеку.

      В таком варианте тот отдел, что выкладывал файл точно знает, когда его удалить.

      С автоматически генерируемыми файлами примерно так же. Главное, что б область принятия решений сузилась до меньшего количества лиц чем "вся компания"


      1. PereslavlFoto
        11.12.2021 11:46

        То есть отдел А должен дать доступ отделам Б, В, Г и Д, которые работают с ним?

        В чём же состоит «строгий контроль доступа»?


        1. Kioju
          11.12.2021 12:03

          Если давать доступ на конкретную папку с конкретным файлом, то норм же ж. Не?

          Уходит момент "помойки"


          1. PereslavlFoto
            11.12.2021 12:05

            Никогда не понимал, зачем словом «помойка» называют совместную работу группы людей со множеством файлов…


  1. PereslavlFoto
    10.12.2021 02:12
    +1

    Правильно ли я понял статью, что ради безопасности полезно отключить домен как неиспользуемый и перейти на локальных пользователей?

    Ведь при этом злоумышленник, даже раскрыв имена и пароли локальных пользователей, не сможет применить их на других компьютерах?


  1. Pablo777
    10.12.2021 06:06
    +4

    Попасть во "внутренний охраняемый периметр" вообще труда не составляет. Лично видел, как человек в грязной одежде с каким-то строительным мусором проходил достаточно серьезную охрану и СКУД со словами "Да вы чё, я тут работаю".


    1. ilmarinnen
      10.12.2021 07:50
      +1

      Я бегал через проходные со сложным лицом и бумагами с печатями а-ля важные доки с печатями. Зимой без верхней одежды — считай в шапке-невидимке


      1. Tarakanator
        10.12.2021 09:21
        +2

        где-то на ютубе есть ролик где 2 мужика в светоотражающих желетах и с лестницей куда только ни проходят.


    1. GarretThief
      10.12.2021 09:50
      +1

      Сколько сцен в фильмах про то, как злоумышленник в костюме уборщика/рабочего/официанта/прочего персонала, которого никто не хочет знать, проникают в серьёзную компанию и творят свои злые дела.

      А вообще глупость и пофигизм людей недооценён даже теми, кто думает о человечестве очень плохо. У меня знакомый во времена, когда телефоны были не настолько частыми, украл несколько бочек краски с завода просто позвонив на пункт охраны и сказав серьёзным голосом "Сейчас человек за краской приедет, пропусти его".


    1. vsb
      10.12.2021 11:13
      +2

      Я одно время работал в правительственном здании (проходная, охранники из внутренних войск с автоматами). Заходил туда каждый день в 10 утра. Охранников всех в лицо знал. Но тем не менее каждый день получал пропуск со звонком ответственному лицу (а если лицо не отвечало, то ждал, пока ответит), каждый день проходил обыск металлоискателем, как-то флешку в кармане оставил - нашли и попросили оставить на проходной. Много раз видел, как такую же процедуру проводили с рабочими, которые приходили по каким-то своим рабочим делам - приходил человек, ответственный за то, чтобы сопровождать этого рабочего, получал пропуск с предъявлением документов и тд.

      Единственная "уязвимость" - когда приходило какое-то высокопоставленное лицо (вероятно генерал или около того), ему все отдавали честь и пропускали его и тех, кто был с ним, без каких-либо проверок.

      В целом просто нужны регламенты и запрет их нарушений в любых ситуациях и всё будет хорошо.


      1. PereslavlFoto
        10.12.2021 21:51

        Когда нет регламента, люди нарушают порядок.

        А когда есть регламент, люди будут нарушать регламент.

        Просто потому, что выполнять регламент слишком сложно и долго. Если выполнять регламент, сотрудники не успеют выполнить свою работу.