Algunas utilidades de netcat

  • por javier
  • 21 de Marzo de 2023

Netcat es un programa disponible en todas las plataformas, conocido como "the swiss army knife", por la versatilidad de uso que ofrece.

 
root@beta6:~# nc -h
[v1.10-41]
connect to somewhere: nc [-options] hostname port[s] [ports] ... 
listen for inbound: nc -l -p port [-options] [hostname] [port]
options:
-c shell commands as `-e'; use /bin/sh to exec [dangerous!!]
-e filename program to exec after connect [dangerous!!]
-b allow broadcasts
-g gateway source-routing hop point[s], up to 8
-G num source-routing pointer: 4, 8, 12, ...
-h this cruft
-i secs delay interval for lines sent, ports scanned
        -k                      set keepalive option on socket
-l listen mode, for inbound connects
-n numeric-only IP addresses, no DNS
-o file hex dump of traffic
-p port local port number
-r randomize local and remote ports
-q secs quit after EOF on stdin and delay of secs
-s addr local source address
-T tos set Type Of Service
-t answer TELNET negotiation
-u UDP mode
-v verbose [use twice to be more verbose]
-w secs timeout for connects and final net reads
-C Send CRLF as line-ending
-z zero-I/O mode [used for scanning]
port numbers can be individual or ranges: lo-hi [inclusive];
hyphens in port names must be backslash escaped (e.g. 'ftp\-data').
 
 
¿Como podemos usarlo?
 
1. Como cliente de telnet a cualquier puerto. 
Suele usarse para hacer fingerprint de servicios a menudo, o como cliente de telnet a secas, por ejemplo en el puerto 23 de tu router.
Ej.    
nc 192.168.1.1 23
 
2. Como servidor. 
2.1. Redireccionando la salida de un programa.
Ej. 
Linux/Unix
nc -l -p 23 -e /bin/bash
Windows
nc -l -p 23 -e cmd.exe
 
Con estos comandos, obtenemos una shell remota de otro sistema. Ojo, es insegura, ya que hereda los permisos del usuario en el que lo ejecutamos pero no pregunta por la password. Obviamente, la conexión será con un cliente telnet o con el mismo netcat en el apartado 1.
 

2.2. Redireccionando la salida de un programa mediante pipes | .

 
Ej.
Clonar un disco, una particion o un archivo en linux de nuestro equipo al servidor de netcat
 
Disco:
 
Servidor:
nc -l -p 1024 -q 3 | dd of=/dev/sda
Cliente:
dd if=/dev/sda | nc 192.168.1.101 1024
 
Archivo (upload) a server:
 
Servidor:
nc -l -p 1024 | dd of=archivo.ext
 
Cliente:
dd if=archivo.ext | nc 192.168.1.101 1024
 
Archivo (download) a client:
 
Server:
dd if=archivo.ext|nc -l -p 1024
 
Client:
nc 192.168.1.101 1024| dd of=archivo.ext
 
El dd también se puede cambiar por el comando cat o zcat y redirecciones, lógicamente.
 
Esto se puede complicar mas, si queremos comprimir el archivo mientras lo enviamos.
 
Ej. 
 
Servidor:
nc -l -p 1024 | gunzip -c | dd of=archivo.ext
 
Cliente:
dd if=archivo.ext | gzip -c | nc 192.168.1.101 1024
 
2.3. Si queremos testear el cortafuegos de una máquina, podemos también usar netcat. Ponemos en dicha máquina el netcat como servidor:
 
nc -l -p 1024 
 
y lanzamos en el cliente nmap :
 
nmap -sS -p1024 192.168.1.101
 
De esa forma vemos si está abierto el puerto.
 
2.4. Y que tal un chat por UDP (sin cifrado ni pass, en texto claro) ?
 
Ej.
Server :
nc -u -l -p 1024
 
Client:
nc -u 192.168.1.101 1024
 
Ahora todo lo que tecleemos en consola, aparece en el otro pc y viceversa.
Si lo queremos cifrado, tendremos que usar una versión de netcat con cifrado, por ejemplo socat, que admite cifrado y muchas más opciones que netcat; eso sí, es mas complejo.
 
Estos son usos útiles de netcat que suelo emplear con mis máquinas y me sacaron de más de un atolladero. Sé que hay muchos más usos, pero estos son los que considero mejores.
blog comments powered by Disqus

Detecta dispositivos USB no autorizados en Linux (Extensible Python Snippet)

  • por javier
  • 21 de Marzo de 2023

La proliferación de dispositivos USB maliciosos, para hacerse con el control de nuestra máquina están a la orden del día.

Los hay muy variados y de diferente funcionalidad, y permiten un amplio rango de posibilidades a la hora de hackear nuestra máquina.

Contra esto, hay varias soluciones, como USBGuard, que no funciona bien en distros estables por problema de dependencias.

También hay otras soluciones como USB Canary que permite twittear y enviar sms con Twilio para avisarnos de dichos ataques.

No obstante, me he permitido el lujo de crear un snippet algo más abierto y sencillo para que modifiqueis a vuestro antojo y en base a vuestras necesidades.

Se me ocurre integrarlo con OSSEC, por ejemplo, con una regla e incorporarlo vuestro sistema de alertas..

Bloquea listas de ips con iblockator en linux

  • por javier
  • 21 de Marzo de 2023

Si queremos, por seguridad, bloquear listas de ips en linux, podemos hacerlo con iptables.
Si las listas son pequeñas, no pasará nada, el bloqueo se realizará de forma normal, pero cuando hablamos de listas grandes, necesitaremos algo como ipset, que es un complemento para iptables que nos facilita y optimiza el trabajo.
Los archivos ipset tienen un formato específico y ahí se complica algo el tema. Además tenemos que generar las reglas.
IBlockator nos automatiza dicho trabajo. Permite descargar las listas, bloquear los rangos de ips de dichas listas sin consumir muchos recursos y genera un archivo shell script que automatiza el trabajo. IBlockator puede aplicar los cambios por nosotros en iptables.

Fast Wipe 2.0 Improved, English Tutorial

  • por javier
  • 22 de Marzo de 2023
None

        _____         _    __        ___
        |  ___|_ _ ___| |_  \ \      / (_)_ __   ___
        | |_ / _  / __| __|  \ \ /\ / /| | '_ \ / _ \
        |  _| (_| \__ \ |_    \ V  V / | | |_) |  __/
        |_|  \__,_|___/\__|    \_/\_/  |_| .__/ \___|
        ---------------------------------|_|----------WIPE-v2.0
         File & Directory Destroyer

Fast Wipe is an utility that works from command line (cmd).
Before continue, you need to know basic cmd usage
(cd, dir, del, directories or folders, files, wildcards...)
If you are not familiarized with that, this program is not for you.
-OR- you should learn the basics of cmd usage.

First of all, this program needs administrative rights (root or Administrator)
to work successfully in most cases.

Update cookies preferences