ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Singularity Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Ρ€ΡƒΡ‚ΠΊΠΈΡ‚, обходящий SELinux, Netfilter, LKRG ΠΈ eBPF

ΠœΠ°Ρ‚Π΅ΡƒΡ АлвСс (Matheus Alves), ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ бСзопасности, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉΡΡ Π½Π° врСдоносном ПО, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Singularity, Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Ρ€ΡƒΡ‚ΠΊΠΈΡ‚ для ядра Linux, распространяСмый ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT. ЦСлью ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° являСтся дСмонстрация ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΡΠΊΡ€Ρ‹Ρ‚ΡŒ своё присутствиС послС получСния root-доступа ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ скрытого выполнСния ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Singularity ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½ исслСдоватСлям бСзопасности для тСстирования ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ обнаруТСния ΠΈ блокирования Ρ€ΡƒΡ‚ΠΊΠΈΡ‚ΠΎΠ².

Π ΡƒΡ‚ΠΊΠΈΡ‚ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ Π² Π²ΠΈΠ΄Π΅ модуля для ядСр Linux 6.x ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ftrace для Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π±Π΅Π· измСнСния Ρ‚ΠΎΡ‡Π΅ΠΊ Π²Ρ…ΠΎΠ΄Π° Π² систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΈ Π±Π΅Π· ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ядра. Singularity ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ скрытиС своСго присутствия Π² систСмС, Π° Ρ‚Π°ΠΊΠΆΠ΅ скрытиС Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΌ процСссов ΠΈ связанных с Π½ΠΈΠΌΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ сСтСвой активности. Для удобства исслСдоватСлСй Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€ΡƒΡ‚ΠΊΠΈΡ‚Π° Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ.

Помимо Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² маскировки присутствия Π² систСмС, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ скрытиС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… процСссов, Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ядра, Π² Singularity Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ нСсколько ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΈ затруднСния обнаруТСния спСциализированными сканСрами Ρ€ΡƒΡ‚ΠΊΠΈΡ‚ΠΎΠ², Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Falco, ghostscan, tracee, unhide, chkrootkit ΠΈ rkhunter. Π‘Ρ€Π΅Π΄ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ, Singularity ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ свою Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ инструмСнтов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… eBPF, ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ eBPF, ΠΏΡ€Π΅ΠΏΡΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ядра, ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡΡ‚ΠΎΡΡ‚ΡŒ Π°Π½Π°Π»ΠΈΠ·Ρƒ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‡Π΅Ρ€Π΅Π· подсистСму io_uring, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ цСлостности, осущСствляСмыС ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ LKRG (Linux Kernel Runtime Guard).

Π’ Singularity присутствуСт reverse shell, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ доступ ΠΊ систСмС Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ ICMP-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, Π΄Π°ΡŽΡ‰ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ скрытия процСссов ΠΈΠ»ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ Π² систСмС Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ манипуляции с сигналами ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ окруТСния. НапримСр, для скрытия процСсса ΠΈΠ· /proc ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ps, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Β«kill -59 PID_процСсса, Π° для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ Π²Ρ‹ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ окруТСния Β«MAGIC=mtzΒ».

Π ΡƒΡ‚ΠΊΠΈΡ‚ скрываСт Ρ‚Ρ€Π°Ρ„ΠΈΠΊ reverse shell ΠΎΡ‚ сСтСвых Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ позволяСт ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ SELinux, ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° ICMP. Singularity Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ возмоТности для скрытия ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… сСтСвых соСдинСний ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ† /proc/net/nf_conntrack, netlink-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² SOCK_DIAG/NETFILTER ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… netstat, ss, lsof, tcpdump ΠΈ wireshark. Доступны ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ для чистки сообщСний Π°ΡƒΠ΄ΠΈΡ‚Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Π² Π»ΠΎΠ³ΠΈ (klogctl, syslog, systemd-journal, /sys/kernel/debug/tracing/, dmesg). Π˜ΠΌΠ΅ΡŽΡ‚ΡΡ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ для противостояния Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°ΠΌ памяти, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ Volatility, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌ /proc/kcore, /proc/kallsyms ΠΈ /proc/vmallocinfo, Π° Ρ‚Π°ΠΊΠΆΠ΅ возмоТности Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ прямого обращСния ΠΊ Π±Π»ΠΎΡ‡Π½Ρ‹ΠΌ устройствам для прСдотвращСния Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° содСрТимого Π€Π‘.

Play video


Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru
author avatar
Erik Peterson Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€
A ProHoster specialist with over seven years of experience in hosting, network infrastructure, and internet security. I participate in the development and maintenance of server solutions, VPN services, and client platforms. I specialize in stability, data protection, and service optimization for clients. I regularly monitor updates in industry standards and best practices.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