LINUX.ORG.RU
ФорумTalks

тролинг systemd от троянописателей

 ,


0

1

Исследователи обнаружили (с) новое вредоносное ПО под Linux(с). Для скрытия своего присутствия бэкдор использовал имена процессов systemd-daemon, session-dbus и gvfsd-helper, которые, с учётом загромождения современных дистрибутивов Linux всевозможными служебными процессами, на первый взгляд казались легитимными и не вызывали подозрений.

Sad, but True!

В остальном бекдор, как и все прочие, требует наличия прав root для установки и конфигурации в системе.

https://www.opennet.ru/opennews/art.shtml?num=55054

★★★★★

Последнее исправление: crypt (всего исправлений: 2)

Ответ на: комментарий от intelfx

да, поменьше барахла будет.

список процессов в контейнере без systemd

USER   PID %CPU %MEM   VSZ  RSS TT  STAT STARTED    TIME COMMAND
root 38592  0.0  0.0 11256  764  -  IsJ  19Nov20 0:37.72 /usr/sbin/cron -s
root 39279  0.0  0.0 11376  708  -  SsJ  19Nov20 0:48.46 /usr/sbin/syslogd -s
root 41606  0.0  0.0 19916  788  -  IsJ  19Nov20 1:03.49 /usr/sbin/sshd
root 61217  0.0  0.0 83512    0  -  IWsJ -       0:00.00 nginx: master process /usr/local/sbin/nginx
www  61218  0.0  0.0 81524 5944  -  SJ   23Apr21 0:03.09 nginx: worker process (nginx)
www  61219  0.0  0.0 82088 6756  -  SJ   23Apr21 0:08.98 nginx: worker process (nginx)

а у тебя?

crypt ★★★★★
() автор топика
Ответ на: комментарий от X512

