Нов проект с отворен код на име Furtex се появи като специализиран инструментариум за изследване на след-експлоатация и заобикаляне на защити в Linux среди, предназначен за оторизирани изследователи по сигурността и оператори на червени екипи (red-team).

Проектът съчетава директни системни повиквания на io_uring, BPF и eBPF инструменти, както и помощни програми за изследване на заобикаляне на EDR системи, без да разчита на liburing или по-големи рамки.

Furtex представлява колекция от тясно специализирани инструменти, предназначени да демонстрират как могат да бъдат тествани съвременните Linux телеметрии, наблюдението на ядрото и защитите на крайни точки.

В хранилището изрично се посочва, че проектът е предназначен само за оторизирани изследвания, тестове за проникване, CTF среди и защитна разработка.

Furtex: Инструментариум за след-експлоатация в Linux

Furtex е разделен на пет основни области: io_uring, bpf, ebpf, edrs и techniques. Разделът io_uring съдържа 13 инструмента, които използват директни интерфейси на ядрото за операции с файлове, мрежи, инжектиране на процеси и трансфер на данни.

Посоченият изследователски фокус е пропускът в видимостта, който се създава, когато операциите се подават през опашките за работа на io_uring вместо през традиционните пътища за обработка на системни повиквания.

Авторите на проекта твърдят, че определени io_uring операции може да не задействат sys_enter_* трасиращи точки (tracepoints) или да не преминат през куки (hooks), поставени на функциите за изпращане в таблицата на системните повиквания.

Това е от съществено значение, тъй като продуктите за сигурност често събират телеметрия за Linux чрез трасиране на системни повиквания, kprobes, eBPF програми, одит правила или прихващане в потребителското пространство.

Furtex предоставя примери, предназначени да помогнат на защитниците да оценят дали техният стек за наблюдение засича алтернативните пътища за изпълнение в ядрото.

Компонентите BPF и eBPF разширяват тази възможност за оценка. Furtex включва помощни програми за изброяване на заредените BPF карти и програми, преглед на BPF връзките, откриване на куки на модули за сигурност на Linux (LSM) и инспектиране на конфигурации, които биха могли да разкрият пропуски в мониторинга на крайните точки.

Той също така включва eBPF концептуални програми (proof-of-concept) за наблюдение на активността на процеси, мрежа, пътища за идентификационни данни и терминална активност. Най-голямата му директория, edrs, включва около 75 помощни програми, класифицирани според изискванията за привилегии.

Тези инструменти обхващат EDR разузнаване, откриване на BPF програми, изброяване на куки в ядрото, тестове за видимост на одита и регистрирането, активност в пространства от имена (namespaces), маскиране на процеси, концепции за изпълнение в паметта и експерименти с мрежови канали.

Няколко функции изискват повишени Linux права като CAP_BPF, CAP_PERFMON, CAP_NET_RAW, CAP_NET_ADMIN или CAP_AUDIT_CONTROL.

Разработен от MatheuZSecurity и достъпен в GitHub, Furtex включва директория techniques, фокусирана върху инженеринг на засичане за Falco. Хранилището описва инструменти, които оценяват условия за заобикаляне на стандартния набор от правила на Falco, включително сценарии, включващи събиране на събития, имена на процеси, пътища, пространства от имена и алтернативни методи на изпълнение.

За защитниците тези тестове могат да идентифицират детекции, които разчитат твърде много на един източник на събития, име на процес или модел на командния ред.

Инструментариумът изисква GCC, Clang, Make, заглавни файлове за ядрото на Linux, файлове за разработка на libbpf и bpftool. Някои eBPF функции също така зависят от BTF поддръжка в ядрото чрез CONFIG_DEBUG_INFO_BTF=y.

В документацията на Furtex са описани зависимостите от версиите на ядрото, като се отбелязва, че конкретни функции стават достъпни в различните версии на Linux ядрото от 5.4 до 5.19. Въпреки че Furtex може да бъде полезен за валидиране на покритието на Linux EDR решенията, неговите възможности са с двойна употреба и представляват висок риск.

Екипите по сигурността трябва да третират проекта като ресурс за моделиране на заплахи: да наблюдават активността на io_uring, да проследяват промените в BPF програмите и връзките, да сигнализират при необичайно използване на права (capabilities), да защитават конфигурациите за одит и да съпоставят събития от ниско ниво в ядрото с телеметрията на процесите и мрежата.