Слово «RootKit» изначально пришло из мира систем «Unix», где корень является пользователем с наибольшими правами доступа к системе ». Хотя слово «набор» определяет набор, содержащий набор вредоносных инструментов, таких как клавиатурные шпионы, средства кражи банковских учетных данных, кражи паролей, антивирусные средства отключения или боты для DDos-атак и т. Д. Объединяя их вместе, вы получаете RootKit.
Они разработаны таким образом, что остаются скрытыми и выполняют вредоносные действия, такие как перехват интернет-трафика, кража кредитных карт и информации онлайн-банкинга. Руткиты дают злоумышленникам возможность контролировать вашу компьютерную систему с полным административным доступом, а также помогают злоумышленнику отслеживать нажатия клавиш и отключать антивирусное программное обеспечение, что еще больше упрощает кражу вашей секретной информации.
Как руткиты попадают в систему?
Руткиты, в зависимости от их типа, не могут распространяться сами по себе. Поэтому они распространяются злоумышленником такой тактикой, что пользователь не может заметить, что с системой что-то не так. Обычно они скрываются в хитром программном обеспечении, которое выглядит законным и может быть функциональным. Как бы то ни было, когда вы даете согласие на внедрение программного обеспечения в ваш фреймворк, руткит незаметно пробирается внутрь, где он может лежать, пока злоумышленник/хакер не активирует его. Руткиты очень сложно идентифицировать, потому что они могут быть скрыты от пользователей, администраторов и большинства антивирусных продуктов. В основном, в случае взлома системы с помощью руткита, масштабы злокачественного движения очень высоки.
Социальная инженерия:
Хакер пытается получить root/ доступ администратора путем эксплуатации известных уязвимостей или социальной инженерии. Киберпреступники используют социальную инженерию для выполнения своей работы. Они пытаются установить руткиты в систему пользователя, отправляя им фишинговую ссылку, рассылают электронную почту, перенаправляют вас на вредоносные веб-сайты, исправляют руткиты в законном программном обеспечении, которое невооруженным глазом выглядит нормально. Важно знать, что руткиты не всегда хотят, чтобы пользователь запускал вредоносный исполняемый файл, чтобы проникнуть внутрь. Иногда все, что им нужно, это чтобы пользователь открыл PDF-файл или документ Word, чтобы проникнуть внутрь.
Типы Руткиты:
Чтобы правильно понять типы руткитов, во-первых, нам нужно представить систему в виде круга из концентрических колец.
- В центре есть ядро, известное как нулевое кольцо. Ядро имеет наивысший уровень привилегий над компьютерной системой. Он имеет доступ ко всей информации и может работать с системой по своему усмотрению..
- Кольцо 1 и кольцо 2 зарезервированы для менее привилегированных процессов. Если это кольцо выходит из строя, затронуты только процессы, от которых зависит кольцо 3.
- Кольцо 3 — это место, где находится пользователь. Это пользовательский режим, имеющий иерархию доступа со строгими привилегиями.
Важно отметить, что процедура, выполняемая в кольце с более высокими привилегиями, может снизить свои преимущества и работать во внешнем кольце, но это может Не работайте наоборот без однозначного согласия инструментов безопасности рабочей среды. В ситуациях, когда такие компоненты безопасности могут оставаться в стороне, считается, что существует уязвимость повышения привилегий. Сейчас существует два наиболее известных типа руткитов:
Руткиты пользовательского режима:
Руткиты этой категории работают с низкими привилегиями или на уровне пользователя в операционной системе. Как было сказано ранее, руткиты заставляют хакеров сохранять свою власть над системой, предоставляя вторичный канал доступа, руткит пользовательского режима в целом изменяет важные приложения на уровне пользователя, таким образом скрывая себя, как и предоставляя доступ к бэкдору. Существуют разные руткиты этого типа как для Windows, так и для Linux.
Руткиты пользовательского режима Linux:
В настоящее время доступны многие руткиты пользовательского режима Linux, например:
- Чтобы получить удаленный доступ к целевой машине, все службы входа в систему, такие как ‘login’, ‘sshd’, модифицируются руткитом для включения бэкдора. Злоумышленники могут получить доступ к машине цели, просто перейдя через черный ход. Помните, что хакер уже использовал машину, он просто добавил бэкдор, чтобы вернуться в другой раз.
- Чтобы выполнить атаку повышения привилегий. Злоумышленник модифицирует такие команды, как ‘su’, sudo, так что, когда он использует эти команды через бэкдор, он получает доступ корневого уровня к службам.
- Чтобы скрыть свое присутствие во время атаки со стороны
- Скрытие процесса: различные команды, которые показывают данные о процедурах, запущенных на машине, такие как ‘ps’, ‘pidof’, ‘top’, изменены с целью, чтобы процедура нападавшего не записывалась среди других запущенных процедур. . Кроме того, команда kill all обычно изменяется с целью, чтобы процесс хакера не мог быть уничтожен, а заказ crontab изменен так, чтобы вредоносные процессы запускались в определенное время без изменения конфигурации crontab.
- Скрытие файлов: скрытие их присутствия от таких команд, как ‘ls’, ‘find’. Кроме того, скрытие от команды ‘du’, которая показывает использование диска процессом, запущенным злоумышленником.
- Скрытие событий: скрытие из системных журналов путем изменения файла ‘syslog.d’, чтобы они не могли войти в систему эти файлы.
- Скрытие сети: скрытие от таких команд, как ‘netstat’, ‘iftop’, которые показывают активные соединения. Такие команды, как ifconfig, также изменяются, чтобы исключить их присутствие.
Руткиты режима ядра:
Прежде чем переходить к руткитам режима ядра, во-первых, посмотрим, как ядро работает, как ядро обрабатывает запросы. Ядро позволяет приложениям работать с использованием аппаратных ресурсов. Поскольку мы обсуждали концепцию колец, приложения кольца 3 не могут получить доступ к более безопасному или высокопривилегированному кольцу, то есть к кольцу 0, они зависят от системных вызовов, которые они обрабатывают с использованием библиотек подсистем. Итак, последовательность действий выглядит примерно так:
Теперь злоумышленник изменит таблицу системных вызовов с помощью insmod, а затем отобразит вредоносные инструкции. Затем он вставит вредоносный код ядра и будет выглядеть следующим образом:
Вредоносный код ядра
Теперь мы увидим, как изменяется эта таблица системных вызовов и как может быть вставлен вредоносный код.
- Модули ядра : Ядро Linux разработано таким образом, чтобы загружать внешний модуль ядра для поддержки его функциональности и вставлять некоторый код на уровне ядра. Эта опция дает злоумышленникам возможность напрямую внедрить вредоносный код в ядро.
- Изменение файла ядра: когда ядро Linux не настроено для загрузки внешних модулей, изменение файла ядра может быть выполнено в памяти или на жестком диске.
- Файл ядра, содержащий образ памяти на жестком диске, — это/dev/kmem. Живой код ядра также существует в этом файле. Это даже не требует перезагрузки системы.
- Если память не может быть изменена, файл ядра на жестком диске может быть изменен. Файл с ядром на жестком диске — vmlinuz. Этот файл может быть прочитан и изменен только пользователем root. Помните, что в этом случае для выполнения нового кода требуется перезагрузка системы. Для изменения файла ядра не нужно переходить с кольца 3 на кольцо 0. Для этого нужны только права суперпользователя.
Отличным примером руткитов ядра является руткит SmartService. Он не позволяет пользователям запускать какое-либо антивирусное программное обеспечение и, следовательно, служит телохранителем для всех других вредоносных программ и вирусов. До середины 2017 года это был известный разрушительный руткит.
Chkrootkit:
Эти типы вредоносных программ могут оставаться в вашей системе в течение длительного времени, даже не замечая пользователя. и это может нанести серьезный ущерб, поскольку после обнаружения руткита нет другого пути, кроме как переустановить всю систему, а иногда это может даже вызвать аппаратный сбой.
К счастью, есть некоторые инструменты, которые помогают для обнаружения множества известных руткитов в системах Linux, таких как Lynis, Clam AV, LMD (Linux Malware Detect). Вы можете проверить свою систему на наличие известных руткитов, используя следующие команды:
Прежде всего, нам нужно установить Chkrootkit с помощью команды:
Это установит инструмент Chkrootkit, и вы можете использовать его для проверки наличия руткитов, используя:
ROOTDIR — это `/’
Проверка` amd’ … не найден
Проверка `chsh ‘… не заражен
Проверка` cron’ … не заражен
Проверка `crontab ‘… не заражен
Проверка `date ‘… не заражен
Проверка` du’ … не заражен
Проверка `dirname ‘… не заражен
Проверка` su’ … не заражен
Проверка `ifconfig ‘… не заражен
Проверка` inetd’ … не заражен
Проверка `inetdconf ‘… не обнаружена
Проверка` идентификатора ‘… не найдено
Проверка `init’ … не заражена
Проверка` killall ‘… не заражен
Проверка `логин ‘… не заражен
Проверка` ls’ … не заражен
Проверка `lsof ‘… не заражен
Проверка `passwd ‘… не заражен
Проверка` pidof’ … не заражен
Проверка `ps ‘… не заражен
Проверка` pstree’ … не заражен
Проверка `rpcinfo ‘… не найдена
Проверка` rlogind’ … не найдена
Проверка `rshd ‘… не найдена
Проверка` slogin ‘… не заражен
Проверка `sendmail’ … не найдена
Проверка` sshd ‘… не найден
Проверка syslogd … не проверена
Проверка пришельцев … подозрительных файлов нет
Поиск журналов сниффера может занять некоторое время … ничего найдено
Поиск файлов по умолчанию для руткита HiDrootkit … ничего не найдено
Поиск файлов по умолчанию для руткита t0rn … ничего не найдено
Поиск значений по умолчанию для t0rn v8 … ничего не найдено
Поиск файлов по умолчанию для руткита Lion … ничего не найдено
Поиск файлов по умолчанию для руткита RSHA … ничего не найдено
Поиск файлов по умолчанию для руткита RH-Sharpe … ничего не найдено
Поиск файлов и каталогов по умолчанию для руткитов (ark) Ambient … ничего не найдено
Поиск подозрительных файлов и каталогов, это может занять некоторое время …
Были обнаружены следующие подозрительные файлы и каталоги:
/usr/lib/debug/.build -id/lib/modules/5.3.0-45-generic/vdso/.build-id/lib/modules/
5.3.0-46-generic/vdso/.build-id
/usr/lib/debug/.build-id/lib/modules/5.3.0-45-generic/vdso/.build-id/lib/modules/
5.3.0-46-generic/vdso/ .build-id
Поиск файлов и каталогов LPD Worm … ничего не найдено
Поиск файлов и каталогов Ramen Worm … ничего не найдено
Поиск Maniac файлы и каталоги … ничего не найдено
Поиск файлов и каталогов RK17 … ничего не найдено
chkproc: Предупреждение: установлен возможный троян LKM
chkdirs: ничего не обнаружено
Проверка `rexedcs ‘… не найдена
Проверка` sniffer’ … lo: не promisc и нет сокетов сниффера пакетов
vmnet1: not promisc и no packet s niffer sockets
vmnet2: not promisc and no pack sniffer sockets
vmnet8: not promisc and no package sniffer sockets
bnep0: PACKET SNIFFER (/sbin/dhclient [432])
Проверка `w55808 ‘… не заражен
Проверка` wted’ … chk wtmp: ничего не удалено
Проверка `scalper ‘… не заражен
Проверка` slapper ‘… не заражен
Проверка `z2′ … chk lastlog: ничего не удалено
Проверка` chkutmp ‘… Не найден tty следующего пользовательского процесса (ов)
в/var/run/utmp!
! RUID PID TTY CMD
! 101 0 es = v8_context_snapshot_data: 100, v8101 —msteams-process-type = notificationsManager
! ess-type = pluginHost 0 ta: 100, v8_natives_data: 101
! root 3936 pts/0/bin/sh/usr/sbin/chkrootkit
! корень 4668 очков/0 ./chkutmp
! root 4670 pts/0 ps axk tty, ruser, args -o tty, pid, user, args
! root 4669 pts/0 sh -c ps axk «tty, ruser, args» -o «tty, pid, user, args»
! root 3934 pts/0 sudo chkrootkit
! usman 3891 pts/0 bash
chkutmp: ничего не удалено
Программа Chkrootkit — это сценарий оболочки, который проверяет системные двоичные файлы в системном пути на предмет вредоносных изменений. Он также включает некоторые программы, которые проверяют различные проблемы безопасности. В приведенном выше случае он проверил наличие руткита в системе и не обнаружил его, что ж, это хороший знак.
Rkhunter (RootkitHunter):
Еще один отличный инструмент для поиска различных руткитов и локальных эксплойтов в операционной системе — Rkhunter..
Прежде всего, нам нужно установить Rkhunter с помощью команды:
Это установит инструмент Rkhunter, и вы сможете использовать его для проверки наличия руткитов, используя:
Проверка на наличие руткитов …
Проверка известных файлов и каталогов руткитов
Троян 55808 — вариант A [не обнаружен]
Червь ADM [не обнаружен]
Руткит AjaKit [Не найден]
Руткит Adore [Не найден]
APA Kit [Не найден]
Червь Apache [Не найден]
Окружающий (ark) Руткит [Не найдено]
Руткит Balaur [Не найдено]
Руткит BeastKit [Не найдено]
Руткит beX2 [Не найдено]
Руткит BOBKit [Не найдено]
cb Rootkit [ Не найдено]
CiNIK Worm (Slapper. Вариант B) [Не найден]
Набор для защиты от злоупотреблений Дэнни-Боя [Не найден]
Devil RootKit [Не найден]
Диаморфин LKM [Не найден]
Dica- Руткит-комплект [не найден]
Руткит Dreams [не найден]
Руткит Duarawkz [не найден]
бэкдор Ebury [не найден]
Enye LKM [не найден]
Руткит Flea Linux [Не найден]
Fu Rootkit [Не найден]
Fuck`it Rootkit [Не найден]
Руткит GasKit [Не найден]
Героин LKM [Не найдено]
HjC Kit [Не найдено]
Руткит ignoKit [Не найдено]
Руткит IntoXonia-NG [Не найдено]
Руткит Irix [Не найдено]
Руткит Jynx [не найден]
Руткит Jynx2 [не найден]
Руткит KBeast [не найден]
Руткит Китко [не найден]
Knark Руткит [не найден]
ld-linuxv. так что руткит [не найден]
Li0n Worm [не найден]
руткит Lockit/LJK2 [не найден]
бэкдор Mokes [не найден]
руткит Mood-NT [Не найдено]
Руткит MRK [Не найдено]
Руткит Ni0 [Не найдено]
Руткит Ohhara [Не найдено]
Червь Optic Kit (Tux) [Не найдено]
Руткит Oz [Не найдено]
Руткит Phalanx [Не найдено]
Руткит Phalanx2 [Не найдено]
Руткит Phalanx (расширенные тесты) [Не найдено]
Руткит Portacelo [Не найдено]
R3d Storm Toolkit [Не найдено]
Руткит RH-Sharpe [Не найдено]
Руткит RSHA [Не найдено]
Червь-скальпер [Не найден ]
Себек LKM [Не найдено]
Завершение работы руткита [Не найдено]
Руткит SHV4 [Не найдено]
Руткит SHV5 [Не найдено]
Sin Rootkit [Не найден]
Slapper Worm [Не найден]
Sneakin Rootkit [Не найден]
Испанский руткит [Не найден]
Suckit Rootkit [Не найдено]
Руткит суперкита [Не найден]
TBD (Telnet BackDoor) [Не найдено]
Руткит TeLeKiT [Не найдено]
Руткит T0rn [Не найдено ]
руткит trNkit [не найден]
Trojanit Kit [не найден]
руткит Tuxtendo [не найден]
руткит URK [не найден]
Руткит вампира [не найден]
Руткит VcKit [не найден]
Руткит Volc [не найден]
Руткит Xzibit [не найден]
zaRwT. KiT Rootkit [Не найдено]
ZK Rootkit [Не найдено]
Это позволит проверить наличие большого количества известных руткитов в вашей системе. Чтобы проверить наличие системных команд и всех типов вредоносных файлов в вашей системе, введите следующую команду:
В случае возникновения ошибки закомментируйте строки ошибок в файле/etc/rkhunter.conf, и все будет работать без сбоев.
Заключение:
Руткиты могут нанести серьезный необратимый ущерб операционной системе. Он содержит множество вредоносных инструментов, таких как клавиатурные шпионы, кражи банковских учетных данных, кражи паролей, антивирусные средства отключения или боты для DDos-атак и т. Д. Программное обеспечение остается скрытым в компьютерной системе и продолжает выполнять свою работу для злоумышленника, поскольку он может получить удаленный доступ к система жертвы. Нашим приоритетом после обнаружения руткита должно быть изменение всех паролей системы. Вы можете исправить все слабые звенья, но лучше всего полностью стереть и переформатировать диск, поскольку никогда не знаешь, что еще находится внутри системы.