фрибздешный контейнер, jail. нет init:(

crypt ★★★★★
() автор топика
Ответ на: комментарий от intelfx

init с PID 1, /bin/sh все одинакового размера....

Shadow ★★★★★
()

В остальном бекдор, как и все прочие, требует наличия прав root для установки и конфигурации в системе.

И даёт ссылку, где написано обратное.

fornlr ★★★★★
()
Ответ на: комментарий от intelfx
# ps --ppid 2 -p 2 --deselect     
  PID TTY          TIME CMD
    1 ?        00:00:14 init
  542 ?        00:00:03 pppd
  543 ?        00:08:49 pptpgw
  550 ?        00:00:02 pptpcm
 1002 ?        00:00:18 rsyslogd
 1035 ?        00:00:37 acpid
 1203 ?        00:00:03 dbus-daemon
 1231 ?        00:00:00 elogind-daemon
 2065 ?        00:00:16 gpg-agent
 2130 ?        00:00:46 udisksd
 2135 ?        00:00:02 polkitd
 2178 ?        00:00:00 sshd
 2192 ?        00:00:00 upowerd
 2250 tty1     00:00:00 agetty
 2251 tty2     00:00:00 agetty
 2252 tty3     00:00:00 agetty
 2253 tty4     00:00:00 agetty
 2254 tty5     00:00:00 agetty
 2255 tty6     00:00:00 agetty
10060 tty7     00:00:02 Xorg
10069 ?        00:00:00 sddm-helper
10071 ?        00:00:05 sddm-greeter
10077 ?        00:00:00 dbus-launch
10078 ?        00:00:00 dbus-daemon
10247 ?        00:00:00 sshd
10250 ?        00:00:00 sshd
10251 pts/0    00:00:00 bash
10253 pts/0    00:00:00 su
10254 pts/0    00:00:00 bash
10316 pts/0    00:00:00 ps
28154 ?        00:00:00 sddm
28361 ?        00:00:00 udevd

Вот тебе нормальная система (DE остановлено). bash-ы это ssh. Действительно, очень сложно разобраться какой процесс зачем нужен, не то что в этом вашем говноd

leg0las ★★★★★
()
Ответ на: комментарий от leg0las

Действительно, очень сложно разобраться какой процесс зачем нужен, не то что в этом вашем говноd

И ты разумеется родился с этим знанием, да? Мне не составляет труда разобраться в процессах любой Linux-системы:

UID          PID    PPID  C STIME TTY          TIME CMD
root           1       0  0 16:37 ?        00:00:03 /usr/lib/systemd/systemd --switched-root --system --deserialize 31
root         549       1  0 16:37 ?        00:00:00 /usr/bin/haveged -w 1024 -v 1 --Foreground
root         550       1  0 16:37 ?        00:00:03 /usr/lib/systemd/systemd-journald
root         551       1  0 16:37 ?        00:00:01 /usr/lib/systemd/systemd-udevd
systemd+     558       1  0 16:37 ?        00:00:00 /usr/lib/systemd/systemd-networkd
systemd+     681       1  0 16:37 ?        00:00:00 /usr/lib/systemd/systemd-resolved
systemd+     682       1  0 16:37 ?        00:00:00 /usr/lib/systemd/systemd-timesyncd
dbus         805       1  0 16:37 ?        00:00:07 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
root         813       1  0 16:37 ?        00:00:03 /usr/bin/NetworkManager --no-daemon
polkitd      820       1  0 16:37 ?        00:00:01 /usr/lib/polkit-1/polkitd --no-debug
root         821       1  0 16:37 ?        00:00:02 /usr/lib/systemd/systemd-logind
root         874       1  0 16:37 ?        00:00:00 /usr/bin/neard
nobody       877       1  0 16:37 ?        00:00:00 /usr/bin/python /usr/bin/sslocal -c /etc/shadowsocks/outpost.intelfx.name.json
root         888       1  0 16:37 ?        00:00:03 /usr/bin/ModemManager
tor          916       1  0 16:37 ?        00:00:00 /usr/bin/tor -f /etc/tor/torrc
root        1363       1  0 16:37 ?        00:00:00 /usr/bin/wpa_supplicant -u -s -O /run/wpa_supplicant
root        1437       1  0 16:37 ?        00:00:00 /usr/lib/mbim-proxy
root        1763       1  0 16:37 ?        00:00:12 /opt/teamviewer/tv_bin/teamviewerd -d
root       35233       1  0 20:25 ?        00:00:00 /usr/bin/python3 /usr/lib/open-fprintd/open-fprintd --debug
root       35395       1  0 20:25 ?        00:00:00 /usr/bin/pcscd --foreground --auto-exit
root       36326       1  0 20:26 ?        00:00:00 login -- intelfx
root       36537       1  0 20:26 ?        00:00:00 /usr/lib/bluetooth/bluetoothd

Неспециалисту — наоборот.

И точно так же не составляет труда замаскировать малварь под любой другой процесс. Как насчёт apmd? acpid есть, с чего бы не существовать apmd? Или syslogd?

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)

вывод один - все служебные процессы должны быть реализованы в одной программе. назовём её, для примера, systemd.

тогда не будет ничего загромождено, всего один служебный процесс.

system-root ★★★★★
()
Ответ на: комментарий от intelfx

А если acpid нет? Например на виртуалках он вообще не нужен. syslogd - да, наверное можно замаскировать, но у меня бы возникли вопросы. В целом да, можно замаскировать, если иметь моск, но суть в том, что именно под systemd удобнее всего косить, потому что этот кусок Г генерит пачку процессов, нужных и не очень, в которых простой пользователь разбираться не будет. Как в свое время во времена хрюши svhost, или как там процесс назывался, набивалось всякое веселое.

leg0las ★★★★★
()
Ответ на: комментарий от system-root

и сбой в одном из сервисов самого systemd, который висит как 1 процесс уложит на лопатки всю систему. Не айс.

