2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Couldn't open a raw socket
Сообщение03.10.2019, 14:31 


21/05/16
4292
Аделаида
Я вот попытался запустить nmap на Ubuntu...
Набираю "sudo nmap -sS айпишник".
Оно ругается "Couldn't open a raw socket. Error: Permission denied (13)".
Что делать?
Я нагугливал, что это может происходить при запуске Ubuntu через WSL. Но я-то запускаю через VirtualBox...

 Профиль  
                  
 
 Re: Couldn't open a raw socket
Сообщение03.10.2019, 14:52 


09/05/16
138
В каком режиме виртуальная машина подключена к сети? NAT? Мост? Виртуальный сетевой адаптер?

Возможно, процесс виртуальной машины не имеет прав создавать raw sockets, пытаясь эмулировать их для гостевой ОС?

 Профиль  
                  
 
 Re: Couldn't open a raw socket
Сообщение03.10.2019, 15:01 


21/05/16
4292
Аделаида
aitap в сообщении #1418845 писал(а):
В каком режиме виртуальная машина подключена к сети?

NAT.

 Профиль  
                  
 
 Re: Couldn't open a raw socket
Сообщение04.10.2019, 12:30 


09/05/16
138
Ситуация более странная, чем мне казалось.

Что напечатает команда?
Используется синтаксис Bash
sudo perl -MSocket -E'say $<; socket($fh, AF_INET, SOCK_RAW, 255) and say fileno $fh or die $!'


Какой версии ядро (uname -a)? Это может быть баг.

 Профиль  
                  
 
 Re: Couldn't open a raw socket
Сообщение04.10.2019, 13:02 


21/05/16
4292
Аделаида
Первая команда возвращает 0 и 3. Во второй, версия, вроде бы, 4.15.0-29-generic.

 Профиль  
                  
 
 Re: Couldn't open a raw socket
Сообщение04.10.2019, 23:22 


09/05/16
138
kotenok gav в сообщении #1419069 писал(а):
Первая команда возвращает 0 и 3.

Это чертовски странно, поскольку мы создаём сокет точно таким же образом, как это делает Nmap, а сообщение об ошибке возникает только при неудачном возврате из функции выше. Nmap врёт? Nmap оказывается ограничен неправильно написанным профилем AppArmor? В /etc/sudoers спрятана настройка, согласно которой nmap нужно запускать без прав суперпользователя? На всякий случай, что скажет sudo strace -e socket nmap -sS адрес?

 Профиль  
                  
 
 Re: Couldn't open a raw socket
Сообщение05.10.2019, 11:34 


21/05/16
4292
Аделаида
--- SIGCHILD {si_signo=SIGCHILD, si_code=CLD_EXITED, si_pid=5570, si_uid=0, si_status=0, si_utime=0, si_stime=0} ---
--- SIGCHILD {si_signo=SIGCHILD, si_code=CLD_EXITED, si_pid=5572, si_uid=0, si_status=0, si_utime=0, si_stime=9} ---
Starting Nmap 7.80 ( https://nmap.org ) at тутвремя
Couldn't open a raw socket. Error: Permission denied (13)
+++ exited with 1 +++

 Профиль  
                  
 
 Re: Couldn't open a raw socket
Сообщение05.10.2019, 21:37 


09/05/16
138
kotenok gav в сообщении #1419263 писал(а):
SIGCHILD


Новые странности! Откуда дочерние процессы? Как будто по команде nmap запускается обёртка, которая запускает дочерний процесс с неправильными правами доступа, а не сам nmap.

Давайте ещё посмотрим на sudo strace -f -e process,socket nmap -sS адрес. Заодно мы по самой первой строке вывода, execve(...), узнаем, что именно за процесс запускается по команде nmap.

 Профиль  
                  
 
 Re: Couldn't open a raw socket
Сообщение07.10.2019, 16:48 


21/05/16
4292
Аделаида
Строчек там невероятно много, первая:
execve("/snap/bin/nmap", ["nmap", "-sS", "айпи"], 0x7ffcbc2e4d08 /* 18 vars */) = 0

-- 08 окт 2019, 00:32 --

Скрины:
Изображение
Изображение
Изображение
Изображение
Изображение

-- 08 окт 2019, 00:37 --

aitap
И последние 4 скрина:
Изображение
Изображение
Изображение
Изображение

 Профиль  
                  
 
 Re: Couldn't open a raw socket
Сообщение07.10.2019, 18:17 


09/05/16
138
Всё понятно. snap-пакеты запускаются в специальной песочнице, которая ограничивает их в целях защиты данных пользователя. Поможет ли команда sudo snap connect nmap:network-control расширить границы песочницы? (Я очень мало знаю про snap, но команду рекомендуют на странице данного пакета.)

Если нет, о невозможности создать raw-сокеты можно пожаловаться автору пакета.

Вместо snap-пакета можно также установить классический пакет, который запускается вне песочницы:
Используется синтаксис Bash
sudo apt install nmap
sudo /usr/bin/nmap -sS адрес

 Профиль  
                  
 
 Re: Couldn't open a raw socket
Сообщение21.02.2020, 13:55 


21/05/16
4292
Аделаида
Запоздалое спасибо!

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group