LINUX.ORG.RU

Bash жрёт 200% cpu

 


0

1

у меня bash жрёт 200 процентов цп и ещё утечка озу. как можно найти причину жирания цп?

обновление: теперь bash не жрёт проц. он перешёл на озу.

обновление 2: мне этот сервак друг подогнал, а сервак другу подогнали на работе. по идеи там не должно было побывать много народа. я бы с радостью бы форматнул сервак но у меня нету доступа к панели управление. и я не знаю способов форматировать и установки образа через консоль(хотя как по мне это не возможно) конечно хотелось бы выгнать этого зловреда но как мне сказали что это будет геморно сделать. есть надежда что друг сможет стереть сервер, ибо и у него тоже нет доступа к панели. по этому пользуемся что имеем. И всем Спасибо за помощь в этой ситуации



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

Bash жрёт 200

Прям залпом? Могёт!

По теме: выводps x в студию. В самом баше что-нибудьменял перед тем, как это началось (особенно всякие PS1 с вызовами команд)?

CrX ★★★★★
()

Команда top -b -n 1 | head -n 20 поможете тебе узнать PIDы тех процессов, что больше всего потребляют CPU; команда top -o RES -b -n 1 | head -n 20 тебе поможет узнать PIDы тех процессов, что потребляют больше всего RAM; команда ps -elF | grep PID_процесса поможет понять, что это такое, а команда sudo kill -9 PID_процесса остановит их, если нужно.

Vsevolod-linuxoid ★★★★★
()

у меня bash жрёт 200 процентов цп

Это какой-то странный bash. Потому что тот bash, который я знаю, однопоточный. Он не может больше 100% CPU есть.

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

i-rinat ★★★★★
()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid

я видел. но проблема что именно процесс bash жрёт озу. может я чёт не понимаю. но если убить bash то через время он опять запустится. другие процессы не жрут нечего почти

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

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

Говорить «bash жрёт озу» тупо, так как само по себе выполнение чего-то на bash или python нормально. Вопрос в том, что именно на bash исполняется.

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

Вот

root@foswiki:~# top -o RES -b -n 1 | head -n 20
top - 19:16:46 up 44 min,  1 user,  load average: 2.28, 2.18, 2.11
Tasks: 120 total,   1 running, 116 sleeping,   3 stopped,   0 zombie
%Cpu(s):  0.0 us,  1.9 sy,  0.0 ni, 18.4 id, 79.6 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3883.7 total,    131.0 free,   3694.1 used,     58.5 buff/cache
MiB Swap:   1962.0 total,    981.2 free,    980.8 used.     39.0 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
   2919 root      15  -5 2443756   1.4g      4 S   0.0  38.0   0:43.56 -bash
    554 root      rt   0  280144  17956   8216 S   0.0   0.5   0:00.46 multipathd
   1610 root      20   0 1309900  14608   3436 S   0.0   0.4   0:01.79 dockerd
    679 root      20   0  874552   7048   2348 S   0.0   0.2   0:06.44 snapd
    666 root      20   0   29704   6412   5212 S   0.0   0.2   0:00.32 networkd-dispat
    705 root      20   0 1049636   6392   1708 S   0.0   0.2   0:02.75 containerd
      1 root      20   0  168564   5572   4828 S   0.0   0.1   0:03.15 systemd
    350 root      19  -1   81392   5316   4952 S   0.0   0.1   0:01.19 systemd-journal
    690 root      20   0  393440   4524   4188 S   0.0   0.1   0:00.22 udisksd
    600 systemd+  20   0   91120   4000   3912 S   0.0   0.1   0:00.10 systemd-timesyn
    639 systemd+  20   0   19308   3992   3812 S   0.0   0.1   0:00.09 systemd-network
    641 systemd+  20   0   24776   3836   3684 S   0.0   0.1   0:00.12 systemd-resolve
    687 root      20   0   17544   3584   3496 S   0.0   0.1   0:00.12 systemd-logind

