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

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

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

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

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

Категории

Все категории
Loading categories
IMDSpoof — IMDSPOOF — это инструмент кибер-обмана, который подделывает сервис AWS IMDS, возвращая HoneyTokens, на которые можно настроить оповещения. | Kitploit
Инструменты/GitHubGitHub/grahamhelton/imdspoof
Оборонительные ИнструментыБезопасность облачных средРеагирование на Инциденты
GitHubgrahamhelton/imdspoof

IMDSpoof

IMDSPOOF — это инструмент кибер-обмана, который подделывает сервис AWS IMDS, возвращая HoneyTokens, на которые можно настроить оповещения.

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

Популярное

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

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

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

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

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

IMDSPOOF

IMDSPOOF — это инструмент киберобмана, который подменяет службу AWS IMDS. Один из способов, с помощью которого злоумышленники могут повышать привилегии или перемещаться по облачной среде, — это получение ключей доступа AWS из конечной точки службы IMDS, расположенной по адресу http://169.254.169.254/latest/meta-data/iam/security-credentials/<user>. Этот инструмент подменяет эту конечную точку и перенаправляет трафик, отправленный на 169.254.169.254, на локальный веб-сервер, который отдает поддельные данные. Это может быть использовано для точного обнаружения атак путем вставки ловушечных токенов AWS в ответ поддельной службы IMDS.

IMDSPOOF

Для кого это предназначено?

Этот инструмент предназначен для использования синими командами на экземплярах AWS, которые НЕ используют IMDS (версия 1 или 2).

С точки зрения злоумышленника, он не знает, используется ли IMDS на экземпляре EC2, в котором он находится. Цель IMDSPOOF — обмануть злоумышленника, который проник в вашу облачную среду, заставив его думать, что он взаимодействует с легитимной службой IMDS.

⚠️ Предупреждение ⚠️

Еще раз: если приложения, работающие на вашем экземпляре EC2, ИСПОЛЬЗУЮТ службу IMDS, этот инструмент ВЫЗОВЕТ проблемы!

Попробуйте

Чтобы опробовать IMDSPOOF в тестовой среде, создайте экземпляр EC2 и убедитесь, что установлен iptables (yum install iptables-services, если используется Amazon Linux)

  • Скомпилируйте и запустите IMDS.go (Как скомпилировать код Go)
  • Чтобы проверить, как выглядит вывод, выполните curl http://169.254.169.254/latest/meta-data/iam/security-credentials/ec2-admin
  • Вы должны увидеть следующий вывод:
root@kitploit:~
{
  "Code": "Success",
  "Message": "The request was successfully processed.",
  "LastUpdated": "2023-11-22T03:33:51Z",
  "Type": "AWS-HMAC",
  "AccessKeyId": "InsertHoneyToken",
  "SecretAccessKey": "InsertHoneyToken",
  "Token": "HoneyToken",
  "Expiration": "2023-11-22T09:33:51Z"
}

  • Чтобы отменить изменения, внесенные предыдущей командой iptables, выполните iptables -t nat -D OUTPUT -p tcp -d 169.254.169.254 --dport 80 -j DNAT --to-destination 127.0.0.1:54321

Настройка

Чтобы инструмент был полезен, необходимо изменить переменные в верхней части файла IMDS.go на что-то более реалистичное. Я настоятельно рекомендую разместить в файле ловушечные токены (honey tokens). Вы можете оставить переменную token без изменений или заменить ее на свою.

  • Измените эти переменные в верхней части IMDS.go на то, что вы хотите получить при обращении к http://169.254.169.254/latest/meta-data/iam/security-credentials/ec2-admin
root@kitploit:~
var accessKey string = "InsertHoneyToken"
var secretAccessKey string = "InsertHoneyToken"
var token string = "IQoJb3Jpz2cXpQRkpVX3Uf////////////xMdLZHNjb<snip>"

Получение ловушечных токенов (HoneyTokens)

Ребята из Thinkst Canary создали замечательный инструмент, который позволяет легко генерировать учетные данные AWS, которые будут вызывать оповещение при использовании.

  1. Посетите CanaryTokens
  2. Выберите AWS Keys, укажите адрес электронной почты для получения оповещения и примечание, для чего предназначено оповещение

Pasted image 20231124171011

  1. Запишите предоставленный ловушечный токен
root@kitploit:~
aws_access_key_id = AKIA....
aws_secret_access_key = uZF0y/l5X....
  1. В исходном коде IMDS.go замените переменные accessKey и secretAccessKey на значения aws_access_key_id и aws_secret_access_key, предоставленные вам CanaryTokens.

Pasted image 20231124171422

  1. Скомпилируйте IMDS.go. Теперь IMDS будет возвращать ловушечные токены при запросе к IMDS.

Pasted image 20231124172134

  1. Дождитесь попытки злоумышленника использовать учетные данные

Pasted image 20231124172935

  1. Оповещение по электронной почте от Canary Token

Pasted image 20231124173123

Запуск при старте системы

Запуск IMDSPOOF при старте системы легко выполнить, создав службу systemd и включив ее.

  • Создайте файл службы: sudo vim /etc/systemd/system/IMDS.service (Вы можете назвать его по-другому, более скрытно, если хотите, но следующие команды systemctl ожидают, что служба будет называться IMDS.service)
  • Добавьте следующее во вновь созданный файл IMDS.service
root@kitploit:~
[Unit]
# Change this to something else if you wish
Description=IMDSPOOF 

# After dependencies are available
After=multi-user.target

[Service]
# Type of service
Type=simple

# Command to execute the service program
ExecStart=/bin/IMDS

# User to run the service as
User=root

# Restart if the service crashes
Restart=always

# Restart delay in seconds
RestartSec=10

[Install]
# Enable the service at boot
WantedBy=multi-user.target
  • Убедитесь, что бинарный файл IMDS находится в каталоге /bin/: sudo mv IMDS /bin/
  • Включите службу для запуска при загрузке sudo systemctl enable IMDS
  • Запустите службу сейчас sudo systemctl start IMDS
  • Убедитесь, что все работает правильно, с помощью sudo systemctl status IMDS

Работает ли это с SSRF?

Да! Из-за того, как IMDSPOOF манипулирует iptables на экземпляре EC2, не имеет значения, откуда приходит трафик. Это означает, что помимо работы через утилиту curl на экземпляре EC2, IMDSPOOF также работает, если уязвимость SSRF обнаружена через веб-приложение, размещенное на экземпляре EC2. Используя следующее уязвимое приложение из блога AlexanderHose по тестированию IMDS на проникновение, мы можем использовать уязвимость SSRF, которая также вернет поддельные учетные данные от IMDSPOOF

Pasted image 20231124180610

Отмена изменений

  • Чтобы остановить службу systemd: sudo systemctl stop IMDS
  • Чтобы отключить автозапуск службы systemd: sudo systemctl disable IMDS
  • Чтобы отменить изменения, которые IMDSPOOF вносит в iptables, выполните следующую команду: iptables -t nat -D OUTPUT -p tcp -d 169.254.169.254 --dport 80 -j DNAT --to-destination 127.0.0.1:54321
Скачать инструмент