Hints # Сетка Модель оси - Open Systems Interconnection mode ![](https://i.imgur.com/QdNw28B.png) ![image alt](https://i.imgur.com/8WGVZDa.jpg) ![](https://i.imgur.com/SWmtEtW.jpg) Модель OSI, это не конкретная "запчасть", которая может использоваться или не использоваться. Это основополагающий принцип того, как нужно думать о любом стеке любых протоколов, под каким углом на него смотреть )) Она потому и называется открытой моделью межсистемного обмена, (а не паттерном построения стека протоколов), что дает наиболее общую картину того, какие у протоколов в стеке могут быть характерные роли, и предлагает принцип, как это можно структурировать для понимания их взаимодействия друг с другом. И ее не нужно заучивать, ее нужно просто понять, сам принцип, и потом использовать это понимание для понимания других, уже конкретных вещей. ### Диапазон частных адресов: 10.0.0.0 маска 8 172.16.0.0 маска 12 192.168.0.0 маска 16 100.64.0.0 маска 10 ## APIPA Если недоступен DHCP, то работает apipa - Служба Automatic Private IP Addressing (APIPA) позволяет клиентам DHCP автоматически настраивать IP-адрес и маску подсети, когда недоступен сервер DHCP. Устройству назначается IP-адрес в диапазоне от 169.254.1.0 до 169.254.254.255. Маске подсети автоматически присваивается значение 255.255.0.0, а шлюзу - 0.0.0.0. ### Уровни и протоколы: **Физический** - bluetooth **Канальный** - Ethernet, Token Ring **Сетевой** - IP,OSPF,EIGRP,RIP **Транспортный** - TCP,UDP,RDP,SCTP **Сеансовый** - L2TP,NetBios,RPC,ZIP **Представления** - NCP,FTP, **Прикладной** - DNS,SSH,Telnet **Важные в иб протоколы их порты:** **15** - Netstat **20/21** - FTP (данные,сессия) **22** - **SSH** **23** - **Telnet** **25** - SMTP **50/51** - IPsec **53** - **DNS** **67/68** - DHCP (сервер и клиент) **80** - HTTP **88** - **Kerberos** `протокол аутентификации` **123** - NTP **137-139** - **Netbios** `протокол для работы в локальных сетях на персональных ЭВМ (служба имен 137, служба датаграмм 138, служба сессий 139` **389/636** - **LDAP**/Secure LDAP `протокол доступа к каталогам` **443** - HTTPS (SSL) **445** - SMB `протокол удаленного доступа к файлам` **3389** - **RDP** `протокол удаленного рабочего стола` **5355** - **LLMNR** `протокол разрешения имен` ## Сетевые атаки ![image alt](https://i.imgur.com/5clzkZ2.jpg) ### MITM #### Атаки типа "человек по середине т.е. возможные благодаря перехвату трафика и взаимодействия злоумышленника межлу узлами атакуемой сети." **Атаки и инструменты** Классические Relay атаки — для работы атаки необходимо: Просканировать сеть и получить список сервисов. Нужны расшаренные директории через SMB, HTTP сервера, LDAP сервера. Установить слушателя для локальных соединений или провести атаку на маршрутизацию данных в сети **Набор инструментов, которые можно использовать:** *impacket* *responder* *mitm6* *bettercap* #### ARP spoofing **Атака** заключается в заполнении ARP таблицы или кэша MAC-адресом злоумышленника, вместо легитимного хоста. Как пример - злоумышленник отправляет ложные ответы ARP по заданному IP-адресу (обычно это шлюз по умолчанию для конкретной подсети). Это заставляет устройства-жертвы заполнять свой кэш ARP MAC-адресом машины злоумышленника вместо MAC-адреса локального маршрутизатора. Остаються така называемые полуоткрыте соеденения. :::success **Защита** - от такого вида атак поможет статическая настройка ARP таблиц, шифрование, сетевая изоляция и защита важных сегментов сети, таких как коммутаторы и т.д. ::: #### DNS spoofing Атака заключается в изменении записей соответствия доменных имен IP адресам. В результате успешного проведения такой атаки все пользователи DNS сервера получат неверную информацию о доменных именах и IP-адресах. Данная атака характеризуется большим количеством DNS пакетов с одним и тем же доменным именем. Это связано с необходимостью подбора некоторых параметров DNS обмена. :::info Распознать такую атаку можно, исследовав обращения и соответствующие DNS имена. ::: :::success **Защита** - во избежание таких атак можно использовать DNSSEC — протокол, предназначенный для защиты вашего DNS путем добавления дополнительных методов проверки. Протокол создает уникальную криптографическую подпись, которая хранится вместе с другими вашими записями DNS, например, записью A и CNAME. Эта подпись затем используется вашим преобразователем DNS для аутентификации ответа DNS, гарантируя, что запись не была подделана. ::: #### IP spoofing **Атака**, заключающаяся в использовании в IP-пакетах, отправляемых жертве, в качестве обратного адреса IP-адрес хоста, которому она доверяет; легко осуществима в UDP, в некоторых случаях возможна в TCP-соединениях. :::success **Защита** - на сетевом уровне атака частично предотвращается с помощью фильтра пакетов. Он должен быть настроен таким образом, чтобы не пропускать пакеты пришедшие через те сетевые интерфейсы, откуда они прийти не могли. Грубо говоря, если у нас на одном (внутреннем) интерфейсе стоят адреса 192.168.x.x, а на втором (внешнем) какой-то другой адрес. Вдруг через внешний интерфейс приходит пакет с обратным адресом 192.168.x.x (адресом внутренней сети). Это подозрительно, и фильтр может отбросить такой пакет. ::: ### Атаки, приводящие к отказу в обслуживанию #### Syn-flood **Атака** заключается в отправке большого количества SYN-запросов (запросов на подключение по протоколу TCP) в достаточно короткий срок (RFC 4987). Согласно процессу «трёхкратного рукопожатия» TCP, клиент посылает пакет с установленным флагом SYN (synchronize). В ответ на него сервер должен ответить комбинацией флагов SYN+ACK (acknowledges). После этого клиент должен ответить пакетом с флагом ACK, после чего соединение считается установленным. Принцип атаки заключается в том, что злоумышленник, посылая SYN-запросы, переполняет на сервере (цели атаки) очередь на подключения. При этом он игнорирует SYN+ACK пакеты цели, не высылая ответные пакеты, либо подделывает заголовок пакета таким образом, что ответный SYN+ACK отправляется на несуществующий адрес. В очереди подключений появляются так называемые полуоткрытые соединения (англ. half-open connection), ожидающие подтверждения от клиента. По истечении определенного тайм-аута эти подключения отбрасываются. Задача злоумышленника заключается в том, чтобы поддерживать очередь заполненной таким образом, чтобы не допустить новых подключений. Из-за этого клиенты, не являющиеся злоумышленниками, не могут установить связь, либо устанавливают её с существенными задержками. :::success **Защита**: * Увеличение очереди невыполненных работ. * SYN cookie. Техника противодействия SYN-флуд-атаке. Использование SYN cookie позволяет серверу избегать сброса новых соединений, когда очередь TCP-соединений переполнена. Сервер отправляет обратно клиенту правильную последовательность SYN+ACK, но не сохраняет новое соединение в очереди. Если сервер затем получит ACK ответ от клиента, то он сможет восстановить своё значение SYN последовательности по принятому от клиента значению. В данном случае, сервер не выделяет ресурсы до момента 3 шага (т.е. пока не поступит ACK от клиента) **Реализация:** Для создания TCP-соединения клиент отправляет серверу TCP-пакет с флагом SYN и своим номером последовательности. В ответ сервер отправляет пакет с флагами SYN+ACK. номером последовательности клиента и своим собственным номером последовательности. По этим номерам собирается весь TCP-поток. Спецификация TCP определяет что начальные значение этих номеров последовательности определяются самими клиентом и сервером. SYN cookies — это как раз такой номер последовательности. ::: #### WinNuke Наряду с обычными данными, пересылаемыми по TCP-соединению, стандарт предусматривает также передачу срочных (Out Of Band) данных. На уровне форматов пакетов TCP это выражается в ненулевом urgent pointer. У большинства ПК с установленным Windows присутствует сетевой протокол NetBIOS, который использует для своих нужд три IP-порта: 137, 138, 139. Если соединиться с Windows машиной по 139 порту и послать туда несколько байт OutOfBand данных, то реализация NetBIOS-а, не зная, что делать с этими данными, попросту вешает или перезагружает машину. Для Windows 95 это обычно выглядит как синий текстовый экран, сообщающий об ошибке в драйвере TCP/IP, и невозможность работы с сетью до перезагрузки ОС. NT 4.0 без сервис-паков перезагружается, NT 4.0 с ServicePack 2 паком выпадает в синий экран. Судя по информации из сети подвержены такой атаке и Windows NT 3.51 и Windows 3.11 for Workgroups. Посылка данных в 139-й порт приводит к перезагрузке NT 4.0, либо выводу «синего экрана смерти» с установленным Service Pack 2. Аналогичная посылка данных в 135 и некоторые другие порты приводит к значительной загрузке процесса RPCSS.EXE. На Windows NT WorkStation это приводит к существенному замедлению работы, Windows NT Server практически замораживается. ### Smurf атаки Атака smurf заключается в передаче в сеть широковещательных ICMP запросов от имени компьютера-жертвы. В результате компьютеры, принявшие такие широковещательные пакеты, отвечают компьютеру-жертве, что приводит к существенному снижению пропускной способности канала связи и, в ряде случаев, к полной изоляции атакуемой сети. Атака smurf исключительно эффективна и широко распространена. :::success Противодействие: для распознавания данной атаки необходимо анализировать загрузку канала и определять причины снижения пропускной способности. ::: #### Навязывание пакетов Злоумышленник отправляет в сеть пакеты с ложным обратным адресом. С помощью этой атаки злоумышленник может переключать на свой компьютер соединения, установленные между другими компьютерами. При этом права доступа злоумышленника становятся равными правам того пользователя, чье соединение с сервером было переключено на компьютер злоумышленника. #### Навязывание ложных маршрутов В сети Интернет существует специальный протокол ICMP (Internet Control Message Protocol), одной из функций которого является информирование хостов о смене текущего маршрутизатора. Данное управляющее сообщение носит название redirect. Существует возможность посылки с любого хоста в сегменте сети ложного redirect-сообщения от имени маршрутизатора на атакуемый хост. В результате у хоста изменяется текущая таблица маршрутизации и, в дальнейшем, весь сетевой трафик данного хоста будет проходить, например, через хост, отославший ложное redirect сообщение. Таким образом возможно осуществить активное навязывание ложного маршрута внутри одного сегмента сети Интернет. #### Перехват пакетов Сетевое программное обеспечение маршрутизатора имеет доступ ко всем сетевым пакетам, передаваемым через данный маршрутизатор, что позволяет осуществлять перехват пакетов. Для реализации этой атаки злоумышленник должен иметь привилегированный доступ хотя бы к одному маршрутизатору сети. Поскольку через маршрутизатор обычно передается очень много пакетов, тотальный их перехват практически невозможен. Однако отдельные пакеты вполне могут быть перехвачены и сохранены для последующего анализа злоумышленником. Наиболее эффективен перехват пакетов FTP, содержащих пароли пользователей, а также электронной почты. :::success С помощью Cain & Abel злоумышленник может вклиниться и перехватить трафик в одном широковещательном домене. Защититься от этой напасти можно при помощи механизма Dynamic ARP Inspection (Protection). Для корректной работы Dynamic ARP Inspection необходимо указывать, какие порты коммутатора будут доверенными, а какие — нет. Под ненадежным портом подразумевается тот порт, к которому подключены клиенты. Для ненадежных портов выполняется ряд проверок сообщений ARP. А к доверенным портам коммутатора относятся те порты, к которым подключен другой коммутатор. Сообщения протокола ARP, полученные с доверенных портов, не отбрасываются. ::: ## Инкапсуляция нестандартных протоколов Пакет IP содержит поле, определяющее протокол инкапсулированного пакета (TCP, UDP, ICMP). Злоумышленники могут использовать нестандартное значение данного поля для передачи данных, которые не будут фиксироваться стандартными средствами контроля информационных потоков. #### Подмена доверенных хостов Успешное осуществление удалённых атак этого типа позволит злоумышленнику вести сеанс работы с сервером от имени доверенного хоста. (Доверенный хост — станция, легально подключившаяся к серверу). Реализация данного вида атак обычно состоит в посылке пакетов обмена со станции злоумышленника от имени доверенной станции, находящейся под его контролем. #### Навязывание ложных маршрутов (при помощи ICMP) В сети Интернет существует специальный протокол ICMP (Internet Control Message Protocol), одной из функций которого является информирование хостов о смене текущего маршрутизатора. Данное управляющее сообщение носит название redirect. Существует возможность посылки с любого хоста в сегменте сети ложного redirect-сообщения от имени маршрутизатора на атакуемый хост. В результате у хоста изменяется текущая таблица маршрутизации и, в дальнейшем, весь сетевой трафик данного хоста будет проходить, например, через хост, отославший ложное redirectсообщение. Таким образом возможно осуществить активное навязывание ложного маршрута внутри одного сегмента сети Интернет. # Windows ## SYSMON важные события :::danger **1 - создание процесса** **6 - загрузка драйвера** **7 - загрузка библиотеки** **23 - удален файл** **26 - файл полностью удален** ::: **4 - изменение состояния службы сисмон** **8 - создание удаленного потока** **10 - доступ к процессу** **11 - создание файла** **12 - объект в реестре создан или удален** **13 - запись значения в реестр** **14 - переименован ключ в реестре** **17 - пайп создан** **18 - пайп подключен** **22 - DNS запрос** ## Windows events id **1102 - журнал был очищен** **4608 - windows запущен** **4609 - windows выключен** **4616 - изменение системных часов windows** **4624 - успешный логон** **4625 - неуспешный логон** **4723 - изменение кредов пользователя** **4720 - создание пользователя** **4724 - сброс кредов пользователя** **4738 - изменение в инфе аккаунта** **4740 - уз заблокирована** **4688 - запуск процесса** **4660 - объект был удален** **4950 - изменение настроек фаервола** **4103 - script block** ## Журналы windows * Приложение * Security * System ## **Логирование** ### Windows syslog ### Linux unix auditd osquery syslog rsyslog syslog-ng :::success Автозагрузка в линукс Cron ::: # Атаки на windows **Kerberosting** Логично предположить, что для того, чтобы аутентификация была надежной, необходимо чтобы она была взаимной. Т.е. сервер мог удостовериться, что клиент - тот, за кого он себя выставляет, а клиент мог удостовериться, что он пришел на верный сервер. ### **Как это все реализуется** Основная концепция протокола Kerberos очень проста — если есть секрет, известный только двоим, то любой из его хранителей может с лёгкостью удостовериться, что имеет дело со своим напарником. Для того, чтобы все это БЕЗОПАСНО реализовать, в протоколе Kerberos (цербер, трехголовая собачка) реализован достаточно сложный механизм, основанный на взаимодействии между объектами посредством так называемых билетов. ### Столпы, на которых держится Kerberos Главных объектов в Kerberos всего 3. Разумеется, речь идет об абстрактных 3-х объектах. Т.е. самих объектов (пользователей, сервисов) может и даже будет в реальном домене гораздо больше, но в контексте взаимодействия необходимо, чтобы существовало всего 3: KDC - Key Distribution Center (Центр распространения ключей) Клиент - субъект, который хочет получить доступ к тому или иному сервису, например, обычный пользователь Сервис - различные службы, сервера, бд (mysql, почтовые сервисы и т.д.) ### ***Почему злоумышленники любят дампить эту базу?*** Ответ прост - для подписи самых важных билетов (TGT) служба KDC использует специальную учетную запись KRBTGT, хэш пароля которой можно извлечь из этой самой базы. Создается данная учетка (о них речь пойдет немного позже), которые выдаются всеми центрами распространения ключей в домене. #### **Алгоритм аутентификации** Первый шаг - Preauthentication Второй шаг - предоставление запросившему TGT билет Третий шаг - запрос билета на доступ к сервису Четвертый шаг - предоставление билета на доступ к сервису Пятый шаг - обращение к сервису ### LLNMR/NETBIOS poisoning/SMB-Relay/NTLM-Relay Отвечая на сетевой трафик LLMNR / NBT-NS, злоумышленники могут подделать авторитетный источник разрешения имен, чтобы установить связь с системой, контролируемой противником. Это действие может использоваться для сбора или передачи аутентификационных материалов. Link-Local Multicast Name Resolution (LLMNR) и NetBIOS Name Service (NBT-NS) - это компоненты Microsoft Windows, которые служат альтернативными методами идентификации хоста. LLMNR основан на формате системы доменных имен (DNS) и позволяет хостам на одном и том же локальном канале выполнять разрешение имен для других хостов. NBT-NS идентифицирует системы в локальной сети по их имени NetBIOS. **SMB-Relay** Принцип атаки прост: нарушитель слушает сетевой трафик и ждет, когда один из узлов инициирует подключение к другому узлу. Как только такой запрос обнаружен, нарушитель реализует атаку «человек посередине» (например, LLMNR Spoofing): перехватывает запрос на аутентификацию от обратившегося узла и передает его на атакуемый сервер. Этот сервер возвращает ответ — просьбу зашифровать некоторое сообщение с помощью своего хеша, после чего перенаправляет его на узел, запросивший подключение. Следом происходит перенаправление этого зашифрованного сообщения. Так как сообщение было зашифровано корректным хешем, атакуемый сервер отправит нарушителю разрешение на аутентификацию. Злоумышленник аутентифицируется на сервере, а узлу, запросившему аутентификацию, отправит ответ об ошибке подключения. Нарушитель может реализовать такую атаку и в отношении того же ресурса, который отправляет запрос на подключение. :::success **Защита** - SMB signing *SMB Signing* предоставляет два улучшения для протокола SMB: Взаимная аутентификация; Аутентификация сообщений; Эти преимущества достигаются путем добавления в SMB пакет цифровой подписи. Включение ж приводит к увеличению нагрузку, что может привести к снижению производительности передачи сетевого трафика на 10-15%. ::: **NTLM-Relay** Для проведения атаки требуется одно единственное условие: необходимо знать за каким компьютером в данный момент работает действующий администратор домена. Атакующему даже необязательно быть членом домена, достаточно просто подключиться к сети. Как и в случае других атак, для ускорения действий в трафик атакуемого инжектится ссылка на псевдо-веб службу Intercepter'а, которая затребует NTLM авторизацию. Во время web-серфа атакуемый автоматически и незаметно для себя отправит аутентификационные данные, которые затем будут перенаправлены на Active Directory. В результате атаки будет создан новый пользователь с правами Domain Admins. ## Аутентификация windows ### Локальная аутентификация **Локальная аутентификация в операционных системах Windows выполняется в следующей последовательности:** Пользователь вводит логин и пароль Данные передаются подсистеме локальной безопасности (LSA), которая сразу преобразует пароль в хэш. В открытом виде пароли нигде не хранятся. Служба LSA обращается к диспетчеру учетных записей безопасности (SAM) и сообщает ему имя пользователя Диспетчер обращается в базу SAM и извлекает оттуда хэш пароля указанного пользователя, сгенерированный при создании учетной записи (или в процессе смены пароля) Затем LSA сравнивает хэши, в случае их совпадения аутентификация считается успешной, а хэш введенного пароля помещается в хранилище службы LSA и до окончания сеанса пользователя **Пользователь может быть интерактивно аутентифицирован следующими пакетами аутентификации:** 1) **MSV1_0.dll** - принимает имя пользователя и хэш пароля, сверяя данные с базой SAM (пароль, политики, разрешения, ограничения и пр). Используется при локальной аутентификации на тачке либо при входе в кэшированный домен, в таком случае данные извлекаются из ветки LSA (HKLM/Security) содержащие лишь часть хэша. Также применяется при сквозной аутентификации и Netlogon. 2) **Kerberos.dll** - процесс аналогичен первому за исключением передачи данных по сети (подробнее про это) и протеканием аутентификации в процессе lsass на DC. Происходит обмен данными с KDC по 88-му порту (собсна порт кербероса), результат входа (TGT) полученный от KDCSVC хранится в памяти lsass.exe инициатора аутентификации. (Подробнее о принципе работе Kerberos сказано тут) 3) **Wdigest.dll** - digest аутентификация типа challenge\response для аутентификации на вебсайтах, LDAP и т.д. 4) **CredSSP.dll** - SSO и RDP аутентификации. **Все это называется Windows Security Support Provider** HKLM/System/CurrentControlSet/Control/Lsa/Security Packages и HKLM/System/CurrentControlSet/Control/Lsa/OSConfig/Security Packages загружается Local Securtiy Authorization Subsystem Service (lsass.exe) при старте системы. Код, ответственный за получение учетных данных от пользователя, называется "поставщиком учетных данных" и по дефолту хранится в библиотеках authui.dll, SmartcardCredentialProvider.dll и FaceCredentialProvider.dll, которые загружаются в LogonUI.exe, получающий учетные данные от пользователя. Получив учетные данные, он передает их в процесс, организующий весь вход в систему - Winlogon.exe, запускающий lsass и передающий ему эти данные для аутентификации и авторизации пользователя. Получив данные и аутентифицировав (см. выше) сущность, желающую войти в систему, lsass проверят запрошенный ею доступ в соответствии с правами и ограничениями (находящимися в SAM) всех SID , куда входит авторизуемая учетка, после чего создается access token, хэндл на копию которого передается winlogon-у вместе с локальным идентификатором для сеанса входа. Далее winlogon смотрит в HKLM/Software/Microsoft/WindowsNT/CurrentVersion/Winlogon/Userinit и запускает то, что там лежит с указанными параметрами (записей может быть несколько), по дефолту там лежит userinit.exe, подгружающий профиль пользака. Теперь уже userinit идет в HCKU/.../winlogon/shell и запускает то, что лежит в этой ветке (по дефолту там пусто и запускается explorer.exe без параметров) также запускается величина из HKEY_CURRENT_USER\Environment\UserInitMprLogonScript после чего usernit.exe прекращает работу, а пользователь может наслаждаться использованием MS Windows. ### Сетевая аутентификация **Существует несколько различных протоколов, описывающих процесс аутентификации субъектов в локальной сети. В рамках операционных систем Windows компании Микрософт использовались протоколы:** * NT LAN Manager (NTLM), **Процесс:** 1) Пользователь вводит свои учетные данные 2) Клиент начинает согласование параметров связи с сервером, касаемо поддерживаемых обоими протоколов и стандартов 3) Сервер выбирает высший диалект (протокол), при помощи которого и будет происходить дальнейшее общение. 4) Происходит настройка аутентификационной сессии (NTLM Message Type: Negotiate) В ответ сервер присылает Challenge со сгенерированным NTLM Server Challenge в 64 бита 5) Клиент генерирует из введенного пароля NT-хэш (MD4 по строке), делит его на три части для использования в качестве ключа для 64 битного DES (добавив перед этим биты четности раз в семь бит, хз кому это понадобится, но пусть будет) которым и шифруется три копии NTLM Server Challenge. Полученные величины собираются в один NTLM Response. 6) Сервер проделывает ту же операцию с имеющимся у него NT хэшем пользователя и известной величиной NTLM Server Challenge, сравнивает с полученным и выдает результат. * NT LAN Manager версии 2 (NTLM v2) В п.4 сервер присылает дополнительно случайное 8-битное число, временную метку и блок информации о сервере, все это вместе с изначальным NTLM Server Challenge шифруется по HMAC-MD5 с ключом в виде NTLM v.2 хэша УЗ, запросившей аутентификацию. Сам NTLM v.2 это HMAC-MD5 от имени пользователя и домена по ключу в виде NTLM хэша. ## Хэши windows https://ichudoru.com/v-kakom-vide-operatsionnaya-sistema-hranit-paroli/ https://habr.com/ru/post/114150/ Хэши пользователей Windows хранятся в кустах (hives) реестра Windows под названием SYSTEM и SAM в файлах: C:/Windows/System32/config/SAM C:/Windows/System32/config/SYSTEM Хеш пароля также содержится в оперативной памяти, а именно в процессе Local Security Authority Process (lsass.exe) NTDS.dit - база хэшей доменных пользователей Пароли хэшируются утилитой Syskey в базе SAM и ключ разбит на 4 части: HKLM\System\CurrentControlSet\Control\Lsa\JD HKLM\System\CurrentControlSet\Control\Lsa\Skew1 HKLM\System\CurrentControlSet\Control\Lsa\GBG HKLM\System\CurrentControlSet\Control\Lsa\Data ## AD атаки ### Kerberos Тикеты хранятся в памяти Lsass.exe #### Golden Ticket/Silver Ticket Защита от сильвер тикета - Enable pack validayion (пак будет запрашиваться на легитимность на дс) #### Kerberoasting/AS REQ-roasting/AS-REP Roasting 1)Нужна учетка чтобы запросить у DC тикет на сервис и брутать этот тикет. 2)Для рекроста нужно встать между пользователем и дс и перехватить тикет для пользователя. 3)Опция disable preauthentication - если включена, то можно запрашивать билеты для таких пользователей, а затем брутать, при чем мы можем прикинуться старым клиентом и запросить слабо зашифрованный тикет с RC-4 #### DC-Sync #### DC-Shadow # Linux Модули ядра — это отдельные кусочки кода, которые могут быть загружены и выгружены из ядра по мере необходимости. Они расширяют функциональность ядра без необходимости перезагрузки системы. ## Хэши Linux Изначально для хранения паролей использовался файл /etc/passwd. Но этот файл доступен для чтения всем пользователям. Поэтому, из соображений безопасности, пароли пользователей были перенесены в файл /etc/shadow. Этот файл доступен для чтения только пользователю root. В Linux есть ещё одно место, где приложения хранят свои пароли, SSH-ключи и другие секретные данные. Это хранилище ключей. В Gnome утилита называется SeaHorce. В самой утилите вы сможете найти и удалить ключи от различных приложений, ключ от хранилища паролей Chromium, токен доступа в Skype, а также все SSH-ключи, добавленные к вашей системе. # Cyber-Kill Chain РАЗВЕДКА И СБОР ДАННЫХ (RECONNAISSANCE) ВЫБОР СПОСОБА АТАКИ (WEAPONIZATION) ДОСТАВКА (DELIVERY) ЭКСПЛУАТАЦИЯ (EXPLOITATION) ЗАКРЕПЛЕНИЕ (INSTALLATION) ИСПОЛНЕНИЕ КОМАНД (COMMAND AND CONTROL) ДОСТИЖЕНИЕ ЦЕЛИ (ACTIONS ON OBJECTIVE) ## Persistence ### WINDOWS #### **w3wp.exe** Рабочий процесс Internet Information Services (IIS) - это процесс Windows (w3wp.exe ), который запускает веб-приложения и отвечает за обработку запросов, отправляемых на веб-сервер для определенного пула приложений. Это рабочий процесс для IIS. Каждый пул приложений создает по крайней мере один экземплярw3wp.exe, и это то, что фактически обрабатывает запросы в вашем приложении. К этому не опасно прикрепляться, это просто стандартное сообщение Windows. **Буткиты (Bootkit)** Bootkit — это разновидность вредоносного ПО, которое может менять загрузочные секторы жесткого диска, включая Master Boot Record (MBR) и Volume Boot Record (VBR). Злоумышленники могут использовать Bootkit для закрепления в системах на уровне ниже ОС. MBR — раздел ЖД, который загружается сразу после завершения аппаратной инициализации Bios. Злоумышленник, имеющий доступ на перезапись MBR, может заменить код загрузчика ОС на вредоносный. VBR — раздел жесткого диска, который получает управление процессом загрузки от MBR. По аналогии с вариантом перезаписи MBR, злоумышленник может запустить вредоносной код на этапе загрузки системы. **Расширения браузеров** **Драйверы Local Security Authority (LSASS Driver)** potato rotten potato juicy potato rogue potato ### LINUX **Модификация файлов ~/.bash_profile и ~/.bashrc** **Расширения браузеров** **Модули ядра** ## Ti # Web ## Уязвимости Типа Server-Side 1) sql injection — это уязвимость веб-безопасности, которая позволяет злоумышленнику вмешиваться в запросы, которые приложение делает к своей базе данных. 2) Authentication - это процесс проверки личности данного пользователя или клиента. 3) Command injection - это уязвимость веб-безопасности, которая позволяет злоумышленнику выполнять произвольные команды операционной системы (ОС) на сервере, на котором запущено приложение. 4) Business logic vulnerabilities — это недостатки в дизайне и реализации приложения, которые позволяют злоумышленнику вызвать непреднамеренное поведение. 5) Access control - Контроль доступа (или авторизация) — это применение ограничений на то, кто (или что) может выполнять предпринятые действия или получать доступ к запрошенным ресурсам 6) Server-side request forgery (SSRF) - Подделка запросов на стороне сервера (также известная как SSRF) — это уязвимость веб-безопасности, которая позволяет злоумышленнику заставить приложение на стороне сервера отправлять запросы в непредусмотренное место. 7) XXE injection - Внедрение внешнего объекта XML (также известное как XXE) — это уязвимость веб-безопасности, позволяющая злоумышленнику вмешиваться в обработку XML-данных приложением. Это часто позволяет злоумышленнику просматривать файлы в файловой системе сервера приложений ## Client-side 1) XSS - это уязвимость веб-безопасности, которая позволяет злоумышленнику скомпрометировать взаимодействие пользователей с уязвимым приложением 2) Cross-site request forgery (CSRF) - это уязвимость веб-безопасности, которая позволяет злоумышленнику побуждать пользователей выполнять действия, которые они не намерены выполнять. 3) Clickjacking — это атака на основе интерфейса, при которой пользователя обманом заставляют щелкнуть нужный контент на скрытом веб-сайте 4) WebSockets - широко используются в современных веб-приложениях. Они инициируются через HTTP и обеспечивают долгоживущие соединения с асинхронной связью в обоих направлениях ## Сканеры: xspiders maxpatrol nmap nesus # LolBins/Lolbas https://lolbas-project.github.io Компоненты операционной системы, наиболее часто используемые злоумышленниками в атаках. 1) **PowerShell** — программный движок и скриптовый язык с интерфейсом командной строки. Он ожидаемо является наиболее часто используемым злоумышленниками легитимным инструментом, несмотря на все попытки Microsoft сделать его более безопасным и контролируемым. PowerShell пытались эксплуатировать в 3,3% всех инцидентов, выявленных нашим сервисом MDR. При этом если посмотреть только на критические инциденты, то видно, что PowerShell засветился в каждом пятом из них (точнее — в 20,3%). 2) **rundll32.exe** — хост-процесс rundll32, который служит для запуска кода из динамически подключаемых библиотек (DLL). Он был задействован в 2% от всех и в 5,1% критических инцидентов. 3) **te.exe** — часть фреймворка автотестирования Test Authoring and Execution Framework 4) **PsExec.exe** — инструмент, позволяющий запускать процессы на удаленных системах. 5) **CertUtil.exe** — инструмент для работы с информацией от центров сертификации. 6) **Reg.exe** — файл Microsoft Registry Console Tool, позволяющий из командной строки менять и добавлять ключи в системный реестр. 7) **wscript.exe** — сервер сценариев Windows, предназначенный для запуска сценариев на скриптовых языках. 8) **Cmd.exe** 9) **Explorer.exe** Инкапсуляция данных - это процесс, в котором некоторая дополнительная информация добавляется к элементу данных, чтобы добавить к нему некоторые функции. В нашей сети мы используем модель OSI или TCP/IP, и в этих моделях передача данных происходит через различные уровни. Инкапсуляция данных добавляет к данным информацию протокола, чтобы передача данных могла происходить надлежащим образом. Эта информация может быть добавлена в заголовок (header) или в конец (footer или trailer) данных. ## Процесс и поток Что такое процесс против потока? Процесс означает, что программа выполняется, а поток означает сегмент процесса. Процесс не является легковесным, тогда как потоки - легковесными. … Процесс в основном изолирован, тогда как потоки разделяют память. Процесс не обменивается данными, а потоки обмениваются данными друг с другом. В чем разница между потоком процесса и задачей? Разница между потоком и процессом заключается в том, что когда ЦП переключается с одного процесса на другой, текущая информация должна быть сохранена в дескрипторе процесса и загружена информация о новом процессе. Переключиться с одного потока на другой просто. Задача - это просто набор инструкций, загруженных в память. ### Винда и линукс В среде Microsoft Windows процесс, – это контейнер для потоков (именно этими словами о процессах говорит Джефри Рихтер в своей классической книге «Программирование приложений для Microsoft Windows»). Процесс-контейнер содержит как минимум один поток. Если потоков в процессе несколько, приложение (процесс) становится многопоточным. В мире Linux все выглядит иначе. В Linux каждый поток является процессом, и для того, чтобы создать новый поток, нужно создать новый процесс. В чем же, в таком случае, заключается преимущество многопоточности Linux перед многопроцессностью? В многопоточных приложениях Linux для создания дополнительных потоков используются процессы особого типа. Эти процессы представляют собой обычные дочерние процессы главного процесса, но они разделяют с главным процессом адресное пространство файловые дескрипторы обработчики сигналов