Как найти источник ping-запроса внутри устройства?

Давайте этот вопрос по частям, потому что вы как бы сбрасываете все вместе в одно "у меня не работает терминал".

Первый шаг :вам нужно понять разницу между терминалом, оболочкой и программами, которые вы запускаете. Вы набрали «некоторые команды» в терминале, и «это не сработало». Когда вы набираете lsили ls /, вы должны увидеть список файлов и каталогов. Это работает? В этом случае ваш терминал работает, ваша оболочка работает и как минимум lsработает.

Попробуйте lsmod | moreв качестве команды. Это должно дать вам вывод, например:

Module                  Size  Used by
tun                    20475  2
cdc_acm                19395  0
pci_stub                1806  1
vboxpci                16252  0
vboxnetadp             19493  0
vboxnetflt             19295  0
vboxdrv               418989  3 vboxnetadp,vboxnetflt,vboxpci
-- More --

Для меня это показывает, что модуль vboxdrvустановлен и работает. Ваша исходная ошибка была Kernel Driver Not installed rc=-1908, поэтому vboxdrv, вероятно, не будет в вашем списке. Вы можете вставить модуль с insmod vboxdrv, что должно быть сделано как root. Посмотрите внимательно на сообщение об ошибке; Я предполагаю, что это как-то связано с номерами версий, но также может быть и то, что модуль недоступен.

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

cd /etc/yum.repos.d/
wget http://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repo
dnf update
rpm -qa kernel |sort -V |tail -n 1
uname -r
# The kernel versions from the last two commands should match
dnf install binutils gcc make patch libgomp glibc-headers glibc-devel kernel-headers kernel-devel dkms
dnf install VirtualBox-5.2
/usr/lib/virtualbox/vboxdrv.sh setup
usermod -a -G vboxusers your_name

и тогда вы сможете запустить VirtualBox.

Я бы посоветовал вам немного лучше познакомиться с Linux, прежде чем приступать к приключениям Kali. Kali не является дистрибутивом для новичков. Кроме того, время, потраченное на знакомство с Linux, поможет вам в изучении CEH -.

1
13.01.2020, 21:16
1 ответ

Предполагая, что ftrace настроен в ядре, и у вас есть root-доступ, вы можете использовать средства трассировки ядра.

Доступны более новые инструменты, в частности bpftrace, но во встроенных устройствах часто не хватает места для установки необходимых зависимостей. Это решение использует ftrace, который доступен уже много лет. Это просто использование необработанных файлов, есть инструменты, которые автоматизируют некоторые из этих шагов.

Если файл debugfs еще не смонтирован, смонтируйте его

[ -e /sys/kernel/debug/tracing/README ] || mount -t debugfs debugfs /sys/kernel/debug

Отключить трассировку, настроить отчет на функции трассировки, установить функции для мониторинга

 cd /sys/kernel/debug/tracing
 echo 0 > tracing_on
 echo function > current_tracer
 echo ping_init_sock > set_ftrace_filter
 echo sock_sendmsg >> set_ftrace_filter # Optional, omit if ping_init_sock gives results

Включить трассировку

 echo 1 > tracing_on

подождите, пока произойдут события ping, затем проверьте, что находится в файле trace.

cat trace
# tracer: function
#
# entries-in-buffer/entries-written: 56/56   #P:1
#
#                              _-----=> irqs-off
#                             / _----=> need-resched
#                            | / _---=> hardirq/softirq
#                            || / _--=> preempt-depth
#                            ||| /     delay
#           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
#              | |       |   ||||       |         |
            ping-3085  [000].... 8035797.349326: ping_init_sock <-inet_create
            ping-3085  [000].... 8035797.349352: ping_init_sock <-inet6_create
            ping-3085  [000].... 8035797.349739: sock_sendmsg <-___sys_sendmsg
            ping-3085  [000].... 8035797.349764: sock_sendmsg <-___sys_sendmsg
            ping-3085  [000].... 8035797.365248: sock_sendmsg <-__sys_sendto
            ping-3085  [000].... 8035797.365486: sock_sendmsg <-__sys_sendto
            ping-3085  [000].... 8035797.379917: sock_sendmsg <-__sys_sendto
            ping-3085  [000].... 8035797.387487: sock_sendmsg <-__sys_sendto

, которые показывают, что PID 3085 выполняет эхо-запрос. Если вам повезет, процесс, выполняющий эхо-запрос, все еще будет запущен, поэтому вы можете найти его в выводе ps. Если нет, то вы можете надеяться, что у него будет узнаваемое имя.

В противном случаетогда, возможно,https://github.com/brendangregg/perf-tools/blob/master/deprecated/execsnoop-procможет помочь.

1
27.01.2020, 23:40

Теги

Похожие вопросы