если майнер на сервере


Подключись сам и выполни:
top -b -n1 | head -20

Проверь wsystemd:

# Посмотреть полный путь
ls -la /proc/4012757/exe
cat /proc/4012757/cmdline | tr '\0' ' '

# Откуда запущен
ls -la /proc/4012757/cwd

# Когда создан
stat /proc/4012757

# Убить
kill -9 4012757


Скорее всего сервер был скомпрометирован. После убийства процесса проверь:

# Как он запускается (cron, systemd service, rc.local)
crontab -l
crontab -u root -l
find /etc/systemd/system -name "*wsystem*"
find / -name "wsystemd" 2>/dev/null

 

 

Это майнер. Удаляй:
# Остановить
kill -9 4012757

# Посмотреть что внутри
file /usr/sbin/wsystemd
strings /usr/sbin/wsystemd | grep -iE "pool|stratum|mining|xmr|monero" | head -10

# Проверить как он автозапускается
grep -r "wsystemd" /etc/systemd/system/ /lib/systemd/system/ /etc/init.d/ /etc/crontab /var/spool/cron/ 2>/dev/null
crontab -l -u root 2>/dev/null | grep wsystemd

# Удалить
rm -f /usr/sbin/wsystemd

# Проверить нет ли ещё подозрительного
find /usr/sbin /usr/bin /tmp /var/tmp -newer /usr/sbin/wsystemd -type f 2>/dev/null
После этого проверь как попали на сервер:


# Последние логины
last -20
# SSH авторизованные ключи
cat /root/.ssh/authorized_keys
cat /home/ubuntu/.ssh/authorized_keys
# Открытые порты
ss -tlnp

 

wtmp — файл логов входов в систему (/var/log/wtmp). Эта строка значит что лог-файл был создан (или обрезан) 15 июля 2020 — с тех пор ни разу не ротировался.

Если last -20 показал только эту строку и больше ничего — значит записи логинов были удалены злоумышленником:


# Проверить размер
ls -la /var/log/wtmp

# Проверить auth лог
cat /var/log/auth.log | grep "Accepted" | tail -20

# Если auth.log тоже пуст — логи зачистили
ls -la /var/log/auth.log*
Это типичное поведение после взлома — стирают логи чтобы скрыть следы.

 

 

 

# Отредактировать sshd_config
sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin prohibit-password/' /etc/ssh/sshd_config
sed -i 's/^#\?ChallengeResponseAuthentication.*/ChallengeResponseAuthentication no/' /etc/ssh/sshd_config
sed -i 's/^#\?UsePAM.*/UsePAM no/' /etc/ssh/sshd_config

# Проверить
grep -E "^(PasswordAuth|PermitRoot|Challenge|UsePAM)" /etc/ssh/sshd_config

# Перезапустить (НЕ закрывай текущую сессию пока не проверишь)
systemctl restart sshd
Перед рестартом убедись что твой ключ в authorized_keys:


cat /home/ubuntu/.ssh/authorized_keys
Потом в отдельном терминале проверь что можешь войти:


ssh ubuntu@142.44.137.162 -i ~/.ssh/flc
Только после успешного входа закрывай старую сессию.

 

 

# Пользователи с shell (могут логиниться)
grep -v "nologin\|false\|sync\|halt\|shutdown" /etc/passwd

# Пользователи с UID 0 (root-права) — должен быть только root
awk -F: '$3 == 0 {print}' /etc/passwd

# Пользователи в группе sudo
getent group sudo

# Кто сейчас залогинен
w

# Все authorized_keys на сервере
find / -name "authorized_keys" -exec echo "=== {} ===" \; -exec cat {} \; 2>/dev/null



sudo : x : 27 : ubuntu
│      │   │    └── пользователь ubuntu в группе sudo
│      │   └─────── GID 27
│      └─────────── пароль в /etc/shadow (заглушка)
└────────────────── имя группы