Lius
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid
root@foswiki:~# ps -elF | grep 2919
5 S root        2919       1  5  75  -5 - 610939 ep_pol 1502564 1 19:06 ?       00:00:46 -bash
0 S root        3140    1462  0  80   0 -  1574 pipe_w   656   1 19:20 pts/0    00:00:00 grep 2919
Lius
() автор топика
Ответ на: комментарий от vbr
root@foswiki:~# sudo ls -l /proc/2919
total 0
-r--r--r--  1 root root 0 Jul  8 19:29 arch_status
dr-xr-xr-x  2 root root 0 Jul  8 19:29 attr
-rw-r--r--  1 root root 0 Jul  8 19:29 autogroup
-r--------  1 root root 0 Jul  8 19:29 auxv
-r--r--r--  1 root root 0 Jul  8 19:29 cgroup
--w-------  1 root root 0 Jul  8 19:29 clear_refs
-r--r--r--  1 root root 0 Jul  8 19:29 cmdline
-rw-r--r--  1 root root 0 Jul  8 19:29 comm
-rw-r--r--  1 root root 0 Jul  8 19:29 coredump_filter
-r--r--r--  1 root root 0 Jul  8 19:29 cpuset
lrwxrwxrwx  1 root root 0 Jul  8 19:29 cwd -> /
-r--------  1 root root 0 Jul  8 19:29 environ
lrwxrwxrwx  1 root root 0 Jul  8 19:29 exe -> '/usr/bin/-bash (deleted)'
dr-x------  2 root root 0 Jul  8 19:29 fd
dr-x------  2 root root 0 Jul  8 19:29 fdinfo
-rw-r--r--  1 root root 0 Jul  8 19:29 gid_map
-r--------  1 root root 0 Jul  8 19:29 io
-r--r--r--  1 root root 0 Jul  8 19:29 limits
-rw-r--r--  1 root root 0 Jul  8 19:29 loginuid
dr-x------  2 root root 0 Jul  8 19:29 map_files
-r--r--r--  1 root root 0 Jul  8 19:29 maps
-rw-------  1 root root 0 Jul  8 19:29 mem
-r--r--r--  1 root root 0 Jul  8 19:29 mountinfo
-r--r--r--  1 root root 0 Jul  8 19:29 mounts
-r--------  1 root root 0 Jul  8 19:29 mountstats
dr-xr-xr-x 54 root root 0 Jul  8 19:29 net
dr-x--x--x  2 root root 0 Jul  8 19:29 ns
-r--r--r--  1 root root 0 Jul  8 19:29 numa_maps
-rw-r--r--  1 root root 0 Jul  8 19:29 oom_adj
-r--r--r--  1 root root 0 Jul  8 19:29 oom_score
-rw-r--r--  1 root root 0 Jul  8 19:29 oom_score_adj
-r--------  1 root root 0 Jul  8 19:29 pagemap
-r--------  1 root root 0 Jul  8 19:29 patch_state
-r--------  1 root root 0 Jul  8 19:29 personality
-rw-r--r--  1 root root 0 Jul  8 19:29 projid_map
lrwxrwxrwx  1 root root 0 Jul  8 19:29 root -> /
-rw-r--r--  1 root root 0 Jul  8 19:29 sched
-r--r--r--  1 root root 0 Jul  8 19:29 schedstat
-r--r--r--  1 root root 0 Jul  8 19:29 sessionid
-rw-r--r--  1 root root 0 Jul  8 19:29 setgroups
-r--r--r--  1 root root 0 Jul  8 19:29 smaps
-r--r--r--  1 root root 0 Jul  8 19:29 smaps_rollup
-r--------  1 root root 0 Jul  8 19:29 stack
-r--r--r--  1 root root 0 Jul  8 19:29 stat
-r--r--r--  1 root root 0 Jul  8 19:29 statm
-r--r--r--  1 root root 0 Jul  8 19:29 status
-r--------  1 root root 0 Jul  8 19:29 syscall
dr-xr-xr-x 10 root root 0 Jul  8 19:29 task
-r--r--r--  1 root root 0 Jul  8 19:29 timers
-rw-rw-rw-  1 root root 0 Jul  8 19:29 timerslack_ns
-rw-r--r--  1 root root 0 Jul  8 19:29 uid_map
-r--r--r--  1 root root 0 Jul  8 19:29 wchan
root@foswiki:~# sudo ls -l /proc/2919/fd
total 0
lr-x------ 1 root root 64 Jul  8 19:30 0 -> /dev/null
l-wx------ 1 root root 64 Jul  8 19:30 1 -> /dev/null
lrwx------ 1 root root 64 Jul  8 19:30 10 -> 'anon_inode:[eventfd]'
lrwx------ 1 root root 64 Jul  8 19:30 11 -> 'anon_inode:[eventfd]'
lrwx------ 1 root root 64 Jul  8 19:30 12 -> 'anon_inode:[eventfd]'
lr-x------ 1 root root 64 Jul  8 19:30 13 -> /dev/null
lrwx------ 1 root root 64 Jul  8 19:30 14 -> 'socket:[66436]'
l-wx------ 1 root root 64 Jul  8 19:30 2 -> /dev/null
lr-x------ 1 root root 64 Jul  8 19:30 3 -> /dev/urandom
lrwx------ 1 root root 64 Jul  8 19:30 4 -> /tmp/.lock
lrwx------ 1 root root 64 Jul  8 19:30 5 -> 'anon_inode:[eventpoll]'
lr-x------ 1 root root 64 Jul  8 19:30 6 -> 'pipe:[66432]'
l-wx------ 1 root root 64 Jul  8 19:30 7 -> 'pipe:[66432]'
lr-x------ 1 root root 64 Jul  8 19:30 8 -> 'pipe:[67090]'
l-wx------ 1 root root 64 Jul  8 19:30 9 -> 'pipe:[67090]'

