miércoles, 6 de abril de 2016

Ejecutar Wireshark sin ser root

Ya sea que nos encontremos en cualquier distribución GNU/Linux y necesitamos utilizar Wireshark para realizar alguna tarea de la materia de redes, o nos queremos involucrar en el ámbito de la seguridad informática, o sin ser tan paranoico, queremos detectar problemas que puedan estar surgiendo en NUESTRA red, Wireshark es la herramienta que necesitamos.

Así que, si estamos utilizando una distribución GNU/Linux basada en Debian solamente tenemos que hacer en línea de comandos:

apt-get install wireshark

(obviamente tiene que estar logueado como root, o si no, en su defecto, anteponga la palabra sudo antes de apt-get)

Para poder ejecutar Wireshark debemos tener permisos de root para que pueda estar la tarjeta en modo promíscuo y proseguir con la captura de paquetes, trabaja con Raw Sockets y otras lindezas de las que no entraré en detalle.

Luego de instalarlo tenemos que crear un grupo de usuarios para que un usuario sin privilegios de root (que se encuentre dentro de ese grupo) pueda ejecutar Wireshark sin problemas. Creamos el grupo:

groupadd wireshark

(El nombre del grupo, está demás decirlo, puede ser cualquier otro nombre, pero para este ejemplo y simplicidad de ubicación de las característeicas de uso sobre un programa que ofrecerá este grupo, he decidido ponerle el mismo nombre)

Ahora procedemos a agregar al usuario sin privilegios a este grupo, si por ej, el usuario a añardir a este grupo se llama "usuario07", la orden para agregarlo sería:

adduser -a -G wireshark usuario07

Ahora procedemos a cambiar de grupo y los permisos al fichero /usr/bin/dumpcap que según la información de la página del manual (man 1 dumpcap) sirve para capturar paquetes "en vivo" en el tráfico de una red y volcarlos a un fichero. Procedemos al cambio de permisos y de grupo con estas órdenes:

chmod 750 /usr/bin/dumpcap && chgrp wireshark /usr/bon/dumpcap

Ahora se le "asignarán capacidades" a dumpcap para que haga uso de las capacidades de raw sockets y pueda ser por usuarios distintos a root:

setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap

Respondiéndonos con:

#eip == Effective, Inheritable, Permitted

Para consultar lo que hace el comando setcap: man 8 setcap

Comprobamos que las características fueron otorgadas de forma satisfactoria:

getcap /usr/bin/dumpcap

Respondiéndonos con:

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

Para consultar lo que hace el comando getcap: man 8 getcap

Y eso es todo, ya solo basta que un usuario sin privilegios ejecute wireshark desde línea de comandos o cree un acceso directo en el menú principal.

Espero que a alguien le ayude esta información.
--Bytes

0 comentarios:

 

Copyright © El igloo de Tux Design by O Pregador | Blogger Theme by Blogger Template de luxo | Powered by Blogger