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

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

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

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

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

Категории

Все категории
Loading categories
PwnCity — Небезопасное окружение TeamCity CI для практического обучения тестированию на проникновение: разведка, кража учётных данных, повышение привилегий и латеральное перемещение. | Kitploit
Инструменты/GitHubGitHub/d0n601/pwncity
Повышение привилегийЭксплуатацияЛатеральное перемещениеСбор информацииТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика
GitHubd0n601/pwncity

PwnCity

Небезопасное окружение TeamCity CI для практического обучения тестированию на проникновение: разведка, кража учётных данных, повышение привилегий и латеральное перемещение.

Репозиторий
4 лет назадЕщё не проверено

Популярное

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

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

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

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

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

PwnCity

Небезопасно настроенная среда непрерывной интеграции TeamCity.
В разработке: Код развёртывания появится скоро когда-нибудь . rafal-urbanski-shot-08

Демо

Через PwnCity может вести несколько путей, но именно этот я представлю 24 февраля на встрече отделения OWASP Sacramento.
Примечание: Здесь в значительной степени игнорируется операционная безопасность, поскольку это демо.

Первоначальный доступ

  1. Просканируйте IP-адрес, чтобы обнаружить SSH и TeamCity: nmap -Pn -p- 52.234.0.18.
    • Примечание: он не отвечает на ICMP, поэтому nmap 52.234.0.18 заставляет его выглядеть мёртвым.
    • Примечание: если сканировать только первые 1000 TCP-портов, TeamCity будет пропущен: nmap -Pn 52.234.0.18. portscan
  2. Перейдите по URL TeamCity http://52.234.0.18:8111. teamcitylogin
  3. Перейдите на http://52.234.0.18:8111/registerUser.html и создайте нового пользователя bob с паролем bobhacks?.
    bobregister
  4. Войдя как bob, перейдите в Projects > SimpleMavenSample > Build > Settings.
  • Обратите внимание, что в Parameters содержатся учётные данные. leakcreds
  1. Проверьте, не переиспользуются ли эти учётные данные для ssh [email protected], и войдите по SSH как пользователь с низкими привилегиями. sshin

Отталкиваясь от полученной точки опоры

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

  1. Немного изучите сервер TeamCity и посмотрите токен суперпользователя: cat /home/dev/TeamCity/TeamCity/logs/teamcity-server.log | grep "Super user".
    sutoken
  2. Теперь войдите как суперпользователь! superlogin
  3. Создайте новый проект PwnAgent через Administration > Projects > Create project и получите shell на агентах сборки. createproject buildsteps
  4. Измените шаг сборки так, чтобы он выполнялся Всегда, даже если была выдана команда остановки сборки, и измените следующее:
    • Исполняемый файл команды: cmd.exe
    • Параметры команды: /c %system.teamcity.build.checkoutDir%/launcher.bat
    • Как только вы поймёте, как это работает, вы поймёте, как здесь работает выполнение кода, и сможете изменить его по своему усмотрению. build_step
    • В качестве альтернативы можно не использовать файлы из репозитория, оставив это поле пустым. Весь код можно поместить в шаг сборки.

Атакующая инфраструктура

  • Kali Linux: ВМ на машине оператора.
  • Ubuntu 20.04LTS: сервер Empire

Лаборатория PwnCity

  • Ubuntu 20.04 TeamCity
  • Windows 10: BuildAgent01
  • Windows 7: BuildAgent02
  • Windows 10: Bruno-PC

Учётные данные

Учётные данные взяты из rockyou.txt.

  • bruno:AMOTEbruno84 (Windows)
  • dev:Roblerino1995 (Windows/Linux)
  • admin:aut0magic (TeamCity)

Задачи

  1. Развернуть с помощью Terraform.
  2. Установить всё с помощью Ansible.
  3. Переменная CLI для повышения или понижения уровня защиты (что-то вроде уровня сложности).
  4. TBD

Защита

Защита конечных точек

На PwnAgent01 включен Microsoft Defender. Хотя его, безусловно, по-прежнему можно обойти, продемонстрированный нами вредоносный шаг сборки будет заблокирован.
blocked0

blocked

bruno_edr

Административные заметки

Этот раздел — просто набор фрагментов, которые оказались полезны при администрировании лабораторной среды.

Подключение к Windows-хостам по RDP

  1. Из Kali выполните динамическую переадресацию портов на хосте TeamCity, чтобы получить доступ к локальным ресурсам: ssh -D 9050 [email protected].
  2. Подключитесь по RDP через Proxychains: proxychains4 xfreerdp /u:dev /v:10.0.0.6:3389.

Ссылки

  1. Руководство по укреплению TeamCity
  2. Суперпользователь TeamCity
  3. Pentest TeamCity
  4. PwnCity Build Agent
Скачать инструмент

alternative
  • Выберите ... рядом с Run в меню, а затем нужного агента, на которого вы нацелены. Если всё пройдёт хорошо, агент отзовётся.
    run agentcallback
  • Запустите сканирование портов через модуль powershell/situational_awareness/network/portscan. Обнаружьте, что на 10.0.0.7 открыты порты 3389,445,139,135. portscan
  • Запустите Mimikatz, чтобы сбросить учётные данные для входа, и получите пароль пользователя bruno.
  • Запустите powershell/lateral_movement/invoke_smbexec, чтобы получить beacon на Bruno-PC через NTML-хэш. smbexec
  • Заберите трофеи с ПК Bruno.