Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Как найти скрытые процессы и порты в Linux/Unix/Windows

Оригинал: How to find hidden processes and ports on Linux/Unix/Windows
Автор: Vivek Gite
Дата публикации: 30 декабря 2017 года
Перевод: А. Кривошей
Дата перевода: сентябрь 2018 г.

Unhide - небольшая и удобная утилита для поиска скрытых процессов и портов TCP/UDP, созданных руткитами/LKM или с помощью других скрытых технологий. Этот инструмент работает под Linux, Unix-подобными системами и операционными системами Windows. В руководстве по программе говорится, что она обнаруживает скрытые процессы, используя три метода:

- метод proc заключается в сравнении /proc с выводом /bin/ps;
- метод sys заключается в сравнении информации, полученной из /bin/ps, с информацией, полученной от системных вызовов;
- метод грубой силы заключается в переборе всех идентификаторов процессов. Этот метод доступен только для ядер Linux 2.6.

Большинство руткитов и вредоносных программ используют для маскировки ядро, они видны только внутри ядра. Вы можете использовать unhide или другие утилиты, например rkhunter, для сканирования руткитов, бэкдоров и возможных локальных эксплойтов.

Как установить Unhide?

Рекомендуется запускать эту утилиту с носителя, работающего в режиме только для чтения. Чтобы установить ее в Debian или Ubuntu Linux, введите следующую команду:

$ sudo apt-get install unhide

Установка unhide в RHEL/CentOS/Oracle/Scientific/Fedora Linux

Введите приведенную ниже команду yum (в CentOS/RHEL версий 6.x или 7.x сначала подключите репозиторий EPLE):

$ sudo yum install unhide

Если вы используете Fedora Linux, введите следующую команду:

$ sudo dnf install unhide

Для установки unhide в Arch Linux используйте следующую команду pacman:

$ sudo pacman -S unhide

FreeBSD: установка unhide

Для установки unhide из порта используются следующие команды:

# cd /usr/ports/security/unhide/
# make install clean

или вы можете установить ее бинарный пакет с помощью команды pkg:

# pkg install unhide

unhide-tcp - это утилита, которое идентифицирует TCP/UDP-порты, которые прослушиваются, но не указаны в команде /bin/netstat или /bin/ss путем принудительного считывания всех доступных портов TCP/UDP.

Как использовать unhide?

Синтаксис:

unhide [options] test_list

Test_list - один или несколько стандартных тестов, список которых приведен ниже.

1. brute
2. proc
3. procall
4. procfs
5. quick
6. reverse
7. sys

Элементарные тесты:

1. checkbrute
2. checkchdir
3. checkgetaffinity
4. checkgetparam
5. checkgetpgid
6. checkgetprio
7. checkRRgetinterval
8. checkgetsched
9. checkgetsid
10. checkkill
11. checknoprocps
12. checkopendir
13. checkproc
14. checkquick
15. checkreaddir
16. checkreverse
17. checksysinfo
18. checksysinfo2
19. checksysinfo3

Вы можете использовать их следующим образом:

# unhide proc
# unhide sys
# unhide quick

Пример вывода:

Unhide 20130526
Copyright © 2013 Yago Jesus & Patrick Gouin
License GPLv3+ : GNU GPL version 3 or later
http://www.unhide-forensics.info
 
NOTE : This version of unhide is for systems using Linux >= 2.6 
 
Used options: 
[*]Searching for Hidden processes through  comparison of results of system calls, proc, dir and ps

Как идентифировать порты TCP/UDP с помощью утилиты unhide-tcp

Из man-страницы:

unhide-tcp - криминалистическая утилита, которая идентифицирует TCP/UDP-порты, которые прослушиваются, но не перечислены в /sbin/ss (или, альтернативно, /bin /netstat), посредством принудительного просмотра всех доступных портов TCP/UDP.
Примечание1. Во FreeBSD и OpenBSD всегда используется netstat, поскольку в этих ОС нет iproute2. Кроме того, во FreeBSD вместо fuser используется sockstat.
Примечание2: Если iproute2 недоступен в системе, опция -n или -s ДОЛЖНА указываться в командной строке.

# unhide-tcp

Пример вывода:

Unhide 20100201
http://www.security-projects.com/?Unhide

Starting TCP checking

Starting UDP checking

Однако я нашел кое-что интересное:

# unhide-tcp

Пример вывода:

Unhide 20100201
http://www.security-projects.com/?Unhide


Starting TCP checking

Found Hidden port that not appears in netstat: 1048
Found Hidden port that not appears in netstat: 1049
Found Hidden port that not appears in netstat: 1050
Starting UDP checking

Команды netstat -tulpn или ss ничего не говорят о скрытых TCP-портах # 1048, 1049, and 1050:

# netstat -tulpn | grep 1048
# ss -lp
# ss -l | grep 1048

Узнать больше об их использовании можно, прочитав man-страницы этих утилит:

$ man unhide
$ man unhide-tcp

Примечание для пользователей Windows: вы можете скачать WinUnhide/WinUnhide-TCP на этой странице.