All Security Engineering Courses
This channel is being updated often with older than 2020 courses, ebooks, videos, code, etc. to be used responsibly by everyone in CyberSecurity in an ethical manner. Lots of content is being downloaded from other channels or forwarded here. Bookmark me!
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام All Security Engineering Courses
تُعد قناة All Security Engineering Courses (@allsecurityengineeringcourses) في القطاع اللغوي الإنكليزية لاعباً نشطاً. يضم المجتمع حالياً 18 787 مشتركاً، محتلاً المرتبة 7 170 في فئة التكنولوجيات والتطبيقات والمرتبة 35 989 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 18 787 مشتركاً.
بحسب آخر البيانات بتاريخ 11 يونيو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار 133، وفي آخر 24 ساعة بمقدار 11، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 9.50%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 3.09% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 1 784 مشاهدة. وخلال اليوم الأول يجمع عادةً 580 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 2.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل git, strace, github, linux, docker.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“This channel is being updated often with older than 2020 courses, ebooks, videos, code, etc. to be used responsibly by everyone in CyberSecurity in an ethical manner. Lots of content is being downloaded from other channels or forwarded here. Bookmar...”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 12 يونيو, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
🔵Директории и файлы: Поиск по словарю стандартных и кастомных путей (/admin, /backup, .git/). 🔵GET/POST параметры: Перебор значений параметров (id=, user=) для поиска уязвимостей типа SQLi или LFI. 🔵Хедеры и куки: Фаззинг заголовков (User-Agent, Cookie) для обхода защиты. 🔵Мультипозиционный фаззинг: Одновременный перебор нескольких точек в запросе.Базовый сценарий: Поиск скрытых директорий Допустим, мы тестируем сайт example.com и хотим найти скрытые административные панели. 1️⃣ Простейший фаззинг Используем базовую команду, подставляя слова из списка в указанное место (FUZZ).
wfuzz -c -z file,wordlist/general/common.txt --hc 404 https://example.com/FUZZ-c для цветного вывода, -z задаёт источник данных (файл со словарём), --hc 404 скрывает ответы с кодом 404. 2️⃣ Фаззинг POST-запроса с данными Попробуем подобрать параметр
username в форме входа.
wfuzz -c -z file,users.txt -d "username=FUZZ&password=test" --hc 200 https://example.com/login.php
-d передаёт данные POST-запроса. Мы ищем ответы, где код НЕ 200 (успех), а что-то другое (редирект, ошибка).
3️⃣ Анализ результатов
Смотрим на коды ответов и длину контента. Необычные значения - цель для исследования.
Пример вывода:
Target: https://example.com/FUZZ Total requests: 4714 ================================================================== ID Response Lines Word Chars Payload ================================================================== 000012: C=403 7 L 12 W 168 Ch "admin" 000145: C=301 0 L 0 W 0 Ch "backup"Вывод: Найдена директория
/admin (возвращает 403 - доступ запрещён) и /backup с редиректом 301. Обе - потенциальные цели.
Как это работает изнутри:
🔵Фаззинг (Fuzzing): Автоматическая отправка искажённых или рандомных данных в программу для поиска багов. Wfuzz делает это для веба. 🔵Фильтры: Мощная система фильтрации по коду ответа (--hc, --sc), длине слов/строк (--hw, --hl), чтобы убрать мусор. 🔵Рекурсивный фаззинг: Найдя одну директорию, можно запустить фаззинг внутри неё для углублённого поиска.Профилактика: Как защитить своё приложение?
🔴Не оставляйте на продакшене скрытые тестовые или административные пути. Удаляйте или строго ограничивайте доступ. 🔴Внедряйте корректную обработку ошибок. Возвращайте одинаковые страницы с кодом 404 для всех несуществующих ресурсов. 🔴Используйте WAF (Web Application Firewall) для обнаружения и блокировки подозрительных запросов с паттернами брутфорса. 🔴Регулярно проводите аудит своего веб-приложения с помощью сканеров и инструментов вроде Wfuzz, но на себя.😈 CodeGuard: CyberSec Edition | Чат
# Классическая дебильная конфигурация:
services:
app:
image: alpine
volumes:
- /:/host # О, БОЖЕ!
# Атакующему достаточно зайти в контейнер:
docker exec -it myapp sh
cd /host
cat /host/etc/shadow
echo 'backdoor' >> /host/root/.bashrc
Фикс (никогда так не делайте):
services:
app:
image: alpine
volumes:
- ./app_data:/var/lib/app # ТОЛЬКО специфичные данные
- config:/etc/config # Используйте именованные тома
2️⃣ cap_add: ALL - суперспособности для контейнера
# Вот эта хрень даёт ядерные привилегии:
services:
pentest:
image: ubuntu
cap_add:
- ALL # SYS_ADMIN, NET_ADMIN, SYS_MODULE...
# После этого внутри можно:
# - Монтировать файловые системы
# - Менять сетевой стек
# - Загружать kernel modules
# Де-факто это root на хосте.
Фикс (минимальные права):
services:
app:
image: nginx
cap_drop:
- ALL # Сбрасываем ВСЁ
cap_add:
- NET_BIND_SERVICE # Добавляем только нужное для nginx (порт < 1024)
3️⃣ Комбинация: корень + все капы = мгновенный взлом
# Апофеоз идиотизма в одном файле:
version: '3'
services:
backdoor:
image: busybox
volumes:
- /:/rootfs
cap_add:
- ALL
command: chroot /rootfs /bin/sh -c "useradd -m -s /bin/bash hacker"
Атакующий просто запускает ваш docker-compose up и становится root на хосте.
4️⃣ privileged: true - это ещё хуже, чем кажется
services:
monitor:
image: some-monitoring
privileged: true # Отключает ВСЕ namespaces и security features
# Это эквивалент запуска процесса прямо на хосте.
# Любая уязвимость в образе = полный контроль над сервером.
Чек-лист "Docker Compose не убил мою систему":
✔️ Тома: Никогда не монтируйте /, /etc, /root. Только конкретные каталоги приложения.
✔️ Capabilities: Всегда cap_drop: ALL, добавлять только явно необходимые капы (список в man capabilities).
✔️ Пользователь: Запускайте от не-root пользователя внутри контейнера (user: "1000:1000").
✔️ Привилегии: Никогда не используйте privileged: true. Почти всегда есть безопасная альтернатива.
✔️ Сеть: Не используйте network_mode: host без крайней необходимости. Изолируйте сервисы.
✔️ Проверка: Запускайте docker scout или trivy config на ваш docker-compose.yml.
Бонус: скрипт для поиска кривых конфигов
#!/bin/bash
echo "🔍 Docker Compose Security Scan"
grep -r "volumes:" . --include="*.yml" --include="*.yaml" | grep -E "\s+-\s+[/][^:]+" && echo "Найдено монтирование корня!"
grep -r "cap_add:.*ALL" . --include="*.yml" --include="*.yaml" && echo "Найдены ALL capabilities!"
grep -r "privileged: true" . --include="*.yml" --include="*.yaml" && echo "Найден privileged mode!"
echo "Пора фиксить этот бардак."
Интересный факт:
В Shodan легко найти Docker API на 2375/tcp без аутентификации, а дальше - просто отправить кривой docker-compose файл и получить shell.
😈 CodeGuard: CyberSec Edition | Чат# Смотрим, что загружено
lsmod | head -20
# Черный список модулей в /etc/modprobe.d/
echo "install bluetooth /bin/false" | sudo tee /etc/modprobe.d/disable-bluetooth.conf
echo "install firewire-core /bin/false" | sudo tee -a /etc/modprobe.d/disable-firewire.conf
Зачем: Зачем тебе Bluetooth на сервере? Это же идиотизм.
2️⃣ Жесткий sysctl - основа всего (параноидальный режим)
# /etc/sysctl.d/99-hardening.conf # Отключаем маршрутизацию и перенаправление пакетов net.ipv4.ip_forward = 0 net.ipv6.conf.all.forwarding = 0 # Защита от спуфинга net.ipv4.conf.all.rp_filter = 1 net.ipv4.conf.default.rp_filter = 1 # Игнорируем ICMP-редиректы (старый трюк) net.ipv4.conf.all.accept_redirects = 0 net.ipv6.conf.all.accept_redirects = 0Применяем:
sudo sysctl -p /etc/sysctl.d/99-hardening.conf
3️⃣ Безопасная загрузка и отказ от GRUB-меню (физический доступ = game over)
# Шифруем загрузочный раздел (LUKS) и ставим пароль на GRUB
sudo grub-mkpasswd-pbkdf2
# Вводим в /etc/grub.d/40_custom:
set superusers="admin"
password_pbkdf2 admin (тут_твой_хэш)
Фикс GRUB-меню:
# Прячем меню и ускоряем загрузку GRUB_TIMEOUT=0 GRUB_HIDDEN_TIMEOUT=3 GRUB_DISABLE_OS_PROBER=true4️⃣ Отключаем опасные возможности ядра (capabilities - адская хрень)
# Смотрим, что есть у процессов
getcap -r / 2>/dev/null | head -10
# Дропаем capabilities у контейнеров и сервисов
docker run --cap-drop=ALL --cap-add=NET_BIND_SERVICE nginx
# В systemd сервисе:
[Service]
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
NoNewPrivileges=yes
5️⃣ AppArmor/SELinux в enforcing (не говорите, что это сложно)
# Проверяем статус AppArmor
sudo aa-status
# Включаем для всего
sudo aa-enforce /etc/apparmor.d/*
# Для SELinux
sudo setenforce 1
sudo sed -i 's/SELINUX=permissive/SELINUX=enforcing/' /etc/selinux/config
6️⃣ Отключаем core dumps (утечка памяти - подарок хакеру)
# Глобально в sysctl
kernel.core_pattern = |/bin/false
fs.suid_dumpable = 0
# И в limits.conf
* hard core 0
7️⃣ Запрет загрузки модулей на лету (ломаем LKM-руткиты)
# Жесткий запрет в sysctl
kernel.modules_disabled = 1
# Или через capabilities для конкретных пользователей
sudo setcap -r /bin/insmod
Чек-лист "Ядро как крепость":
✔️ Модули: черный список для bluetooth, firewire, usb-storage. ✔️ Sysctl: ip_forward=0, rp_filter=1, никаких redirects. ✔️ Загрузка: пароль на GRUB, шифрование, timeout=0. ✔️ Capabilities: дропаем всё, что не нужно конкретному сервису. ✔️ MAC: AppArmor/SELinux в enforcing, никаких disable. ✔️ Core dumps: отключены глобально и через limits. ✔️ LKM: modules_disabled=1 или строгие права.Бонус: быстрая проверка харденинга
#!/bin/bash
echo "🔍 Kernel Hardening Check"
sysctl net.ipv4.ip_forward kernel.modules_disabled
getenforce 2>/dev/null || aa-status
lsmod | grep -E "(bluetooth|firewire|usb)" && echo "WARNING: Suspicious modules loaded"
Интересный факт:
Многие "безопасные" облачные инстансы запускаются с net.ipv4.ip_forward=1, превращаясь в роутеры для атак.
👩💻 CodeGuard: Linux | Чатsudo apt-get install krb5-user libpam-krb5 libssh-4
Во время установки укажи realm (домен) и KDC-серверы твоего AD.
3️⃣Настройка /etc/ssh/sshd_config
sudo nano /etc/ssh/sshd_config
Добавь или измени строки:
GSSAPIAuthentication yes GSSAPICleanupCredentials yes PasswordAuthentication no PubkeyAuthentication no # Или оставь как fallback KerberosAuthentication yes4️⃣Создание SPN для хоста в AD Это самая важная часть. На контроллере домена или с утилитами RSAT создай Principal для сервера:
setspn -S host/your-linux-server.your.domain YOURDOMAIN\server-machine-account$
Или через оснастку AD. Без этого - ничего не kinit your_ad_username@YOURDOMAIN.LOCALПроверь:
klistДолжен быть виден билет. 6️⃣Тестирование подключения
ssh -o GSSAPIAuthentication=yes -o GSSAPIDelegateCredentials=yes your-linux-server
Если всё настроено верно, тебя пустит без пароля и ключа. Магия билета Krb5.
✅Проверка и отладка
Включи подробное логирование на сервере в sshd_config:
LogLevel DEBUG3Смотри логи /var/log/auth.log. Ищи строки с GSSAPI. 🔄Перезапуск и применение
sudo systemctl restart sshd
Не забудь про firewall. Открой порт 22 (или свой) для нужных подсетей.
🚨 Важные нюансы
- Reverse DNS должен работать правильно.
- Имя хоста в SSH-команде должно полностью совпадать с именем в SPN (host/...).
- Срок жизни билета Kerberos ограничен. Используй kinit для обновления.
💥 Результат: Единый вход (SSO) в инфраструктуру. Вошел в Windows - получил билет - подключился к любому Linux-серверу в домене. Удобная хрень.
😈 CodeGuard: PySec Edition | Чатssh-keygen -t ed25519 -f ~/ssh-ca -C "SSH Internal CA"
# Публичную часть (ssh-ca.pub) раскидываем на все серверы
# Закрытый ключ (ssh-ca) храним как зеницу ока
2️⃣Настраиваем серверы: доверяем нашему CA
На каждом сервере в /etc/ssh/sshd_config:
# Отключаем обычные ключи. Да, это страшно. PubkeyAuthentication no # Включаем аутентификацию по сертификатам TrustedUserCAKeys /etc/ssh/ca.pub AuthorizedPrincipalsFile /etc/ssh/auth_principals/%uКладём наш публичный CA-ключ на сервер:
sudo cp ssh-ca.pub /etc/ssh/ca.pub
sudo chmod 644 /etc/ssh/ca.pub
3️⃣Выписываем временный сертификат для пользователя
На машине с CA-ключом. Хотим дать доступ user1 к серверам на 2 часа:
ssh-keygen -s ~/ssh-ca -I "user1_access" -n user1 -V +2h ~/.ssh/id_ed25519.pub
# -n (principals) - кому выдаём. -V +2h - живёт 2 часа.
# Получим файл сертификата: ~/.ssh/id_ed25519-cert.pub
4️⃣На сервере: настраиваем принципалы
Создаём файл, который говорит, какие роли (principals) разрешены пользователю.
sudo mkdir -p /etc/ssh/auth_principals
echo "user1" | sudo tee /etc/ssh/auth_principals/user1
5️⃣Подключаемся с сертификатом
Клиент автоматически использует сертификат (~/.ssh/id_ed25519-cert.pub) вместе с приватным ключом.
ssh -i ~/.ssh/id_ed25519 user1@server
Проверить детали сертификата:
ssh-keygen -L -f ~/.ssh/id_ed25519-cert.pub
6️⃣Автоматизация и отзыв
Весь сброс - это просто перестать выписывать новые сертификаты. Старые сами протухнут. Можно выписывать сертификаты через CI/CD при деплое.
😱Важные нюансы
- Бэкап старого sshd_config! Первый запуск - с параллельной сессией.
- Сертификат - это надстройка к ключу. Приватный ключ всё ещё нужен.
- Для разных целей (деплой, админ) делайте разные принципалы.
💥Итог: authorized_keys - мёртв. Доступ выдаётся централизованно и на время. Потерял ключ? Не страшно - срок действия и так истёк. Это нихуя не сложно, но в разы безопаснее.
😈 CodeGuard: PySec Edition | Чат▶️ Удаленное управление смартфоном через терминал ▶️ Портфорвардинг, туннели, файловые операции ▶️ Запуск скриптов и демонов прямо на девайсе ▶️ Альтернатива тяжеловесному OpenSSH⚡️Быстрая настройка на Android (через Termux): Установка Dropbear:
pkg update
pkg install dropbear
Генерация и настройка ключей:
dropbearkey -t ed25519 -f ~/.ssh/id_dropbear
dropbearkey -y -f ~/.ssh/id_dropbear | grep "^ssh-ed25519" > ~/.ssh/authorized_keys
Запуск сервера с паролем или по ключу:
dropbear -F -E -m -s -j -k -p 8022
Автоматическая ротация ключей (скрипт для cron/anacron):
#!/data/data/com.termux/files/usr/bin/bash
cd ~/.ssh
mv id_dropbear id_dropbear.old
dropbearkey -t ed25519 -f id_dropbear
dropbearkey -y -f id_dropbear | grep "^ssh-ed25519" > authorized_keys
pkill -HUP dropbear
➡️ Официальный сайт
😈 CodeGuard: PySec Edition | Чатp { color: blue; } /* targets all <p> tags */
#title { font-size: 24px; } /* targets ID "title" */
.card { padding: 10px; } /* targets class "card" */
2️⃣ Box Model – Understand Layout
Every element is a box with:
• Content → text/image inside
• Padding → space around content
• Border → around the padding
• Margin → space outside border
div {
padding: 10px;
border: 1px solid black;
margin: 20px;
}
3️⃣ Flexbox – Align with Ease
Great for centering or laying out elements:
.container {
display: flex;
justify-content: center; /* horizontal */
align-items: center; /* vertical */
}
4️⃣ Grid – 2D Layout Power
Use when you need rows and columns:
.grid {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 20px;
}
5️⃣ Responsive Design – Mobile Friendly
Media queries adapt to screen size:
@media (max-width: 768px) {
.card { font-size: 14px; }
}
6️⃣ Styling Forms Buttons
Make UI friendly:
input {
border: none;
padding: 8px;
border-radius: 4px;
}
button {
background-color: #4CAF50;
color: white;
border: none;
padding: 10px;
}
7️⃣ Transitions Animations
Add smooth effects:
.button {
transition: background-color 0.3s ease;
}
.button:hover {
background-color: #333;
}
🛠 Practice Task:
Build a card component using Flexbox:
• Title, image, description, button
• Make it responsive on small screens
---
✅ CSS3 Basics + Real Interview Questions Answers 🧠📋
1️⃣ Q: What is CSS and why is it important?
A: CSS (Cascading Style Sheets) controls the visual presentation of HTML elements—colors, layout, fonts, spacing, and more.
2️⃣ Q: What’s the difference between id and class in CSS?
A:
• #id targets a unique element
• .class targets multiple elements
→ Use id for one-time styles, class for reusable styles.
3️⃣ Q: What is the Box Model in CSS?
A: Every HTML element is a box with:
• content → actual text/image
• padding → space around content
• border → edge around padding
• margin → space outside the border
4️⃣ Q: What are pseudo-classes?
A: Pseudo-classes define a special state of an element. Examples:
:hover, :first-child, :nth-of-type()
5️⃣ Q: What is the difference between relative, absolute, and fixed positioning?
A:
• relative → positioned relative to itself
• absolute → positioned relative to nearest positioned ancestor
• fixed → positioned relative to viewport
6️⃣ Q: What is Flexbox used for?
A: Flexbox is a layout model that arranges items in rows or columns, making responsive design easier.
7️⃣ Q: How do media queries work?
A: Media queries apply styles based on device characteristics like screen width, height, or orientation.
👐Welcome 🫵 To The ☠️SuBoXone hackers society☠️
Networks......👊
🔥Telegram🔥:
https://t.me/SuBoXoneSoCiety
🗄️SuBoXone Backup🗄️: https://t.me/suboxonebackup
🕷️DarkWeb🕷️:http://suboxone2fzkkkeuezwozbbajgqargceo62wdx3f53awty6dv4mzzbad.onion
🪧Whatsapp community🪧 :https://whatsapp.com/channel/0029Vb7WAkz4tRrkdnGzzy25<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>My First Page</title>
</head>
<body>
<h1>Welcome to HTML5!</h1>
<p>This is a simple paragraph.</p>
</body>
</html>
📌 Key HTML5 Features with Examples:
1️⃣ Semantic Elements – Makes code readable SEO-friendly:
<header>My Website Header</header>
<nav>Links go here</nav>
<main>
<article>News article content</article>
<aside>Sidebar info</aside>
</main>
<footer>Contact info</footer>
2️⃣ Media Tags – Add audio and video easily:
<video width="300" controls>
<source src="video.mp4" type="video/mp4">
</video>
<audio controls>
<source src="audio.mp3" type="audio/mpeg">
</audio>
3️⃣ Form Enhancements – New input types:
<form>
<input type="email" placeholder="Enter your email">
<input type="date">
<input type="range" min="1" max="10">
<input type="submit">
</form>
4️⃣ Canvas SVG – Draw graphics in-browser:
<canvas id="myCanvas" width="200" height="100"></canvas>
💡 Why HTML5 Matters:
• Cleaner, more semantic structure
• Native support for multimedia
• Mobile-friendly and faster loading
• Enhanced form validation
🎯 Quick Practice Task:
Build a simple HTML5 page that includes:
• A header
• Navigation bar
• Main article
• Video or image
• Footer with contact info
✅ HTML5 Basics + Real Interview Questions Answers 🌐📋
1️⃣ Q: What is HTML and why is it important?
A: HTML (HyperText Markup Language) is the standard markup language used to create the structure of web pages. It organizes content into headings, paragraphs, links, lists, forms, etc.
2️⃣ Q: What’s the difference between <div> and <section>?
A: <div> is a generic container with no semantic meaning. <section> is a semantic tag that groups related content with meaning, useful for SEO and accessibility.
3️⃣ Q: What is the difference between id and class in HTML?
A:
• id is unique for one element
• class can be reused on multiple elements
→ id is used for specific targeting, class for grouping styles.
4️⃣ Q: What are semantic tags? Name a few.
A: Semantic tags clearly describe their purpose. Examples:
<header>, <nav>, <main>, <article>, <aside>, <footer>
5️⃣ Q: What is the difference between <ul>, <ol>, and <dl>?
A:
• <ul> = unordered list (bullets)
• <ol> = ordered list (numbers)
• <dl> = description list (term-definition pairs)
6️⃣ Q: How does a form work in HTML?
A: Forms collect user input using <input>, <textarea>, <select>, etc. Data is sent using the action and method attributes to a server for processing.
7️⃣ Q: What is the purpose of the alt attribute in an image tag?
A: It provides alternative text if the image doesn’t load and improves accessibility for screen readers.
👐Welcome 🫵 To The ☠️SuBoXone hackers society☠️
Networks......👊
🔥Telegram🔥:
https://t.me/SuBoXoneSoCiety
🗄️SuBoXone Backup🗄️: https://t.me/suboxonebackup
🕷️DarkWeb🕷️:http://suboxone2fzkkkeuezwozbbajgqargceo62wdx3f53awty6dv4mzzbad.onion
🪧Whatsapp community🪧 :https://whatsapp.com/channel/0029Vb7WAkz4tRrkdnGzzy25git init
2️⃣ git status
Check what changes are untracked or modified.
git status
3️⃣ git add
Add files to staging area (preparing them for commit).
git add index.html
git add. # Adds all files
4️⃣ git commit
Save the snapshot with a message.
git commit -m "Added homepage structure"
5️⃣ git log
See the history of commits.
git log
🌐 Using GitHub
6️⃣ git remote add origin
Connect your local repo to GitHub.
git remote add origin https://github.com/yourusername/repo.git
7️⃣ git push
Push your local commits to GitHub.
git push -u origin main
8️⃣ git pull
Pull latest changes from GitHub.
git pull origin main
🪫 Collaboration Basics
🔀 Branching & Merging
git branch feature-navbar
git checkout feature-navbar
# Make changes, then:
git add.
git commit -m "Added navbar"
git checkout main
git merge feature-navbar
🔵 Pull Requests
Used on GitHub to review & merge code between branches.
🎯 Project Tip:
Use Git from day 1—even solo projects! It builds habits and prevents code loss.
💬 React ⭐ for more!
Posted by @BugSecstrace показывает ВСЕ системные вызовы: файлы, сеть, память, IPC. Это отладчик уровня бога, который не требует исходников.
🚛 Установка (уже есть везде):
# Проверяем
which strace
# Если нет (редко):
sudo apt install strace # Ubuntu
sudo yum install strace # CentOS
🎯 Реальные кейсы:
1. Почему веб-сервер не стартует на порту 80:
sudo strace -f -e bind,listen nginx 2>&1 | grep -A5 -B5 "80"
Увидишь EACCES (Permission denied) или EADDRINUSE.
2. Какие файлы читает падающее приложение:
strace -e openat,stat mysqld 2>&1 | grep "No such file"
Найдёшь отсутствующие конфиги или библиотеки.
3. Почему скрипт тормозит:
strace -c -p $(pgrep python)
# % time seconds usecs/call calls errors syscall
# 89.34 0.120000 4000 30 nanosleep
Видно, что процесс 89% времени спит — ищешь блокировки.
🔧 Мощные команды:
Следим за конкретным процессом:
# Куда пишет логи
strace -p 1234 -e write 2>&1 | grep "log"
# Какие сокеты открывает
strace -p $(pgrep node) -e socket,connect
# Все файловые операции
strace -f -e file php-fpm 2>&1 | tail -50
Анализ падения:
strace -f ./buggy_binary 2>&1 | tail -30
# Ищем SIGSEGV и последние вызовы перед смертью
Ищем утечку файловых дескрипторов:
strace -e openat -f python app.py 2>&1 | grep "= -1"
# Смотрим сколько раз открывается один файл
📊 Продвинутые флаги:
# С дампами памяти аргументов
strace -s 100 -v -xx -e read,write sshd
# Со временем выполнения каждого вызова
strace -T -p $(pgrep redis)
# Только ошибки
strace -e trace=failed nginx
# С PID в начале строки (для многопоточных)
strace -f -o /tmp/trace.txt -ff python app.py
🛠 Практические примеры:
Отладка Docker-контейнера:
# Запускаем контейнер с strace
docker run --cap-add=SYS_PTRACE -it alpine sh
# Внутри контейнера:
apk add strace
strace -f nginx
# Или снаружи
docker exec -it container_id strace -p 1
Почему apt update медленный:
strace -e network -f apt update 2>&1 | grep connect
# Видишь куда коннектится, какой DNS
Что делает этот бинарник (без исходников):
strace -e trace=process,network ./suspicious_bin
# Смотрит, форкает ли процессы, куда ходит по сети
Алиасы для ~/.bashrc:
alias trace='strace -f -e trace=file,network,process'
alias slow='strace -c -p'
alias fails='strace -e trace=failed -f'
alias spy='strace -e trace=openat,execve -f'
⚠️ Важные нюансы:
👍 strace замедляет процесс в 10-100 раз
👍 Не покажет что происходит внутри JVM/Python (только системные вызовы)
👍 Для Go-приложений используй ltrace или perf
👍 В продакшене только для коротких сессий
🔍 Security применение:
# Какие файлы читает демон
sudo strace -e openat,read -p $(pgrep sshd) 2>&1 | grep /etc
# Куда отправляет данные
strace -e sendto,write malware.bin 2>&1 | grep "inet_addr"
💀 Боевой скрипт для аварийного дебага:
#!/bin/bash
PID=$1
echo "Трассируем PID $PID"
strace -f -p $PID -o /tmp/strace_${PID}_$(date +%s).log \
-e trace=all \
-s 200 \
-y \
-ttt
# -y покажет пути файлов вместо fd
# -ttt микросекундные таймстемпы
🎯 Итог: Когда логи молчат, метрики не показывают, а приложение падает — strace последний инструмент перед gdb. Показывает что происходит на уровне ядра, без сглаживаний и абстракций.
Запомни: если не знаешь почему не работает - strace -f покажет причину за 30 секунд.
👩💻 CodeGuard: Linux | ЧатЭтот курс предназначен для начинающих, которые хотят изучить пентестинг Windows с нуля. В рамках курса подробно рассматриваются методы обеспечения постоянного присутствия и латерального перемещения. После прохождения курса вы будете хорошо понимать, как подходить к компьютерам Windows с точки зрения Red-Team. Курс охватывает перечисление AD, повышение привилегий, обеспечение постоянного присутствия, атаки Kerberos, такие как атаки делегирования, серебряный билет, золотой билет, алмазный билет и т. д. Курс моделирует реальные атаки, и мы переходим от обычной учетной записи пользователя в домене к повышению привилегий до администратора домена. Основное внимание уделяется использованию различных типов атак, которые применяют большинство злоумышленников в мире. Этот курс предназначен для того, чтобы специалисты по безопасности могли практиковаться на компьютере с Windows 10. Курс подходит для начинающих и будет полезен как студентам, так и опытным профессионалам. Мы начнем с перечисления портов и поймем, как их перечислять. Когда речь заходит о безопасности AD, существует большой пробел в знаниях, который специалисты по безопасности и администраторы с трудом пытаются восполнить. На протяжении многих лет я прошел множество международных тренингов по безопасности AD и всегда обнаруживал, что существует недостаток качественных материалов и, в частности, хороших пошаговых инструкций и объяснений.Чему вы научитесь:
📍Learn the Theory behind the Attacks 📍Lab Setup for AD Pentesting 📍Unofficial prep for exams like OSCP, PNPT, CPTS, CRTP, CRTO 📍Local Enumeration 📍Local Privilege Escalation 📍Domain Privilege Escalation 📍Lateral Movement 📍Domain Enumeration 📍Post Exploitation 📍Persistence Techniques 📍BloodHound 📍PowerView 📍Rubeus 📍Impacket Tools 📍Mimikatz 📍File Transfer Techniques 📍Metasploit 📍And much more..#cours
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