Lius
() автор топика
Ответ на: комментарий от Lius
lrwxrwxrwx  1 root root 0 Jul  8 19:29 exe -> '/usr/bin/-bash (deleted)'

Спешу обрадовать: машинка однозначно compromised. Можно загрузиться с live-CD (или флешки) и снять образ для последующих исследований. А так - спасайте свои «бесценные данные», и срочно переставлять.

ПыСы: расходимся, господа.

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

Хм, а можно подробнее объяснить, если не трудно? То есть я не сомневаюсь, что ты написал правду, мне просто интересно узнать больше.

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

Хм, а можно подробнее объяснить, если не трудно?

При каком сценарии /usr/bin/-bash (а) появится изначально (б) self-удалится? Кто-то явно мимикрирует.

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

нечего не выдало. но если взять последние логи то

Jul  8 19:51:22 foswiki sshd[3381]: Received disconnect from 111.68.98.152 port 39526:11: Bye Bye [preauth]
Jul  8 19:51:22 foswiki sshd[3381]: Disconnected from authenticating user root 111.68.98.152 port 39526 [preauth]
Jul  8 19:52:01 foswiki CRON[3384]: pam_unix(cron:session): session opened for user root by (uid=0)
Jul  8 19:52:01 foswiki CRON[3384]: pam_unix(cron:session): session closed for user root
Jul  8 19:52:12 foswiki sshd[3387]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=111.68.98.152  user=root
Jul  8 19:52:14 foswiki sshd[3387]: Failed password for root from 111.68.98.152 port 50536 ssh2
Jul  8 19:52:16 foswiki sshd[3387]: Received disconnect from 111.68.98.152 port 50536:11: Bye Bye [preauth]
Jul  8 19:52:16 foswiki sshd[3387]: Disconnected from authenticating user root 111.68.98.152 port 50536 [preauth]
Jul  8 19:52:45 foswiki sshd[3391]: Invalid user admin from 121.66.254.253 port 39061
Jul  8 19:52:45 foswiki sshd[3391]: pam_unix(sshd:auth): check pass; user unknown
Jul  8 19:52:45 foswiki sshd[3391]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=121.66.254.253 
Jul  8 19:52:48 foswiki sshd[3391]: Failed password for invalid user admin from 121.66.254.253 port 39061 ssh2
Jul  8 19:52:49 foswiki sshd[3391]: Connection closed by invalid user admin 121.66.254.253 port 39061 [preauth]
Jul  8 19:53:01 foswiki CRON[3393]: pam_unix(cron:session): session opened for user root by (uid=0)
Jul  8 19:53:01 foswiki CRON[3393]: pam_unix(cron:session): session closed for user root
Jul  8 19:53:03 foswiki sshd[3396]: Invalid user kodiak from 111.68.98.152 port 33316
Jul  8 19:53:03 foswiki sshd[3396]: pam_unix(sshd:auth): check pass; user unknown
Jul  8 19:53:03 foswiki sshd[3396]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=111.68.98.152 
Jul  8 19:53:06 foswiki sshd[3396]: Failed password for invalid user kodiak from 111.68.98.152 port 33316 ssh2
Jul  8 19:53:06 foswiki sshd[3396]: Received disconnect from 111.68.98.152 port 33316:11: Bye Bye [preauth]
Jul  8 19:53:06 foswiki sshd[3396]: Disconnected from invalid user kodiak 111.68.98.152 port 33316 [preauth]
Jul  8 19:53:55 foswiki sshd[3399]: Invalid user enigma from 111.68.98.152 port 44326
Jul  8 19:53:55 foswiki sshd[3399]: pam_unix(sshd:auth): check pass; user unknown
Jul  8 19:53:55 foswiki sshd[3399]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=111.68.98.152 
Jul  8 19:53:57 foswiki sshd[3399]: Failed password for invalid user enigma from 111.68.98.152 port 44326 ssh2
Jul  8 19:54:00 foswiki sshd[3399]: Received disconnect from 111.68.98.152 port 44326:11: Bye Bye [preauth]
Jul  8 19:54:00 foswiki sshd[3399]: Disconnected from invalid user enigma 111.68.98.152 port 44326 [preauth]
Jul  8 19:54:01 foswiki CRON[3401]: pam_unix(cron:session): session opened for user root by (uid=0)
Jul  8 19:54:01 foswiki CRON[3401]: pam_unix(cron:session): session closed for user root
Jul  8 19:54:45 foswiki sshd[3404]: Invalid user carlos1 from 111.68.98.152 port 55338
Jul  8 19:54:45 foswiki sshd[3404]: pam_unix(sshd:auth): check pass; user unknown
Jul  8 19:54:45 foswiki sshd[3404]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=111.68.98.152 
Jul  8 19:54:48 foswiki sshd[3404]: Failed password for invalid user carlos1 from 111.68.98.152 port 55338 ssh2
Jul  8 19:54:48 foswiki sshd[3404]: Received disconnect from 111.68.98.152 port 55338:11: Bye Bye [preauth]
Jul  8 19:54:48 foswiki sshd[3404]: Disconnected from invalid user carlos1 111.68.98.152 port 55338 [preauth]

