Comandos para hackers

De Jose Castillo Aliaga
Ir a la navegación Ir a la búsqueda

En este artículo se comentan comandos y ficheros que nos pueden proporcionar mucha información sobre el sistema o que permiten aprovechar vulnerabilidades.

Sólo se comentan por encima, por lo que se debería ir profundizando en el manual en línea de cada uno. Al igual que en el artículo de Comandos interesantes, se pueden consultar en orden alfabético.

arp

Con este comando se puede ver y manipular la tabla ARP del sistema.

Es necesario entender cómo funciona ARP y este comando para el llamado ARP Poisoning

df

Muestra la utilización de disco de las particiones montadas. Con -k nos aseguramos de que lo muestra en kilobytes y si quieremos leerlo más cómodo podemos usar -h para que lo muestre legible por humanos.

dmesg

Lista el buffer de mensajes del núcleo. Este buffer contiene una gran variedad de mensajes importantes generados durante el arranque del sistema y durante la depuración de aplicaciones.

Como todo, se puede hacer un grep para buscar mensajes de un dispositivo determinado, por ejemplo, del usb:

$ dmesg | grep -i 'usb'

dpkg

Para ver, instalar o desinstalar paquetes. Con -l se pueden ver los instalados.

du

Disk Usage. Sirve para ver, de manera recursiva, lo que ocupan los directorios por debajo del especificado.

Si hacemos:

$ du -h --max-depth=1 /

Nos dice lo que ocupan los directorios principales sin entrar en más niveles (--max-depth=1)

Ficheros con información abierta

/etc/resolv.conf
/etc/motd, /etc/issue
/etc/passwd
/proc/cpuinfo
/proc/meminfo
/etc/network/interfaces

gcc

El compilador de C y C++ de GNU.

Si ponemos

$ gcc -v 

Nosa información acerca de la versión del compilador.

Nota: Muchos programas potencialmente explotables informan de su versión con -v o con --version. Por ejemplo mysql, perl, python, java...

hostname

Muestra el nombre del host al que estamos conectados. La variable $HOSTNAME también lo puede tener.

id

Este comando sirve para averiguar cada usuario a qué grupos pertenece y cual es su uid y el gid de sus grupos.

ip

Este comando informa y modifica aspectos de las direcciones IP y las rutas. En algunos casos recomiendan usar este antes que ifconfig, ya que ifconfig está obsoleto. algunos ejemplos

Para ver las direcciones IP:

$ ip addr show

iptables

Este comando es uno de los más importantes para la seguridad de un sistema. Permite ver y modificar el filtrado de paquetes.

Con:

$ iptables -L -n

Se pueden ver las que hay actualmente.

El comando iptables es fundamental y merece la pena estudiar sus posibilidades.

last

Este comando muestra los últimos usuarios conectados.

lastlog

Este muestra todos los usuarios y la última vez que se loguearon

lsof

list open files

Sirve para ver los ficheros que tienen abiertos los procesos.

$ lsof -nPi

Con -i muestra las conexiones de Internet, con -n -P se hace un poco más rápido al no tener que traducir nombres ni puertos.

lspci

Lista los dispositivos conectados a los puertos PCI. Informa del nombre y modelo de muchos de ellos, lo que puede ser útil para buscar drivers o encontrar problemas concretos de esos modelos.

lsusb

Igual que el lspci, pero muestra los usb

lshw

Muestra información muy detallada del hardware del sistema. Se puede usar -c para limitar la bśuqueda a determinados tipos de hardware. Por ejemplo, -c network

mount

Si sólo ponemos:

$ mount

Nos informa de las particiones que están montadas.

ncat i nmap

Tan útiles y complejos que merecen una pàgina para ellos

$ sudo nmap 192.168.1.1-255
$ arp

De esta manera tenemos una lista de todas las macs de la red.

netstat

Muestra conexiones de red, tablas de encaminamiento, estadísticas...

Es otra de las herramientas de diagnóstico imprescindibles. Aquí podemos ver algún ejemplo, pero sería conveniente profundizar mucho más.

$ netstat -anoc

Con -a se muestran todos los conectores, incluidos los que están a la escucha. -n muestra direcciones numéricas. -o información adicional sobre los temporizadores de red y -c lo hace continuo.

$ netstat -r 

Muestra las rutas, algo similar a route

$ netstat -nltupw

-u y -t sirve para ver los puertos udp y tcp , con -l muestra los que están escuchando. -p sirve para ver el programa.

$ netstat -s

Muestra estadísiticas.

$ netstat -i
$ netstat -ie

Muestra las interfaces.

ps

$ ps aux

Muestra los (a) los procesos de todos los usuarios, (u) mostrando el usuario y la hora de inicio y (x) también los que no están controlados por ninguna terminal

route

Con el comando route, se puede ver y modificar la tabla de enrutamiento del sistema. Si además, ponemos un 1 en /proc/sys/net/ipv4/ip_forward se puede redirigir el tráfico entrante y convertir el ordenador en un router.

Con:

$ route -n

Se puede averiguar cual es la tabla de rutas en este momento.

top

Este comando nos permite ver los procesos que están consumiendo más procesador o memoria. Hay una versión mejorada llamada htop

Si lo usamos como:

$ top -n 1 -b 

Se iterna una vez (-n 1) y con -b se consigue que el resultado no se adapte a la pantalla. De esta manera se pueden obtener todos los procesos.

uname

Si ponemos en la terminal:

$ uname -a 

Nos sale el tipo de sistema que es, la versión del kernel, el nombre de la distribución y si es de 32 o 64 bits. Esto último se puede conseguir sólo poniendo arch en la terminal.

w

Muestra información de qué están haciendo los usuarios que están conectados.

who

Muestra qué usuarios están conectados y desde cuando. con -a muestra todos.

Enlaces