Атака из переговорки. Как мы пентестили крупную промышленную компанию и вышли на АСУ ТП

Содержание статьи

  • Подключаемся к локальной сети
  • Получаем учетку доменного пользователя
  • Пароль по умолчанию в Scan2Net
  • Уязвимая версия Scan2Net
  • Получаем права администратора домена и используем NetNTLMv1
  • Получаем полный доступ к сети и в сегмент АСУ ТП
  • Раскрытие данных об инфраструктуре
  • Использование уязвимой версии TeamCity
  • Учетные данные в проекте Security Portal
  • Неограниченный сетевой доступ по MAB
  • Вывод

В этой статье я рас­ска­жу, как моя коман­да тес­тирова­ла в фор­мате «чер­ного ящи­ка» безопас­ность круп­ной про­мыш­ленной ком­пании. Мы стар­товали без паролей и каких‑либо под­ска­зок — нам прос­то выдели­ли перего­вор­ку и оста­вили наеди­не с инфраструк­турой. В ход пош­ли толь­ко наши инс­тру­мен­ты и опыт. Служ­ба безопас­ности при этом не про­тиво­дей­ство­вала.

Это иссле­дова­ние получи­ло третье мес­то на Pentest Award 2025 в катего­рии «Про­бив инфраструк­туры». Сорев­нование еже­год­но про­водит­ся ком­пани­ей Awillix.

Схе­ма сетево­го вза­имо­дей­ствия

Схе­ма ата­ки 

Подключаемся к локальной сети

Ког­да мы под­клю­чились к сети и зап­росили адрес по DHCP, ста­ло ясно — тут сто­ит NAC, а в эфи­ре мель­кают пакеты EAPOL. Похоже, прос­то так внутрь не пус­тят. Но непода­леку сто­ит прин­тер — а для таких устрой­ств час­то исполь­зуют MAB-аутен­тифика­цию, то есть про­веря­ют толь­ко MAC-адрес. Под­меня­ем свой MAC прин­терным — и получа­ем дос­туп в локал­ку. Да, дос­туп уре­зан­ный, но кое‑что все же работа­ет: нап­ример, LDAP и SMB на кон­трол­лере домена, а еще админки прин­теров.

 

Получаем учетку доменного пользователя

 

Пароль по умолчанию в Scan2Net

Ока­зав­шись в локал­ке, натыка­емся на веб‑интерфейс Scan2Net. У поль­зовате­ля Poweruser там уста­нов­лен пароль… Poweruser. Да‑да, завод­ской дефолт! С такими пра­вами мож­но менять часть нас­тро­ек и даже сни­мать бэкап кон­фигура­ции. Бэкап, прав­да, идет в архив под паролем.

Рекомендации

  • Из­менить пароль поль­зовате­ля Poweruser.
  • Про­верить, что на дру­гих устрой­ствах не исполь­зуют­ся пароли поль­зовате­лей по умол­чанию.

 

Уязвимая версия Scan2Net

Вско­ре мы выяс­нили, что исполь­зует­ся ста­рая вер­сия Scan2Net с извес­тным багом. Уяз­вимость CVE-2024-28138 поз­воля­ет исполнять коман­ды ОС.

При­мер выпол­нения коман­ды id

В фай­ле /opt/s2n/www/cgi/infoio.cgi лежит пароль от архи­ва с резер­вной копи­ей нас­тро­ек (CVE-2024-28146). Что­бы получить пароль, исполь­зуем вот такой экс­пло­ит:

https://<IP-address>/class/msg_events.php?action=writemsgfifo&data=;grep%20%27Ba%27%20/opt/s2n/www/cgi/infoio.cgi

Источник: xakep.ru

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *