init
@@ -0,0 +1,7 @@
|
||||
%% Zoottelkeeper: Beginning of the autogenerated index file list %%
|
||||
[[English/dictionary|dictionary]]
|
||||
[[English/Homework|Homework]]
|
||||
[[English/Infinitives and -ing forms|Infinitives and -ing forms]]
|
||||
[[English/Modal verbs|Modal verbs]]
|
||||
[[English/Preposition|Preposition]]
|
||||
%% Zoottelkeeper: End of the autogenerated index file list %%
|
||||
@@ -0,0 +1,7 @@
|
||||
Nowadays, there are many ways to always be in contact: using messengers like Telegram or Signal or watching somebody's social networks. There are both advantages and disadvantages to always being online.
|
||||
|
||||
No one can deny that mobile networks and calls are very important today, they allow you to solve problems immediately: call the police or ambulance, write messages to parents or classmates. On the one hand, mobile phones allow you to pay with NFC and have fast contact with friends, parents, government structures, or businesses.
|
||||
|
||||
On the other hand, the big part of mobile phone users are the target for hackers and cheaters, who can easily steal your personal data, money, and accounts. Although it is true that a mobile phone is necessary nowadays, we should also remember that the Internet is a big danger to your finances and privacy.
|
||||
|
||||
In conclusion, even though a mobile phone can be helpful when you have a problem, it is necessary to protect your device using antivirus and protect your personal data (you can find some simple but useful advice on the Internet).
|
||||
@@ -0,0 +1,7 @@
|
||||
1. Некоторые глаголы могут сопровождаться инфинитивом с **to** или **-ing** формой, но с изменением смысла:
|
||||
1. They stopped talking when the teacher came in. (Они перестали разговаривать когда вошел учитель)
|
||||
2. I saw my friend in town and stopped to talk to him. (Я увидел моего друга в городе и остановился поговорить с ним)
|
||||
2. Глаголы *feel, hear, see, watch* сопровождаются: **объект + инфинитив без *to* для завершенных действий** и **объект + -ing** для действий, которые происходят в моменте
|
||||
1. I watched him open the door. (Я увидел как он открывает дверь)
|
||||
2. I watched him walking down the street. (Я увидел его идущим вниз по улице)
|
||||
3. Мы можем использовать **-ing*** форму так же как и обычные существительные, так же как дополнение или подлежащеею
|
||||
@@ -0,0 +1,15 @@
|
||||
*at:* not at all (совсем нет), at last (наконец), at fault (по вине, виновный), at once (сразу же), at stake (на кону), at first (по началу)
|
||||
|
||||
*by:* by mistake (по ошибке), by accident (по случайности)
|
||||
|
||||
*for:* for the time being (пока что), for good (навсегда), for now (на данный момент), for one thing (с одной стороны)
|
||||
|
||||
*in* in control (тот, кто контролирует), in doubt (в сомнениях), in the wrong (неправ), in any case (в любом случае), in that case (в таком случае), in common (иметь что-то общее), in fact (в действительности), in trouble (в проблемной ситуации)
|
||||
|
||||
*on* one the one hand ... on the other hand (с одной стороны ... с другой стороны)
|
||||
on second thoughts (хотя), on the whole (в целом), on purpose (специально, нарочно)
|
||||
|
||||
*under* under arrest (под арестом), under control (под контролем), under the impression (под впечатлением), under pressure (под давлением), under age (младше по возрасту),
|
||||
|
||||
*of* to be of interest (быть интересным), of course (конечно)
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
rude - грубый
|
||||
staring - вглядываться
|
||||
argue - спорить
|
||||
whisper - шептать
|
||||
purpose - цель *(done it on purpose - делать это нарочно)*
|
||||
whole - целое
|
||||
impression - впечатление, отпечаток
|
||||
prairie - прерии
|
||||
restricted - ограничен
|
||||
marshy - болота
|
||||
flood - топить
|
||||
plains -
|
||||
meadow - луг
|
||||
browse - щипать (щипать траву)
|
||||
huckleberry - голубика
|
||||
shrub - кустарник
|
||||
harsh - грубый, жесткий, неблагоприятный
|
||||
leaf - лист
|
||||
solution - Решение (раствор)
|
||||
carry - нести
|
||||
carrying out - проводить\выполнять
|
||||
amused - забавно\довольны
|
||||
respond - отвечать (инфинитив)
|
||||
combat - преступность
|
||||
involved - включать в себя
|
||||
to mug - уличная кража
|
||||
rape - изнасилование
|
||||
proxy - примерно, приблизительно
|
||||
approxymately - приблизительно
|
||||
coincidence - совпадение
|
||||
effort - усилие, попытка
|
||||
deter - отталкивать
|
||||
circumstances - обстоятельства
|
||||
|
||||
|
||||
**Human sounds**
|
||||
Clear your throat - звук прочистки горла, почти как кашель
|
||||
cough (коф) - кашель
|
||||
gasp - вздохи от удивления
|
||||
hiccup (хиккап) - икать
|
||||
sigh (сай) - выдох (из-за усталости, облегчения, неодобрения)
|
||||
slurp - звук облизования (чего-то мокрого, такого так лапша)
|
||||
sneeze - чихать
|
||||
sniff - принюхиваться \ вдыхать при насморке
|
||||
snore - храп
|
||||
tut - цоканье
|
||||
|
||||
@@ -0,0 +1,228 @@
|
||||
---
|
||||
|
||||
excalidraw-plugin: parsed
|
||||
tags: [excalidraw]
|
||||
|
||||
---
|
||||
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠== You can decompress Drawing data with the command palette: 'Decompress current Excalidraw file'. For more info check in plugin settings under 'Saving'
|
||||
|
||||
|
||||
# Excalidraw Data
|
||||
|
||||
## Text Elements
|
||||
%%
|
||||
## Drawing
|
||||
```compressed-json
|
||||
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
|
||||
```
|
||||
%%
|
||||
@@ -0,0 +1,3 @@
|
||||
%% Zoottelkeeper: Beginning of the autogenerated index file list %%
|
||||
[[Excalidraw/Drawing 2026-05-05 21.04.57.excalidraw|Drawing 2026-05-05 21.04.57.excalidraw]]
|
||||
%% Zoottelkeeper: End of the autogenerated index file list %%
|
||||
@@ -0,0 +1,6 @@
|
||||
%% Zoottelkeeper: Beginning of the autogenerated index file list %%
|
||||
[[L1/Как устроены ALERT в SIEM|Как устроены ALERT в SIEM]]
|
||||
[[L1/Средства защиты и мониторинга/Средства защиты и мониторинга|Средства защиты и мониторинга]]
|
||||
[[L1/Теория/Теория|Теория]]
|
||||
[[L1/photos/photos|photos]]
|
||||
%% Zoottelkeeper: End of the autogenerated index file list %%
|
||||
|
After Width: | Height: | Size: 580 KiB |
|
After Width: | Height: | Size: 206 KiB |
@@ -0,0 +1,19 @@
|
||||
![[Pasted image 20251117200258.png]]
|
||||
|
||||
| № | объект | описание | пример |
|
||||
| --- | -------------------- | --------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
|
||||
| 1 | Время предупреждения | Показывает время создание алерта, обычно на несколько минут позже события | Alert time: March 21, 15:32 |
|
||||
| 2 | Название | Коротко описывает суть произошедего, основываясь на названии политик | Необычные локации логина, письма фишинга, подбор паролей, утечки |
|
||||
| 3 | Важность | Основывается на срочности, обычно устанавливается инженером по обнаружению. | - (green) Low / Informational<br>- (yellow) Medium / Moderate<br>- (orange) High / Severe<br>- (Red) Critical / Urgent |
|
||||
| 4 | Статус | Информирует о том, что кто-то на данный момент работает | - (🆕) New / Unassigned<br>- (🔄) In Progress / Pending<br>- (✅) Closed / Resolved |
|
||||
| 5 | Вердикт | По-другому классификация, помечает реальность угрозы. | - (🔴) True Positive / Real Threat<br>- (🟢) False Positive / No Threat |
|
||||
| 6 | Ответсвенный | Показывает прикрепленного аналитика, оценивающего алерт | |
|
||||
| 7 | Описание | Описывает что случилось подробнее | Логика создания аллерта, почему помечено как атака |
|
||||
| 8 | Уточнения | Коментарий аналитика, то, что стриггирило предупреждение | Хостнейм, команда и т.д. |
|
||||
## Структура репорта
|
||||
1. ***Кто*** - какой юзер
|
||||
2. ***Что*** - что произошло
|
||||
3. ***Когда*** - когда действие началось и закончилось
|
||||
4. ***Где*** - устройство, IP, сайт и т.д
|
||||
5. ***Почему*** - Самое главное для описание вердикта
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
***EDR (Endpoint Direction & Responce)*** непрерывно отслеживает данные об угрозах на рабочих станциях и других конечных устройствах. Задача EDR - выявлять бреши в защите в режиме реального времени и оперативно реагировать на потенциальные угрозы.
|
||||
Содержит в себе такие полезные функции:
|
||||
- сбор артефактов, нетипичных журналов событий из системы
|
||||
- интерактивный веб-шелл для выполнения удаленно команд на хосте
|
||||
- возможно удаленно и централизовано настраивать аудит событий или фильтрацию
|
||||
|
||||
На сегодняшний день наиболее эффективны коммерческие решения EDR, но так же есть Open-source EDR решение, например [SOLDR](https://vxcontrol.com/) или [Wazuh](https://wazuh.com/).
|
||||
@@ -0,0 +1,21 @@
|
||||
***SIEM (Security Information Event Manager)*** - система управления информацией и событиями в системе безопасности.
|
||||
|
||||
Помогает объединить в одной точке данные об инцидентах ИБ. Система собирает информацию из журналов событий средств защиты, сетевого оборудования, рабочих станций сотрудников и других ресурсов - тем самым исключает необходимость проверять их по отдельности и снижает риск возникновения слепых зон.
|
||||
|
||||
Какие задачи решает SIEM?
|
||||
- преобразование данных (нормализация) из различных источников в единообразный и пригодный для обработки формат;
|
||||
- мониторинг и консолидация событий безопасности со всех систем и устройств в корпоративной сети;
|
||||
- обогащение данных о событиях связанной информацией из других ресурсов;
|
||||
- регистрация инцидентов на основе заданных правил корреляции - взаимосвязей между событиями и их цепочками, в том числе из разных источников;
|
||||
- информирование оператора об инциденте через чат-бота, email, уведомление или другими способами;
|
||||
- хранение исторических данных о всех событиях ИБ и поддержка при расследовании инцидентов;
|
||||
- анализ и управление рисками безопасности, проверка на соответствие стандартам и требованиям регуляторов;
|
||||
- формирование отчетных документов для внутренних целей и контролирующих органов.
|
||||
|
||||
***Компоненты SIEM***
|
||||
- агенты, устанавливаемые на инспектируемую информационную систему
|
||||
- коллекторы на агентах, которые по сути, представляют собой модули (библиотеки) для понимания конкретного журнала событий или системы.
|
||||
- серверы - коллекторы, предназначенные для предварительной аккумуляции событий от множества источников
|
||||
- сервер-коррелятор, отвечающий за сбор информации от коллекторов и агентов, обработку по правилам и алгоритмам корреляции
|
||||
- сервер без данных и хранилища, отвечающий за хранение журналов событий.
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
***TIP (Threat Intelligence Platform)*** - средство обработки входящего Threat Intelligence(TI)
|
||||
|
||||
***TI*** содержит в себе совокупность индикаторов компрометаци(Indicator Of Compromise)
|
||||
@@ -0,0 +1,5 @@
|
||||
%% Zoottelkeeper: Beginning of the autogenerated index file list %%
|
||||
[[L1/Средства защиты и мониторинга/EDR|EDR]]
|
||||
[[L1/Средства защиты и мониторинга/SIEM|SIEM]]
|
||||
[[L1/Средства защиты и мониторинга/TIP|TIP]]
|
||||
%% Zoottelkeeper: End of the autogenerated index file list %%
|
||||
@@ -0,0 +1,10 @@
|
||||
Цепочка состоит из этапов:
|
||||
- Разведка
|
||||
- Вооружение
|
||||
- Доставка
|
||||
- Эксплуатация
|
||||
- Установка
|
||||
- Управление и контроль (Command and Control, C&C, C2)
|
||||
- Достижение конечной цели
|
||||
|
||||
![[rus 1.2 Обзор целеи_ злоумышленников, стандартные сценария поведения и этапы — горизонтально.png]]
|
||||
@@ -0,0 +1,17 @@
|
||||
В отличие от Kill Chain, MITRE ATT&CK описывает конкретные технические детали действий, выполняемых над целью, и связывает их в общую тактику.
|
||||
|
||||
Всего описано 14 тактик:
|
||||
- разведка (Reconnaissance)
|
||||
- подготовка ресурсов (Resource Development)
|
||||
- первоначальный доступ (Initial Acces)
|
||||
- выполнение (Execution)
|
||||
- закрепление в системе (Persistance)
|
||||
- повышение привилегий (Privelege Escalation)
|
||||
- обход систем защиты (Defence Evasion)
|
||||
- доступ к учетным данным (Credential Acces)
|
||||
- исследование (Discovery)
|
||||
- дальнейшее перемещение (Lateral Movement)
|
||||
- сбор данных (Collect)
|
||||
- Управление и контроль (C&C, C2)
|
||||
- эксфильтрация данных (Exfiltration)
|
||||
- воздействие (impact)
|
||||
@@ -0,0 +1,48 @@
|
||||
#### Угрозы по месту
|
||||
***Внутренние***. Связаны с уязвимостями, заложенными в самой системе или компонентах, то есть без участия человека. Пример: уязвимость в ПО или аппаратуре, которую могут использовать злоумышленники.
|
||||
|
||||
***В пределах видимости***. Включают перехватывающую и прослушивающую аппаратуру, кражу данных с физических носителей (флешек, жестких дисков и т.п.), камер наблюдения и другого оборудования и устройств.
|
||||
|
||||
***Внешние***. Происходят извне - например, через каналы связи. К таким угрозам относятся атаки хакеров, попытки взлома, фишинг, социальная инженерия и другие методы атак.
|
||||
|
||||
#### Угрозы по видимости
|
||||
***Активные***. Это прежде всего внесение изменений в систему. Это может быть внедрение вредоносного ПО, изменение конфигурации системы или повреждение данных.
|
||||
|
||||
***Пассивные***. Зачастую даже более опасные, поскольку они незаметны, т.е происходят без внесения видимых изменений в информационные журналы (логи)
|
||||
|
||||
#### Угрозы по доступу
|
||||
|
||||
**Несанкционированный доступ.** Попытка получения доступа без разрешения или авторизации. Например, когда сотрудник компании пытается получить нежелательный доступ к конфиденциальным данным, используя чужие учетные данные. В этом случае можно обнаружить подозрительную активность — несколько неудачных попыток ввода пароля — и заблокировать доступ.
|
||||
|
||||
**Утечка или повреждение данных.** Происходит в результате ошибочных или неправомерных действий сотрудника с доступом. В таком случае сотрудник компании преднамеренно или непреднамеренно нарушает правила ИБ и вызывает утечку или повреждение данных либо всей системы. Пример такой угрозы — когда сотрудник компании случайно удаляет важные файлы или программу, что приводит к потере данных и нарушению работы системы.
|
||||
|
||||
#### Угрозы по цели
|
||||
|
||||
**Угрозы данным.** Попытки несанкционированного доступа с целью кражи данных или их изменения, порчи, удаления.
|
||||
|
||||
**Угрозы программной среде.** Атаки на программное обеспечение, попытки внедрения вредоносного ПО или изменения программных компонентов.
|
||||
|
||||
**Угрозы аппаратному обеспечению.** Физическое повреждение оборудования, кража или неправомерный доступ к аппаратным компонентам.
|
||||
|
||||
**Угрозы поддерживающей инфраструктуре.** Атаки на сетевую инфраструктуру, серверы и базы данных.
|
||||
|
||||
#### Угрозы по объективности
|
||||
|
||||
Классификация угроз информационной безопасности по уровню объективности включает объективные, субъективные и случайные угрозы.
|
||||
|
||||
**К объективным относятся:**
|
||||
|
||||
- технические средства излучения, например, электромагнитные, звуковые, электрические;
|
||||
- активируемые угрозы — вредоносное ПО и бэкдоры, программные «закладки» и закладки аппаратуры;
|
||||
- особенности объекта — его расположение, наличие контролируемой зоны, каналов обмена информацией;
|
||||
- особенности носителей, например, электроакустические модификации, детали под воздействием электромагнитных полей и т.д.
|
||||
|
||||
**Субъективные угрозы включают:**
|
||||
|
||||
- ошибки при установке ПО и в процессе эксплуатации;
|
||||
- повреждение данных или ненадлежащая работа с ними — неправильная работа с личными данными, нарушения режима защищенности, преобразование или уничтожение данных.
|
||||
|
||||
**К случайным угрозам относят:**
|
||||
|
||||
- сбои и отказы в работе корпоративной инфраструктуры;
|
||||
- неисправность, повреждения сетевых коммуникаций или систем киберзащиты.
|
||||
@@ -0,0 +1,21 @@
|
||||
***Конфиденциальность*** - сохранение целостности, защиты от утечки сведений, которые не предназначены для общего использования и несут интеллектуальную, экономическую ценность для обладателя.
|
||||
|
||||
Отвечает на следующие вопросы:
|
||||
- Насколько защищена информация?
|
||||
- Насколько она должна быть защищена?
|
||||
К механизмам защиты конфиденциальности относятся шифрование, пароли, аутентификация, брандмауэра и т.д.
|
||||
Так же в этот раздел попадает физическая защита.
|
||||
|
||||
***Целостность*** - состояние информации, при котором отсутствует любое её изменение, либо изменение осуществляется только преднамеренно субъектами, имеющими на него права.
|
||||
|
||||
Для определения целостности информации можно использовать следующие вопросы:
|
||||
- Насколько верна информация?
|
||||
- Была ли она изменена или повреждена?
|
||||
Хеширование, цифровые подписи и контрольные суммы помогают отслеживать и проверять целостность.
|
||||
|
||||
***Доступность*** - возможность своевременного и надёжного использования информации или сервисов.
|
||||
Отвечает на вопрос "Всегда ли данные, которые должны быть доступны пользователю, доступны?"
|
||||
К категории доступности также относятся стратегии резервного копирования и аварийного восстановления данных в случае повреждения или утраты.
|
||||
|
||||
|
||||
Следует заметить, что в зависимости от задач бизнеса фокус может смещаться, например, в некоторых случаях компании важнее доступность информации, нежели её конфиденциальность.
|
||||
@@ -0,0 +1,6 @@
|
||||
Злоумышленник нацелен на следующие данные:
|
||||
- Доменные имена,
|
||||
- Почтовые адреса сотрудников
|
||||
- Соцсети организации или ее сотрудников
|
||||
- Исходный код из репозиториев в системах контроля версий
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
***Honeytoken*** - ложная информация, которая размещается в системе или на сайте компании, что бы привлечь внимание злоумышленников и определить факт НСД к ланным. Может быть представлен в виде фиктивных учеток, файлов или документов, которые содержат ложную информацию.
|
||||
|
||||
Зачастую honeytoken является частью honeypot систем.
|
||||
***Honeypot*** - это система или сеть, которая создается с целью привлечения злоумышленников и анализа их действийю Она имитирует слабые места, могут заинтересовать потенциальных нарушителей безопасности.
|
||||
|
||||
Размещение Honeytoken'ов в организации, как правило, включает в себя несколько шагов:
|
||||
1. Создание Honeytoken в зависимости от эмулируемых данных (например, поддомен организации)
|
||||
2. Honeytoken размещается на рессурсе внешнего периметра организации, например, поддельные учетные данные используемые для удаленного доступа к высокочувствительным рессурсам, намеренно размещаются в обсуждении на форуме.
|
||||
3. Систему управления honeytoken связывают с IDS или SIEM.
|
||||
4. После срабатывания оповещения вступает в силу план реагирования на инциденты организации.
|
||||
5. Данные, собраные в результате анализа события срабатывания обнаружения, затем могут быть использованы для принятия мер безопасности. Информация, полученная в результате использования дает преставление о частях сети, подвергающихся наибольшему риску, а так же о типах инструментов, необходимых для защиты этих областей.
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
%% Zoottelkeeper: Beginning of the autogenerated index file list %%
|
||||
[[L1/Теория/Обнаружение OSINT'a/DNS Canarytoken|DNS Canarytoken]]
|
||||
[[L1/Теория/Обнаружение OSINT'a/Honeytoken|Honeytoken]]
|
||||
%% Zoottelkeeper: End of the autogenerated index file list %%
|
||||
@@ -0,0 +1,8 @@
|
||||
#### Классификация хакеров по типу их намерений
|
||||
**Хактивисты** - люди, взламывающие системы в знак протеста, что бы дать отпор предполагаемой политической или социальной несправедливости. Часто пытаются разоблачить государственные или корпоративные преступления путем взлома защищенных систем и раскрытия секретной информации.
|
||||
|
||||
**Группировки, спонсируемые государством (APT - Advanced Persistent Threat)** - хакеры, спонсируемые государством. Как и black-hat, так и white-hat.
|
||||
|
||||
**Информатор (Злонамеренный инсайдер)** - тот, кто работает в организации и решает раскрыть информацию или украсть ее изнутри. Известным примером инсайдера является Эдвард Сноуден, который обнародовал секретную информацию, полученную во время его работы в АНБ, чтобы раскрыть программы массовой слежки со стороны правительства США.
|
||||
|
||||
**Скрипт-кидди или хакеры в зеленых шляпах** - неопытные хакеры, которые стремятся стать белыми или черными шляпами - зеленые шляпы, а скрипт кидди используют соц. инженерию и скрипты других хакеров.
|
||||
@@ -0,0 +1,14 @@
|
||||
Риск является центральной точкой другой триады: **угрозы, уязвимости и активы**
|
||||
Если у вас нет ничего, что может быть украдено, то скорее всего вы ничем не рискуете. Если ваша система безупречна (вспомним сервер на подводной лодке), то уязвимостей нет. Если никому не нужны ваши активы или нет способов для их кражи, то вы свободны от угроз.
|
||||
|
||||
***Актив*** - ресурсы, которыми владеет или контролирует бизнес, в материальной или нематериальной форме, используемый для создания экономической выгоды.
|
||||
- Информация или данные
|
||||
- сетевое оборудование
|
||||
- серверы\компьютеры
|
||||
- ПО
|
||||
- персонал
|
||||
- процессы
|
||||
|
||||
***Уязвимость*** - недостаток программно-технического средства или информационной системы в целом, который может быть использован для реализации угроз безопасности информации. Эти уязвимости являются внутренними факторами. Патчи или дополнительные меры безопасности могут устранить эти недостатки. Иногда уязвимость находится вне вашего контроля, например при использовании закрытого ПО. Задача инженера ИБ - компенсировать эти слабости.
|
||||
|
||||
***Угроза*** - это любое состояние, которое может привести к краже, потере, повреждению или компроментации актива. К угрозам относятся стихийные бедствия, кибераткаи или вредоносное ПО.
|
||||
@@ -0,0 +1,9 @@
|
||||
%% Zoottelkeeper: Beginning of the autogenerated index file list %%
|
||||
[[L1/Теория/Cyber Kill Chain|Cyber Kill Chain]]
|
||||
[[L1/Теория/MITRE ATT&CK|MITRE ATT&CK]]
|
||||
[[L1/Теория/Классификация угроз|Классификация угроз]]
|
||||
[[L1/Теория/Концепты информационной безопасности (КЦД)|Концепты информационной безопасности (КЦД)]]
|
||||
[[L1/Теория/Обнаружение OSINT'a/Обнаружение OSINT'a|Обнаружение OSINT'a]]
|
||||
[[L1/Теория/Основные понятия|Основные понятия]]
|
||||
[[L1/Теория/Риски|Риски]]
|
||||
%% Zoottelkeeper: End of the autogenerated index file list %%
|
||||
@@ -0,0 +1 @@
|
||||
3.10
|
||||
@@ -0,0 +1,3 @@
|
||||
%% Zoottelkeeper: Beginning of the autogenerated index file list %%
|
||||
[[Programming/C/Основы языка С|Основы языка С]]
|
||||
%% Zoottelkeeper: End of the autogenerated index file list %%
|
||||
@@ -0,0 +1,68 @@
|
||||
# Переменные
|
||||
|
||||
**Переменные** имеют тип, имя и значение.
|
||||
Перед использованием необходимо объявить.
|
||||
```C
|
||||
int var;
|
||||
```
|
||||
|
||||
Нельзя использовать данные имена, так как они являются зарезервированныыми. **`break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, while`.**
|
||||
|
||||
Что бы присвоить значение, нужно написать:
|
||||
```C
|
||||
var = 1;
|
||||
```
|
||||
Как пример кода
|
||||
```C
|
||||
#include <stdio.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
int number;
|
||||
number = 2;
|
||||
printf("%d", number);
|
||||
return 0
|
||||
}
|
||||
```
|
||||
|
||||
Но и при определении тоже можно указать значение:
|
||||
```C
|
||||
int var = 1;
|
||||
```
|
||||
Или сразу можно инициировать сразу несколько:
|
||||
```C
|
||||
int var1 =1, var2 = 2, var3 = 3;
|
||||
```
|
||||
|
||||
|
||||
# Типы данных
|
||||
|
||||
|
||||
| Тип данных | Описанеие | Суффикс |
|
||||
| ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- |
|
||||
| **char** | Один символ, 1 байт | |
|
||||
| **unsigned char** | Один символ, 1 байтб любое значение от 0 до 255 | |
|
||||
| **signed char** | Один символ, 1 байт, от -128 до 127 | |
|
||||
| **short (short int, signed short и signed short int)** | 2 байта в памяти, число в диапазоне –32768 до 32767. | |
|
||||
| **unsigned short** | 2 байта в памяти, целое число в диапазоне от 0 до 65535 | |
|
||||
| **Int** | представляет целое число. В зависимости от архитектуры процессора может занимать 2 байта (16 бит) или 4 байта (32 бита). Если брать основные платформы - 64-разрядные Windows, Linux (вместе с Android) и MacOS, то размер int составляет 4 байта. Диапазон предельных значений соответственно также может варьироваться от –32768 до 32767 (при 2 байтах) или от −2 147 483 648 до 2 147 483 647 (при 4 байтах) и выше. | |
|
||||
| **unsigned int** | представляет положительное целое число. В зависимости от архитектуры процессора может занимать 2 байта (16 бит) или 4 байта (32 бита), и из-за этого диапазон предельных значений может меняться: от 0 до 65535 (для 2 байт), либо от 0 до 4 294 967 295 (для 4 байт). | u U |
|
||||
| **long** | представляет целое число и занимает в памяти 4 байта (32 бита) или 8 байт (64 бита). В зависимости от размера может находиться в в диапазоне от -2 147 483 648 до 2 147 483 647 (4 байта), либо в диапазоне от -9223372036854775807 до +9 223 372 036 854 775 807 (8 байт).<br><br>Если брать распростренные платформы, то на 64-разрядном Windows long занимает 4 байта, а на 64-разрядных Linux/MacOS - 8 байт. | |
|
||||
| **unsigned long** | представляет целое число и занимает в памяти 4 байта (32 бита) или 8 байт (64 бита). В зависимости от размера может находиться в в диапазоне от 0 до 4 294 967 295 (4 байта) или в диапазоне от 0 до 18 446 744 073 709 551 615 (8 байт). | ul UL |
|
||||
| **long long** | представляет целое число в диапазоне от -9223372036854775807 до +9 223 372 036 854 775 807. Занимает в памяти, как правило, 8 байт (64 бита). | ll LL |
|
||||
| **unsigned long long** | представляет целое число в диапазоне от 0 до 18 446 744 073 709 551 615. Занимает в памяти, как правило, 8 байт (64 бита). | ull ULL |
|
||||
| **float** | представляет вещественное число одинарной точности с плавающей точкой в диапазоне +/- 3.4E-38 до 3.4E+38. В памяти занимает 4 байта (32 бита) | |
|
||||
| **double** | представляет вещественное число двойной точности с плавающей точкой в диапазоне +/- 1.7E-308 до 1.7E+308. В памяти занимает 8 байт (64 бита) | |
|
||||
| **long double** | представляет вещественное число двойной точности с плавающей точкой в диапазоне +/- 3.4E-4932 до 1.1E+4932. В памяти занимает 10 байт (80 бит). На некоторых системах может занимать 96 и 128 бит. | |
|
||||
| **void** | без обозначения | |
|
||||
# Вывод в консоль
|
||||
|
||||
|
||||
| Тип данных | Спецификация |
|
||||
| ------------------------------------- | ------------ |
|
||||
| char | %c |
|
||||
| string | %s |
|
||||
| int (cо знаком) | %d |
|
||||
| int (со знаком) | %i |
|
||||
| целые положительные числа<br>unsigned | %u |
|
||||
| | |
|
||||
@@ -0,0 +1,11 @@
|
||||
%% Zoottelkeeper: Beginning of the autogenerated index file list %%
|
||||
[[Programming/ML/biology_neuron.excalidraw|biology_neuron.excalidraw]]
|
||||
[[Programming/ML/math_neuron.excalidraw|math_neuron.excalidraw]]
|
||||
[[Programming/ML/Pytorch basics|Pytorch basics]]
|
||||
[[Programming/ML/pytorch база|pytorch база]]
|
||||
[[Programming/ML/Гиперпараметры|Гиперпараметры]]
|
||||
[[Programming/ML/Градиентный спуск|Градиентный спуск]]
|
||||
[[Programming/ML/Линейная регрессия|Линейная регрессия]]
|
||||
[[Programming/ML/Работа с числовыми данными|Работа с числовыми данными]]
|
||||
[[Programming/ML/Структура обучения|Структура обучения]]
|
||||
%% Zoottelkeeper: End of the autogenerated index file list %%
|
||||
@@ -0,0 +1,29 @@
|
||||
## Подготовка данных
|
||||
|
||||
По мимо подготовки датасета реализуется 2 обязательных класса:
|
||||
1. Обязательный класс. В него мы подаем путь до датасета и трансформации, которые необходимо провести.
|
||||
```python
|
||||
dataset = DatasetNameDataset(path=.... , transforms=....)
|
||||
```
|
||||
Вот так выглядит сам класс:
|
||||
```python
|
||||
class DatasetNameDataset(Dataset): # название класса
|
||||
def __init__(self, *args, **kwargs) # инициализация
|
||||
|
||||
def __len__(self):
|
||||
pass # Вот тут функционал поиска длины датасета
|
||||
|
||||
def __getitem__(self, index):
|
||||
pass # Функционал поиска по индексу, где мы должны получить в ответе данные и ответ к ним (sample, target)
|
||||
```
|
||||
2. Класс pytorch DataLoader
|
||||
```python
|
||||
DataLoader(dataset=dataset, batch_size=BATCH_SIZE, shuffle=False)
|
||||
```
|
||||
где:
|
||||
- **dataset*** - наш датасет
|
||||
- **batch*** - 'пакет' из ***BATCH_SIZE*** чилса данных и ответов к ним.
|
||||
- **shuffle*** - либо разрешаем либо запрещаем перемешивать данные при каждой итерации
|
||||
|
||||
И для задач классификации, ровно как и для задач регрессии, данные классы идентичны.
|
||||
**НО** различаются они только тем, какие именно данные в них подаются и какой ответ мы получаем.
|
||||
@@ -0,0 +1,127 @@
|
||||
---
|
||||
|
||||
excalidraw-plugin: parsed
|
||||
tags: [excalidraw]
|
||||
|
||||
---
|
||||
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠== You can decompress Drawing data with the command palette: 'Decompress current Excalidraw file'. For more info check in plugin settings under 'Saving'
|
||||
|
||||
|
||||
# Excalidraw Data
|
||||
|
||||
## Text Elements
|
||||
Тело нейрона ^TPR6MpRV
|
||||
|
||||
Дендриты ^xFsgboCE
|
||||
|
||||
По ним сигнал от других
|
||||
неронов приходит ^8GqxhI09
|
||||
|
||||
Аксон ^Nj46eXgx
|
||||
|
||||
Он передает сигнал
|
||||
другим нейронам ^OLSF2nzN
|
||||
|
||||
Синапсы ^ILxPZehY
|
||||
|
||||
Аксоны других нейронов ^PpieQyfU
|
||||
|
||||
Место соприкосновения
|
||||
дендрита и аксона ^MNC8k2qA
|
||||
|
||||
%%
|
||||
## Drawing
|
||||
```compressed-json
|
||||
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
|
||||
```
|
||||
%%
|
||||
@@ -0,0 +1,710 @@
|
||||
---
|
||||
|
||||
excalidraw-plugin: parsed
|
||||
tags: [excalidraw]
|
||||
|
||||
---
|
||||
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠== You can decompress Drawing data with the command palette: 'Decompress current Excalidraw file'. For more info check in plugin settings under 'Saving'
|
||||
|
||||
|
||||
# Excalidraw Data
|
||||
|
||||
## Text Elements
|
||||
Сумматор ^eoXigQE7
|
||||
|
||||
Входы ^c6LNyn5Z
|
||||
|
||||
Выход ^Reatmwcx
|
||||
|
||||
функция
|
||||
активации ^p1CnkaHD
|
||||
|
||||
Синаптические
|
||||
Веса ^CzCd87Gi
|
||||
|
||||
X0 ^KG7wTDwN
|
||||
|
||||
X1 ^pKqpp5NE
|
||||
|
||||
X2 ^9jdgFHlz
|
||||
|
||||
y = f(z) = f(w0*x0 + w1*x1 + w2*x2 + b) =
|
||||
= f( Wi*Xi + b) = f(<w,x> + b) ^ydZiMmwT
|
||||
|
||||
w0 ^KgPEhrJf
|
||||
|
||||
w2 ^5YsZzuIT
|
||||
|
||||
w1 ^gmIPe7en
|
||||
|
||||
b ^TA0ZpGxk
|
||||
|
||||
Смещение ^4oMkKFQ2
|
||||
|
||||
Пороговая функция активации ^Fby5rINQ
|
||||
|
||||
f(z) = ^Wtzc7elR
|
||||
|
||||
0, if z <= 0 ^2VLlX4H8
|
||||
|
||||
1, if z > 0 ^Juu93i4z
|
||||
|
||||
<w,x> + b) = 0 ^3bkWDhVu
|
||||
|
||||
x1 ^G2NuXLrN
|
||||
|
||||
x0 ^3MI8BRyG
|
||||
|
||||
w ^yqXadioN
|
||||
|
||||
Разделяющая поверхность
|
||||
нейрона линейна ^1NbMMJz8
|
||||
|
||||
Разделяющая поверхность - плоскость,
|
||||
которая задается весами w и смещением b, которая делит
|
||||
пространство возможных входных комбинаций на две части ^rou9L5MR
|
||||
|
||||
Сигмоида ^8HwMXvnR
|
||||
|
||||
σ(x) = ^4L6qPsOe
|
||||
|
||||
1 ^Nnfk13tN
|
||||
|
||||
1 + e ^txthKxIm
|
||||
|
||||
-x ^QUIpDQes
|
||||
|
||||
при ^wekvuPDB
|
||||
|
||||
x ^Uh3Bj5cp
|
||||
|
||||
∞ ^g5UCrHR2
|
||||
|
||||
1 ^YYVVBXfn
|
||||
|
||||
σ(x) ^m8YuxLqA
|
||||
|
||||
при ^6rQqQHkA
|
||||
|
||||
x ^6LqTbBdP
|
||||
|
||||
-∞ ^UGwEgn1Q
|
||||
|
||||
σ(x) ^Xl8ixRFq
|
||||
|
||||
0 ^E6NmW00n
|
||||
|
||||
0 < σ(x) < 1 ^CKGACLnw
|
||||
|
||||
x ^26s858cp
|
||||
|
||||
f(x) ^H2XGOclX
|
||||
|
||||
1 ^A2qeX3Ho
|
||||
|
||||
0 ^md9DJ92d
|
||||
|
||||
%%
|
||||
## Drawing
|
||||
```compressed-json
|
||||
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
|
||||
```
|
||||
%%
|
||||
@@ -0,0 +1,28 @@
|
||||
```python
|
||||
import torch
|
||||
|
||||
torch.zeros([x, y])
|
||||
```
|
||||
Создаст тензор наполенный нулями, где x - количество строчек, y - количество столбцов
|
||||
|
||||
```python
|
||||
torch.ones([p, x, y])
|
||||
```
|
||||
Создаст тензор наполненный единичками, где x - количество строчек, y - количество столбцов, p - количество плоскостей.
|
||||
|
||||
```python
|
||||
x = torch.Tensor([[1,2,3,4],
|
||||
[5, 6 7]])
|
||||
```
|
||||
Создание произвольного тензора
|
||||
|
||||
```python
|
||||
x.shape
|
||||
## ИЛИ
|
||||
x.size()
|
||||
```
|
||||
Получение информации о размере тензора
|
||||
```python
|
||||
x.dtype
|
||||
```
|
||||
Получение информации о типе данных тензора
|
||||
@@ -0,0 +1,10 @@
|
||||
***Сходимость*** - подбор весов и смещения для получения максимально близкого к эталонному значению предсказания.
|
||||
***Гиперпараметры*** - переменные, управляющие различными аспектами обучения.
|
||||
***Итерация*** - единоразовое обновление значений весов и смещения во время градиентного спуска.
|
||||
|
||||
1. **Скорость обучения*** - число float, которое мы задаём, влияет на скорость сходимости модели. Если скорость низкая, то может занимать много времени. Если скорость слишком высокая, то модель никогда не сойдется, а будет колебаться вокруг весов и смещения, которые снижают потери. Во время выполнения градиентного спуска, значения градиента умножаются на значения скорости.
|
||||
|
||||
2. ***Batch-size (Размер пакета)*** - определяет количество параметров, обрабатываемых моделью перед обновлением весов и смещения. Два распространённых метода получения правильного градиента в *среднем*, без необходимости просматривать каждый пример в наборе данных перед обновлением весов и смещения:
|
||||
- **Стохастический градиентный спуск (SGD)** - использует только один пример (batch-size = 1) на итерацию. При большом количестве итераций работает, но создаёт шум - вариации во время обучения, которые приводят к увеличению потерь, а не снижению. Термин *стохастический* обозначает, что пример, входящий в каждую партию, выбирается случайно.
|
||||
- ***Мини-пакетный стохастический градиентный спуск (smal-batch SGD)*** - компромисс между полным пакетом и SGD. Для *N* количества точек данных, размер пакета может быть любым числом между *1* и *N*. Модель случайно выбирает параметры, включаемые в каждый пакет, усредняет их градиенты, а затем обновляет веса и смещения *один раз за итерацию*.
|
||||
3. ***Эпоха*** - Модель обработала каждый пример в датасете для обучения *один раз*. Например, для датасета из 1000 примеров и мини-пакета из *100 примеров*, потребуется *10 итераций* для завершения *1 эпохи*.
|
||||
@@ -0,0 +1,11 @@
|
||||
***Градинет*** - вектор, своим направлением указывающий направление наискорейшего роста некоторой скалярной величины.
|
||||
|
||||
***Градиентный спуск*** - математический метод, который итеративно находит веса и смещения, обеспечивающие модель с наименьшей функцией потерь. Градиентный спуск находит оптимальные веса и смещения, повторяя процесс заданное количество итераций.
|
||||
|
||||
Происходит это по данному алгоритму:
|
||||
1. Расчет потерь при текущем весе (m) и смещении (b)
|
||||
2. Определение направления перемещения весов (m) и смещения (b), что бы уменьшить потери
|
||||
3. Слегка изменить значение веса и смещения в направлении, которое было определено.
|
||||
4. Повтор алгоритма до тех пор, пока значение потерь не уменьшится еще меньше.
|
||||
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
**Линейная регрессия*** - статистический метод, используемый для поиска взаимосвязи между переменными. В контексте машинного обучения линейная регрессия находит взаимосвязь между признаками и меткой.
|
||||
***Пример*** - значения одной строки с признаками и подписью. Примеры в контролируемом машинном обучении делятся на 2 основные категории:
|
||||
1. Подписанные примеры состоят из одного или более признака с подписью. Используются для обучения.
|
||||
2. Не подписанные примеры состоят из одного или более признака, но без подписи. Используются для получения вывода.
|
||||
Подписанные и не подписанные примеры:
|
||||
![[Pasted image 20260104121346.png]]
|
||||
***Признак (особенность)*** - вводная переменная машинного обучения. **Пример*** содержит в себе один или более признаков.
|
||||
***Метка (подпись)*** - в контексте машинного обучения, показывает ответ для **Примера***.
|
||||
Допустим. в случае обучения модели на фильтрацию спама, метка будет указывать, является ли данный пример спамом или нет.
|
||||
|
||||
## Уравнение линейной регрессии
|
||||
В алгебраических терминах модель будет определяться как:
|
||||
``` math
|
||||
y = mx + b
|
||||
```
|
||||
где:
|
||||
- y - значение, которое мы хотим предсказать
|
||||
- m - наклон прямой
|
||||
- x - входное значение
|
||||
- b - точка пересечения с осью y
|
||||
В машинном обучении мы записываем уравнение следующим образом:
|
||||
```math
|
||||
y' = b + w1*x1
|
||||
```
|
||||
где:
|
||||
- y' - прогнозируемая метка (выход)
|
||||
- b - смещение модели. (По сути пересечение с осью y в алгебраическом представлении.)
|
||||
- w1 - вес признака. То же самое понятие что и наклон в алгебраическом уравнении.
|
||||
- x1 - признак, входные данные
|
||||
В процессе обучения модель рассчитывает вес и смещение, которые позволяют получить наилучшую модель.
|
||||
![[Pasted image 20260104123038.png]]
|
||||
|
||||
А в случае если характеристик больше, уравнение будет иметь вид:
|
||||
```
|
||||
y = b + W1*X1 + W2*X2 + ... + Wn*Xn
|
||||
```
|
||||
где n - последний признак.
|
||||
|
||||
## Потеря
|
||||
***Потери*** - числовая метрика, описывающая степень неточности предсказаний модели. Потери измеряют расстояние между предсказаниями модели и фактическими метками. Цель обучение модели - минимизировать потери, сведя их к минимальному возможному значению.
|
||||
|
||||
В машинном обучении потери измеряют разницу между предсказанным значением и фактическим, фокусируясь на расстоянии, а не направлении. ***То есть берется модуль разности фактической точки и предсказанной***
|
||||
Два наиболее распространённых способа удаления знака:
|
||||
- Абсолютное значение разности фактического значения и прогноза
|
||||
- Квадрат разницы между фактическим значением и прогнозом
|
||||
|
||||
## Виды потерь
|
||||
|
||||
| Тип убытка | Определение | Уравнение |
|
||||
| ------------------------------------------------ | --------------------------------------------------------------------------------- | ---------------------------------------------- |
|
||||
| **Потеря L1** | Сумма абсолютных <br>значений разницы между <br>фактическим значением и прогнозом | $\sum\|факт - прогноз\|$ |
|
||||
| **Средняя <br>абсолютная ошибка (MAE)** | Среднее значение потери L1 для набора <br>из N параметров | $\frac{1}{N}\sum\|факт - прогноз\|$ |
|
||||
| **Потеря L2** | Сумма квадратов разностей между<br>фактическим значением и прогнозом | $\sum(факт - прогноз)^2$ |
|
||||
| **Среднеквадратическая<br>ошибка (MSE)** | Среднее значение потерь L2 для набора из N параметров | $\frac{1}{N}\sum(факт - прогноз)^2$ |
|
||||
| **Корень среднеквадратической<br>ошибки (RMSE)** | Корень для MSE | $\sqrt{\frac{1}{N} \sum \|факт - прогноз\|^2}$ |
|
||||
Главная разница L1 и L2 - возведение в степень. Если потеря большая, возведение в степень сделает ее еще больше. Если же разница маленькая (меньше 1), то степень сделает её еще меньше.
|
||||
Поэтому метрики такие как ***MAE или RMSE*** могут быть более подходящими в сравнении с L2 или MSE, так как они являются более понятными для людей, а так же они измеряют ошибку в той же шкале, что и значение прогноза модели.
|
||||
==Примечание: MAE и RMSE могут существенно различаться. MAE представляет собой среднюю ошибку прогнозирования, тогда как RMSE представляет собой «разброс» ошибок и в большей степени искажается при больших ошибках.==
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
Модель принимает массив значений с плавающей запятой, называющийся *вектор признаков.*
|
||||
***Вектор признаков*** - список примеров, включающих в себя признаки. В каждом примере приводятся разные значения, выглядит вектор признаков примерно так:
|
||||
```
|
||||
[0.78, 0.56]
|
||||
```
|
||||
|
||||
Однако векторы используют обработаные значения, т.е нормализованные. Самые распространённые методы проектирования функций:
|
||||
- ***Нормализация*** - преобразование числовых значений в заданый диапазон (например [-1,1])
|
||||
- ***Биннинг (он же групирование)*** - преобразование одного признака в несколько бинарных признаков, называемых интервалами или ячейками, обычно на диапазоне значений.
|
||||
Например можно разделить данные о температуре, где меньше 10 градусов - холодно, от 11 до 24 - умеренно, больше 25 - жарко
|
||||
|
||||
### Визуализация
|
||||
Для более понятной работы с данными рекомендуется визуализировать данные с помощью pandas и matplotlib, для подтверждения гепотиз.
|
||||
|
||||
### Статистика
|
||||
Рекомендуется собирать базовые статистические даннные
|
||||
- средннее значение и медианное
|
||||
- стандартное отклонение
|
||||
- Значение в квартильных делениях (0, 25, 50, 75,100)
|
||||
если дельта между 0 и 25 значительно отличается от дельты 75-100, то датасет содержит выбросы.
|
||||
@@ -0,0 +1,53 @@
|
||||
Обучение строится на данных, которые мы используем, и бывает нескольких типов:
|
||||
***1. Обучение с учителем*** - мы размечаем данные, т.е к самим данным прикрепляем то, что мы хотим что бы нейросеть нам выдавала.
|
||||
***2. Обучение без учителя***
|
||||
***3. Обучение с подкреплением***
|
||||
|
||||
| **Обучение с учителем** | **Обучение без учитея** |
|
||||
| :---------------------: | :----------------------------------------: |
|
||||
| регрессия | генеративно-состязательная нейросеть (GAN) |
|
||||
| классификация | |
|
||||
| сегментация | |
|
||||
| генерация текста | |
|
||||
|
||||
### Какие задачи можно решать при обучении с учителем?
|
||||
|
||||
| **Задача регресии** | **задача классификации** |
|
||||
| ------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| на выходе получаем информацию,<br>которая не связана друг с другом,<br>например координаты глаз на картинке<br>[350,290] | на выходе получаем вероятность пренадлежности к классу,<br>например при классификации кошек и <br>собак [0.01, 0.99], где 0.01 - вероятность что это собака, а 0.99 - что кот |
|
||||
|
||||
## Этапы обучения
|
||||
### 1. Подготовка данных
|
||||
Данные сначала необходимо ***преобразовать*** (обычно имеется ввиду ***нормализация*** - преобразование данных к неким безмерным еденицам, диапазон которых задается, например [0;1] или [-1;1] . Фактически до нормализации данные имеют меру, например в датасете в разных колонках содержится информация о длине дороги и градусах ее искривлениях. ). После преобразования идет разбиение датасета на части:
|
||||
***1. Обучение*** - примерно 80% исходного датасета нормализуется и используется для обучения модели. Далее разбиваем датасет на части - **тренировочная** и **валидационная**. На тренировочной учим, на валидационной - проверяем действительно ли учились или делали вид что учились.
|
||||
***2. Тестирование*** - оставшиеся 20% остаются для тестирования обученной модели.
|
||||
Фактически, размер соотношение Обучения/Тестирования может меняться от датасета к датасету, тут необходимо на личном опыте определить необходимую пропорцию.
|
||||
***ПРО ТЕСТОВЫЕ ДАННЫЕ ДО КОНЦА ОБУЧЕНИЯ МЫ ЗАБЫВАЕ М И НЕ ТРОГАЕМ ИХ ВООБЩЕ***
|
||||
|
||||
### 2. Построение модели
|
||||
Фактически необходимо определить количество слоёв модели, а так же написать главные функции.:
|
||||
***1. Функция потерь*** - она буквлаьно определяет, какую задачу решает нейронная сеть
|
||||
***2. Метод оптимизации градиентного спуска*** - отвечает за обучение и его скорость.
|
||||
|
||||
### 3. Тренировка модели
|
||||
***1. Тренировка модели*** - используем часть датасета для обучения (**train set**)
|
||||
***2. Валидация модели*** - используем часть датасета для валидации (проверки качества обучения) (**val set**)
|
||||
|
||||
Тренировка это:
|
||||
***1. Подача данных из датасета в модель***
|
||||
***2. Подача полученных ответов и реальных ответов в функцию потерь для сравнения***
|
||||
***3. Обратное распространение ошибки*** - узнаём как и на сколько сильно влияет каждый вес на ошибку
|
||||
***4. Корректировка весов***
|
||||
|
||||
Валидация:
|
||||
***1. Подача валиадционных данных***
|
||||
***2. Подача полученных значений и реальных значений в функцию потерь***
|
||||
***3. Анализ функции потерь***
|
||||
|
||||
***Эпоха*** - одна итерация Тренировки и Валидации. Их может быть сколько угодно.
|
||||
|
||||
### 4. Тестирование
|
||||
***1. Подача тестовых данных***
|
||||
***2. Подача полученных значений и реальных значений в функцию потерь***
|
||||
***3. Анализ функции потерь***
|
||||
Отличие от валидации в том, что данные тестирования нейронка не видела, и фактически результат функции потерь на тестовых данных и будет результатом обучения.
|
||||
@@ -0,0 +1,6 @@
|
||||
%% Zoottelkeeper: Beginning of the autogenerated index file list %%
|
||||
[[Programming/OAP/oop.py|oop.py]]
|
||||
[[Programming/OAP/varrirors.py|varrirors.py]]
|
||||
[[Programming/OAP/Warrior2.py|Warrior2.py]]
|
||||
[[Programming/OAP/ООП|ООП]]
|
||||
%% Zoottelkeeper: End of the autogenerated index file list %%
|
||||
@@ -0,0 +1,68 @@
|
||||
from random import randint
|
||||
|
||||
|
||||
class Warrior:
|
||||
def __init__(self):
|
||||
self.name = None
|
||||
self.hp = 100
|
||||
self.damage = 10
|
||||
self.defense = 10
|
||||
self.ultimate = False
|
||||
|
||||
def info(self):
|
||||
print('___________________')
|
||||
print('Name: {}'.format(self.name))
|
||||
print('HP: {}'.format(self.hp))
|
||||
print('___________________')
|
||||
|
||||
def attack(self, enemy):
|
||||
self.damage = randint(5, 50)
|
||||
if self.damage >= 50 and not self.ultimate:
|
||||
self.ultimate = True
|
||||
enemy.hp -= self.damage
|
||||
enemy.hp = max(0, enemy.hp)
|
||||
print(f"{self.name} uses an ULTIMATE attack! Hit -{self.damage}. {enemy.name}'s HP: {enemy.hp}")
|
||||
elif self.damage <= 30:
|
||||
if self.damage > enemy.defense:
|
||||
enemy.hp -= self.damage
|
||||
enemy.hp = max(0, enemy.hp)
|
||||
print(f"{self.name} attacks! Hit -{self.damage}. {enemy.name}'s HP: {enemy.hp}")
|
||||
else:
|
||||
print(f"{enemy.name} is parrying {self.name}'s attack!")
|
||||
if enemy.hp <= 0:
|
||||
print(f"\n{enemy.name} is defeated!")
|
||||
|
||||
|
||||
class Swordsman(Warrior):
|
||||
def __init__(self, name):
|
||||
super().__init__()
|
||||
self.name = name
|
||||
self.hp = 100
|
||||
self.damage = 0
|
||||
self.defense = 20
|
||||
self.ultimate = False
|
||||
|
||||
|
||||
class Dragon(Warrior):
|
||||
def __init__(self, name):
|
||||
super().__init__()
|
||||
self.name = name
|
||||
self.hp = 200
|
||||
self.damage = 0
|
||||
self.defense = 0
|
||||
self.ultimate = False
|
||||
|
||||
|
||||
hero = Swordsman('Hero')
|
||||
dragon = Dragon('Dragon')
|
||||
|
||||
while hero.hp > 0 and dragon.hp > 0:
|
||||
|
||||
attacker, defender = (hero, dragon) if randint(0, 1) == 1 else (dragon, hero)
|
||||
attacker.attack(defender)
|
||||
|
||||
if defender.hp <= 0:
|
||||
print(f"\n{attacker.name} is the winner!")
|
||||
hero.info()
|
||||
dragon.info()
|
||||
break
|
||||
@@ -0,0 +1,13 @@
|
||||
class Human:
|
||||
def __init__(self):
|
||||
self.health = 100
|
||||
self.money = 100
|
||||
|
||||
class Student(Human):
|
||||
def __init__(self, name, age):
|
||||
super().__init__()
|
||||
self.name = name
|
||||
self.age = age
|
||||
|
||||
student1 = Student("kir", 20)
|
||||
print(student1.money)
|
||||
@@ -0,0 +1,51 @@
|
||||
class Dish():
|
||||
def __init__(self, name, price):
|
||||
self.price = price
|
||||
self.name = name
|
||||
|
||||
def prepare():
|
||||
pass
|
||||
|
||||
class MainCource(Dish):
|
||||
def __init__(self, name, price, weight):
|
||||
super().__init__(name, price)
|
||||
self.weight = weight
|
||||
|
||||
def prepare(self):
|
||||
return f"Ваше блюдо {self.name} массой {self.weight} готовится!"
|
||||
|
||||
class Drink(Dish):
|
||||
def __init__(self, name, price, capacity):
|
||||
super().__init__(name, price)
|
||||
self.capacity = capacity
|
||||
|
||||
def prepare(self):
|
||||
return f"Ваш напиток {self.name} объемом {self.capacity} мл готовится!"
|
||||
|
||||
class Desert(Dish):
|
||||
def __init__(self, name, price, kkal):
|
||||
super().__init__(name, price)
|
||||
self.kkal = kkal
|
||||
|
||||
def prepare(self):
|
||||
return f"Ваш дессерт {self.name} каллорийностью {self.kkal} готовится!"
|
||||
|
||||
class Wallet():
|
||||
def __init__(self, vol):
|
||||
self.vol = vol
|
||||
|
||||
def __add__(self):
|
||||
add = input("На сколько едениц вы хотите пополнить кошелек?\n>> ")
|
||||
self.vol += add
|
||||
|
||||
class Order():
|
||||
def __init__(self, dish1, dish2, di):
|
||||
|
||||
print("### Добро пожаловать, Александр! Это ваша любимая шаурмечка. Что будете брать сегодня?####")
|
||||
print(f"У меня есть {wallet.vol} рублей.")
|
||||
|
||||
for dish in order:
|
||||
print(dish.prepare())
|
||||
wallet.vol = wallet.vol - dish.price
|
||||
|
||||
print(f'Вкусно поел! Осталось {wallet.vol} рублей.')
|
||||
@@ -0,0 +1,54 @@
|
||||
from random import randint
|
||||
|
||||
class Warrior:
|
||||
|
||||
def __init__(self, name):
|
||||
self.name = name
|
||||
self.hp = 100
|
||||
self.type = ''
|
||||
self.damage = 0
|
||||
self.ultimate = False
|
||||
self.parrying = 0
|
||||
|
||||
def info(self):
|
||||
print('___________________')
|
||||
print('Name: {}'.format(self.name))
|
||||
print('HP: {}'.format(self.hp))
|
||||
print('Type: {}'.format(self.type))
|
||||
print('___________________')
|
||||
|
||||
def attack(self, enemy):
|
||||
self.damage = randint(5, 50)
|
||||
if self.damage >= 50 and not self.ultimate:
|
||||
self.ultimate = True
|
||||
enemy.hp -= self.damage
|
||||
enemy.hp = max(0, enemy.hp)
|
||||
print(f"{self.name} uses an ULTIMATE attack! Hit -{self.damage}. {enemy.name}'s HP: {enemy.hp}")
|
||||
|
||||
elif self.damage <= 30:
|
||||
if self.damage > enemy.parrying:
|
||||
enemy.hp -= self.damage
|
||||
enemy.hp = max(0, enemy.hp)
|
||||
print(f"{self.name} attacks! Hit -{self.damage}. {enemy.name}'s HP: {enemy.hp}")
|
||||
else:
|
||||
print(f"{enemy.name} is parrying {self.name} attack!")
|
||||
if enemy.hp <= 0:
|
||||
print(f"{enemy.name} is defeated!")
|
||||
|
||||
swordsman = Warrior('adam',)
|
||||
swordsman.type = 'swordsman'
|
||||
swordsman.parrying = 20
|
||||
mag = Warrior('eva')
|
||||
mag.type = 'magician'
|
||||
mag.parrying = 15
|
||||
|
||||
while mag.hp > 0 and swordsman.hp > 0:
|
||||
# Decide randomly who attacks
|
||||
attacker, defender = (swordsman, mag) if randint(0, 1) == 0 else (mag, swordsman)
|
||||
attacker.attack(defender)
|
||||
|
||||
# Check if the defender is defeated
|
||||
if defender.hp <= 0:
|
||||
print(f"\n{attacker.name} is the winner!")
|
||||
print(f"{swordsman.info()}\n{mag.info()}")
|
||||
break
|
||||
@@ -0,0 +1,54 @@
|
||||
**ООП** – парадигма программирования в которой все объекты представляются в виде экземпляров классов. Каждый класс обладает своими атрибутами и методами.
|
||||
**Атрибуты** - данные, характеризующие класс.
|
||||
**Методы** - функции, которые экземпляр класса может выполнять. С помощью методов можно влиять на атрибуты классов.
|
||||
|
||||
```python
|
||||
class Human:
|
||||
name = 'human'
|
||||
age = 0
|
||||
sex = "male"
|
||||
|
||||
def __init__(self, name, age, sex):
|
||||
self.name = name
|
||||
self.age = age
|
||||
self.sex = sex
|
||||
|
||||
def info(self):
|
||||
print("Name:", self.name)
|
||||
print("Age:", self.age)
|
||||
print("Sex:", self.sex)
|
||||
def Speak(self):
|
||||
print(f"Hello, i'm {self.name}")
|
||||
|
||||
kirill = Human(name="kirill", age=17, sex="male")
|
||||
katya = Human(name='Kate', age=18, sex="female")
|
||||
```
|
||||
|
||||
|
||||
## Наследование в ООП
|
||||
|
||||
**Наследование** в ООП это концепция, позволяющая классу, наследовать атрибуты и методы от другого класса.
|
||||
|
||||
|
||||
![[th-1161040066.jpg]]
|
||||
```python
|
||||
class Human():
|
||||
def __init__(self):
|
||||
self.health = 100;
|
||||
self.strenth = 100;
|
||||
self.brain = 100;
|
||||
self.money = 0
|
||||
|
||||
class Student(Human):
|
||||
Human.health = 70
|
||||
Human.money = 0
|
||||
Human.brain = -10
|
||||
Human.strenth = 70
|
||||
|
||||
student1 = Student()
|
||||
print(student1.brain)
|
||||
```
|
||||
|
||||
### Перегрузка операторов
|
||||
|
||||
**Перегрузка операторов** - возможность определять собственное поведение для стандартных операторов языка python при работе с объектами пользовательских классов.
|
||||
@@ -0,0 +1,7 @@
|
||||
%% Zoottelkeeper: Beginning of the autogenerated index file list %%
|
||||
[[Programming/C/C|C]]
|
||||
[[Programming/images/images|images]]
|
||||
[[Programming/ML/ML|ML]]
|
||||
[[Programming/N-company.db|N-company.db]]
|
||||
[[Programming/OAP/OAP|OAP]]
|
||||
%% Zoottelkeeper: End of the autogenerated index file list %%
|
||||
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 173 KiB |
|
After Width: | Height: | Size: 14 KiB |
@@ -0,0 +1,4 @@
|
||||
%% Zoottelkeeper: Beginning of the autogenerated index file list %%
|
||||
[[Study/Vipnet|Vipnet]]
|
||||
[[Study/ЭВМ|ЭВМ]]
|
||||
%% Zoottelkeeper: End of the autogenerated index file list %%
|
||||
@@ -0,0 +1,9 @@
|
||||
Межсетевые мастер ключи, в отличие от основного ключа (действующего пределах одной сети) межсетевой предназначен для осуществления межсетевого взаимодействия. Бывает двух видов:
|
||||
1. Симетричный
|
||||
- Индивидуальный
|
||||
- Универсальный
|
||||
2. Ассиметричный
|
||||
- Открытый
|
||||
- Закрытый
|
||||
|
||||
## Ключевая информация
|
||||
@@ -0,0 +1,25 @@
|
||||
**Информация** - интерпретация данных (раскрытие смысла содержания)
|
||||
**Данные** - зарегистрированный сигнал.
|
||||
**Сигнал** - изменяющийся во времени физический процесс.
|
||||
|
||||
Информация обладает динамическим характером, она существует только в момент взаимодействия данных и методов. Всё остальное время она пребывает в состоянии данных.
|
||||
Таким образом, информация существует только в момент протекания информационного процесса.
|
||||
|
||||
Информационный процесс - процесс, связанный с определенной операцией над информацией.
|
||||
|
||||
Операции: Прием, передача, хранение, изменение и удаление.
|
||||
|
||||
ГОСТ 2.105.2019г. О Оформлениии документов
|
||||
|
||||
|
||||
| Абзац | Основной текст | Заголовок | Подзаголовок | Таблица <br>цифры | Таблица текст |
|
||||
| :-----------------------------: | :-------------: | :-------------: | :-------------: | :---------------: | :-------------: |
|
||||
| выравнивание | по ширине | по ширине | по ширине | по центру | по ширине |
|
||||
| отступ<br>_слева_<br>_справа_ | 0 | 0 | 0 | 0 | 0 |
|
||||
| интервал<br>_сверху_<br>_снизу_ | 0 | <br>18<br>12 | <br>12<br>12 | 0 | 0 |
|
||||
| первая строка | 1,25 | 1,25 | 1,25 | 0 | 0 |
|
||||
| межстрочный интервал | 1,5 | 1,5 | 1,5 | 1 | 1 |
|
||||
| Шрифт | | | | | |
|
||||
| названиие | Times New Roman | Times New Roman | Times New Roman | Times New Roman | Times New Roman |
|
||||
| кегель | 14 | 16 | 14 | 10-12 | 10-12 |
|
||||
| начертание | обычное | Полужирный | Полужирный | обычный | обычный |
|
||||
@@ -0,0 +1,3 @@
|
||||
%% Zoottelkeeper: Beginning of the autogenerated index file list %%
|
||||
[[cybersec/AD/Active Directory Basics|Active Directory Basics]]
|
||||
%% Zoottelkeeper: End of the autogenerated index file list %%
|
||||
@@ -0,0 +1,28 @@
|
||||
Сервер, на котором запущен Active Directory называется ***Доменный контроллер***
|
||||
Главные примеущества:
|
||||
1. Централизованное управление пользователями
|
||||
2. Управление политиками безопасности - вы можете настроить политику на доменном контроллере и применить её на всю сеть
|
||||
|
||||
### Пользователи
|
||||
Пользователи одна из самых распространённых типов объектов в **AD**. Пользователи могут быть аутентифицированны доменом и им могут быть выданы привелегии, такие как чтение файлов и использование притеров. Пользователи делятся на 2 типа:
|
||||
1. **Люди** - пользователи, отражающие человека в компании, который пользуется компьютером.
|
||||
2. **Сервисы** - пользователи, созданные для корректной работы сервисов (базы данных и т.д). Такие пользователи очень сильно ограниченны в правах и имеют доступ только к тем привелегиям, которые необходимы для их корректной работы.
|
||||
|
||||
### Машины
|
||||
Еще один тип объектов. Когда компьютер присоединяется к домену, объект создается. Так же подчиняются политикам безопасности, но имеют учётную запись локального администратора, имеющая полный доступ к рессурсам машины.
|
||||
|
||||
### Группы
|
||||
Группы позволяют объединить пользователей и машины для удобного управления правами и привелегиями. Так же подчинаются политикам безопасности и имеют привелегии на рессурсы в сети.
|
||||
|
||||
### Группы по умолчанию
|
||||
После установки AD создаются группы по умолчанию:
|
||||
|
||||
| Группа | Описание |
|
||||
| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Администраторы домена | Юзеры этой групы имеют админ права на всем домене. По умолчанию могут администрировать любой ПК включая Доменный Контроллер |
|
||||
| Операторы Сервера | Пользователи могут администировать Доменный Контроллер. Они не могут изменять членство в каких-либо других группах. |
|
||||
| Операторы Резервного Копирования | Юзеры имеют доступ к любому файлу игнорируя права. Используются для создания резевных копий. |
|
||||
| Операторы Аккаунтов | Юзеры могут создавать или изменять другие аккаунты в домене |
|
||||
| Доменные пользователи | Все пользователи домена |
|
||||
| Доменные компы | Все компы домена |
|
||||
| Доменные Контроллеры | Все Доменные контроллеры |
|
||||
@@ -0,0 +1,3 @@
|
||||
%% Zoottelkeeper: Beginning of the autogenerated index file list %%
|
||||
[[cybersec/Computer science/Архитектура компьютера|Архитектура компьютера]]
|
||||
%% Zoottelkeeper: End of the autogenerated index file list %%
|
||||
@@ -0,0 +1,3 @@
|
||||
%% Zoottelkeeper: Beginning of the autogenerated index file list %%
|
||||
[[cybersec/Forensic/Network layers|Network layers]]
|
||||
%% Zoottelkeeper: End of the autogenerated index file list %%
|
||||
@@ -0,0 +1,148 @@
|
||||
**NTA (Network Traffic Analysis) - Анализ сетевого трафика** включает в себя:
|
||||
1. **Collecting traffic** - сбор трафика в режиме real time
|
||||
2. **Setting a baseline for day-to-day network communications** - Установка базового уровня для повседневной сетевой связи.
|
||||
3. **Identifying and analyzing** - идентификация и анализ трафика на нестандартных портах, подозрительных хостах и различных проблем с протоколами.
|
||||
4. **Detecting** - распознавание вирусов в сети, таких как программы-вымогатели, эксплойты и не стандартные события.
|
||||
|
||||
| Инструмент | Описание |
|
||||
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| **tcpdump** | утилита командной строки, которая спомощью LibPcap захватывает и интерпретирует сетевой трафик из сетевого интерфейса или файла захвата |
|
||||
| **Tshark** | Анализатор, похожий на tcpdump, захватывает пакеты из действующей сети или читает и декодирует файлы. Wireshark только в консоли |
|
||||
| **Wireshark** | Графический анализатор сетевого трафика. Захватывает и декодирует кадры по сети и позволяет глубже изучить окружающую среду. Может запускать множество различных анализаторов трафика, что бы охарактеризовать протоколы и приложения и получить представление о том, что происходит |
|
||||
| **NGrep** | как grep только для сети, работает pcap файлами |
|
||||
| **tcpick** | анализатор пакетов в командной строке, специализируется на отслеживании и повторной сборке TCP потоков. |
|
||||
| **Network Teps** | Тапы - устройства, способные снимать копию трафика и отправлять в другое место для анализа. Могут быть линейными и внеполосными. Могут активно перехватывать и анализировать трафик напрямую или пассивно, возвращая исходный пакет обратно в сеть, будто ничего не происходило |
|
||||
| **Networking Span Ports** | Способ копирования кадров с сетевых устройств второго или третьего уровня во вреся исходящей или входящей обработки и отправки их в точку сбора. |
|
||||
| **Elastic Stack** | кульминация инструментов, которые могут получать данные из многих источников, принимать их и визуализировать, что бы обеспечить их посик и анализ |
|
||||
| **SIEMS** | являются центральной точкой анализа и визуализации данных |
|
||||
# Процесс анализа трафика
|
||||
|
||||
![[Pasted image 20250105162015.png]]
|
||||
1. **Получение трафика**
|
||||
2. **Удаление шума с помощью фильтрации** - фильтрация трафика от ненужной нам информации
|
||||
3. **Анализ и исследование трафика** - Осмотр отфильтрованного трафика, проверка на наличие подозрительных хостов, подключений к редкоиспользуемым портам и проверка флагов в заголовке TCP.
|
||||
4. **Обнаружение и оповещение**
|
||||
5. **Исправление и мониторинг трафика**
|
||||
Пятый пункт фактически начинает процесс с самого начала, т.е. сам по себе процес всегда зациклен и должен выполнятся.
|
||||
|
||||
# OSI\TCP-IP
|
||||
![[Pasted image 20250105164935.png]]
|
||||
![[Pasted image 20250105165103.png]]
|
||||
![[Pasted image 20250105165110.png]]
|
||||
**MAC Address** - 48 битный, 6 байтный адрес, представленный в шестнадцатиричном формате. Используется на 2 уровне OSI или на 1 уровне TCP-IP, обеспечивая связь между хостами. Каждая сетевая карта имеет уникальный, встроенный MAC адрес, прошитый с ней при изготовлении.
|
||||
![[Pasted image 20250105165916.png]]
|
||||
**octet** - В сетевой терминологии октет (octet) обозначает последовательность из 8 битов. С помощью октетов определяют данные, передаваемые в сети. Например, в виде байтов (1 байт = 1 октет). В этом случае октеты могут представлять символы, числа или другую информацию, передаваемую через сетевое соединение.
|
||||
***IP address*** - (Internet protocol address) уникальный числовой идентификатор устройства в сети интернет, отвечает за маршрутизацию пакетов.
|
||||
**IPv4** - самый распространненный вид ip адреса, состоит из 4 байтов (32битное число), записывается в десятичной системе исчисления в виде четырех чисел, от 0 до 255, разделенных точкамим, например **192.168.0.1**
|
||||
# IPv6
|
||||
**IPv6** - состоит из 16 байтов (128 битов), записывается в виде восьми четырехзначных шестнадцатеричных чисел, разделенных двоеточием, например **`2001:0db8:85a3:0000:0000:8a2e:0370:7334`**.
|
||||
В данном случае "пропуски" относятся к сокращению записи **IPv6-адресов**. IPv6-адреса состоят из восьми групп по четыре шестнадцатеричных цифры (каждая группа разделена двоеточием). Если одна или несколько групп состоят из нулей, их можно **опустить**, чтобы сократить запись.
|
||||
|
||||
### Что значит опускание нулей?
|
||||
|
||||
1. **Ведущие нули в группе можно не указывать.**
|
||||
Например:
|
||||
Группа `00ab` может быть записана как `ab`.
|
||||
|
||||
2. **Последовательность групп, содержащих только нули, можно заменить двойным двоеточием (`::`).**
|
||||
Например:
|
||||
Адрес `fe80:0:0:0:0:0:0:1` содержит 6 групп из нулей подряд. Эти нулевые группы можно заменить двойным двоеточием:
|
||||
**`fe80::1`**.
|
||||
|
||||
3. **Двойное двоеточие можно использовать только один раз в адресе.**
|
||||
Это ограничение существует для того, чтобы однозначно восстановить полный адрес. Если использовать `::` дважды, было бы непонятно, сколько групп нулей пропущено в каждом месте.
|
||||
|
||||
|
||||
### Пример объяснения сокращения
|
||||
|
||||
Рассмотрим адрес:
|
||||
`2001:0db8:0000:0000:0000:ff00:0042:8329`
|
||||
|
||||
1. Уберем ведущие нули в каждой группе:
|
||||
**`2001:db8:0:0:0:ff00:42:8329`**
|
||||
|
||||
2. Заменим подряд идущие группы из нулей двойным двоеточием:
|
||||
**`2001:db8::ff00:42:8329`**
|
||||
|
||||
|
||||
Если вы встретите адрес с двойным двоеточием, например, `2001:db8::1`, это означает, что пропущенные группы заполнены нулями:
|
||||
**`2001:0db8:0000:0000:0000:0000:0000:0001`**.
|
||||
### Тип адресации IPv6
|
||||
|
||||
| Тип | Описание |
|
||||
| --------- | ----------------------------------------------------------------------- |
|
||||
| Unicast | Адрема для одного интерфейса |
|
||||
| Anycast | Адреса для нескольких интерфейсов, где только один получает пакеты |
|
||||
| Multicast | Адреса для нескольких интерфейсов, где они получают один и тот же пакет |
|
||||
| Broadcast | Не существует и реализуется с помощью Multicast |
|
||||
## TCP трехстороннее рукопожатие
|
||||
Основные флаги TCP:
|
||||
1. **SYN** - синхронизация
|
||||
2. **ACK** - подтверждение
|
||||
|
||||
### Что происходит когда клиент запрашивает связь с сервером по TCP?
|
||||
1. Клиент оправляет пакет с флагом **SYN** и другими согласованными параметрами в заголовке TCP
|
||||
1. Это пакет синхронизации. Он будет установлен только в первом пакете от хоста и сервера и позволяет установить сеанс, позволяя с обоих концов согласовать порядковый номер для начала связи
|
||||
2. Это играет решающую роль в отслеживании пакетов. Наряду с синхронизацией порядкового номера, на этом этапе согласуются многие другие параметры.
|
||||
2. Сервет отвечает TCP пакетом, внутри которого установлен **SYN** флаг для согласования порядкового номера и флаг **ACK** для подтверждения предыдущего пакета **SYN**, отправленного клиентом.
|
||||
1. Сервер так же включит любые изменения в параметры TCP, которые ему необходимо установить в полях заголовка.
|
||||
3. Клиент ответит TCP пакетом, включающим в себя **ACK** для подтверждения согласия на согласование. Этот пакет завершает трехстороннее рукопожатие (three-way handshake) и устанавливает соединение между клиентом и сервером.
|
||||
![[Pasted image 20250105183609.png]]
|
||||
Если посмотреть на красный квадрат, то мы увидим пример трехстороннего рукопожатия. Сначала клиент отправляет **SYN** флаг серверу, на что сервер отвечает **SYN** для согласования порядкового номера и **ACK** для подтверждения предыдущего **SYN**. После чего идет последний пакет **ACK** от клиента, который завершает рукопожатия и устанавливает соединение.
|
||||
Зеленым подчеркнуты 2 числа - одно из них это случайный номер "старшего" порта (клиенского порта, назначенного из диапазона динамических портов (**49152–65535**) операционной системой ) и "младшего" порта (порта на стороне сервера, на котором сервер принимает входящие подключения. Обычно это порт из диапазона **0–1023** ). В данном случае порт **80** это младший порт, стандартный порт для HTTP соединения, а **57678** - старший порт со стороны клиента.
|
||||
### Окончание соединения TCP
|
||||
![[Pasted image 20250105185359.png]]
|
||||
Флаг **FIN** используется для обозначения необходимости разрыва соединения, и отправитель запрашивает завершение соединения.
|
||||
Клиент подтверждает получение данных и отправляет **FIN** и **ACK** что бы завершить сессию. Сервер подтверждает получение **FIN** от клиента и отправляет **FIN ACK**. В итоге, клиент подтверждает закрытие сессии и закрывает соединение.
|
||||
Всегда перед закрытием соединения мы увидим такую комбинацию:
|
||||
1. **`FIN, ACK`**
|
||||
2. **`FIN, ACK`**,
|
||||
3. **`ACK`**
|
||||
# FTP
|
||||
**FTP** - file transfer protocol. Протокол позволяет быстро передавать данные между вычислительными устройствами. **Признан небезопасным и браузеры не поддерживают с 2020 года***. Использует **20 порт** для передачи данных и **21 порт** для получения данных.
|
||||
Может работать в 2х режимах: **active** (по умолчанию) и **passive**.
|
||||
**Active** в этом типе FTP клиент инициирует установление соединения с FTP-сервером, после чего сервер открывает новый порт для передачи данных, которые клиент должен принять. По умолчанию сервер использует порт 20 для передачи данных, а клиент использует порт 21 для установления соединения. Проблема этого типа FTP заключается в том, что многие сети блокируют входящие соединения на порту 20. **Passive** - в этом типе FTP клиент инициирует установление соединения с FTP-сервером, после чего сервер отвечает клиенту со своим IP-адресом и номером порта, который клиент может использовать для передачи данных. Этот тип FTP широко используется в Интернете, так как клиентам не нужно открывать новые порты для передачи данных, что делает его более безопасным и надежным.
|
||||
#### FTP Commands
|
||||
| Команда | Описание |
|
||||
| ------- | ---------------------------------------------------------------------- |
|
||||
| ftp | запускает программу FTP-клиента в командной строке |
|
||||
| open | устанавливает соединение с FTP-сервером |
|
||||
| user | вводит имя пользователя для аутентификации на FTP-сервере |
|
||||
| pass | вводит пароль для аутентификации на FTP-сервере |
|
||||
| cd | изменяет текущую директорию на FTP-сервере |
|
||||
| lcd | изменяет текущую директорию на локальном компьютере |
|
||||
| ls | показывает содержимое текущей директории на FTP-сервере |
|
||||
| dir | показывает содержимое текущей директории на FTP-сервере в виде таблицы |
|
||||
| get | скачивает файл с FTP-сервера на локальный компьютер |
|
||||
| mget | скачивает несколько файлов с FTP-сервера на локальный компьютер |
|
||||
| put | загружает файл с локального компьютера на FTP-сервер |
|
||||
| mput | загружает несколько файлов с локального компьютера на FTP-сервер |
|
||||
| delete | удаляет файл на FTP-сервере |
|
||||
| mdelete | удаляет несколько файлов на FTP-сервере |
|
||||
| quit | закрывает соединение с FTP-сервером и выходит из программы FTP-клиента |
|
||||
# SMB
|
||||
**SMB** - Server Message Block - протокол удалённого доступа, позволяющий совместно использовать ресурсы хостов. Требует аутентификации пользователя что бы гарантировать что у пользователя есть права на использование этого ресурса и выполнения действий.
|
||||
|
||||
| Название механизма | порты |
|
||||
| ------------------ | ----------- |
|
||||
| NetBios | UDP 137/138 |
|
||||
| TCP | TCP 445 |
|
||||
| NetBios | TCP 139 |
|
||||
|
||||
## Анализ трафика
|
||||
**Анализ тарфика** - детальное исследование события или процесса, определение его происхождения и влияния, принятие конкретных мер предосторожности и действий для предотвращения угроз. Касаемо сетевого трафика - обработка полученного дампа, устранение шума, проверка на наличие подозрительных моментов.
|
||||
|
||||
| **Dependencies** | **Passive** | **Active** | **Description** |
|
||||
| ----------------------------------------- | ----------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `Permission` | `☑` | `☑` | В зависимости от организации, в которой мы работаем, сбор данных может противоречить политике или даже закону в некоторых чувствительных областях, таких как здравоохранение или банковское дело. Обязательно всегда получайте разрешение в письменной форме от лица, обладающего соответствующими полномочиями, чтобы предоставить вам его. Мы можем называть себя хакерами, но мы хотим оставаться в свете с юридической и этической точки зрения. |
|
||||
| `Mirrored Port` | `☑` | ☐ | Сетевой интерфейс коммутатора или маршрутизатора, настроенный для копирования данных из других источников в этот конкретный интерфейс, а также возможность перевода вашего сетевого адаптера в неразборчивый режим. Копирование пакетов на наш порт позволяет нам проверять любой трафик, предназначенный для других каналов, который мы обычно не можем видеть. Поскольку VLAN и порты коммутатора не будут пересылать трафик за пределы своего широковещательного домена, нам необходимо подключиться к сегменту или скопировать этот трафик на наш конкретный порт. Когда речь идет о беспроводной связи, пассивная технология может быть немного сложнее. Мы должны быть подключены к SSID, от которого мы хотим захватывать трафик. Простое пассивное прослушивание радиоволн вокруг нас предоставит нам множество рекламных объявлений SSID, но не более того. |
|
||||
| `Capture Tool` | `☑` | `☑` | Способ поглощения трафика. Достаточно компьютера с доступом к таким инструментам, как TCPDump, Wireshark, Netminer или другим. Имейте в виду, что при работе с данными PCAP эти файлы могут быстро стать очень большими. Каждый раз, когда мы применяем к нему фильтр в таких инструментах, как Wireshark, приложение снова анализирует эти данные. Это может быть ресурсоемкий процесс, поэтому убедитесь, что на хосте достаточно ресурсов. |
|
||||
| `In-line Placement` | ☐ | `☑` | Установка Tap в линию требует изменения топологии сети, в которой вы работаете. Хосты источника и назначения не заметят разницы в трафике, но ради маршрутизации и коммутации это будет невидимый следующий переход трафика. проходит по пути к месту назначения. |
|
||||
| `Network Tap or Host With Multiple NIC's` | ☐ | `☑` | Компьютер с двумя сетевыми адаптерами или такое устройство, как сетевой перехватчик, необходим для обеспечения бесперебойной передачи данных, которые мы проверяем. Думайте об этом как о добавлении еще одного маршрутизатора в середину канала. Для активного захвата трафика мы будем дублировать данные непосредственно из источников. Лучшее место для ответвления — на третьем уровне связи между коммутируемыми сегментами. Это позволяет захватывать любую маршрутизацию трафика за пределами локальной сети. Коммутируемый порт или сегментация VLAN не отфильтровывают наше мнение здесь. |
|
||||
| `Storage and Processing Power` | `☑` | `☑` | Вам понадобится много места для хранения и вычислительная мощность для захвата трафика. Гораздо больше трафика проходит по каналу третьего уровня, чем только внутри коммутируемой локальной сети. Подумайте об этом так; Когда мы пассивно захватываем трафик внутри локальной сети, это похоже на наливание воды в чашку из фонтана. Это постоянный поток, но управляемый. Активный захват трафика по маршрутизируемому каналу больше похож на использование шланга для наполнения чашки воды. За потоком стоит гораздо большее давление, и хосту может потребоваться большая обработка и хранение. |
|
||||
# TCPdump
|
||||
Базовые команды
|
||||
|
||||
| Команда | Результат |
|
||||
| ------- | ---------------------------- |
|
||||
| -D | Покажет доступные интерфейсы |
|
||||
@@ -0,0 +1,3 @@
|
||||
***DHCP (Dynamic Host Configuration Protocol)*** - это протокол на уровне приложений (application level), который базируется на **UDP** - сервер открывает UDP 67 порт, а клиент UDP 68 порт для прослушивания.
|
||||
|
||||
DHCP придерживается 4 шагов:
|
||||
@@ -0,0 +1,15 @@
|
||||
**DNS** - простой путь общения между девайсами в интернете без запоминания большого количества чисел. Т.е вместо того, что бы писать 8.8.8.8 - можно просто написать google.com.
|
||||
|
||||
Виды DNS
|
||||
1. TLD (Top-Level Domain) - домен первого уровня, самый популярный и расспространённый вид домена. Делиться на 2 вида доменов:
|
||||
- Generic Top-Level (.com, .org)
|
||||
- Country Code Top-Level (.ru, .us)
|
||||
2. Second-Level Domain - часть домена, которая является названием сайта, например у google.com - google это Second-Level Domain
|
||||
3. Subdomain - admin.tryhackme.com - где admin это часть субдомена
|
||||
|
||||
Типы DNS записей
|
||||
1. ***A record*** - включает в себя *IPv4* адресс
|
||||
2. ***AAAA record*** - включает в себя *IPv6* адресс
|
||||
3. ***CNAME*** - включает в себя другое доменное имя. К примеру онлай магазин thm имеет домен store.tryhackme.com, который возвращает *CNAME* запись shops.shopify.com
|
||||
4. ***MX*** - включает в себя адрес email
|
||||
5. ***TXT*** - любая txt запись
|
||||
@@ -0,0 +1,15 @@
|
||||
****
|
||||
**Firewall** - (фаерволл, брандмауэр) используется для фильтрации трафика.
|
||||
Фильтрация происходит по таким факторам как:
|
||||
1. Откуда исходит трафик?
|
||||
2. Куда направляется трафик?
|
||||
3. Для какого порта?
|
||||
4. Какой протокол используется?
|
||||
(в некоторых случаях возможна фильтрация по содержанию)
|
||||
|
||||
Поговорим про две основные категории:
|
||||
|
||||
| Категория | Описание |
|
||||
| --------- | --------------------------------------------------------------------------- |
|
||||
| Stateful | этот брандмауэр определяет поведение устройства на основе всего соединения. |
|
||||
| Stateless | Устанавливает статические правила для индивидуальных пакетов |
|
||||
@@ -0,0 +1,9 @@
|
||||
%% Zoottelkeeper: Beginning of the autogenerated index file list %%
|
||||
[[cybersec/Network/DHCP|DHCP]]
|
||||
[[cybersec/Network/DNS|DNS]]
|
||||
[[cybersec/Network/Firewall|Firewall]]
|
||||
[[cybersec/Network/photoes/photoes|photoes]]
|
||||
[[cybersec/Network/Введение в сети.|Введение в сети.]]
|
||||
[[cybersec/Network/Топологии|Топологии]]
|
||||
[[cybersec/Network/Что такое Vless, Vmess, shadowsocks|Что такое Vless, Vmess, shadowsocks]]
|
||||
%% Zoottelkeeper: End of the autogenerated index file list %%
|
||||
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 99 KiB |
|
After Width: | Height: | Size: 126 KiB |
|
After Width: | Height: | Size: 162 KiB |
@@ -0,0 +1,29 @@
|
||||
**OSI** - теоритическая модель, показывающая как работает сеть.
|
||||
|
||||
| Название уровня | Описание уровня |
|
||||
| ----------------------------------- | --------------------------------------------------------------- |
|
||||
| 7. Приложение (**Application**) | На этом уровне работают протаколы **HTTP**, **FTP** и подобные. |
|
||||
| 6. Представление (**Presentation**) | Сжатие и шифрование, добавление meta данных. |
|
||||
| 5. Сессионный (**Session**) | Поддержка соединения и синхронизация. |
|
||||
| 4. Транспортный (**Transport**) | TCP, UDP, порты и так далее. |
|
||||
| 3. Сетевой (**Network**) | IP, Маршрутизация, пакеты |
|
||||
| 2. Канальный (**Datalink**) | MAC адреса, комутирование (switch) |
|
||||
| 1.Физический (**Physical**) | Пересылка данных по кабелю, оптоволокну и так далее. |
|
||||
## MAC address
|
||||
**MAC address** - 48 битный адрес, является уникальным идентификатором сетевого оборудования (сетевой карты и т.д). Имеет вид **XX:XX:XX:XX:XX:XX**. Используется на 2 уровне **OSI**.
|
||||
|
||||
## IP address
|
||||
**IP address** - internet protocol - набор символов, позволяющий компьютерам идентифицировать друг друга.
|
||||
|
||||
**IPv4** - 32 битный адрес, записывающийся как числа десятичной системы исчисления, разделённые точкой. Разделен на 4 блока, максимальная величина которых - 255.
|
||||
Пример IP адреса - **192.168.1.50**
|
||||
|
||||
**IPv6** - 128 битный адрес, записывающийся как числа шеснадцатиричной системы исчисления, разделенные двоеточием.
|
||||
|
||||
## Подсети
|
||||
**Маска подсети** - показывает, какая часть адрса указывает на адрес сети, а какая на конкретное устройство.
|
||||
|
||||
## NAT
|
||||
**NAT** - позволяет через один IP подключить несколько компьютеров. (Эту тему расскроем подробнее позже)
|
||||
|
||||
# Основные типы сетей
|
||||
@@ -0,0 +1,14 @@
|
||||
**Двуточечная топология** - топология, при которой два хоста соеденены кабелем напрямую.
|
||||
![[Pasted image 20250307092204.png]]
|
||||
|
||||
**Шинная топология** - топология, при которой все хосты соеденены с общей шиной. Так как среда передачи общая, отправлять данные может только один хост может отправлять данные, остальные же - только читать и оценивать.
|
||||
![[Pasted image 20250307092214.png]]
|
||||
|
||||
**Звездная топология** - все хосты подключаются к **ценральному** устройству (обычно это хаб, коммутатор или маршрутизатор) которое управляет пакетами и трафиком.![[Pasted image 20250312213119.png]]
|
||||
|
||||
**Кольцевая топология** -
|
||||
На физическом уровне:
|
||||
- В каждый хост подключается по 2 кабеля, один для получения информации, другой - для отправки.
|
||||
На логическом уровне:
|
||||
Базируется на физическом уровне звездной топологии, где дистребьютер симулирует кольцо, перенаправляя трафик от одного порта к следующему..
|
||||
![[Pasted image 20250312220104.png]]
|
||||
@@ -0,0 +1,32 @@
|
||||
Перед тем, как обсуждать протоколы, предлагаю ознакомится со статьей про proxy, если вдруг кто-то из читающих еще не знает что это такое: [тык](https://selectel.ru/blog/what-is-proxy/)
|
||||
|
||||
Для понимания, что такое Vless, Vmess, shadowsocks нам надо разобрать что такое ***V2Ray***.
|
||||
|
||||
***V2Ray*** - гипкая платформа для прокси, позволяющая шифровать, маршрутизировать и скрывать трафик. Как она работает?
|
||||
1. **Клиент отправляет запрос**
|
||||
2. **Данные шифруются**
|
||||
- Клиент шифрует трафик с использованием настроенного протокола (например, VMess, Shadowsocks, Trojan или других).
|
||||
- Шифрование делает трафик нечитаемым для провайдера и систем наблюдения, скрывая содержимое и даже сам факт использования прокси.
|
||||
3. **Данные передаются на сервер**
|
||||
- Шифрованный трафик отправляется на сервер V2Ray через выбранный транспортный протокол:
|
||||
- **TCP** (надежная передача данных),
|
||||
- **WebSocket** (имитация веб-трафика),
|
||||
- **QUIC** (быстрая передача с меньшими задержками),
|
||||
- **TLS** (шифрование поверх HTTPS для сокрытия трафика).
|
||||
- Сервер может быть настроен так, чтобы имитировать обычные HTTPS-запросы, что помогает обходить блокировки.
|
||||
4. **Обработка на сервере**:
|
||||
- Сервер V2Ray принимает зашифрованные данные, расшифровывает их и перенаправляет на нужный ресурс (например, веб-сайт, API, или другой сервер).
|
||||
- Сервер маскирует запрос, делая его похожим на обычный HTTP/HTTPS-трафик, чтобы избежать обнаружения.
|
||||
5. **Ответ от сервера**:
|
||||
- Ответ от запрашиваемого ресурса поступает на сервер V2Ray.
|
||||
- Сервер шифрует данные и передаёт их обратно клиенту.
|
||||
6. **Клиент расшифровывает данные**:
|
||||
- Клиент получает зашифрованные данные от сервера, расшифровывает их и передаёт исходному приложению (например, браузеру).
|
||||
|
||||
**Shadowsocks** - бесплатный open-source протокол, широко используемый в китае для обхода блокировок. Сам по себе не является прокси, но как правило является клиентским ПО, помогающее подключится к стороннему прокси серверу SOCKS5. После подключения трафик будет перенаправлен в прокси.
|
||||
|
||||
**Vless** - это протокол управления пользователем для аутентификации/связи клиент-сервер, который НЕ работает без какого-либо другого метода шифрования, такого как XTLS в случае Xray. Более безопасен и производителен, в сравнении с оригинальным V2Ray.
|
||||
|
||||
**Vmess** - протокол, использующий AES, RSA и HMAC для шифрования трафика, а TCP, UDP, mKCP и WebSocket в качестве способов передачи. Не считается безопасным с 2020 года, поскольку GFW (Great Firewall) в китае совершенствует свои методы перехвата пакетов.
|
||||
|
||||
Сравнение на личном опыте. У меня поднят https://github.com/Gozargah/Marzban, который позволяет выбирать протоколы для подключения, и vless самый быстрый и стабильный из троих.
|
||||
@@ -0,0 +1,241 @@
|
||||
|
||||
## Перемещение по файловой системе и работа с ней.
|
||||
|
||||
### 1. cd
|
||||
|
||||
```
|
||||
cd </path/to/directory>
|
||||
```
|
||||
|
||||
Сокращенное _change directory_. Позволяет перемещаться по файловой системе.
|
||||
|
||||
Путь может быть как абсолютным (_начмнаться с /_), так и относительным (_подразумевается расположение пути относительно текущего_).
|
||||
|
||||

|
||||
|
||||
- **cd** без параметров перемещает в домашнюю директорию пользователя.
|
||||
- **cd -** перемещает по прошлому пути.
|
||||
- **.** (точка) текущая директория
|
||||
- **..** (две точки) родительская директория
|
||||
- **~** (тильда) домашняя директория пользователя
|
||||
|
||||
### 2. pwd
|
||||
|
||||
```
|
||||
pwd
|
||||
```
|
||||
|
||||
Cокращение от _print work directory_. Выводит текущий абсолютный путь.
|
||||
|
||||

|
||||
|
||||
### 3. ls
|
||||
|
||||
```
|
||||
ls </path/to/directory>
|
||||
```
|
||||
|
||||
Сокращение от list. Отбражает все **файлы** и **директории** в директории </path/to/directory>.
|
||||
|
||||

|
||||
|
||||
- **ls** без параметров отображает все файлы и директории по **текущему** пути
|
||||
- **ls -a** отображает скрытые файлы и папки
|
||||
- **ls -l** отображает расширенную информацию о файлах и папках
|
||||
|
||||
### 4. cat
|
||||
|
||||
```
|
||||
cat <file_name>
|
||||
```
|
||||
|
||||
Отображает содержимое файла file_name.
|
||||
|
||||

|
||||
|
||||
### 5. less
|
||||
|
||||
```
|
||||
less <file_name>
|
||||
```
|
||||
|
||||
Отображает содержимое файла file_name, выводит только содержимое помещающееся в окно терминала. Навигация по файлу возможна **клавишами-стрелками**, кнопка "q" закрывает просмотр.
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
### 6. file
|
||||
|
||||
```
|
||||
file <file_name>
|
||||
```
|
||||
|
||||
Выводит на экран тип файла. Настоящий тип, а не указанный в расширении.
|
||||
|
||||

|
||||
|
||||
### 7. cp
|
||||
|
||||
```
|
||||
cp <file1> <file2>
|
||||
```
|
||||
|
||||
Сокращение от **copy**. Копирует файл **file1** по пути **file2**.
|
||||
|
||||
### 8. mv
|
||||
|
||||
```
|
||||
mv file1 file2
|
||||
```
|
||||
|
||||
Сокращение от **move**.
|
||||
|
||||
Перемещает файл **file1** по пути **file2**.
|
||||
|
||||
### 9. rm
|
||||
|
||||
```
|
||||
rm <file1>
|
||||
```
|
||||
|
||||
Сокращение от **remove**.
|
||||
|
||||
Удаляет файл **file1**.
|
||||
|
||||
- **rm -r** удаляет директорию
|
||||
|
||||
### 10. mkdir
|
||||
|
||||
```
|
||||
mkdir <directory>
|
||||
```
|
||||
|
||||
Сокращение от **make directory**.
|
||||
|
||||
Создает директории с именем **directory**.
|
||||
|
||||
### 11. locate
|
||||
|
||||
```
|
||||
locate <file>
|
||||
```
|
||||
|
||||
Возвращает все пути с вхождениями **file** в них.
|
||||
|
||||
### 12. man
|
||||
|
||||
```
|
||||
man <cmd>
|
||||
```
|
||||
|
||||
Отображает справку по команде **cmd**.
|
||||
|
||||
### 13. echo
|
||||
|
||||
```
|
||||
echo <string>
|
||||
```
|
||||
|
||||
Выводит заданную строку **string** на экран.
|
||||
|
||||
### 14. strings
|
||||
|
||||
```
|
||||
strings <file1>
|
||||
```
|
||||
|
||||
Выводит все строки с печатными символами из файла **file1** на экран.
|
||||
|
||||
## Перенаправление вывода
|
||||
|
||||
Bash позволяет перенаправлять стандартный вывод в файлы с помощью оператора **>**. Если файл не существовал, он будет создан, иначе он будет перезаписан.
|
||||
|
||||
```
|
||||
$ echo hello! > 1.txt
|
||||
$ ls
|
||||
1.txt
|
||||
$ cat 1.txt
|
||||
hello!
|
||||
```
|
||||
|
||||
Если требуется _дописать_ строку в файл используется оператор **>>**.
|
||||
|
||||
## Конвейер
|
||||
|
||||
Если нужно перенаправить вывод одной команды на вход другой используется оператор **|**.
|
||||
|
||||
```
|
||||
$ locate bin | less
|
||||
```
|
||||
|
||||
## Поиск по содержимому файлов
|
||||
|
||||
```
|
||||
$ grep [opts] "pattern" file
|
||||
```
|
||||
|
||||
```
|
||||
$ cat file | grep [opts] "pattern"
|
||||
```
|
||||
|
||||
**-v** - вывести строки, где не всречается образец
|
||||
**-i** - игнорировать регистр символов
|
||||
**-n** - печатать номера строк
|
||||
**-a** - искать по бинарным файлам
|
||||
**-E** - расширенные регулярные выражения
|
||||
**-o** - вывести только совпадающую с образцом часть строки
|
||||
|
||||
## Регулярные выражения
|
||||
|
||||
```
|
||||
$ egrep [opts] "pattern" file
|
||||
```
|
||||
|
||||
```
|
||||
$ cat file | egrep [opts] "pattern"
|
||||
```
|
||||
|
||||
`^` `"^license"` - начало строки
|
||||
`$` `"license$"` - конец строки
|
||||
`[abc]` `"[0-9]"` - любой символ из перечисленных
|
||||
`[^abc]` `"[^ ]1"` - любой кроме перечисленных
|
||||
`[ab]{8}` `"w{3}"` - повторяется несколько раз
|
||||
`(abc)` `"(license)"` - группа символов
|
||||
`.` `"Li.en.e"` - любой символ
|
||||
`*` `"\([a-z ]*\"` - повторить ноль или больше раз
|
||||
`+` `"\(a.+\)"` - повторить один или больше раз
|
||||
`?` `"(copy)?right"` - повторить ноль или один раз
|
||||
|
||||
## Обработка текста
|
||||
|
||||
Вывести символы со 2 по 5 каждой строки
|
||||
|
||||
```
|
||||
$ cat file | cut -c 2-5
|
||||
```
|
||||
|
||||
Отсортировать строки по алфавиту
|
||||
|
||||
```
|
||||
$ cat file | sort
|
||||
```
|
||||
|
||||
Удалить одинаковые строки, идущие подряд
|
||||
|
||||
```
|
||||
$ cat file | uniq
|
||||
```
|
||||
|
||||
Вывести уникальные строки
|
||||
|
||||
```
|
||||
$ cat file | sort | uniq
|
||||
```
|
||||
|
||||
```
|
||||
$ cat file | awk 'program'
|
||||
```
|
||||
|
||||
`'{print $0}'` - вывести каждую строку `'{print $1}'` - вывести первое слово каждой строки `'{print "1: " $1 ", 2: " $2}'` - вывести для каждой строки 1:<слово 1>, 2:<слово 2>
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
%% Zoottelkeeper: Beginning of the autogenerated index file list %%
|
||||
[[cybersec/OS/Bash commands|Bash commands]]
|
||||
[[cybersec/OS/Powershell commands|Powershell commands]]
|
||||
%% Zoottelkeeper: End of the autogenerated index file list %%
|
||||
@@ -0,0 +1,8 @@
|
||||
**Get-Command** - получение списка всех доступных команд и алиасов
|
||||
Как пример можно использовать `Get-Command -CommandType "Function"` что бы получить вывод всех команд, тип которых - функция.
|
||||
**Get-Help** - аналогично команде `man` в Linux позволяет получить информацию о команде: атрибуты, способ использования и примеры.
|
||||
`Get-Help [command] -examples` позволяет получить примеры использования команды.
|
||||
**Find-Module** и **Install-Module** - используются для того, что бы найти и установить дополнительный модуль (как в unix системах - установка доп. софта)
|
||||
`Find-Module -Name "PowerShell*"`
|
||||
`Install-Module -Name "PowerShellGet"`
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
Когда мы используем **metasploit framework** то мы работаем с консолью. Для запуска этой консоли необходимо прописать `msfconsole`
|
||||
Перед тем как погружаться, нам необходимо понимать эти базовые вещи:
|
||||
1. **Exploit** - часть кода которая испольует уязвимость
|
||||
2. **Vulnerability** - уязвимость
|
||||
3. **Payload** - "Полезная" нагрузка эксплоита
|
||||
|
||||
## msfconsole
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
Когда мы сканируем с помощью nmap, есть 3 базовых типа сканирования:
|
||||
1. **TCP connect scans** `-sT`
|
||||
2. **SYN Полуоткрытое сканирование** `-sS`
|
||||
3. **UDP scans** `-sU`
|
||||
|
||||
Дополнительно есть несколько не так часто используемых, некоторые из них мы также рассмотрим (хотя и менее подробно). Это:
|
||||
1. **TCP null scans** `-sN`
|
||||
2. **TCP FIN scans** `-sF
|
||||
3. **TCP Xmas Scans** `-sX`
|
||||
|
||||
Многие из них (за исключением UDP) мы используем в очень похожих целях, однако, способ их работы отличаются друг от друга. Это означет то, что один из базовой тройки вероятнее всего будет вашим выбором в большинстве ситуаций, но не стоит забывать о существовании других возможных типов сканирования.
|
||||
|
||||
## TCP connect scans `-sT`
|
||||
Что бы понимать как работает этот вид сканирования, нужно понимать концепцию ***Трехстороннего TCP рукопожатия***. Давайте вспомним что это обозначает. ***RFC 9293***
|
||||
|
||||
***Трехстороннее TCP рукопожатие*** состоит из трёх (ну не четырех же =) ) стадий.
|
||||
1. Клиент (в нашем случае атакующий) отсылает TCP запрос к целевой системе с флагом `SYN`.
|
||||
2. Сервер признает этот TCP запрос, включающий в себя `SYN` флаг, отсылается ответ с флагами `SYN` и `ASK`.
|
||||
3. Клиент получает ответ и отправляет подтверждение с флагом `ASK`
|
||||
![[Pasted image 20250416202446.png]]![[Pasted image 20250416202511.png]]
|
||||
Каким образом это связано с работой nmap? Очень просто. Чтобы понять, работает ли порт или нет, nmap пытается установить **TCP** соединение и отправить `SYN` флаг. Если nmap проучает `SYN\ASK` ответ, это значит что порт открыт. Nmap помечает его открытым и завершает рукопожатие отправкой `ASK` флага.
|
||||
|
||||
Если же nmap получает ответ с флагом `RST` (Reset), то это означает что порт закрыт.
|
||||
|
||||
![[Pasted image 20250416203106.png]]
|
||||
Если же открыт фаервол, обычно он просто роняет подключение. Тоесть, **nmap** отправляет `ASK` флаг, но в ответ ничего не получает. В данном случае порт помечается как **filtered**.
|
||||
|
||||
## SYN scans `-sS`
|
||||
|
||||
Так же как и TCP сканирование, SYN использует подключение к TCP портам, но работает немного иначе. Этот вид сканирования часто называют скрытым.
|
||||
|
||||
Если TCP сканирование полностью следует ***Трехстороннему рукопожатию***, то **SYN** сканирование после ответа от сервера с флагами `SYN\ASK` отпрвляет флаг `RST` обрывая соединение.
|
||||
![[Pasted image 20250417102631.png]]![[Pasted image 20250417102751.png]]
|
||||
Данный вид сканирование имеет множество приемуществ для нас как для хакеров:
|
||||
1. Он может использоваться для обхода старых систем обнаружения, которым необходимо ***полное трехстороннее рукопожатие***.
|
||||
2. **SYN** сканирование не логируется приложениями, открытыми на портах (это является стандартной практикой логгировать соединение когда оно будет установленно)
|
||||
3. **SYN** сканирование банально быстрее.
|
||||
|
||||
Конечно есть некоторое количество минусов:
|
||||
1. Необходимо запускать с правами админа (sudo) что бы оно работало нормально на линуксе, так как SYN сканирование создает сырые пакеты, что является привелегией админа.
|
||||
2. Нестабильные сервисы иногда падают в процессе сканирования, это может быть проблемой если тестируется прод.
|
||||
|
||||
Не считая способа поиска открытых портов, в основном работа **TCP** сканирования и **SYN** сканирования идентичны.
|
||||
|
||||
## UDP сканирование
|
||||
|
||||
В отличие от TCP, у UDP нет никакого подтверждения о получении пакета. Буквально отсылается пакет, с надеждой на то, что он был получен. Это делает его широкоиспользуемым там, где нужна скорость (например - видеотрансляции). Но отсутствие подтверждения получения пакета сильно услажняет возможность сканирования.
|
||||
|
||||
Когда пакет отсылается на открытый UDP порт, ответа не должно последовать. Если это так и есть, то **nmap** помечает порт как открытый или отфильтрованный.
|
||||
|
||||
Если же пакет был отправлен на закрытый UDP порт, то назад возвращается **ICMP (ping)** пакет, содержащий сообщение что порт не доступен. В этом случае nmap помечает порт как закрытый.
|
||||
|
||||
UDP сканирование достаточно медленное, поэтому рекомендуется ипользовать `--top-ports <number>` флаг при сканировании.
|
||||
```bash
|
||||
nmap -sU --top-ports 20 <target>
|
||||
```
|
||||
Данная команда будет сканировать топ 20 самых используемых UDP портов.
|
||||
|
||||
## NULL FIN Xmas TCP port scan
|
||||
|
||||
Данные типы сканирования используются гораздо реже чем те, которые мы рассмотрели ранее, и поэтому не будем сильно останавливаться на них.
|
||||
|
||||
***NULL Scans***
|
||||
**NULL** сканирование, флаг `-sN`, отправляет TCP запрос без заданных флагов. Если порт закрыт, то вернется `RST`.
|
||||
![[Pasted image 20250417111734.png]]
|
||||
|
||||
***FIN Scans***
|
||||
**FIN** сканирование, флаг `-sF` отправляет TCP запрос с флагом завершения `FIN`. Если порт закрыт, то вернется `RST`.
|
||||
![[Pasted image 20250417112443.png]]
|
||||
|
||||
***XMAS***
|
||||
**Xmass** сканирование, флаг `-sX`, отсылает TCP пакет с флагами `PSH, URG, FIN` Если порт закрыт, то вернется `RST`.
|
||||
![[Pasted image 20250417122554.png]]
|
||||
|
||||
Эти типы сканирования использются для обхода фаерволов, так как многие блокируют входящий TCP трафик, котрый содержит `SYN` флаг. Но не нужно думать что они 100% эффективны в современных системах защиты.
|
||||
|
||||
## ICMP Network scaning
|
||||
|
||||
Во время первого соединения с целью, наша первая цель - составление карты сети.
|
||||
|
||||
Единственная возможность сделать это используя nmap - подготовить "проверку пингом". Nmap отправляет **ICMP** пакет на каждый доступный IP address. Когда получен ответ - ip маркируется как живой.
|
||||
|
||||
Флаг для вызова `-sn`
|
||||
|
||||
## NSE (Nmap Scripting Engine)
|
||||
|
||||
Мощное рассширение, сильно расширяющее возможности nmap. NSE написаны на ***LUA***, и могут быть использованны для множества вещей, начиная с таких как сканирование на уязвимости, заканчивая эксплуатацией этих уязвимостей.
|
||||
|
||||
Доступно множество категорий, вот некоторые из них:
|
||||
1. `safe` - не имеют эффекта на цели
|
||||
2. `intrusive` - не безопасны, влияют на цель
|
||||
3. `vuln` - поиск уязвимостей
|
||||
4. `exploit` - эксплуатация уязвимостей
|
||||
5. `auth` - Обход аутентификации (например: получение доступа к анонимному ftp серверу)
|
||||
6. `brute` - Подбор паролей и логинов
|
||||
7. `discovery` - попытка запроса запущенных сервисов
|
||||
|
||||
Более подробно можно узнать тут: https://nmap.org/book/nse-usage.html
|
||||
|
||||
Команда что бы запустить скрипт:
|
||||
```bash
|
||||
--script=<script-name>
|
||||
```
|
||||
Что бы передать какой-то аргумент:
|
||||
```bash
|
||||
--script-args
|
||||
```
|
||||
Что бы прочитать помощь:
|
||||
```bash
|
||||
nmap --srcipt-help <script-name>
|
||||
```
|
||||
@@ -0,0 +1,7 @@
|
||||
%% Zoottelkeeper: Beginning of the autogenerated index file list %%
|
||||
[[cybersec/Pentest/Metasploit|Metasploit]]
|
||||
[[cybersec/Pentest/NMAP|NMAP]]
|
||||
[[cybersec/Pentest/Основы пентеста|Основы пентеста]]
|
||||
[[cybersec/Pentest/Разведка|Разведка]]
|
||||
[[cybersec/Pentest/Читщит pentest standoff|Читщит pentest standoff]]
|
||||
%% Zoottelkeeper: End of the autogenerated index file list %%
|
||||
@@ -0,0 +1,151 @@
|
||||
**Целевая система** - исследуемый объект или комплекс объектов информационной системы, в результате воздействия злоумышленника на который может непосредственно произойти недопустимое для компании событие.
|
||||
|
||||
**Pentest (Тестирование на проникновение)** - анализ защищенности целевой системы в результате которой реализуются уязвимости или недопустимые события путем моделирования атак злоумышленников.
|
||||
|
||||
**Уязвимость** - недостаток целевой системы, который может быть использован для реализации недопустимого события (угроз безопасности).
|
||||
|
||||
**Недопустимое событие** - событие, приводящее к значительному нарушению деятельности компании.
|
||||
|
||||
### Классификации пентеста
|
||||
|
||||
**По отношению к инфраструктуре компании:**
|
||||
1. Внешний - эксперт по тестированию на проникновение ведет свою деятельность вне контролируемой зоны компании.
|
||||
2. Внутренний - эксперт по тестированию на проникновение ведет свою деятельности внутри контролируемой зоны компании.
|
||||
**По методу работ:**
|
||||
- **Black Box** - информация об инфраструктуре и целевой системе отсутствует, тестировщик добывает информацию применяя OSINT.
|
||||
- **Gray Box** - у эксперта частично присутствует информация о целевой системе (учетки, пароли, ящики, адреса админок)
|
||||
- **White Box** - у эксперта есть вся информация о целевой системе (документация, учетки админов и пользователей с паролями, исходный код при наличии, перечень ПО и т.д.)
|
||||
**По типу целевой системы:**
|
||||
- Тестирование веб приложений
|
||||
- Тестирование инфраструктуры
|
||||
- Тестирование приложений
|
||||
- Тестирование беспроводных сетей.
|
||||
|
||||
## Методики и стандарты
|
||||
_Международные_
|
||||
|
||||
1. _OWASP Top Ten_ - это стандартный документ, посвященный безопасной разработке веб-приложений. Он представляет собой широкий консенсус относительно наиболее важных рисков безопасности веб-приложений.
|
||||
2. _OWASP Web Security Testing Guide (WSTG)_ - исчерпывающая методика по тестированию кибербезопасности для разработчиков веб-приложений и специалистов по безопасности.
|
||||
3. _OWASP Mobile Application Security_ - представляет собой стандарт безопасности для мобильных приложений (OWASP MASVS) и подробное руководство по тестированию.
|
||||
4. _OWASP Application Security Verification Standard_ - описывает основу для тестирования средств контроля технической безопасности веб-приложений, а также предоставляет разработчикам список требований для безопасной разработки.
|
||||
5. _ISO/IEC 27001_ - стандарт Международной организации по стандартизации (ISO) и Международной электротехнической комиссии (IEC) для систем управления информационной безопасностью. Описывает требования по проведению тестирования на проникновение как часть процесса управления рисками.
|
||||
6. _NIST SP 800-115_ - стандарт Национального института стандартов и технологий США (National Institute of Standards and Technology), описывающий методику тестирования на проникновение.
|
||||
7. _OSSTMM_ - методика, разработанная Open Information Security Foundation (OISF), описывает широкий набор методов и подходов для тестирования на проникновение.
|
||||
8. _WASC_ - в данной методике собраны недостатки и классы атак, которые представляют угрозу для веб-приложений и пользователей.
|
||||
9. _PTES_ - открытое руководство, охватывающее все этапы выполнения тестирования на проникновение, начиная от сбора информации и заканчивая подготовкой отчета.
|
||||
10. _PCI DSS (Payment Card Industry Data Security Standard)_ **-** включает в себя требования по проведению пентестов для систем, обрабатывающих платежные данные.
|
||||
11. _CREST (Council of Registered Ethical Security Testers)_ **-** организация CREST разрабатывает и поддерживает стандарты для профессиональных пентестеров. Их рекомендации охватывают различные аспекты тестирования, включая мобильные устройства и физическую безопасность.
|
||||
|
||||
_Отечественные_
|
||||
|
||||
1. _Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации "Типовое техническое задание на выполнение работ по оценке уровня защищенности информационной инфраструктуры"_ - данный документ описывает объем и состав работ, а также требуемые отчетные документы в рамках работ по тестированию на проникновение в компании.
|
||||
|
||||
## Инфраструктура
|
||||
|
||||
**Инфраструктура** - совокупность множества ПО, оборудования, сетей и сервисов, образующих информационную систему компании.
|
||||
![[Pasted image 20250317210934.png]]
|
||||
Рисунок 1 -Схема тестирования компании на проникновение.
|
||||
|
||||
## Разведка
|
||||
|
||||
Разведка представляет из себя анализ внешнего периметра системы компании (внешние сервисы и веб-приложения), либо анализ внутерннего периметра компании.
|
||||
На этапе разветки собирается вся доступная информация о компании в Интернете\Даркнете (учетки, пароли, корп. почта, перечень активов и другие источники).
|
||||
Собирается следующая информация:
|
||||
1. Перечень активов и данные об их назначении через сканирование доступной сети
|
||||
2. Перечень открытых портов и сервисов (с указанием версий) работающих на данных портах.
|
||||
3. Перечень используемых технологий и ПО
|
||||
4. Определение ОС, их версий и возможной сборки.
|
||||
5. Учетки
|
||||
6. Файлы конфигурации и ошибки в них.
|
||||
## Первоначальный доступ
|
||||
|
||||
**Первоначальный доступ** - на данном этапе атакующий получает доступ с возможностью выполнения команд на скомпроментированном активе или возможность управления им с целью доставки необходимых инструментариев и реализации дальнейших этапов тестирования на проникновение.
|
||||
На данном этапе реализуется:
|
||||
1. **Рассылка фишинговых писем**
|
||||
2. Проверка возможности получения доступа с применением выявленных учетных данных к различным сервисам, например `FTP` или `SMB, SSH, RDP`
|
||||
3. Попытка эксплуатации ранее выявленных уязвимостей в сервисах и компонентах целевой системы на этапе разведки.
|
||||
|
||||
## Закрепление
|
||||
|
||||
**Закрепление** - в рамках данного этапа реализуется комплекс мер для организации отказоустойчивого канала (возможность повторного запуска процесса с бэкконнектом при его прирывании).
|
||||
Для закрепления могут использоваться следующшие подходы:
|
||||
1. `Создание задачи` на запуск исполняемого файла
|
||||
2. `Добавление в автозапуск` исполняемого файла
|
||||
3. `Создание службы` запуска исполняемого файла
|
||||
4. `Изменение скриптов`
|
||||
5. `Создание учётки`
|
||||
|
||||
## Повышение привелегий
|
||||
|
||||
**Повышение привелегий** - реализация мер для получения привелегилированных прав в ОС.
|
||||
Можно реализовать через:
|
||||
1. `Работающие скрипты`, которые запускаются из-под рута.
|
||||
2. `Работающие службы`, которые запускаются из-под рута.
|
||||
3. `Задачи`, зпускаемые в ОС.
|
||||
4. `Привелегии` текущей учетки
|
||||
5. `Обход локальных ограничений` в двоичных файлах
|
||||
|
||||
## Внутреняя разведка
|
||||
|
||||
**Внутренняя разведка** - этап, целью которого является изучение информации хранящейся на активе (учетки, иформация об активах, тех. документация и иная) или в сети для дальнейшего использования в цепочке атак.
|
||||
**Разведка актива**:
|
||||
1. `Учётки записи и пароли`
|
||||
2. `Техническая документация`
|
||||
3. Информация об используемом `ПО`
|
||||
4. Запущенные `процессы` и активные `сессии`
|
||||
5. `ARP`-записи
|
||||
6. `Информация о хосте`
|
||||
**Разведка сети**:
|
||||
- Результаты сканирования сетевых сканеров
|
||||
- Сбор информации в AD
|
||||
|
||||
## ОФОРМЛЕНИЕ ОТЧЕТА
|
||||
|
||||
**Отчет содержит в себе следующие разделы:**
|
||||
1. Информацию о системе и используемых технологиях
|
||||
2. Краткую информацию о выявленных уязвимостях и недопустимых событиях
|
||||
3. Выявленные следы компрометации (найденные утечки, информация о готовящихся атаках, наличие подозрительных объектов или логов в рамках тестирования)
|
||||
4. перечень первоочередных и долгосрочных мер для устранения уязвимостей и контролю их отсутствия
|
||||
# **Технический отчет**
|
||||
|
||||
Этот отчет необходим в первую очередь подразделениям информационной безопасности и ИТ-службам. В данном документе более детально описывается реализация уязвимостей и недопустимых событий, а также рекомендации по их устранению.
|
||||
|
||||
_Содержание отчета:_
|
||||
|
||||
1. период проведения работ;
|
||||
2. информация о целевой системе;
|
||||
3. применяемые методики и инструментарии;
|
||||
4. этапы проведения тестирования (берутся из разработанной методики из пункта 3);
|
||||
5. информация о найденных уязвимостях и недопустимых событиях;
|
||||
6. расчет защищенности целевой системы;
|
||||
7. приложения с подробным описанием выявленных уязвимостей и недопустимых событий с рекомендациями по устранению.
|
||||
|
||||
На каждую выявленную уязвимость в приложении необходимо оформлять карточку выявленного недостатка, _пример карточки указан ниже:_
|
||||
|
||||
**Название:** <Название выявленной уязвимости>
|
||||
|
||||
**Критичность:** Информационная/Низкая/Средняя/Высокая
|
||||
|
||||
**CVSS:** x.x - где х.х числовой показатель, например, 6.3
|
||||
|
||||
**CVSS-вектор:** CVSS:3.0/XX:X/XX:X/XX:X/XX:X/X:X/X:X/X:X/X:X, ссылка на калькулятор [https://www.first.org/cvss/calculator/3.0](https://www.first.org/cvss/calculator/3.0)
|
||||
|
||||
**Требуемая квалификация атакующего:** Низкая/Средняя/Высокая
|
||||
|
||||
**Описание:** <Детальное представление уязвимости>
|
||||
|
||||
**Реализация:** <Описать шаги, приводящие к реализации уязвимости>
|
||||
|
||||
**Рекомендации по устранению:** <Перечень действий для устранения возможности реализации данной уязвимости>
|
||||
|
||||
Для оформления карточки реализации недопустимого события _используется следующий формат карточки:_
|
||||
|
||||
**Название:** <Название реализованного недопустимого события>
|
||||
|
||||
**Цепочка связанных уязвимостей:** <уязвимость 1>,<уязвимость 2>,...,<уязвимость N>
|
||||
|
||||
**Описание:** <Детальное описание недопустимого события>
|
||||
|
||||
**Реализация: <Описать шаги, приводящие к реализации недопустимого события>
|
||||
|
||||
**Рекомендации по устранению:** <Перечень действий для устранения возможности реализации недопустимого события>
|
||||
@@ -0,0 +1,59 @@
|
||||
## Цель
|
||||
На данном этапе мы только начинаем взаимодействовать с целевой системой и нам важно собрать как можно больше информации о ней.
|
||||
Выделяют несколько видов разведки:
|
||||
1. **Пассивная разведка** - нет взаимодействия с целевой системой
|
||||
2. **Активная разведка** - идет прямое взаимодействие с системой (сканирование `IP` адресов, фазинг директорий веб приложений, сканирование сети и т.п.).
|
||||
Так же взависимости от условия проведения работ начальное взаимодействие с целевой системой может быть:
|
||||
- **С внешнего контура компании** (веб приложение, внешние почтовые сервисы и другие доступные из сети интернет)
|
||||
- **С внутреннего периметра компании** (подключаемые через коммутационное оборудование, сервера, АРМ-пользователей и т.п.)
|
||||
|
||||
## Разведка по открытым источникам (OSINT)
|
||||
|
||||
**Open Source Intelligence (Разведка по открытым источникам** - направление деятельности, включающее в себя поиск, выбор и сбор разведовательной информации из общедоступных источников, а так же её анализ.
|
||||
|
||||
Вся эта информация может быть использована нами для проведения тестирования на проникновение, например
|
||||
1. **Перечень сотрудников** - для формирования логинов и почтовых адресов.
|
||||
2. **Почтовые адреса** - для фишинговых атак.
|
||||
3. **Слитые базы логинов и паролей** - спреинг и брутфорс сервисов.
|
||||
4. **Информация об активах, структуре сети и используемых программных решениях и средствах защиты информации** - построение вектора атак и подготовка инструментария для скрытого перемещения в целевой системе.
|
||||
|
||||
Что бы найти корп. email [https://www.skymem.info](https://www.skymem.info/)
|
||||
Проверка на наличие слитых паролей можно проводить с помощью различных ботов или https://breachdirectory.org - сайт.
|
||||
## Разведка целевой системы
|
||||
**Существует 2 подхода**:
|
||||
1. С внешнего контура компании (Веб приложения, внешние почтовые сервисы и все, что доступно из Интернета)
|
||||
2. С внутреннего периметра компании (Подключение через коммутационное оборудование, сервера и т.д.)
|
||||
|
||||
### Внешний контур компании
|
||||
*Получить первоначальный доступ в периметр компании*:
|
||||
1. Уязвимые внешние сервисы на внешнем контуре - веб-приложения, почтовые сервисы, терминальные шлюзы
|
||||
2. Фишинговые рассылки
|
||||
*Какую информацию необходимо собрать?*
|
||||
- Логины
|
||||
- Пароли\хеши
|
||||
- Почтовые ящики
|
||||
- Данные по активам, открытых портах, работающих на них сервисах и актуальных уязвимостях
|
||||
**Какие шаги необходимо сделать в рамках данного этапа?**
|
||||
1. Выявление пулов IP адресов компании
|
||||
2. Выявление активных хостов, открытых портов, служб и их версий. В основном пользуемся **Nmap**
|
||||
3. Поиск уязвимостей в базе данных эксплойтов.
|
||||
- 1. [https://www.exploit-db.com](https://www.exploit-db.com)
|
||||
2. [https://packetstormsecurity.com/files/tags/exploit/](https://packetstormsecurity.com/files/tags/exploit/)
|
||||
3. [https://0day.today](https://0day.today)
|
||||
4. Выявление веб-приложений и эксплуатация уязвимостей согласно методике *OWASP WSTG*
|
||||
1. `Burp Suite`, `OWASP ZAP` - для ручного поисков векторов и эксплуатации.
|
||||
2. `Nuclei`, `nikto`, `Acunetix`, `sqlmap`, `tplmap` - для автоматического поиска векторов и ручной/автоматической эксплуатации.
|
||||
5. Анализ документов, конфигов и других данных, которые могут содержать *критическую и компрометирующую* информацию. Логины, почтовые ящики, пароли, адреса сервисов и т.д.
|
||||
1. `Feroxbuster`, `ffuf`, `gobuster`, `dirsearch` - инструменты для обнаружения скрытых файлов и директорий.
|
||||
2. Дорки (Yandex, Google и т.д.) - конкретизирующие поисковые запросы в известных поисковых системах
|
||||
```bash
|
||||
site:gazprom.ru filetype:pdf mail #Google
|
||||
site:gazprom.ru mime:pdf mail #Yandex
|
||||
```
|
||||
6. Эксплуатация ошибок в бизнес-логике, конфигурации сервисов и веб-приложений.
|
||||
7. Сбор информации и подготовка шаблонов для фишинговой компании. В рамках поиска данной информации необходимо изучить страницу контактов, профили пользователей, доки в веб-приложениях на предмет почтовых ящиков.
|
||||
|
||||
### Внутренний периметр
|
||||
|
||||
Здесь мы так же имеем 2 вектора
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
## Внешний периметр и его разновидности
|
||||
|
||||
Рассмотрим два наиболее частых варианта:
|
||||
1. **Классичесикий** - аналогичный внешнему периметру компаний на полигоне Standoff. Может быть представлен несколькими эксплуатируемыми веб-приложениями, среди которых обязательно будет сайт компании, и VPN сервер.
|
||||
![[Pasted image 20250411213749.png]]
|
||||
2. **С гейтами** - гейт это сервер с одним или несколькими веб приложениями, имеющий сетевую связность с внутренней сетью
|
||||
![[Pasted image 20250411213719.png]]
|
||||
|
||||
## Как ломать внешний периметр?
|
||||
|
||||
1. **Вариант 1** - собрать информацию с веб-сервисов внешнего периметра. Тут можно обнаружить VPN конфигурацию, адреса электронной почты доменных пользователей для подключения к внутренней сети. Дополнительно, можно провести фишинговую атаку - отправить письма под учеткой, предоставленной огранизаторами.
|
||||
2. **Вариант 2** - сбор информации (адресов почты ) с серверов внешнего периметра и последующая фишинговая атака с полезной нагрузкой, которая позволяет установить обратное соединение с пк сотрудника компании.
|
||||
Если встретили ифру с гейтами - самое очевидное, попытаться исполнить RCE (удаленное исполнение кода)
|
||||
|
||||
## Разведка сети и скан портов
|
||||
|
||||
С самого начала проверяем работающие узлы, а затем уже открытые порты и доступные сетевые сервисы. Таким образом, разведка внешнего периметра пройдет быстрее.
|
||||
**Сканирование сети** происходит через:
|
||||
- nmap и всё что сделангол на его основе
|
||||
- masscan
|
||||
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 201 KiB |
|
After Width: | Height: | Size: 215 KiB |
|
After Width: | Height: | Size: 435 KiB |
|
After Width: | Height: | Size: 99 KiB |
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 332 KiB |
|
After Width: | Height: | Size: 345 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 6.2 KiB |
|
After Width: | Height: | Size: 7.3 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 54 KiB |
@@ -0,0 +1,22 @@
|
||||
%% Zoottelkeeper: Beginning of the autogenerated index file list %%
|
||||
[[cybersec/Photos/Pasted image 20250105162015.png|Pasted image 20250105162015.png]]
|
||||
[[cybersec/Photos/Pasted image 20250105164935.png|Pasted image 20250105164935.png]]
|
||||
[[cybersec/Photos/Pasted image 20250105165103.png|Pasted image 20250105165103.png]]
|
||||
[[cybersec/Photos/Pasted image 20250105165110.png|Pasted image 20250105165110.png]]
|
||||
[[cybersec/Photos/Pasted image 20250105165916.png|Pasted image 20250105165916.png]]
|
||||
[[cybersec/Photos/Pasted image 20250105183609.png|Pasted image 20250105183609.png]]
|
||||
[[cybersec/Photos/Pasted image 20250105185359.png|Pasted image 20250105185359.png]]
|
||||
[[cybersec/Photos/Pasted image 20250317210934.png|Pasted image 20250317210934.png]]
|
||||
[[cybersec/Photos/Pasted image 20250411213719.png|Pasted image 20250411213719.png]]
|
||||
[[cybersec/Photos/Pasted image 20250411213749.png|Pasted image 20250411213749.png]]
|
||||
[[cybersec/Photos/Pasted image 20250413192203.png|Pasted image 20250413192203.png]]
|
||||
[[cybersec/Photos/Pasted image 20250416202446.png|Pasted image 20250416202446.png]]
|
||||
[[cybersec/Photos/Pasted image 20250416202511.png|Pasted image 20250416202511.png]]
|
||||
[[cybersec/Photos/Pasted image 20250416203106.png|Pasted image 20250416203106.png]]
|
||||
[[cybersec/Photos/Pasted image 20250417102631.png|Pasted image 20250417102631.png]]
|
||||
[[cybersec/Photos/Pasted image 20250417102751.png|Pasted image 20250417102751.png]]
|
||||
[[cybersec/Photos/Pasted image 20250417111734.png|Pasted image 20250417111734.png]]
|
||||
[[cybersec/Photos/Pasted image 20250417112443.png|Pasted image 20250417112443.png]]
|
||||
[[cybersec/Photos/Pasted image 20250417122554.png|Pasted image 20250417122554.png]]
|
||||
[[cybersec/Photos/Protocol cheatsheat|Protocol cheatsheat]]
|
||||
%% Zoottelkeeper: End of the autogenerated index file list %%
|
||||
@@ -0,0 +1,39 @@
|
||||
## FTP / SFTP
|
||||
|
||||
|
||||
**Порт** - tcp 21 (default)
|
||||
**Основные комманды**:
|
||||
- ls - просмотр директории
|
||||
- get - получение файла
|
||||
- mget - получение множества файлов
|
||||
- put - загрузка файла на сервер
|
||||
- mput - множественная загрузка файлов
|
||||
- mkdir - создание директори
|
||||
- cd - переход в директорию
|
||||
- pwd - просмотр актуальной директории
|
||||
- cdup - перемещение в конревую директорию
|
||||
- ! - доступ к терминалу в своем пк не выходя из ftp
|
||||
- rename - переименование
|
||||
- delete - удаление
|
||||
- mdelete - множественное удаление
|
||||
|
||||
## SMB
|
||||
|
||||
SMB - server message block/
|
||||
**Порт** - 445 tcp
|
||||
**Основные команды**:
|
||||
- smbclient -L host - просмотр доступных папок на хосте
|
||||
- smbclient \\\\host\\directory password - подключение к директории
|
||||
Все остальные команы (FTP команды такие же)
|
||||
![[Pasted image 20250413192203.png]]
|
||||
|
||||
## Redis
|
||||
**Port** - 6379 TCP (default)
|
||||
**Commands**:
|
||||
- redis-cli -h hostname - подключение к удаленному хосту
|
||||
- INFO - команда показывает информацию и статистику сервера
|
||||
- SELECT database - выбор бызы данных
|
||||
Сайты с командами редиса
|
||||
https://www.koderhq.com/tutorial/redis/basic-commands/#basic
|
||||
https://www.javaguides.net/2024/11/redis-commands-cheat-sheet.html
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
**Access control (ограничение доступа)** - приложение, накладывающее ограничения на то, кто или что авторизовано для выбранных действий или запрашиваемых рессурсов. В контексте веб-приложений, ограничение доступа зависит от аутентификации и менеджменте сессий.
|
||||
|
||||
1. **Аутентификация** позволяет определить, что пользователь является тем, кем он представляется.
|
||||
2. **Менеджер сессий** - идентифицирует какие последующие HTTP запросы были сделаны одним и тем же пользователем.
|
||||
3. **Ограничение доступа** определяет, может ли юзер выполнить действие, которое он захотел выполнить.
|
||||
|
||||
Сломанное ограничение доступа часто встречается и представляют из себя критические уязвимости. Разработка и управление системой ограничения доступа это комплексная проблема.
|
||||
|
||||
### Вертикальный контроль доступа
|
||||
|
||||
**Вертикальный контроль доступа** - механизмы, которые ограничивают доступ к конфиденциальным функциям определенным типам пользователей.
|
||||
|
||||
Благодаря вертикальному контролю, разные типы пользователей имеют доступ к различным функциям приложения. К примеру, админ может модифицировать или удалять любой пользовательский аккаунт, в отличие от простого пользователя, который не имеет доступа к этим функциям.
|
||||
|
||||
### Горизонтальный контроль доступа
|
||||
|
||||
**Горизонтальный контроль доступа** - механизм, ограничивающий доступ к ресурсам конкретным пользователям.
|
||||
|
||||
При горизонтальном контроле доступа, разные пользователи имеют доступ к подмножеству рессрсов одного типа. К примеру - приложение банка позволяет пользователю видеть транзакции и оплачивать с помощью их собственного аккаунта, но не с помощью аккаунта других пользователей.
|
||||
|
||||
### Контексто-зависимый контроль доступа
|
||||
|
||||
**Контексто-зависимый контроль доступа** - механизм, ограничивающий доступ к функционалу и ресурсам, основывающийся состоянии приложения или взаимодействия пользователя с ним.
|
||||
|
||||
Контексто-зависимый контроль доступа запрещает пользователю выполнять действия в неправильном порядке. К примеру - пользователь не может менять состав заказа после его оплаты.
|
||||
|
||||
## Примеры сломанного контроля доступа
|
||||
|
||||
### Эскалация вертикального контроля доступа
|
||||
|
||||
Если пользователь может повысить доступ к функционалу, к которому у него не должно быть доступа, то это эскалация вертикального контроля доступа. К примеру, если обычный пользователь может получить доступ к странице администратора, где он может удалять аккаунты других пользователей, это и есть эскалация.
|
||||
|
||||
**Незащищенный функционал**
|
||||
|
||||
В большинстве случаев, эскалация привелегий вертикального контроля доступа происходит, когда сервис не обеспечивает соблюдение какой-либо защиты для чуствительного функционала. например, ссылки могут быть связаны со страницей приветствия администратора, но не со страницы приветствия пользователя.
|
||||
|
||||
Суть в том, что не защищают админскую панель, а просто прячат **robots.txt**
|
||||
Или напрямую в тексте скрипта приложения.
|
||||
|
||||
### Горизонтальная эскалация привеленгий
|
||||
|
||||
**Горизонтальная эскалация** происходит, если пользователь получает доступ к ресурсам, которые предназначенны для другого пользователя, вместо собственных ресурсов такого же типа.
|
||||
|
||||
Пример: если атакующий может получить доступ к записям других пользователей, словно это его записи - это горизонтальная эсказация.
|
||||
|
||||
`https://insecure-website.com/myaccount?id=123`
|
||||
|
||||
если такующий изменяет `id` и получает доступ к аккаунту другого пользователя - это и есть эскалация. (В моем техникуме, на платформе procolledge была горизонтальная эскалация привелегий.)
|
||||