Lius
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

Блин, а как так-то.

Мне рассказывали, что мейнтейнеры благодаря разбивке программ на квинтиллион пакетов, могут запатчить одним вот таким мулепусечным пакетиком, сразу все уязвимости нафиг, прошлые и будущие, а оно вонано какося.

Как воспринимать происходящее?

Место хоть сэкономили или шифровальщик уже всё «забекапил»?

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

первые сталкиваюсь с вирусом на линуксе. чисто технически этот вирус могу перебраться через ssh на мою машину?

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

Зависит от защищённости твоего ссш.
А так хоть через рекламу на порносайте, всё как и на других платформах.

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

От 0-day уязвимостей или от пароля 12345 на root со стандартным ssh портом ни одна ОС не защитит.

И ты так пишешь, как будто на Windows вирусов нет, и не было случаев, когда даже антивирус и нормальные пароли не спасали.

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

А есть ли автоматические утилиты для поиска такого?

tripwire? Но он довольно бесполезен для всего кроме stable, ie верещать будет по каждому изменению, что сводит его полезность на нет если updates много / регулярные.

bugfixer ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

При каком сценарии /usr/bin/-bash (а) появится изначально (б) self-удалится? Кто-то явно мимикрирует.

ПыСы: причём у этого «кого-то» уже рутовые права есть так как он ловко /usr/bin манипулирует.

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

Надо сказать, такая себе у него мимикрия. Давать столь ярко видимые признаки присутствия… если есть права root, то лучше в виде модуля ядра работать втихую.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Lius

впервые сталкиваюсь с вирусом на линуксе.

Я (точнее благоверная, благо её учётка в правах покоцана по самое небалуйся) цепляла «гадость» через подгрузку «паков» с левых game servers. Правда только её учётка пострадала, так что удалось вычистить без полной переустановки.

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

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

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

Ну это не вирусы, как я понял, а трояны были, причем такие, что не получают права root, а работают от пользователя.

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

needrestart упоминает процессы, у которых бинарник удалён. Эта утилита не для безопасности, а чтобы отслеживать, что нужно перезапустить после обновления. Так это побочный эффект.

i-rinat ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Давать столь ярко видимые признаки присутствия… если есть права root, то лучше в виде модуля ядра работать втихую.

Для этого нужно иметь / деплоить модуля под зоопарк сборок ядер, не очень практично кмк.

ПыСы: одна из причин, кстати, почему у меня /usr отцеплен и монтируется read-only - чтобы вот таким вот «хакерам» жизнь мёдом не казалась, даже если там где-то 0-day vulnerability и попадётся.

bugfixer ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

И ты так пишешь, как будто на Windows вирусов нет

Я так пишу как раз это зная и зная, что все это знают, не беспокойся об этом — а вот ты пытаешься переврать.

когда даже антивирус и нормальные пароли не спасали

И разбиение на пакеты тоже не спасает.

Интересно сколько до прогрессивного сообщества будет доходить и сколько ещё надо таких случаев для преодоления стокгольмского синдрома.

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