5985,5986 - Pentesting WinRM
Приєднуйтесь до HackenProof Discord сервера, щоб спілкуватися з досвідченими хакерами та мисливцями за вразливостями!
Інсайти щодо Хакінгу Взаємодійте з контентом, який досліджує захоплення та виклики хакінгу
Новини про Хакінг у Реальному Часі Будьте в курсі швидкозмінного світу хакінгу завдяки новинам та інсайтам у реальному часі
Останні Оголошення Будьте в курсі найновіших програм нагород за вразливості та важливих оновлень платформи
Приєднуйтесь до нас на Discord і почніть співпрацювати з найкращими хакерами вже сьогодні!
WinRM
Windows Remote Management (WinRM) відзначається як протокол від Microsoft, який дозволяє віддалене управління системами Windows через HTTP(S), використовуючи SOAP у процесі. Це фундаментально працює на основі WMI, представляючи себе як інтерфейс на основі HTTP для операцій WMI.
Наявність WinRM на машині дозволяє просте віддалене управління за допомогою PowerShell, схоже на те, як працює SSH для інших операційних систем. Щоб визначити, чи працює WinRM, рекомендується перевірити відкриття конкретних портів:
5985/tcp (HTTP)
5986/tcp (HTTPS)
Відкритий порт зі списку вище свідчить про те, що WinRM налаштований, тим самим дозволяючи спроби ініціювати віддалену сесію.
Ініціювання сесії WinRM
Для налаштування PowerShell для WinRM використовується командлет Microsoft Enable-PSRemoting
, який налаштовує комп'ютер на прийом віддалених команд PowerShell. З підвищеним доступом до PowerShell можна виконати наступні команди для активації цієї функціональності та вказати будь-який хост як довіреного:
Цей підхід передбачає додавання маски до конфігурації trustedhosts
, крок, який потребує обережного врахування через його наслідки. Також відзначається, що може знадобитися змінити тип мережі з "Public" на "Work" на машині атакуючого.
Крім того, WinRM може бути активований віддалено за допомогою команди wmic
, продемонстровано наступним чином:
Цей метод дозволяє віддалено налаштовувати WinRM, підвищуючи гнучкість у керуванні віконними машинами здалеку.
Перевірка налаштування
Для перевірки налаштування вашої атакуючої машини використовується команда Test-WSMan
, щоб перевірити, чи цільовий об'єкт належним чином налаштований для WinRM. Виконавши цю команду, ви повинні очікувати отримати деталі щодо версії протоколу та wsmid, що вказує на успішне налаштування. Нижче наведено приклади, що демонструють очікуваний вивід для налаштованої цілі порівняно з неналаштованою:
Для цілі, яка належним чином налаштована, вивід буде схожий на цей:
Відповідь повинна містити інформацію про версію протоколу та wsmid, що свідчить про правильну настройку WinRM.
Навпаки, для цілі, не налаштованої для WinRM, це призведе до відсутності такої детальної інформації, що підкреслює відсутність належної настройки WinRM.
Виконання команди
Для виконання команди ipconfig
віддалено на цільовій машині та перегляду її виводу зробіть:
Ви також можете виконати команду вашої поточної консолі PS через Invoke-Command. Припустимо, що у вас локально є функція під назвою enumeration і ви хочете виконати її на віддаленому комп'ютері, ви можете зробити так:
Виконання скрипту
Отримати зворотню оболонку
Отримати PS-сесію
Для отримання інтерактивної оболонки PowerShell використовуйте Enter-PSSession
:
Сеанс буде запущено в новому процесі (wsmprovhost) всередині "жертви"
Примусове відкриття WinRM
Для використання PS Remoting та WinRM, але якщо комп'ютер не налаштований, ви можете активувати його за допомогою:
Збереження та відновлення сесій
Це не працюватиме, якщо мова обмежена на віддаленому комп'ютері.
У цих сеансах ви можете завантажувати PS скрипти за допомогою Invoke-Command
Помилки
Якщо ви зустрінете наступну помилку:
enter-pssession : Підключення до віддаленого сервера 10.10.10.175 не вдалося з наступним повідомленням про помилку: Клієнт WinRM не може обробити запит. Якщо схема аутентифікації відрізняється від Kerberos або якщо клієнтський комп'ютер не приєднаний до домену, тоді потрібно використовувати транспорт HTTPS або додати машину призначення до налаштування конфігурації TrustedHosts. Використовуйте winrm.cmd для налаштування TrustedHosts. Зверніть увагу, що комп'ютери в списку TrustedHosts можуть не бути аутентифіковані. Ви можете отримати більше інформації, виконавши наступну команду: winrm help config. Для отримання додаткової інформації див. тему довідки about_Remote_Troubleshooting.
Спробуйте на клієнті (інформація з тут):
Приєднуйтесь до сервера HackenProof Discord, щоб спілкуватися з досвідченими хакерами та мисливцями за багами!
Інсайти щодо взлому Взаємодійте з контентом, який досліджує захоплення та виклики взлому
Новини про взломи в реальному часі Будьте в курсі швидкозмінного світу взлому завдяки новинам та інсайтам в реальному часі
Останні оголошення Будьте в курсі найновіших запусків баг баунті та важливих оновлень платформи
Приєднуйтесь до нас на Discord та почніть співпрацювати з найкращими хакерами вже сьогодні!
Підключення WinRM в Linux
Брутфорс
Будьте обережні, брутфорс WinRM може заблокувати користувачів.
Використання evil-winrm
Прочитайте документацію на її github: https://github.com/Hackplayers/evil-winrm
Для підключення до IPv6-адреси за допомогою evil-winrm створіть запис всередині /etc/hosts, встановивши ім'я домену на IPv6-адрес та підключіться до цього домену.
Передача хешу з evil-winrm
Використання PS-машини docker
Використання ruby-скрипта
Код витягнуто звідси: https://alamot.github.io/winrm_shell/
Shodan
port:5985 Microsoft-HTTPAPI
References
Автоматичні команди HackTricks
Приєднуйтесь до сервера HackenProof Discord, щоб спілкуватися з досвідченими хакерами та мисливцями за багами!
Інсайти щодо хакінгу Взаємодійте з контентом, який досліджує захоплення та виклики хакінгу
Новини про хакінг у реальному часі Будьте в курсі швидкозмінного світу хакінгу завдяки новинам та інсайтам у реальному часі
Останні оголошення Будьте в курсі найновіших запусків баг баунті та важливих оновлень платформи
Приєднуйтесь до нас на Discord та почніть співпрацювати з найкращими хакерами вже сьогодні!
Last updated