Днес повечето антивирусни и EDR-системи следят какви команди се изпълняват в системата. Именно по съдържанието на командния ред решенията за защита се опитват да разберат дали процесът е нормален или злонамерен, но се оказва, че нападателите могат лесно да заобикалят тези проверки, като просто променят външния вид на командата, без да променят нейната същност. Тази техника се нарича „command-line obfuscation“, или обфускация на командния ред.
В миналото заплахата се търсеше в злонамерените файлове – вируси, троянски коне и други, но сега много атаки изобщо не използват зловреден софтуер. Вместо това се използват обикновени системни помощни програми като PowerShell, curl, msiexec или taskkill.
Това се нарича проникване без зловреден софтуер. Такава атака изглежда като нормална работа на компютъра и затова е по-малко вероятно да предизвика подозрение. За да се отсеят по някакъв начин подобни действия, системите за защита започнаха да обръщат внимание на аргументите в командите.
Например, стартирането на „taskkill /f /im winword.exe“ може да е безобидно, но „taskkill /f /im security_process.exe“ изглежда като опит за деактивиране на защитата, но дори и тук има трик: променете командите така, че да изглеждат различно, но да работят по един и същи начин. Това е същността на обфускацията.
Това маскиране е независимо от обвивката: то работи благодарение на особеностите на обработката на аргументите на самата програма. Например, можете да заменяте символи, да вмъквате допълнителни, да използвате странни кавички, да променяте размера на буквите. В резултат на това команда като „reg export HKLM\SAM out.reg“ се превръща в „rEg „e “xP „o “rT HK „L “M\S „A “M ouT.ReG“, но все пак работи. И най-важното е, че антивирусната програма може да не го разпознае като заплаха.
В Windows има особено много такива трикове, като например:
- Замяна на „/f“ с „-f“;
- Използване на специални знаци вместо обикновени знаци, например „ˣ“ вместо „x“;
- Вмъкване на невидими или редки Unicode символи в команди;
- Промяна на реда на аргументите;
- Скриване на пътя чрез „..\“, за да изглежда различно.
При Linux и macOS триковете са по-малко, но все пак ги има. Например, можете да съкратите част от дълъг аргумент или да посочите IP адрес в необичаен формат, например „2130706433“ вместо обичайния „127.0.0.1“.
За да проучи доколко уязвими са системните помощни програми, авторът на проекта провери 68 популярни програми за Windows, като curl, taskkill, reg, powershell, msiexec и други. Той е създал специален инструмент, който автоматично проверява дали работят команди с различни обфускации. Ако резултатът е един и същ, значи методът работи.
След това за всяка програма е създаден специален файлов модел, който описва кои трикове работят и кои не. Въз основа на моделите беше разработен инструментът Invoke-ArgFuscator, който знае как да генерира команди с обфускация. Той прави това по предварително зададени правила и с различна степен на случайност, така че всеки път командата да се оказва нова.
Всички резултати от изследването са събрани на сайт, където можете да изберете една от 68-те помощни програми, да въведете команда и да получите нейната обфускулирана версия. Можете също така да променяте настройките, да деактивирате определени методи или да създавате свои собствени модели.
Въпреки, че тези методи правят защитата много трудна, има начини да се справите с тях. Например, можете да търсите в командния ред за странни Unicode символи, голям брой кавички или резки промени в регистрите.
Можете също така да нормализирате командата преди анализа – да премахнете допълнителните символи, за да видите истинското ѝ значение, но най-важното е да не разчитате само на текста на командата, а да наблюдавате поведението на процесите: например, ако msiexec ви отведе в интернет, това е подозрително, дори ако стартовият низ изглежда безобиден.
Всичко важно от света на технологиите, директно в пощата ти.
С абонирането приемате нашите Условия и Политика за поверителност. Може да се отпишете с един клик по всяко време.
Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Google Новини, TikTok, Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iPhone, Huawei, Google Chrome, Microsoft Edge и Opera!