leg0las ★★★★★
()
Ответ на: комментарий от intelfx

init

Init не под нулевым или первым пидом срузу должен вызывать вопросы.

kthreadd

Это мимикрия под процесс ядра?
Опять таки его появление в пространстве пользователя должно вызвать вопрос.

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 2)
Ответ на: комментарий от leg0las

и сбой в одном из сервисов самого systemd, который висит как 1 процесс уложит на лопатки всю систему. Не айс.

Как не Айс?
Это ведь фича, а не баг!!!

torvn77 ★★★★★
()
Ответ на: комментарий от leg0las

этот кусок Г генерит пачку процессов, нужных и не очень, в которых простой пользователь разбираться не будет

сбой в одном из сервисов самого systemd, который висит как 1 процесс уложит на лопатки всю систему. Не айс

Один процесс — плохо. Много процессов — тоже плохо. Так что в итоге делать-то нужно, чтобы угодить лоровским диванным экспертам? :)

И да, покажи пожалуйста, где здесь «пачка не очень нужных процессов, в которых пользователь разбираться не будет»?

$ ps -x --user intelfx --deselect | grep '/systemd'
      1 ?        Ss     0:06 /usr/lib/systemd/systemd --switched-root --system --deserialize 31
    550 ?        Ss     0:08 /usr/lib/systemd/systemd-journald
    551 ?        Ss     0:01 /usr/lib/systemd/systemd-udevd
    558 ?        Ss     0:00 /usr/lib/systemd/systemd-networkd
    681 ?        Ss     0:02 /usr/lib/systemd/systemd-resolved
    682 ?        Ssl    0:00 /usr/lib/systemd/systemd-timesyncd
    821 ?        Ss     0:03 /usr/lib/systemd/systemd-logind
intelfx ★★★★★
()
Ответ на: комментарий от intelfx

совсем другое, да.

А я не вижу смысла в этой фаллометрии.

да уж) сам начал с того, что нет разницы, а потом сам отказался показать свою портянку=)

crypt ★★★★★
() автор топика
Ответ на: комментарий от intelfx

И да, покажи пожалуйста,

а ты не скромничай, сделай контейнер с nginx и покажи нам

ps auxfw

я же тебе именно его показал. ну можешь grep -v «bash» добавить.

crypt ★★★★★
() автор топика
Последнее исправление: crypt (всего исправлений: 1)
Ответ на: комментарий от intelfx

И точно так же не составляет труда замаскировать малварь под любой другой процесс. Как насчёт apmd? acpid есть, с чего бы не существовать apmd?

потому что это контейнер, не? и да, у тебя служебных процессов в 3 раза больше, чем у меня рабочих.

crypt ★★★★★
() автор топика
Ответ на: комментарий от intelfx

маскировать можешь под что хочешь. я начала с того, что в твоем списке ее будет сложнее увидеть в принципе.

crypt ★★★★★
() автор топика
Ответ на: комментарий от Novec1230

