# 🐛 Sentipede

A simple and elegant HTTP file server for exfiltration and infiltration operations. Sentipede provides an intuitive web interface to generate download/upload commands for various operating systems and tools.

## 🚀 Installation

### Recommended — via pipx

```bash
pipx install git+https://github.com/b3rt1ng/Sentipede.git
```

To upgrade later:
```bash
pipx upgrade sentipede
```

### From source

```bash
git clone https://github.com/b3rt1ng/Sentipede.git
cd Sentipede
pipx install .
```

## 💻 Usage

### Basic Usage

```bash
# Start server on default port (8000)
sentipede

# Specify custom port
sentipede -p 8080

# Specify custom directory
sentipede -d /path/to/directory

# Show version
sentipede --version
```

### Relaying

When doing a CTF or a pentest, it often happens that the target machine is not connected to internet.  
With Sentipede you can use it as a relay to curl through your device's connection!

```bash
http://192.168.1.134:8000/proxy/https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh
```

> **Warning:** the relay works using a RAM buffer. It downloads the content on RAM then relays it towards you. Fine for lightweight scripts like linpeas, not ideal for large binaries.

### Web Interface

Once started, open your browser and navigate to:
```
http://localhost:8000
```

### Exfiltration Mode (Download Files)

1. Select your network interface
2. Choose target OS (Linux/Windows)
3. Click on any file to see download commands
4. Copy and execute the command on the target system

### Infiltration Mode (Upload Files)

1. Switch to "IN" mode
2. Enter the target file path
3. Click "GENERATE" to get upload commands
4. Execute on the target system to send files to the server

### Coming soon
- Streaming proxy for large binaries
- Fast access to tools: win/linpeas, mimi/pypykatz, rubeus, funky ps1 scripts...