Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
yellow — Простая бинарная обёртка для DNS canarytokens. | Kitploit
Инструменты/GitHubGitHub/singe/yellow
Оборонительные ИнструментыСетевая безопасностьОбнаружение Вторжений
GitHubsinge/yellow

yellow

Простая бинарная обёртка для DNS canarytokens.

Репозиторий
25113 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

_ _
_ _ | | | _____ __ | | | |/ _ \ | |/ _ \ \ /\ / / | || | / | | () \ V V / _, |_|||_/ _/_/
|___/

  • Просто добавьте синего.

yellow - просто добавьте синего

Простые модификации бинарных файлов, которые запускают canarytoken при выполнении бинарного файла.

Идеально для установки ловушек в production-системах против злоумышленников.

В настоящее время существует четыре метода:

  • yellow — это целевой подход с бинарным файлом, который запускает токен, а затем выполняет настоящий бинарный файл в зависимости от выбранного вами расширения файла.
  • spe — это вариация вышеописанного, использующая подход, аналогичный недавно добавленному токену Thinkst "Sensitive Process Execution" для Windows.
  • libyellow — это кросс-системное уведомление, которое прозрачно запускает canarytoken для любого указанного вами имени бинарного файла при внедрении через LD_PRELOAD
  • ldsoyellow — это полностью функциональный линкер glibc (ld.so), который запускает canarytoken для любого бинарного файла, использующего его.

Подготовка

Зарегистрируйте собственный DNS canarytoken на сайте canarytokens. Подробнее о том, как они работают, можно прочитать в документации.

Он будет выглядеть примерно так: pz21qtyfsidipvrsuzs9n2udi.canarytokens.com

Поместите его в переменную окружения TOKEN:

export TOKEN="c28y9l4dw0drj62un0cm4rwz6.canarytokens.com"

В Dockerfile-файлах есть пример рабочего токена; вы можете проверить историю его активности здесь. Но всё же лучше использовать собственный.

Сборка

Доступны Dockerfile, реализующие каждый из этих методов сборки.

Если у вас есть подходящая стандартная среда сборки (например, build-essential в системах на основе Debian или build-base в системах на основе Alpine), вы можете очень просто скомпилировать libyellow или yellow. ldsoyellow более сложен.

Простой сквозной пример сборки и установки yellow можно увидеть в Dockerfiles.

yellow

gcc -o yellow yellow.c canary32.c

См. Dockerfile.yellow

spe

Сборка не требуется.

libyellow

Обязательно обновите список бинарных файлов, о которых вы хотите получать оповещения, в массиве alert_list.

gcc -shared -fPIC libyellow.c canary32.c -o libyellow.so

См. Dockerfile.libyellow или Dockerfile.libyellow.debian для версий Alpine и Debian.

ldsoyellow

Рабочий пример см. в Dockerfile.ldsoyellow. Вам понадобятся исходники glibc (рекомендую использовать официальную версию пакета, чтобы быть как можно ближе к настоящему линкеру).

apt-get source libc6

Примените патч rtld.c.patch

cd /glibc-* patch < rtld.c.patch

Настройте glibc с отключёнными проверками корректности и указанием правильного libdir (для 64-битной системы)

mkdir glibcbuild && cd glibcbuild /glibc-*/configure --disable-sanity-checks --libdir=$(dirname $(find / -name "libc.so.6"|grep 64))

Соберите как обычно

make

Установка

Все варианты используют переменную окружения TOKEN для указания URL canarytoken. Имя переменной окружения можно изменить или даже захардкодить, если хотите. Для каждого из них также есть Dockerfile.

yellow

yellow предназначен для срабатывания на конкретных бинарных файлах, которые вы переименовываете и связываете с ним через алиас, подобно тому, как используется busybox. Вам нужно переименовать бинарный файл, добавив расширение «.canary», а затем создать симлинк (или копию) yellow под исходным именем бинарного файла. Например:

root@kitploit:~
cp yellow /usr/bin
mv /usr/bin/id /usr/bin/id.canary
ln -s /usr/bin/yellow /usr/bin/id

После этого любой запуск id приведёт к срабатыванию вашего canarytoken.

См. Dockerfile.yellow

spe

Метод sensitive process execution использует ту же технику, что и выше, но срабатывает с помощью shell-скрипта, а не бинарного файла, и поставляется с установщиком. Запустите spe_install.sh, передав ему ваш DNS-токен и имя бинарного файла, на который вы хотите настроить срабатывание. Бинарный файл не обязательно должен существовать.

Например: ./spe_install.sh "c28y9l4dw0drj62un0cm4rwz6.canarytokens.com" /bin/id

Это создаст оповещение при каждом запуске id.

Это копия метода Windows-токена, описанного здесь

libyellow

libyellow предназначен для срабатывания на любом бинарном файле, в который он был внедрён через LD_PRELOAD, но оповещает только о тех, которые вы указали в коде. Это можно сделать на уровне сессии, установив переменную окружения LD_PRELOAD, указывающую на него, или на уровне всей системы, добавив его в файл /etc/ld.so.preload. Последний способ может сломать систему, если библиотека в ней не работает, поэтому рекомендуется сначала протестировать её с помощью LD_PRELOAD.

Не забудьте поместить ваш токен в переменную окружения TOKEN, как описано выше в разделе «Подготовка».

Пример с LD_PRELOAD:

root@kitploit:~
cp libyellow.so /usr/lib/
export LD_PRELOAD=/usr/lib/libyellow.so

Затем запустите целевой бинарный файл, убедитесь, что он ведёт себя как ожидается, и вы получите canary-оповещение.

Когда вы убедитесь, что всё работает, вы можете добавить его в систему следующей командой (это не сработает в системах на основе musl, таких как Alpine, где вместо этого используется метод LD_PRELOAD):

root@kitploit:~
cp libyellow.so /usr/lib
echo /usr/lib/libyellow.so >> /etc/ld.so.preload

См. Dockerfile.libyellow или Dockerfile.libyellow.debian для версий Alpine и Debian.

ldsoyellow

ldsoyellow предназначен для срабатывания на конкретных бинарных файлах, которые изменены так, чтобы использовать его вместо стандартного линкера. Можно заменить стандартный линкер на него для эффекта на всю систему, но это, скорее всего, будет слишком шумно.

Пример Dockerfile.ldsoyellow включает это для /bin/cat. Сначала заряженный линкер копируется рядом с легитимным:

cp <arm'd linker> /lib64/ld-linux-x86-64.so.3

Затем бинарный файл изменяется, чтобы использовать его вместо легитимного:

sed -i "s/\/lib64\/ld-linux-x86-64.so.2/\/lib64\/ld-linux-x86-64.so.3/" /bin/cat

См. Dockerfile.ldsoyellow.

Пример Docker в Docker

Если вы хотите запустить Docker внутри Docker, например, в сборочном окружении, где у вас ограничен контроль над директивами сборки, и получать оповещения, если кто-то выберется наружу, вы можете сделать что-то вроде примера из Dockerfile.dind-rootless. В этом примере используется yellow, но можно использовать любой или все остальные варианты.

Он устанавливает ловушки на бинарные файлы хоста, которые не должны быть доступны из контейнера.

Скачать инструмент