CodeGuard: PySec Edition
Канал по ИБ и этичному хакингу. Автор: @Arakcheev_Ruslan Ссылка: @invite_CodeGuard Рекламный менеджер: @Diggsale Биржа: https://telega.in/c/+3X56uL4A-UM3Njgy
Показати більше📈 Аналітичний огляд Telegram-каналу CodeGuard: PySec Edition
Канал CodeGuard: PySec Edition є активним учасником. На даний момент спільнота об'єднує 14 097 підписників, посідаючи 8 760 місце в категорії Технології та додатки та 45 869 місце у регіоні Росія.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 14 097 підписників.
За останніми даними від 26 вересня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на 821, а за останні 24 години на 0, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 9.98%. Протягом перших 24 годин після публікації контент зазвичай збирає 5.58% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 1 407 переглядів. Протягом першої доби публікація в середньому набирає 786 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 8.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як codeguard, pysec, docker, grep, контейнер.
📝 Опис та контентна політика
Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“Канал по ИБ и этичному хакингу.
Автор: @Arakcheev_Ruslan
Ссылка: @invite_CodeGuard
Рекламный менеджер: @Diggsale
Биржа: https://telega.in/c/+3X56uL4A-UM3Njgy”
Завдяки високій частоті оновлень (останні дані отримано 27 вересня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
# Плохо: контейнер работает от root
docker run -it ubuntu bash
whoami # root
# Правильно: указать пользователя
docker run -it --user 1000:1000 ubuntu bash
# Или в Dockerfile:
FROM ubuntu
RUN useradd -m appuser
USER appuser
🔹 Проблема: 90% контейнеров в проде работают от root 🔹 Решение: Всегда указывать USER в Dockerfile или --user при запуске2️⃣ Привилегированный режим
# НИКОГДА так не делайте в проде: docker run --privileged nginx # Это даёт контейнеру полный доступ к хосту: # - Все устройства (/dev) # - Возможность монтировать файловые системы # - Отключение всех ограничений # Если нужны конкретные capabilities: docker run --cap-add NET_ADMIN nginx # Вместо --privileged даём только нужное
🔹 Проблема: --privileged используют "чтобы работало", не понимая последствий 🔹 Решение: Использовать --cap-add только для нужных capabilities3️⃣ Монтирование Docker socket
# Популярный антипаттерн для CI/CD: docker run -v /var/run/docker.sock:/var/run/docker.sock myapp # Что может сделать атакующий: docker run -v /:/host -it alpine chroot /host # Полный доступ к файловой системе хоста!
🔹 Проблема: Docker socket = root доступ к хосту 🔹 Решение: Использовать Docker-in-Docker или rootless Docker4️⃣ Образы из непроверенных источников
# Проверить образ на уязвимости: docker scout cves nginx:latest # Или использовать Trivy: trivy image nginx:latest # Сканирование покажет: # CVE-2023-XXXX HIGH openssl 1.1.1k # CVE-2023-YYYY CRITICAL curl 7.74.0
🔹 Проблема: Образы с Docker Hub могут содержать malware или уязвимости 🔹 Решение: Использовать официальные образы, сканировать перед деплоем5️⃣ Секреты в переменных окружения
# Плохо: пароль виден всем docker run -e DB_PASSWORD=supersecret myapp # Любой процесс видит переменные: docker exec container cat /proc/1/environ # Правильно: Docker secrets echo "supersecret" | docker secret create db_pass - docker service create --secret db_pass myapp # Или монтировать файл: docker run -v ./secrets:/run/secrets:ro myapp
🔹 Проблема: Переменные окружения логируются, видны в docker inspect 🔹 Решение: Docker secrets, HashiCorp Vault, файлы с правильными правами6️⃣ Отсутствие лимитов ресурсов
# Контейнер может съесть всю память хоста:
docker run -d memhog # Fork bomb = хост падает
# Установить лимиты:
docker run -d \
--memory=512m \
--memory-swap=512m \
--cpus=0.5 \
--pids-limit=100 \
nginx
🔹 Проблема: Один контейнер может положить весь хост 🔹 Решение: Всегда ставить --memory, --cpus, --pids-limitЧек-лист безопасности Docker:
✔️ Контейнеры работают не от root ✔️ Никакого --privileged в проде ✔️ Docker socket не монтируется ✔️ Образы сканируются на уязвимости ✔️ Секреты не в ENV переменных ✔️ Установлены лимиты ресурсов ✔️ Используется read-only filesystem где возможно ✔️ Сеть изолирована (не --network host)😈 CodeGuard: PySec Edition | Чат
# Так делают "для удобства"
user_input = request.get("calc")
result = eval(user_input) # Пользователь вводит: __import__('os').system('rm -rf /')
# Безопасная альтернатива для математики:
import ast
result = ast.literal_eval(user_input) # Только литералы
🔹 Проблема: Выполняет произвольный код от имени вашего приложения 🔹 Решение: ast.literal_eval() или специализированные парсеры2️⃣ pickle — десериализация смерти
# Загрузка данных из кэша/файла
import pickle
data = pickle.loads(user_data) # RCE в одну строку
# Атакующий отправляет:
import pickle, os
class Exploit:
def __reduce__(self):
return (os.system, ('whoami',))
payload = pickle.dumps(Exploit())
🔹 Проблема: pickle выполняет код при десериализации 🔹 Решение: JSON, или hmac для подписи pickle-данных
import json
data = json.loads(user_data) # Безопасно
3️⃣ subprocess с shell=True
# Опасно: shell injection
filename = request.get("file")
subprocess.call(f"cat {filename}", shell=True)
# Ввод: "; rm -rf /"
# Безопасно: передавать список аргументов
subprocess.call(["cat", filename], shell=False)
🔹 Проблема: shell=True позволяет инъекцию команд 🔹 Решение: Всегда shell=False и список аргументов4️⃣ yaml.load() без Loader
# Старый код — уязвим
import yaml
config = yaml.load(user_file) # RCE через YAML
# Правильно:
config = yaml.safe_load(user_file)
🔹 Проблема: PyYAML по умолчанию выполняет Python-объекты 🔹 Решение: Только yaml.safe_load()5️⃣ SQL без параметризации
# Классика жанра
query = f"SELECT * FROM users WHERE id = {user_id}"
# Ввод: 1 OR 1=1; DROP TABLE users;--
# Безопасно:
cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,))
# Или ORM
User.objects.filter(id=user_id)
🔹 Проблема: SQL-инъекция — топ-1 уязвимость уже 20 лет 🔹 Решение: Параметризованные запросы, ORM6️⃣ os.path.join() с абсолютным путём
# Ожидание: /var/uploads/file.txt
# Реальность:
os.path.join("/var/uploads", "/etc/passwd")
# Результат: /etc/passwd — path traversal!
# Защита:
import os
base = "/var/uploads"
filename = os.path.basename(user_input) # Убирает путь
full_path = os.path.join(base, filename)
if not os.path.abspath(full_path).startswith(base):
raise SecurityError("Path traversal detected")
7️⃣ hashlib для паролей
# Неправильно:
password_hash = hashlib.sha256(password.encode()).hexdigest()
# Правильно: bcrypt с солью и work factor
import bcrypt
hashed = bcrypt.hashpw(password.encode(), bcrypt.gensalt(rounds=12))
🔹 Проблема: SHA256 слишком быстрый — GPU перебирает миллиарды хешей в секунду 🔹 Решение: bcrypt, argon2, scrypt — медленные по дизайнуЧек-лист безопасного Python:
✔️ Никаких eval/exec с пользовательским вводом ✔️ JSON вместо pickle для внешних данных ✔️ subprocess только с shell=False ✔️ yaml.safe_load() всегда ✔️ Параметризованные SQL-запросы ✔️ Валидация путей файлов ✔️ bcrypt/argon2 для паролей ✔️ bandit в CI/CD для автопроверки
# Сканер уязвимостей для Python
pip install bandit
bandit -r your_project/
🤔 Код, который "просто работает" — это код, который просто ждёт своего хакера.
😈 CodeGuard: PySec Edition | Чат🔴Базовое понимание архитектуры и ABI RISC-V — назначение регистров, система команд, способы адресации. 🔴Умение использовать тулчейн для кросс-компиляции и отладки программ RISC-V. 🔴Базовое понимание системы расширений RISC-V. 🔴Базовое понимание логики выполнения ассемблерных программ и способов их структурирования. 🔴 Умение читать и понимать ассемблерные программы, понимать результат их действия. 🔴Умение писать простые программы на ассемблере RISC-V. 🔴Умение применять расширение V. 🔴Умение использовать RIPES для визуализации работы программ.👩💻 Проходим курс здесь Годно? ❤️ — да 👍 — нет 😈 CodeGuard: PySec Edition | Чат
🔴Реверс-инжиниринг malware 🔴Анализ эксплойтов в IDA Pro/Ghidra 🔴Практика на реальных образцах🔥 @Intercepter — Низкоуровневый ИБ
🔴Network security (перехват трафика) 🔴WiFi cracking + защита 🔴Интересные интервью🤖 @tempestatorres5243 — Ассемблера для всех
🔴Криптография на практике 🔴Сайд-канальные атаки 🔴Secure coding patterns🧠 @TorZireael1 — Deep tech security
🔴TOR + bridges + обходы DPI 🔴VPN vs. Tor vs. I2P сравнения 🔴Anon OS (Tails, Whonix)😈 CodeGuard: PySec Edition | Чат
🔵Программные кейлоггеры — вредоносный код, внедряющийся в систему: хукает API клавиатуры (GetAsyncKeyState на Windows, evdev на Linux), логирует ввод в файл или слать на C2-сервер по HTTPS/SMTP. Могут дополняться скриншотами, захватом буфера обмена или записью экрана — полный шпионский набор. 🔵Аппаратные кейлоггеры — физические девайсы (USB-адаптеры между клавиатурой и ПК, WiFi-модули), перехватывающие сигналы на железном уровне. Их не ловит антивирус, но видно при осмотре — идеально для targeted атак с физическим доступом.⚠️ Распространение: фишинг (PDF/EXE-вложения), drive-by download с сайтов, bundled с пиратским софтом или даже в легальных утилитах (типа "оптимизаторов"). После заражения — тишина, пока не сольют ваши данные на даркнет. Примеры в дикой природе:
🔵RedLine Stealer — массовый стиллер с кейлоггером, продаётся на форумах за $100/мес, крадёт всё из браузеров + кастомный ввод. 🔵FormBook — .NET-троян, логирует формы логина, обходит песочницы, популярен в фишинге под банки. 🔵Hardware PS/2 логгеры — пассивные, 8ГБ памяти, WiFi-экспорт — для корпоративного шпионажа. Как поймать и нейтрализовать:
🔴Симптомы: лаг при вводе, неизвестные процессы (refog.exe, winlog.exe), трафик на подозрительные IP, CPU-спайки без причины. 🔴Детект: Process Explorer (Sysinternals) на хуки DLL, Wireshark на эксфильтрацию, антивирус с behavioral analysis (Kaspersky, Malwarebytes). 🔴Защита: виртуальная клавиатура для паролей, 2FA (не SMS), менеджеры паролей (Bitwarden с авто-fill), sandbox для тестов (Kasm/VM). Frida для реверса: хукаем SetWindowsHookEx и видим, кто подслушивает.⚠️Факт: даже rootkit-кейлоггеры (типа Hacker Defender) прячутся на уровне ядра — лови их через boot-time скан или live-USB с Linux. Пишите в чат свои истории встреч с кейлоггерами — как ловили и что потеряли!! 😈 CodeGuard: PySec Edition | Чат
# Атака brute-force на SSH занимает минуты
hydra -l root -P passwords.txt ssh://target.com
# Правильная защита:
sudo nano /etc/ssh/sshd_config
# Отключить root логин
PermitRootLogin no
# Изменить порт SSH
Port 2222
# Отключить password auth, только ключи
PasswordAuthentication no
PubkeyAuthentication yes
🔴Проблема: Большинство серверов в интернете имеют стандартный SSH с пароль-авторизацией
🔴 Решение: SSH-ключи, отключить root, 2FA через fail2ban
2️⃣ Неправильные права доступа на файлы
# Опасно: файл с секретами доступен всем
-rw-rw-rw- 1 root root 1024 config.env
# Проверка прав для критичных файлов:
sudo chmod 600 /etc/ssh/sshd_config # Только owner
sudo chmod 700 /root # Home директория только для owner
sudo chmod 600 ~/.ssh/id_rsa # Private key ТОЛЬКО для владельца
🔴 Проблема: umask 0022 по умолчанию создаёт файлы с доступом для всех
🔴 Решение:
# Установить правильный umask в ~/.bashrc
umask 0077 # Файлы создаются только для owner
3️⃣ Устаревшие пакеты с известными уязвимостями
# Проверить устаревшие пакеты
sudo apt list --upgradable
# Найти уязвимости в установленных пакетах
apt-listchanges
# или более детально
debsecan --suite focal # Для Ubuntu 20.04
🔴 Проблема: Люди устанавливают ОС, забывают об обновлениях, через год система полна уязвимостей
🔴 Решение:
# Включить автоматические обновления
sudo apt install unattended-upgrades
sudo systemctl enable unattended-upgrades
# Проверять регулярно:
sudo apt update && sudo apt upgrade -y
4️⃣ Открытые порты, которые не нужны
# Проверить слушающие порты
sudo ss -tuln | grep LISTEN
# Опасный вывод:
tcp LISTEN 0 128 0.0.0.0:23 0.0.0.0:* # Telnet!
tcp LISTEN 0 128 0.0.0.0:3306 0.0.0.0:* # MySQL на всех интерфейсах!
🔴 Проблема: Сервисы по умолчанию слушают на 0.0.0.0 (все интерфейсы)
🔴 Решение:
# MySQL слушает только локально
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 127.0.0.1
# Firewall для остального
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp # Только SSH
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw enable
5️⃣ Отсутствие логирования и мониторинга
Большинство систем не логируют попытки доступа, поэтому вы не знаете, что вас взламывают, пока не поздно:
# Включить аудит попыток входа
sudo nano /etc/ssh/sshd_config
LogLevel VERBOSE
# Мониторить логи в реальном времени
sudo tail -f /var/log/auth.log
# Найти подозрительную активность
sudo grep "Failed password" /var/log/auth.log | wc -l
# Установить fail2ban для защиты от brute-force
sudo apt install fail2ban
sudo systemctl enable fail2ban
🔴 Проблема: Атакующие входят, скачивают данные, устанавливают бэкдор, а вы не знаете
🔴 Решение: Centralized logging (ELK, Splunk), мониторинг с оповещениями
🎯 Чек-лист базовой безопасности Linux:
✔️ SSH-ключи вместо паролей ✔️ Root доступ отключён ✔️ Firewall включён (ufw/iptables) ✔️ Регулярные обновления (unattended-upgrades) ✔️ Правильные права на файлы (chmod 600 для секретов) ✔️ fail2ban для защиты от brute-force ✔️ Мониторинг логов и оповещения ✔️ Резервные копии в другом месте ✔️ SELinux или AppArmor включены (если нужны) ✔️ Никаких стандартных портов и сервисовПишите в чате : какую из этих проблем вы уже исправляли? Или может, обнаружили что-то новое? 🔒 😈 CodeGuard: PySec Edition | Чат
🔴Основы криптографии — шифры, хеширование, асимметричная криптография 🔴Защита данных — кодирование, стеганография, контроль целостности 🔴Сетевая безопасность — протоколы, уязвимости, анализ трафика 🔴Веб-безопасность — инъекции, CSRF, XSS и классические уязвимости 🔴 Анализ задач олимпиады — реальные примеры с решениями и пояснениями👩💻 Проходим курс здесь Пишите в чате : готовитесь к олимпиаде или просто хотите подтянуть ИБ? Какая секция вас больше всего зацепила? 🔐 😈 CodeGuard: PySec Edition | Чат
🔵Перехват функций без изменения кода приложения 🔵Чтение и изменение аргументов функций на лету 🔵Доступ к памяти процесса без отладчика 🔵Работает с защищёнными приложениями (AntiDebug, AntiVM и т.д.) 🔵Поддержка Android, iOS, Windows, Linux, macOSУстановка
pip install frida frida-tools
Базовый пример: перехват функции
import frida
import sys
# Подключаемся к процессу по имени
process = frida.get_usb_device().attach("target.apk")
# JavaScript код, который будет выполняться в контексте процесса
script = """
Interceptor.attach(Module.findExportByName(null, "strlen"), {
onEnter: function(args) {
console.log("[strlen] arg: " + Memory.readUtf8String(args[0]));
},
onLeave: function(result) {
console.log("[strlen] result: " + result);
}
});
"""
script_obj = process.create_script(script)
script_obj.on("message", lambda msg, data: print(msg))
script_obj.load()
sys.stdin.read()
Перехват собственной функции приложения
import frida
process = frida.get_local_device().attach("myapp")
# Хукуем функцию по адресу
script = """
var checkPassword = new NativeFunction(
Module.findBaseAddress("libc.so") + 0x12345,
'bool',
['pointer']
);
Interceptor.attach(checkPassword, {
onEnter: function(args) {
var password = Memory.readUtf8String(args[0]);
console.log("[PASSWORD] " + password);
},
onLeave: function(result) {
console.log("[RESULT] " + result);
// Подменяем результат на true
return 1;
}
});
"""
script_obj = process.create_script(script)
script_obj.on("message", lambda msg, data: print(msg))
script_obj.load()
Поиск интересных строк в памяти процесса
import frida
process = frida.get_local_device().attach("target")
script = """
var pattern = "secret_key";
var matches = Memory.scanSync(0x400000, 0x500000, pattern);
matches.forEach(function(match) {
console.log("[FOUND] " + match.address);
});
"""
script_obj = process.create_script(script)
script_obj.on("message", lambda msg, data: print(msg))
script_obj.load()
Отключение проверки сертификата (SSL Pinning)
// Перехватываем функции SSL-проверки
Interceptor.attach(Module.findExportByName("libssl.so", "SSL_CTX_set_verify"), {
onEnter: function(args) {
console.log("[SSL] verify intercepted");
// Подменяем режим проверки на отключённый
args[1] = 0;
}
});
Чтение защищённой памяти
script = """
// Находим функцию decrypt
var decryptFunc = Module.findExportByName("libcrypto.so", "AES_decrypt");
Interceptor.attach(decryptFunc, {
onEnter: function(args) {
console.log("[INPUT] " + Memory.readByteArray(args[0], 16));
},
onLeave: function(result) {
console.log("[DECRYPTED] " + Memory.readUtf8String(args[1]));
}
});
"""
Modifying return values on the fly
Interceptor.attach(Module.findExportByName(null, "isAuthenticated"), {
onLeave: function(result) {
console.log("[Auth check bypassed]");
return 1; // Возвращаем true вместо false
}
});
Что это даёт:
🔴Анализ малвари без её запуска в отладчике (антидебюг не срабатывает) 🔴Снятие защиты приложений (SSL Pinning, Jailbreak Detection, AntiVM) 🔴Поиск учётных данных, ключей в памяти процесса 🔴Динамический анализ сетевого трафика и функций шифрования 🔴Тестирование безопасности мобильных приложений на Android/iOSFrida работает на уровне процесса, поэтому обходит большинство защит, которые смотрят на бинарник статически. Пишите в чат, какие свои трюки с Frida используете в анализе. 😈 CodeGuard: PySec Edition | Чат
🔵Перехват функций без изменения кода приложения 🔵Чтение и изменение аргументов функций на лету 🔵Доступ к памяти процесса без отладчика 🔵Работает с защищёнными приложениями (AntiDebug, AntiVM и т.д.) 🔵Поддержка Android, iOS, Windows, Linux, macOSУстановка
pip install frida frida-tools
Базовый пример: перехват функции
import frida
import sys
# Подключаемся к процессу по имени
process = frida.get_usb_device().attach("target.apk")
# JavaScript код, который будет выполняться в контексте процесса
script = """
Interceptor.attach(Module.findExportByName(null, "strlen"), {
onEnter: function(args) {
console.log("[strlen] arg: " + Memory.readUtf8String(args[0]));
},
onLeave: function(result) {
console.log("[strlen] result: " + result);
}
});
"""
script_obj = process.create_script(script)
script_obj.on("message", lambda msg, data: print(msg))
script_obj.load()
sys.stdin.read()
Перехват собственной функции приложения
import frida
process = frida.get_local_device().attach("myapp")
# Хукуем функцию по адресу
script = """
var checkPassword = new NativeFunction(
Module.findBaseAddress("libc.so") + 0x12345,
'bool',
['pointer']
);
Interceptor.attach(checkPassword, {
onEnter: function(args) {
var password = Memory.readUtf8String(args[0]);
console.log("[PASSWORD] " + password);
},
onLeave: function(result) {
console.log("[RESULT] " + result);
// Подменяем результат на true
return 1;
}
});
"""
script_obj = process.create_script(script)
script_obj.on("message", lambda msg, data: print(msg))
script_obj.load()
Поиск интересных строк в памяти процесса
import frida
process = frida.get_local_device().attach("target")
script = """
var pattern = "secret_key";
var matches = Memory.scanSync(0x400000, 0x500000, pattern);
matches.forEach(function(match) {
console.log("[FOUND] " + match.address);
});
"""
script_obj = process.create_script(script)
script_obj.on("message", lambda msg, data: print(msg))
script_obj.load()
Отключение проверки сертификата (SSL Pinning)
// Перехватываем функции SSL-проверки
Interceptor.attach(Module.findExportByName("libssl.so", "SSL_CTX_set_verify"), {
onEnter: function(args) {
console.log("[SSL] verify intercepted");
// Подменяем режим проверки на отключённый
args[1] = 0;
}
});
Чтение защищённой памяти
script = """
// Находим функцию decrypt
var decryptFunc = Module.findExportByName("libcrypto.so", "AES_decrypt");
Interceptor.attach(decryptFunc, {
onEnter: function(args) {
console.log("[INPUT] " + Memory.readByteArray(args[0], 16));
},
onLeave: function(result) {
console.log("[DECRYPTED] " + Memory.readUtf8String(args[1]));
}
});
"""
Modifying return values on the fly
Interceptor.attach(Module.findExportByName(null, "isAuthenticated"), {
onLeave: function(result) {
console.log("[Auth check bypassed]");
return 1; // Возвращаем true вместо false
}
});
Что это даёт:
🔴Анализ малвари без её запуска в отладчике (антидебюг не срабатывает) 🔴Снятие защиты приложений (SSL Pinning, Jailbreak Detection, AntiVM) 🔴Поиск учётных данных, ключей в памяти процесса 🔴Динамический анализ сетевого трафика и функций шифрования 🔴Тестирование безопасности мобильных приложений на Android/iOSFrida работает на уровне процесса, поэтому обходит большинство защит, которые смотрят на бинарник статически. Пишите в чат, какие свои трюки с Frida используете в анализе. 😈 CodeGuard: PySec Edition | Чат
nmap [IP-адрес] — сканирование одного хоста. nmap [домен.com] — сканирование по доменному имени. nmap 192.168.1.1-50 — сканирование диапазона IP-адресов. nmap 192.168.1.0/24 — сканирование всей подсети. nmap -iL list.txt — сканирование целей из текстового файла. nmap [цель] --exclude [IP] — исключение конкретного адреса из проверки.Методы обнаружения и типы сканирования:
-sn — Ping scan: только проверка, включен ли хост (без сканирования портов). -sS — TCP SYN scan: быстрый и относительно скрытный метод («полуоткрытое» сканирование). -sT — TCP Connect scan: полное установление соединения (используется без прав root). -sU — UDP scan: поиск открытых UDP-портов. -Pn — пропустить обнаружение хоста (сканировать, даже если хост не отвечает на пинг).Управление портами:
-p 80 — сканирование конкретного порта. -p 1-1024 — сканирование диапазона портов. -p- — сканирование всех 65535 портов. -F — быстрый режим (сканирование только 100 самых популярных портов). --top-ports 20 — сканирование двадцати наиболее распространенных портов.Определение сервисов и ОС:
-sV — определение версий запущенных служб и сервисов. -O — попытка определения операционной системы (OS detection). -sC — использование стандартных скриптов Nmap (NSE). -A — «агрессивный» режим: включает определение ОС, версий, скрипты и трассировку одновременно.Интенсивность и вывод данных:
-T[0-5] — установка скорости сканирования (от 0 — очень медленно до 5 — крайне агрессивно). -v / -vv — увеличение детализации вывода (verbose mode). -oN file.txt — сохранение результата в обычном текстовом файле. -oX file.xml — сохранение результата в формате XML. -oG file.txt — сохранение в формате, удобном для поиска через grep.Интересный факт: Nmap был разработан американским экспертом по кибербезопасности Гордоном Лайоном, более известным под сетевым псевдонимом Fyodor (Фёдор Васкович). Имя «Фёдор Васкович» было выбрано Лайоном в честь писателя Фёдора Достоевского 😈 CodeGuard: PySec Edition | Чат