да:( я сейчас постоянно палюсь из-за плохого сна:(

crypt ★★★★★
() автор топика
Ответ на: комментарий от crypt

потому что это контейнер, не?

Некомпетентный пользователь этого знать не будет. А компетентный в трёх соснах в любом случае не заблудится.

и да, у тебя служебных процессов в 3 раза больше, чем у меня рабочих.

«У меня» — это где? Все листинги выше — с моего ноутбука. Я на нём компульсивным аскетизмом не страдаю.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 3)
Ответ на: комментарий от crypt

сделай контейнер с nginx и покажи нам

$ podman run --name nginx --rm --detach nginx
122cd30042eed141a4b244f5b9f8ef81f0360cefce899c7d1d61d584d9d68702

root@122cd30042ee:/# ps auxfw
bash: ps: command not found

root@122cd30042ee:/# ls -d /proc/[0-9]*
/proc/1  /proc/26  /proc/27
intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

это не только вопрос компетентности. есть такое понятие «эффективность» и KISS. у тебя 9 процессов systemd и dbus. а у меня 6 включая рабочие. плюс у тебя еще в строчку больше букв.

crypt ★★★★★
() автор топика
Ответ на: комментарий от crypt

есть такое понятие «эффективность» и KISS

Я не поддерживаю твою трактовку этих понятий. Keep it simple, but not simpler than necessary.

у тебя 9 процессов systemd и dbus. а у меня 6 включая рабочие. плюс у тебя еще в строчку больше букв.

Как я уже сказал, мне не интересно заниматься этой фаллометрией. Ты придумываешь бесполезные и бессмысленные метрики и, разумеется, разгромно меня на этом поле побеждаешь.

intelfx ★★★★★
()
Ответ на: комментарий от crypt

Нет, извини, спорить с переменными (по твоей инициативе) правилами мне тоже не интересно. Контейнер? Контейнер.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

только systemd в нем нет) это не переменные правила, а ты сам же аргументировал против того, за что споришь)

crypt ★★★★★
() автор топика
Ответ на: комментарий от crypt

В твоём контейнере нет init вообще, с чего он должен быть в моём контейнере? Там, где тебе нужен syslog и cron, мне вообще не нужно ничего.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от intelfx

Я не поддерживаю твою трактовку этих понятий. Keep it simple, but not simpler than necessary.

ну еще бы) к systemd это при всем желании никак не относится.)

Ты придумываешь бесполезные и бессмысленные метрики и, разумеется, разгромно меня на этом поле побеждаешь.

заметь, ты сам решил в этом участвовать)

crypt ★★★★★
() автор топика
Ответ на: комментарий от intelfx

В твоём контейнере нет init вообще, с чего он должен быть в моём контейнере?

потому что топик такой?

crypt ★★★★★
() автор топика
Ответ на: комментарий от crypt

Топик про полноценные системы, в которых нужен init. Ты зачем-то решил показать контейнер узкого назначения и похвастаться «look ma, no hands». Ну хорошо, я тоже так умею.

И ещё раз, я не поддерживаю фаллометрию количеством процессов. Моё первое сообщение в треде было именно про это. Если цель атаки — некомпетентный пользователь, то замаскироваться можно под всё что угодно, он всё равно не будет разбираться, должен ли в этой системе быть acpid и два разных syslogd или нет. А компетентному пользователю пять или десять строчек в листинге процессов не страшны, он знает точно, сколько процессов должно быть в системе и за что каждый из них отвечает.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от intelfx

Там, где тебе нужен syslog и cron, мне вообще не нужно ничего.

я точно также могу остановить syslogd и cron. а вот если ты в podman попробуешь запустить несколько процессов, тебе понадобится менеджер процессов и тут-то подтянется systemd и все разбухнет.

crypt ★★★★★
() автор топика
Ответ на: комментарий от intelfx

Топик про полноценные системы, в которых нужен init. Ты зачем-то решил показать контейнер узкого назначения и похвастаться «look ma, no hands». Ну хорошо, я тоже так умею.

да в том-то и дело, что нет. см. выше. тебе нужен init? ну вот тебе init:))) всеравно не сравнимо с твоей портянкой *systemd процессов.)

 # ps -p 1
PID TT  STAT    TIME COMMAND
  1  -  ILs  0:03.70 /sbin/init --
crypt ★★★★★
() автор топика
Ответ на: комментарий от intelfx

А компетентному пользователю

а «компетентный пользователь» windows server когда-то давно должен был владеть пачкой утилит по подхачиванию системы. я аргументирую, что systemd/Linux все больше становится похож на старый добрый Windows сервер с теми же парадигмами админства. и мне грустно видеть, что из легкого just-for-fun он превратился в корпоративный монолит, который при этом еще и часто хуже виндовс-мастадонтов.

