Forwarded from Pentester`s Notes
Всем привет!
Все сталкивались с ситуациями, когда в корпоративной среде используются в качестве ядра DFS (Distributed File System). Стандартный базовый инструмент для прогулки по корпоративным ресурсам (в обычном пентесте, про redteam ничего не говорю) - smbclient.py в impacket. Соответственно при попытке перейти в DFS-директорию (когда папка физически располагается на другом файловом ресурсе) получали ошибку
Так вот, доработал его для полноценной поддержки DFS
Что умеет:
- ls помечает DFS-ссылки как [DFS]
- dfs_info <dir> показывает referral: targets + TTL
- cd <DFS-папка> (в режиме follow) сам делает переподключение к target и продолжает навигацию
- Nested DFS любой глубины (стек контекстов)
- Multi-target failover: упал target → пробуем следующий
- Health-check + auto-reconnect для кэшированных коннектов
- Корректная навигация через границы DFS-root: cd .., cd ../.., cd ../../other
- Работает и с Kerberos, и с NTLM (учётки переиспользуются)
- Кэширование подключений
OPSEC (важно):
Включение:
Мини-пример:
Реализация на уровне протокола: FSCTL_DFS_GET_REFERRALS (MS-DFSC).
https://github.com/durck/impacket
https://github.com/durck/impacket
https://github.com/durck/impacket
#impacket #smb #dfs #pentest #redteam
Все сталкивались с ситуациями, когда в корпоративной среде используются в качестве ядра DFS (Distributed File System). Стандартный базовый инструмент для прогулки по корпоративным ресурсам (в обычном пентесте, про redteam ничего не говорю) - smbclient.py в impacket. Соответственно при попытке перейти в DFS-директорию (когда папка физически располагается на другом файловом ресурсе) получали ошибку
STATUS_PATH_NOT_COVERED.Так вот, доработал его для полноценной поддержки DFS
Что умеет:
- ls помечает DFS-ссылки как [DFS]
- dfs_info <dir> показывает referral: targets + TTL
- cd <DFS-папка> (в режиме follow) сам делает переподключение к target и продолжает навигацию
- Nested DFS любой глубины (стек контекстов)
- Multi-target failover: упал target → пробуем следующий
- Health-check + auto-reconnect для кэшированных коннектов
- Корректная навигация через границы DFS-root: cd .., cd ../.., cd ../../other
- Работает и с Kerberos, и с NTLM (учётки переиспользуются)
- Кэширование подключений
OPSEC (важно):
Автоматическое подключение к другому файловому хранилицу по-умолчанию выключено — чтобы не шуметь лишний раз.
Включение:
# CLI:
-dfs-follow # (разрешить автоматический переход по DFS при cd)
# В шелле:
dfs_mode on # (включить follow-режим в интерактивной сессии)
Мини-пример:
# ls
Projects [DFS]
# dfs_info Projects
Target: \\fileserver-01\Projects$ (TTL: 300)
# dfs_mode on
# cd Projects
[*] DFS target: \\fileserver-01\Projects$
Реализация на уровне протокола: FSCTL_DFS_GET_REFERRALS (MS-DFSC).
https://github.com/durck/impacket
https://github.com/durck/impacket
https://github.com/durck/impacket
#impacket #smb #dfs #pentest #redteam
🔥9👍5❤4