domingo, 23 de junio de 2013

Capturar con Wireshark sin permisos de root

A continuación detallo la configuración necesaria para poder ejecutar wireshark sin permisos de superusuario, también conocido como root.
Este programa necesita acceso a zócalos en crudo (raw sockets). Es por ello que hay que posibilitar el uso de ciertos programas para otros usuarios distintos de root.
Primero hay que instalar Wireshark utilizando el método que más nos guste: centro de software, synaptic, apt-get ó aptitude.
Con aptitude:

sudo aptitude install wireshark

Una vez instalado tenemos que crear el grupo wireshark y añadir nuestro usuario al mismo:

sudo groupadd wireshark
sudo usermod -a -G wireshark NOMBREUSUARIO

Seguidamente debemos cambiar el grupo y permisos del ejecutable dumpcap para que los usuarios pertenecientes al grupo wireshark puedan utilizarlo:

sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod 750 /usr/bin/dumpcap #previamente tenía 755


Ahora tenemos que darle las capacidades de usar zócalos en crudo a dumpcap para usuarios sin privilegios:

sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
#eip == Effective, Inheritable, Permitted

Y comprobamos que los permisos han sido fijados:

sudo getcap /usr/bin/dumpcap 
/usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip

Páginas de manual relacionadas:
cap_from_text(3)
capabilities(7)
credentials(7)

1 comentario: