Примеры атак на Корпоративную IT-инфраструктуру



Лекция#6  Примеры атак на Корпоративную IT-инфраструктуру  Лектор : cyb3rpadla
[09:00:06] <cyb3rpadla> Всем здравствуйте! Рад вас приветствовать сегодня здесь.
Примеры атак на Корпоративную IT-инфраструктуру 
[09:00:30] <cyb3rpadla> Теперь давайте рассмотрим типовой сценарий атаки на корпоративную сеть. Любое действие атаки имеет свою четкую цель и задачу. Профессиональные хакеры умудряются дополнительно проанализировать все нюансы и додумать ситуацию до ее логического конца. 
[09:00:56] <cyb3rpadla> Задача этой лекции - не сделать из вас пентестеров (специалисты в области тестирования на проникновение и ликвидацию выявленных угроз) или, еще хуже, специалистов в области информационной безопасности. Первичной задачей атакующего сделать чистый и грамотный анализ, спланировать четко свои действия в дальнейшем.
[09:01:21] <cyb3rpadla> Вторичной задачей является преодоление внешнего периметра, нужно иметь доступ к узлу, подключенному к внутренней сети, и возможность выполнять на нем произвольный код. Какие уязвимости могут помочь для решения данных задач? Вот шесть основных типов:
[09:02:03] <cyb3rpadla> 1) уязвимости веб-приложений - ДЗ прошлой лекции, довольно в большинстве тип веб-сервера говорит об приложении либо указывает на возможные лазейки;
2) слабые места системы фильтрации трафика - HTTP прослушка трафика, Wireshark в помощь и конституция РФ;
3) ошибки в механизме управления уязвимостями и обновлениями - не закрыли дыру получите в табло;
4) низкая грамотность юзеров в сфере информационной безопасности - пришли нам пароль мы его потеряли;
5) недостатки конфигурации, системы настроек прав доступа - дефолтные логины пароли и прочая дичь;
6) ошибки управления учетными записями и паролями - мы забыли про демо учетки.
[09:02:36] <cyb3rpadla> Все это работает хрестоматийно. Очевидно, что не всегда сработает один из перечисленных пунктов. Иногда методы придется комбинировать. Это, как понимаете, существенно повышает сложность атаки, но вовсе не свидетельствует о невозможности проникновения. 
Реальность такова, что использование изощренных технических средств и супер продвинутых техник, в частности 0day уязвимости вовсе не является залогом успешной атаки. 0day уязвимости - баги на которые потрачено 0 дней на их исправление.
[09:02:54] <cyb3rpadla> Более того, статистика говорит о том, что все больше атак проводится гораздо именно простыми методами, которые значительно wallet-friendly (глупее), и не требуют существенных финансовых вливаний.
[09:03:21] <cyb3rpadla> Если разобраться, то все становится предельно простым для понимания. Когда речь заходит об обновлении массивной инфраструктуры, то это, зачастую, требует весьма приличных человеческих, а также финансовых ресурсов. Многие компании, зная об этих рисках, все равно отказываются от апдейтов в силу ограниченности ресурсов. Либо поддерживать старую инфраструктуру дешевле для бизнеса.
[09:03:36] <cyb3rpadla> Именно поэтому в практике встречаются допотопные уязвимости, которые все еще прекрасно работают и эксплуатируются. Рассмотрим пару популярных сценариев. 
[09:03:54] <cyb3rpadla> СЦЕНАРИЙ 1: Подбор учетных данных или попросту брут 
[09:04:27] <cyb3rpadla> Работаем с интерфейсами управления и администрирования удаленного доступа. Трудовую деятельность (и жизнь) сисадмина значительно упрощают протоколы удаленного доступа, благодаря которым его личное присутствие для работы с устройствами совсем не нужно.Среди распространенных инструментов - Telnet, RSH, SSH и протоколы для удаленного подключения типа всеми полюбившегося RDP. Наиболее популярно общедоступное ПО тип Radmin, Ammyy Admin и подобные. 
[09:05:08] <cyb3rpadla> Поскольку решения типовые, они позволяют проводить атаки на подбор учетных данных. Отдельно радует, что такого плана атака каких-то уникальных знаний и навыков не требует. Как правило, достаточно ноута, проги типа Hydra для подбора учетных данных, а также словаря.Если стоит фильтрация по IP-адресам, то, скорее всего, придется искать другие пути. Например, атаковать не со своего адреса, а с иного, скомпрометированного сетевого узла (в большинстве случаем компании сильно пекуться за внешний периметр, наплевав на внутренний).
[09:05:56] <cyb3rpadla> Это лишь один из методов обхода фильтрации, есть и другие. Нередко в качестве пароля от SSH и Telnet можно встретить: root:root, root:toor, admin:admin, test:test и иные веселые комбинации. Бывает и так, что доступ с полными, максимальными привилегиями удается получить и вовсе без пароля. То есть вообще без боя Какие локальные/доменные учетные записи для доступа по RDP используются чаще всего? Вы удивитесь, но это истории вот такого плана: Administrator:P@ssw0rd, Administrator:123456, Administrator:Qwerty123, а также гостевая учетная запись Guest с пустым паролем. Иными словами, бред полный.
[09:06:26] <cyb3rpadla> Жизнь нам админы могут подпортить в том случае если по SSH будет использоваться авторизация по приватному ключу. Также они могут настроить файрвол таким образом, что будет ограничен доступ к узлам по протоколам удаленного управления. 
Другими словами, это когда подключения  разрешены исключительно по внутренней сети и только ограниченному числу админов. Все, шах и мат. Дальше мы уже не поедем (но зная название фаервола, можно попробовать).
[09:07:08] <cyb3rpadla> Далее работаем с интерфейсами администрирования веб-серверов и СУБД.Есть и другие службы, доступ к которым позволит нам получить контроль над сетевым узлом. В частности, я сейчас имею ввиду базы данных и веб-серверы.
[09:07:19] <cyb3rpadla> СУБД и веб-серверы, как правило, идут с паролем по умолчанию в отличие от SSH и Telnet, где пароль нужно изначально задавать вручную. 
[09:07:56] <cyb3rpadla> Ниже приведу примеры распространенных учетных данных, которые выявляются тестами на возможность проникновения.
Для баз данных: sa:sa, sa:P@ssw0rd, oracle:oracle, postgres:postgres, mysql:mysql, mysql:root, различные комбинации с пустым паролем. Для серверов Tomcat: tomcat:tomcat, tomcat:admin.Существует дефолтная таблица всех сервисов, она валяется где-то на гите.
[09:08:25] <cyb3rpadla> Через админку Tomcat Web Application Manager можно загружать файлы в формате архива с расширением war. Что дальше? Дополнительно к веб-приложению дополнительно грузим веб-интерпретатор командной строки, получив таким образом возможность выполнять команды ОС. Точка.
[09:08:56] <cyb3rpadla> Доступ к базе данных, в свою очередь, открывает для нас широкий спектр возможностей. В частности, позволяет выполнять на сервере команды не просто, а уже с привилегиями СУБД. Собственно, одного этого уже может оказаться более чем достаточно для атаки других сетевых узлов.
Только конченные выставляют БД в интернет поэтому ,так важно заполучить сначала любую машину в периметре ,чтобы достучаться до БД.
[09:09:13] <cyb3rpadla> Так, например, в старых версиях MS SQL Server продукт устанавливался в ОС по умолчанию с привилегиями NT AUTHORITY\SYSTEM, максимальными в Windows. При желании (и зная это), подобрав учетную запись СУБД, мы можем моментально получить полный контроль над сервером.
[09:09:34] <cyb3rpadla> Например, в актуальных версиях MS SQL Server описанный выше недостаток учтен: привилегии СУБД по умолчанию ограничены - NT SERVICE\MSSQLSERVER. Но и это помогает не всегда. Должный уровень протекции такие меры все равно не обеспечивают
[09:10:03] <cyb3rpadla> Еще один вариант развития атаки - использование уязвимостей в ОС. Существует техническая возможность обнаружить и идентифицировать разные права пользователей. Таким образом, мы можем, к примеру, найти некоего пользователя NT SERVICE\MSSQLSERVER с привилегиями SeImpersonatePrivilege,которые позволяют этому персонажу, используя токен делегирования (impersonation-token), заполучить для себя привилегии любого другого юзера из списка доступных (скажем, при помощи утилиты Mimikatz).
[09:10:33] <cyb3rpadla> СЦЕНАРИЙ 2: Работа с веб-уязвимостями 
[09:11:10] <cyb3rpadla> Подбор учетных данных (самый грязный способ) - далеко не единственный способ получить возможность выполнять команды чужой ОС. Также в этом плане нам на руку уязвимости веб-приложений внутри корпоративных сетей. 
Официальные сайты компаний, интернет-магазины или новостные порталы - это ресурсы, которые находятся в открытом доступе и дают нам широкое поле для деятельности.
[09:11:46] <cyb3rpadla> В числе наиболее опасных уязвимостей веб-приложений, которые могут напрочь скомпрометировать весь сервер - загрузка произвольных файлов, выполнение произвольного кода и установка операторов SQL.
Подавляющая часть веб-приложений дает возможность регистрировать новых пользователей, у каждого из которых есть, в свою очередь, личный кабинет. Через него можно подгружать всякого рода контент: фото, видео, доки, презентаций и т.п.  Приложение, по идее, должно по списку запрещенных расширений проверять, какой именно файл юзер закачивает. Однако такая проверка бывает неэффективной (даже если она супер жесткая). 
[09:12:29] <cyb3rpadla> Наша задача в таком случае - загрузить на сервер веб-интерпретатор командной строки с другим расширением файла (а может даже внедрить вредоносный код в формат разрешенных документов).
В итоге мы получаем возможность выполнять команды ОС с привилегиями веб-приложения, а, в лучшем случае, и полный контроль над ресурсом.
Но даже тогда, когда проверка загружаемых на сервер файлов эффективна, нельзя забывать, что есть еще и конфигурация самой системы. 
[09:13:09] <cyb3rpadla> Расскажу, как ошибка админа может позволить скомпрометировать весь веб-ресурс.Допустим, реализованная проверка запрещает подгружать файлы с расширением PHP. Ок. При этом мы выяснили, что на сервере используется уязвимая комбинация программного обеспечения и ОС, которая упомянутое ограничение позволяет обойти. Как вариант, в конфигурации CMS Bitrix в файле /upload/.htaccess не было предусмотрено ограничение на загрузку файлов расширением pht.  Данный тип файла исполняется в ОС из семейки Debian и Ubuntu как файл формата PHP. Так, уязвимая конфигурация  позволила нам в обход установленных ограничений загрузить на сервер веб-интерпретатор командной строки.
[09:13:42] <cyb3rpadla> Другой распространенный вид атаки на веб-приложения - всеми нежно любимый SQL-запрос. Этой тематике посвящены целые форумы, где скрипт-кидди (люди которые только на кнопки умеют нажимать и выполнять чужие готовые скрипты) бывает, кстати, довольно успешно работают с этой техникой. 
[09:14:13] <cyb3rpadla> Что есть SQL запрос или скули;, как их принято называть на сленге скрипт-кидди. Это весьма простая техника, однако, назвать ее тривиальной язык не повернется. Чтобы у нас что-то получилось, желательно уметь писать SQL-запросы, если мы говорим, например, про SQL в комбинации с эксплуатацией уязвимости подключения локальных файлов. Профессионалы называют их SQL-инъекциями. 
[09:14:30] <cyb3rpadla> о-хорошему, надо знать, как обойти фильтрацию файлов при их загрузке на сервер.Однако даже такие знания могут не потребоваться, если не стоят ограничения на загрузку файлов. 
[09:14:50] <cyb3rpadla> СЦЕНАРИЙ 3. Работа с известными уязвимостями 
[09:15:31] <cyb3rpadla> Уязвимый протокол. Следующий пример использования недостатков фильтрации трафика - атака на протокол отладки Java Debug Wire Protocol (JDWP), который является одним из компонентов системы Java Platform Debug Architecture (JPDA). 
Данный протокол не отвечает на за аутентификацию, не за шифрование трафика. Если интерфейс JDWP доступен из интернета, то этим мы с вами и воспользуемся. Можно взять общедоступный эксплоит для выполнения команд ОС.  Обычно служба, использующая JDWP, обладает максимальными привилегиями. Что это значит? Буквально в один шаг мы получаем полный контроль над сервером. 
[09:16:12] <cyb3rpadla> Как правило, уязвимости в ПО, которые делают возможным удаленное выполнение кода (направленные, к примеру, на переполнение буфера), приводят  к отказу в обслуживании систем. 
Для использования такого рода уязвимостей зачастую нужны особые знания и навыки, например, если мы говорим о разработке собственного эксплоита. 
[09:16:29] <cyb3rpadla> Однако есть и коммерческие или паблик эксплоиты, которые можно эксплуатировать прямо из коробки или с незначительными изменениями, необходимым для адаптации в каждом конкретном случае.
[09:16:44] <cyb3rpadla> Конструкторы тоже никто не отменял. Сейчас полно сервисов по сборке эксплоитов. Требуется лишь четкое понимание процессов и логики работы. Даже я иногда пишу подобные скрипты для экономии времени. 
[09:17:07] <cyb3rpadla> СЦЕНАРИЙ 4. Социальная инженерия 
[09:17:33] <cyb3rpadla> Один из моих любимых векторов атак и направлений в целом.СИ можно свести к одной простой фразе: самый уязвимый элемент любой системы - это человек.Соответственно, те, кто умеют работать с этим материалом, зачастую могут быть в разы эффективнее и показывать гораздо более крутой результат, нежели команда из самых крутых взломщиков с огромным бюджетом.. 
[09:18:05] <cyb3rpadla> Стоит отметить следующий факт, чем правильно Вы подходите к СИ с точки зрения маркетинговой составляющей, чем выше доверие Вашей жертвы к Вам.Маркетинговая составляющая - критерии действий или поведений, которые вызывают повышения доверия атакуемого к Вам и Вашим действиям. 
[09:18:50] <cyb3rpadla> Социальная инженерия, по праву, - один из самых распространенных методов целевых атак. В чем суть? Мы с вами пользуемся безграмотностью сотрудников разрабатываемой компании в области безопасности. Короче, грамотно разводим, как сейчас принято говорить.На самом деле достаточно легко выведать нужные нам сведения для доступа к ресурсам в обычном телефонном разговоре или личной переписке.
[09:19:15] <cyb3rpadla> Вместе с тем, атаки такого рода стоит продумывать очень тщательно, разбивать их на этапы и уровни.Делаем первичную рассылку фишинговых писем и по ее результатам выбираем одного из сотрудников разрабатываемой компании. Это был один из тех, кто не просто кликнул по ссылке из письма, но и вступил с нами в переписку, приняв за корпоративных сисадминов. 
Мы предлагаем решить проблему неработающей ссылки в почтовой рассылке. В ходе телефонного разговора выясняем учетные данные для доступа. 
[09:19:48] <cyb3rpadla> Такие люди как правило с радостью предоставят вам любую информацию, которую вы потом умело используете.
Однако не все юзеры настолько доверчивы. При попытке совершения атаки многие могут заподозрить неладное и обратиться в службу безопасности. Для таких ушлых пользователей можно прибегнуть к более сложным социотехническим методам, которые уже требуют специальной подготовки.
[09:20:05] <cyb3rpadla> СЦЕНАРИЙ 5. Работа с открытыми данными. 
[09:20:26] <cyb3rpadla> Есть целое мощнейшее направление - OSINT. Конкурентная разведка на основе открытых данных.
Сам по себе сбор информации атакой не является, однако нередко используется в качестве начальной ступени для осуществления иных, уже реальных атак и успешного проникновения.
Естественно, чем больше сведений вы соберете о цели, тем легче будет планировать вектор атаки.
[09:21:02] <cyb3rpadla> В интернетах огромный массив ценных данных находится в открытом доступе.Это могут быть учетные записи юзеров, используемые версии серверов и программного обеспечения, конфигурационные файлы, адреса критически важных систем и даже исходные коды веб-приложений.
Также найтись может доменная учетная запись, что позволит нам получить доступ к беспроводной сети, а дальше - к контроллерам доменов в ЛВС.
[09:21:38] <cyb3rpadla> Вход под доменным пользователем открывает путь практически ко всем доступным из интернета ресурсам компании, в частности, к системе Jira (трекер задач для каждого работника, где есть некоторые данные, что нам будут полезны) со списком всех юзеров домена.
[09:22:17] <cyb3rpadla> Если мы вынуждены атаковать методом черного ящика (мало что зная о разрабатываемой системе), то доступ к исходному коду веб-приложения даст нам уже полный набор нужных данных и позволит анализировать уже методом белого ящика.
Анализ проводим как ручками, так и с помощью доступных автоматизированных решений, выявляя в процессе максимальное число уязвимостей. После чего готовим эксплоиты для атаки и разумеется пути отхода.
[09:22:54] <cyb3rpadla> СЦЕНАРИЙ 6: Песочница и выход из нее 
[09:23:17] <cyb3rpadla> На периметре корпоративной сети, как правило, есть публичные сервисы. Обычно это веб-приложения на базе протоколов HTTP и HTTPS. 
Там же, на границе, некоторые компании держат жизненно важные штуки типа почтовых сервисов (OWA), внутренних ресурсов, порталов и т.п. 
Ко всему этому богатству (если оно у компании вообще есть) мы и получим доступ, выудив с общедоступной страницы веб-приложения доменную учетную запись.
[09:24:08] <cyb3rpadla> Среди прочего, там можно будет обнаружить Jira. Напомню, это система, при подключении к которой нам становится доступным список всех пользователей домена.
Выгружаем этот список и подбираем пароль к учетной записи одного из доменных юзеров. Пароль админской учетной записи, скорее всего, будет примерно таким: P@ssw0rd. 
Теоретически, нужную учетку можно подобрать тупо перебирая имена всех юзеров с нашим паролем до тех пор, пока не будет выполнен вход. 
[09:24:48] <cyb3rpadla> Кстати, именно такой метод используют при подборе доменных учетных записей, чтобы избежать блокировки. Спешка тут не нужна.
Аналогичным способом можно подключиться и к системе Citrix, которую в компаниях нередко используют для предоставления сотрудникам возможности удаленного доступа к своим рабочим столам, серверам и другим устройствам. 
Имея доступ к Citrix юзер, по идее, должен выполнять команды операционки непосредственно на сервере, где стоит система, без возможности выхода из виртуализации. Однако песочницу можно обойти. Дальше поговорим, как именно.
[09:25:14] <cyb3rpadla> Запускаем в Citrix браузер Internet Explorer. При условии, что на сервере нет строгого разграничения доступа к файлам и директориям, с помощью встроенной функции открытия файла мы получим доступ ко всей системе файлов и к директории установки ОС в частности. Дальше запускаем файл cmd.exe для выполнения произвольных команд. Все.
В принципе, атаку такого плана можно устроить и через другое программное обеспечение, где есть функция открыть файл. Все гениальное - просто.
[09:25:44] <cyb3rpadla> ЗАКЛЮЧЕНИЕ 
[09:26:05] <cyb3rpadla> Перечисленные сценарии атак - это лишь часть тех техник, которые можно использовать для проникновения в корпоративную инфраструктуру.Некоторые атаки на внутренние сети реализуются намного сложнее, но, так или иначе, основаны они на описанных в данной лекции принципах. 
[09:26:22] <cyb3rpadla> Базовые атаки вполне предсказуемы, и вы должны знать все возможные векторы их развития. Это не так уж и сложно, разумеется Вы будете их развивать в ногу со временем и ввиду новых знаний и информации. 
[09:26:34] <cyb3rpadla> На этом все ,ставьте знак вопроса я вызову
[09:27:44] <Flanker> существуют ли в природе и в продаже эксплоиты на вин 7-10 для повышения правд до сис или просто учетки админа? если дато где искать и примерный прайс? 
[09:28:56] <cyb3rpadla> Существуют, но как правило их продают как услугу, но не как готовый эксплоит. Готовый эксплоит стоит сотни тысяч и продаются в одни руки.
[09:29:50] <Flanker> значит так просто не достать? а как услуга это тоже совсем не дешево? 
[09:30:36] <cyb3rpadla> Услуги по повышению прав на машине. Но нужно квота доверия. Обычнно люди платят недорого и по результату. 
[09:31:30] <gerzogdegiz> используется ли для атак метасплоит фрейворк в реальности? 
[09:32:03] <cyb3rpadla> почему нет, если конечно он платный 
[09:32:54] <lowkick22> насчет метасплоита, есть продажник на экспе, так у них какая то сборка бругая что ли. в чем разница того что они предлгпют и официальной версии, не в курсе? 
[09:33:02] <lowkick22> и еще, наксколько просто с ним работать 
[09:33:58] <cyb3rpadla> по сути это как сканер, не сложно, тут нужны тесты и читать, что они предлагают 
[09:34:34] <Flanker> вопрос по ДЗ. что очень интересного мы могли увидеть в браузере? я в силу своей тупости так и не понял 
[09:34:59] <Flanker> о каких уязвимостях там речь и как их идентифицировать? 
[09:35:19] <cyb3rpadla> название веб-сервера т мб даже его версию 
[09:36:00] <cyb3rpadla> посмотреть по версии в CVE проблемы, нацти подходчщие 
[09:36:44] <cyb3rpadla> тот же гетвей или апи сервер 
[09:37:00] <Flanker> а ремоте ассес что то дает? 
[09:38:22] <cyb3rpadla> можно строки все цкликом? 
[09:39:19] <Flanker> Request URL: https://matching.granify.com/match
Request Method: POST
Status Code: 200 OK
Remote Address: 34.235.57.210:443
Referrer Policy: no-referrer-when-downgrade
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Origin: https://www.neimanmarcus.com
Access-Control-Expose-Headers: 
Access-Control-Max-Age: 1728000
Connection: keep-alive
Content-Encoding: gzip
Content-Length: 37
Content-Type: application/json
Date: Tue, 21 Jan 2020 17:39:00 GMT
Server: nginx
Status: 200 OK
Vary: Accept-Encoding
Vary: Origin
X-XSS-Protection: 0 
[09:39:36] <cyb3rpadla> Request URL: https://matching.granify.com/match - запрашиваемач ссылка 
[09:40:25] <cyb3rpadla> Request Method: POST - метод пост, есть гет, GET запрос используется чтобы получить данные а POST чтобы отправить. (Напоминаю что технически они работают одинаково). 
[09:40:38] <cyb3rpadla> Status Code: 200 OK - статутс успешно 
[09:41:10] <cyb3rpadla> Remote Address: 34.235.57.210:443 - реиоте адрес - ип адрес узла и порт в нашем случае  https 
[09:43:35] <cyb3rpadla> Referrer Policy: no-referrer-when-downgrade
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Origin: https://www.neimanmarcus.com
Access-Control-Expose-Headers: 
Access-Control-Max-Age: 1728000  
некие рулы веб сервиса
Connection: keep-alive
Content-Encoding: gzip - кэщирование
Content-Length: 37 вес
Content-Type: application/json - формат отдачи
X-XSS-Protection: 0  - нет защиты. Атака XSS (межсайтовый скриптинг) это тип атаки, при котором вредоносный код может быть внедрён в атакуемую страницу.
Server: nginx - веб сервер нжинкс вызвав ошибку роутинга мы получим страницу  404 + версию сервера если постараться 
[09:44:37] <Flanker> X-XSS-Protection: 0  - нет защиты. Атака XSS (межсайтовый скриптинг) это тип атаки, при котором вредоносный код может быть внедрён в атакуемую страницу. 
[09:45:07] <Flanker> а это была страница входа) в файле account 
[09:45:11] <cyb3rpadla> https://habr.com/ru/post/317720/ например 
[09:46:33] <Flanker> это последняя лекция из серии ботнет и уязвимости? 
[09:46:56] <cyb3rpadla> да 
[09:47:21] <Flanker> а можно несколько личных обращений в ЛС? 
[09:47:51] <cyb3rpadla> да по нику в телеграм, отвечу каа смогу 
[09:47:58] <Flanker> вопросы возникают, но сейчас понятно только что нихрена непонятно) 
[09:48:34] <Flanker> @cyb3rpadla   вот так? 
[09:48:43] <cyb3rpadla> если есть фопросы по лекции их стоит задавать на форуме с ссыланием на моц ник @мойник 
[09:48:49] <cyb3rpadla> да только так 
[09:49:11] <Flanker> спасибо. эту тематику очень хочется освоить


Комментариев нет:

Отправить комментарий