crypt ★★★★★
() автор топика
Последнее исправление: crypt (всего исправлений: 1)
Ответ на: комментарий от crypt

я аргументирую, что systemd/Linux все больше становится похож на старый добрый Windows сервер с теми же парадигмами админства.

Обоснуй. Чем-то более существенным, чем FUD и slippery slope fallacy.

intelfx ★★★★★
()
Ответ на: комментарий от intelfx

перевод темы. мой поинт в том, что твое понятие «компетентный пользователь» - слабый аргумент.

crypt ★★★★★
() автор топика
Ответ на: комментарий от leg0las

и сбой в одном из сервисов самого systemd, который висит как 1 процесс уложит на лопатки всю систему. Не айс.

Если переписать systemd на rust, то падать не будет.

PolarFox ★★★★★
()
Ответ на: комментарий от leg0las

и сбой в одном из сервисов самого systemd, который висит как 1 процесс уложит на лопатки всю систему. Не айс.

я все жду этот троллинг, но пока случилось:(

crypt ★★★★★
() автор топика
Ответ на: комментарий от crypt

перевод темы

То есть сначала ты сам съезжаешь на какие-то неуместные параллели с виндой и утилитами по подхачиванию системы, а потом обвиняешь в этом меня?

Мой поинт очень простой: ты не родился со знанием того, где какие процессы должны быть, а какие — нет. Это и есть твоя «компетентность». Если у тебя её забрать, то ты не найдёшь малварь, замаскировавшуюся под acpid, kthreadd или syslogd. И systemd тут совершенно ничего не меняет.

intelfx ★★★★★
()
Ответ на: комментарий от intelfx

ты не родился

верно, я не родился, но в процессе выбрал Linux из-за KISS. уж не важно, компетентный я или нет, но выбор был сделан. соответственно ты своими листингами напрямую подтверждаешь, что по этому критерию Linux в данный момент потерял актуальность.

crypt ★★★★★
() автор топика
Ответ на: комментарий от intelfx

И systemd тут совершенно ничего не меняет.

да, а здесь svchost ничего не меняет...

https://cogenesis.com.au/blog/wp-content/uploads/2014/09/image_thumb5.png

нет, правда... никакой разницы. «компетентный пользователь» отличит лишний svchost с первого взгляда.

crypt ★★★★★
() автор топика
Последнее исправление: crypt (всего исправлений: 1)
Ответ на: комментарий от crypt

соответственно ты своими листингами напрямую подтверждаешь, что по этому критерию Linux в данный момент потерял актуальность.

Нет, я не согласен с твоей трактовкой понятия «KISS».

intelfx ★★★★★
()
Ответ на: комментарий от intelfx

ты можешь писать, что ты с ней не согласен, но листинги тем не менее отличаются наглядно.

crypt ★★★★★
() автор топика
Ответ на: комментарий от crypt

ты можешь писать, что ты с ней не согласен

Выдавать свои убеждения за некие общеизвестные принципы, которые настолько общеизвестны, что не требуют определения и обоснования — это логическая уловка, на которую я, извини, не поведусь.

но листинги тем не менее отличаются наглядно

Во-первых, какие конкретно листинги? Во-вторых, конечно, они отличаются, дальше что?

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)

Для скрытия своего присутствия бэкдор использовал имена процессов systemd-daemon, session-dbus и gvfsd-helper

Нужно законодательно запретить такие имена процессов, вот тогда заживём. Заодно и по systemd ударим!

melkor217 ★★★★★
()
Ответ на: комментарий от intelfx

И да, покажи пожалуйста, где здесь «пачка не очень нужных процессов, в которых пользователь разбираться не будет»?

/usr/lib/systemd/systemd-syslogd
/usr/lib/systemd/systemd-acpid

вот навскидку.

leg0las ★★★★★
()

Жидкий троллинг, скажи что бы потом пол протёрли.

anonymous-angler ★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.