Matheus Alves, bezpečnostný výskumník špecializujúci sa na malvér, publikoval aktualizáciu projektu Singularity, ktorý vyvíja open-source rootkit s jadrom. Linux, distribuovaný pod licenciou MIT. Cieľom projektu je demonštrovať metódy na skrytie vlastnej prítomnosti po získaní root prístupu a zachovanie schopnosti vykonávať privilegované operácie tajne. Dúfa sa, že Singularity by mohol byť užitočný pre bezpečnostných výskumníkov pri testovaní a vývoji nástrojov na detekciu a blokovanie rootkitov.
Rootkit je navrhnutý ako modul pre jadrá. Linux 6.x a používa mechanizmus ftrace na tajné zachytávanie systémových volaní bez zmeny vstupných bodov systémových volaní alebo úpravy funkcií jadra. Singularity podporuje skrytie svojej prítomnosti v systéme, ako aj skrytie procesov určených útočníkom, súvisiacich súborov a sieťovej aktivity. Pre pohodlie výskumníkov je funkcionalita rootkitu rozdelená do modulov.
Okrem typických metód skrývania svojej prítomnosti v systéme, ako je skrývanie potrebných procesov, súborov, adresárov a modulov jadra, Singularity implementuje niekoľko pokročilých metód na obchádzanie ochranných mechanizmov a bránenie detekcii špecializovanými rootkitovými skenermi, ako sú Falco, ghostscan, tracee, unhide, chkrootkit a rkhunter. Okrem iného dokáže Singularity skryť svoju aktivitu pred nástrojmi, ktoré používajú eBPF, odstrániť zámky eBPF, zabrániť načítaniu modulov jadra, odolávať analýze I/O prostredníctvom subsystému io_uring a obísť kontroly integrity vykonávané modulom LKRG (Linux Ochrana runtime jadra).
Singularity obsahuje reverzný shell, ktorý poskytuje privilegovaný vzdialený prístup k systému odosielaním ICMP paketov, ako aj obslužné rutiny, ktoré umožňujú skrytie procesov alebo eskaláciu privilégií prostredníctvom špecifických manipulácií so signálmi a premennými prostredia. Napríklad, ak chcete skryť proces pred /proc a výstupom utilít ako ps, môžete spustiť príkaz „kill -59 PID_process“ a ak chcete eskalovať privilégiá, nastavte premennú prostredia „MAGIC=mtz“.
Rootkit skryje prevádzku reverzného shellu pred sieťovými analyzátormi a umožňuje obísť SE obslužné rutiny.Linux, spúšťané protokolom ICMP. Singularity tiež obsahuje možnosti skrytia určitých sieťových pripojení z tabuliek /proc/net/nf_conntrack, obslužné rutiny sieťových spojení SOCK_DIAG/NETFILTER a nástroje ako netstat, ss, lsof, tcpdump a wireshark. K dispozícii sú obslužné rutiny na čistenie audítorských správ a protokolovania (klogctl, syslog, systemd-journal, /sys/kernel/debug/tracing/, dmesg). Existujú filtre na pôsobenie proti analyzátorom pamäte, ako napríklad Volatility, ktoré používajú /proc/kcore, /proc/kallsyms a /proc/vmallocinfo, ako aj možnosť filtrovať priamy prístup k blokovým zariadeniam, aby sa zabránilo nízkoúrovňovej analýze súborového systému.

Zdroj: opennet.ru
