Торпеди у воді!
Примітка редакції. Це дуже технічний текст. Вас попередили :)
Усім привіт. Час переходити на новий рівень.
Давайте поговоримо про якісні цільові атаки. Не про масові і примітивні типу #shade із його «о заказе», а про справжні засоби шпигунства і розвідки.
Для кого цей пост?
Для ІТ/ІБ фахівців, чия робота так чи інакше пов’язана із malware, та інших небайдужих громадян, котрі хочуть підвищити рівень власних знань.
Це на 90% технічний матеріал, який буде зрозумілий спеціалістам, але якщо ви нічого не зрозуміли, будь ласка, покажіть цю статтю вашому ІТ/ІБ-ніку, можливо він зможе знайти для себе кілька корисних порад.
Якщо ви досі не втекли і вам цікаво, тоді почнемо)
До чого тут торпеди?!
Робота з вірусами часом нагадує зіткнення підводних човнів за часів холодної війни: на поверхні усе спокійно і тихо, а під водою, де люди не бачать, точиться запекла боротьба.
З malware те саме — лише невелика частина людей бачить цілісну картинку боїв та гонку кібер-озброєнь.
Момент із стрічки «Hunter Killer» коли акустик волає «Торпеди у воді» — це моє власне відчуття ситуації з вірусами в українському сегменті мережі.
Про що цей пост?
Про дві атаки, які чітко вирізняються з поміж інших щоденних розсилок, а саме:
«Інформація щодо програми Мінекономрозвитку» (LNK > PowerShell) — 07.02.19
«ПРЕС-РЕЛІЗ ЗА РЕЗУЛЬТАТАМИ СОЦ, ДОСЛІДЖЕННЯ…» (PPSX > WSH) — 28.03.19
Навіщо цей пост ?
Справа в тому, що на мою скромну думку, більшість інженерів, ІТ/ІБ спеціалістів, котрі не працюють тісно із зразками malware, ті, хто звикли дізнаватися про нові загрози постфактум (із затримкою в 1-2 тижні) з рафінованої аналітики вендорів, ці люди не відчувають, як сильно та різко може змінюватися ситуація на полі бою. Ось ще кілька місяців тому було відносно тихо — невеликі «прильоти» банківських троянів та неприцільне, проте масове бомбардування скриптами для зараження ransomware, а так наче нічого страшного. Щоправда, он Європу і США накрило черговою хвилею нової версії #emotet, але можна спати спокійно — до нас воно дійде пізніше, за пару тижнів.
Віруси (атаки) в мережі — це як природній радіаційний фон — розсилки/атаки, «прощупування» інфраструктури — вони постійно присутні. І люди, які відповідають за активні та пасивні засоби захисту (антивіруси, шлюзи і таке інше), іноді можуть опинитися в стані ілюзії. Ілюзії захищеності.
От тобі репорти з твоїх консолей — за минулі 24 години було заблоковано X сканувань, Y листів із фішингом та спамом пішли у карантин, а Z файлів було видалено антивірусом. Гарна картинка гарного робочого дня, чи не так?
Але звідки ж тоді беруться усі ці гучні, часом істеричні, проте від того не менш реальні, історії про «Страшні кібератаки, що коштували жертвам мільйони $»?
Люди поступово звикають до масових розсилок і не сприймають тонкої ювелірної роботи, або ж навіть не надають належної уваги кільком зараженням.
«Ну файли ж не пошифровані, система працює, а троян вже видалили, ну інцидент типу вичерпано». Зізнайтеся, скільки із вас, читаючих ці рядки, проводить справжнє службове розслідування за кожним фактом спрацювання антивірусного сканера на системі користувача, га ?
Мета цього допису — показати різницю між звичайним і справді небезпечним. Донести не стільки конкретні маркери, а саму схему і принцип того, що завтра можуть (і спробують) застосовувати проти вас.
Отже, атака, яка відбулася 7.02.19
Фішинговий лист мав наступний вигляд:
Для достовірності було скомпрометовано електронну скриньку співробітника однієї з державних установ.
Лист містив лише тему та приєднання — запакований у zip чистий PDF-документ і файл-ярлик (LNK) із подвійним розширенням:
Якщо жертва після перегляду нешкідливого PDF запускала файл «КМУ_база_даних_органи_упр,_СГ_КМУ.rtf.lnk», який насправді був ярликом, — починалося зараження.
Без завантаження/створення нових запускних (ЕХЕ) файлів.
Як це проходило?
Дивіться, сам ярлик містив посилання на сайт, запущений зловмисниками:
За посиланням були опубліковані інструкції (кодовані у Base64).
Варто зауважити, що такі посилання були різними, а час їх життя був дуже обмежений. Тобто ці інструкції тримали в онлайні лише кілька годин від початку розсилки. Це ускладнює аналіз.:
При запуску ярлика відбувалася активація PowerShell, який завантажував інструкції
та декодував їх на льоту, у пам’яті.
Окремо варто додати, що для обходу антивірусного захисту на системах була застосована принципово нова схема обфускації (приховання справжніх команд), а саме Base64, Unicode та із XOR:
Зазвичай при використанні PowerShell зловмисники обмежуються лише Base64.
Фактично, це було рівносильно запуску .ps файлу, як ми це бачили раніше, але набагато розумніше і небезпечніше.
Чому?
Така схема дозволяла нападникам досягти одразу кількох цілей:
- інфільтрація через E-mail-шлюзи — сам LNK-файл не містив усієї послідовності команд;
- інфільтрація через Web-шлюзи — сторінка, на яку вказував ярлик, по суті містила лише текст;
- контролюючи сайт, атакуючі могли блокувати доступ до сторінки за IP та UserAgent;
- для ускладнення аналізу сторінка віддавала команди лише кілька годин після розсилки.
Якщо поглянути на дерево процесів інфікованої системи, то побачимо наступне:
Запущений PowerShell створював задачу в планувальнику (для закріплення), перевіряв її наявність
та переходив до збору даних про систему
які потім передавалися у кодованому вигляді через POST-запит на сайт зловмисників.
Подальший розвиток атаки міг включати як зачистку слідів, так і «сплячку» протягом тривалого часу — в очікуванні нових команд.
Таким чином, запуск ярлика дозволяв за 3-5 хв. зібрати дані про систему, не викликаючи підозри у штатних систем захисту.
Які ж дані отримували зловмисники?
- тип, редакція ОС, дата установки
- параметри процесора
- регіональні налаштування (мова, розкладки клавіатури)
- ім’я користувача, назва системи, назва домену
- налаштування мережевого адаптера
- перелік встановлених виправлень ОС
Зібрана інформація дає зріз стану захищеності систем і дозволяє підготувати наступні атаки, які будуть запускатися тільки при вищезазначених умовах.
Ось воно. Вони (зловмисники) під час цього контакту могли не завдавати явної шкоди і не красти дані/документи. Їм достатньо було отримати подробиці про системи.
Цей спосіб атаки становить реальну загрозу для тих організацій, які не контролюють запуск вбудованих інструментів ОС Windows на кшталт cmd, ?script, mshta, powershell і таке ін.
Ще раз — не було ніякого стороннього коду.
Усі операції були виконані через штатний процес PowerShell та утиліти schtasks і systeminfo, які апріорі знаходяться в «білому списку», мають дійсні цифрові підписи Microsoft та у більшості компаній не блокуються захисними рішеннями.
Атака, яку проводили 28.03.19
Якщо у попередньому випадку фішинговий лист був майже порожнім, то цього разу для того, аби змусити жертву запустити приманку, взяли аналітику на тему виборів (перший тур відбувся 31/03/19):
Важлива деталь — заголовки листа підроблені, скриньки центру досліджень скомпрометовані не були.
У приєднаному архіві була презентація з аналітикою по виборах. Якщо жертва запускала приманку, PowerPoint починав обробляти посилання, що містилося в одному із ресурсних файлів (xml.rels)
Як і у попередньому випадку, посилання йшло на кодовані інструкції.
І так само ці посилання були доступні обмежений період часу після розсилки:
Але цього разу їх декодування забезпечувалося через certutil, а виконання — wscript (WHS).
На цьому місці я хотів би передати привіт усім ІТ/ІБ, котрі досі не блокують обробку скриптів (WSH) для простих користувачів.
Справа у тому, що потроху виклик PowerShell частково обмежують або блокують. А от WSH — ні. Як правило, це роблять ті, хто досі не мігрували із Logon-скриптів на PowerShell або SCCM.
Народ, чуєте, якщо вас #shade зі своїми .js не навчив, то вам саме час задуматися, поки не пізно.
Отже, така схема доставки дозволяла нападникам досягти одразу кількох цілей:
- інфікувати застарілі системи без PowerShell (WinXP/2003), яких ще багато на підприємствах;
- інфікувати ті системи, де запуск PowerShell контролюється або блокується;
- інфільтрація через Web-шлюзи — сторінка, на яку вказував ярлик, по суті містила лише текст;
- контролюючи сайт, атакуючі могли блокувати доступ до сторінки за IP та UserAgent;
- для ускладнення аналізу, сторінка віддавала команди лише кілька годин після розсилки.
Якщо поглянути на дерево процесів інфікованої системи, то побачимо наступне:
Обробка кодованих команд із сайту змушувала ОС зберігати декодовані інструкції на диск.
Зверніть увагу на шлях: C:\Users\%username%\NTUSR.DAT
Це було зроблено навмисно для закріплення і маскування під файл реєстру, який має назву NTUSER.DAT.
Фактично після запуску приманки усю роботу по закріпленню та збору виконують вбудовані утиліти: cmd, wscript та systeminfo.
Сама ж інфікована система очікує подальших інструкцій:
Закріплення забезпечується через запис у реєстрі — wscript із посиланням на NTUSR.DAT
В подальшому зібрана інформація, а саме (нагадую):
- тип, редакція ОС, дата установки
- параметри процесора
- регіональні налаштування (мова, розкладки клавіатури)
- ім’я користувача, назва системи, назва домену
- налаштування мережевого адаптеру
- перелік встановлених виправлень ОС
передається у кодованому вигляді на сайт зловмисників.
Цього масиву даних досить аби підготувати наступну атаку, яка запуститься лише за вищезгаданих умов.
Ще раз – під час цього контакту витоку даних або здирання паролів може не відбуватися, аби не засвітитися передчасно.
Їм (нападникам) достатньо отримати параметри систем жертви.
Знову ми бачимо, що не було стороннього коду.
Лише вбудовані утиліти ОС Windows (cmd, certutil, wscript та systeminfo), які у 90% організацій знаходяться в «білому списку», мають дійсні цифрові підписи Microsoft та не блокуються захисними рішеннями.
Від запуску презентації-приманки до передачі зібраної інформації проходить не більше 3-5 хв.
Потім вони можуть прибрати за собою, або залишити закріплення на кілька тижнів.
Висновки
Люди, котрі заробляють на життя зламом систем та розсилками вірусів, постійно вдосконалюють свої методики.
Якщо ми хочемо не просто реанімувати поламане, а впевнено захищати свої системи і дані, ми мусимо вчитися.
Ми не повинні зациклюватися на щоденних масових розсилках типу #shade .
Ми не повинні розслаблятися і втрачати пильність, бо наші системи захисту працюють і щось там блокують.
Ми повинні бути готовими до того, що наш супротивник різко змінить тактику. Вони її вже змінили.
Забудьте схему «відкрив приєднання — отримав EXE». Це позавчорашній день.
Що варто зробити, аби описані вище атаки не спрацювали:
- Контроль (або блокування) запуску службових утиліт ОС (cmd, mshta, ?script, powershell, certutil);
- Контроль мережевого трафіку для службових утиліт ОС та додатків MS Office;
- Блокування GET-запитів з пустим або нестандартним полем User Agent на рівні Proxy;
- Контроль списку автозавантаження;
- Оновлення ОС та додатків. Так, це важко, і багато хто цим нехтує, але це знімає частину ризиків;
- Електронна пошта залишається основною точкою входу для зловмисників. Варто подбати про посилення фільтрації вхідних листів. Як мінімум блокувати приєднання зі скриптами, ЕХЕ/SCR файлами та запароленими архівами;
- Не забуваймо про людський фактор, подбайте про навчання персоналу протидії фішингу;
- Якщо ви хочете розуміти яку зброю і кіберпросторі можуть застосувати вже завтра, варто слідкувати за новинками у світі вірусів. Як варіант, можу порадити моніторити сторінку MalwareHunterTeam;
- Крім звичайних антивірусів, треба застосовувати механізми статичного та динамічного аналізу (так звані «пісочниці»).
Сподіваюсь, я зміг донести свою думку до читачів.
Дякую усім, хто дочитав до кінця. Буду радий, якщо вам сподобалось.
А як давно ви перевіряли список автозавантаження ваших систем?..
Будьте уважні та обережні. І пам’ятайте влучні слова одного із героїв книги братів Стругацьких:
«А мы ошибаться не должны.
Нам разрешается прослыть невеждами, мистиками, суеверными дураками. Нам одного не простят: если мы недооценили опасность.
И если в нашем доме вдруг завоняло серой, мы просто не имеем права пускаться в рассуждения о молекулярных флюктуациях — мы обязаны предположить, что где-то рядом объявился черт с рогами, и принять соответствующие меры, вплоть до организации производства святой воды в промышленных масштабах.
И слава богу, если окажется, что это была всего лишь флюктуация, и над нами будет хохотать весь Всемирный совет и все школяры впридачу…»
В самурая немає мети, є лише шлях.
Ваш донат – наша катана. Кнопки нижче!