Noirchapeau's Gitbook
Noirchapeau
Noirchapeau
  • Welcome to NoirChapeau Gitbook
  • Network Mapping and Security Auditing Tool
  • Footprinting - Enumeration and Information Gathering Notes
    • FTP Pentesting Notes
    • SMB Pentesting Notes
    • SSH Pentesting Notes
    • IPMI Pentesting Notes
    • Oracle TNS Pentesting Notes
    • MSSQL Pentesting Notes
    • MySQL Pentesting Notes
    • SNMP Pentesting Notes
    • IMAP/POP3 Pentesting Notes
    • SMTP Pentesting Notes
    • DNS Pentesting Notes
    • NFS Pentesting Notes
  • Web Reconnaissance Notes
  • Vulnerability Assessment Notes
    • Nessus Vulnerability Scanner Notes
    • OpenVAS (GVM) Vulnerability Scanner Notes
  • File Transfer Techniques for Pentesting
    • Advanced File Transfer Techniques
    • File Transfer Detection & Evasion Techniques
  • Shells & Payloads: Shell Overview
    • Shells & Payloads: Payloads Overview
    • Shells & Payloads: Web Shells Overview
    • Shells & Payloads: Detection & Prevention
  • Metasploit
    • Working with Metasploit Modules
    • Targets and Payloads
    • Encoders & Msfvenom: Advanced Exploitation Techniques
    • Database Management in Metasploit
    • Sessions and Jobs
    • Writing and Importing Custom Modules into Metasploit
    • Firewall and IDS/IPS Evasion
  • Password Attacks
    • Remote Password Attacks
    • Windows Local Password Attacks
    • Linux Local Password Attacks
    • Windows Lateral Movement
    • Files & Archives Cracking
    • Password Management
  • Interacting with Common Services
    • Protocol Specific Attacks
Powered by GitBook
On this page
  • Web Shells Overview
  • Laudanum Web Shell
  • Antak Webshell
  • PHP Web Shells
  • Considerations with Web Shells:
  1. Shells & Payloads: Shell Overview

Shells & Payloads: Web Shells Overview

Web Shells Overview

  • Web Apps as Targets:

    • Common attack vector in external pentests (file uploads, SQLi, RFI/LFI, etc.).

    • Password spraying and social engineering also key methods.

  • Web Shell Upload:

    • Web shells often uploaded via file upload forms, profile pic uploads, or misconfigurations (e.g., Tomcat, FTP).

  • What is a Web Shell?

    • Browser-based shell for interacting with the server OS.

    • Gained via file upload vulnerabilities.

    • Allows remote code execution (RCE), but can be unstable.

  • Persistence:

    • Web shells may be deleted over time; typically upgraded to a more stable reverse shell.

Laudanum Web Shell

  • What is Laudanum?

    • A collection of pre-made web shell files for multiple languages (PHP, JSP, ASP, etc.).

    • Allows reverse shell access and command execution via a browser.

    • Built into Parrot OS and Kali; other distros need manual installation.

  • Working with Laudanum:

    • Found in /usr/share/laudanum on Kali/Parrot.

    • Modify shell files (e.g., add attacker's IP) before use.

    • Ensure to read file comments for correct usage.

  • Using Laudanum:

    • Copy shell file (e.g., shell.aspx) to a new location:

      • cp /usr/share/laudanum/aspx/shell.aspx /home/tester/demo.aspx

    • Modify IP in the shell file to your attacker's IP.

    • Upload shell via the vulnerable web app (e.g., upload function on status page).

  • Accessing the Shell:

    • After upload, navigate to the shell path (e.g., status.inlanefreight.local/files/demo.aspx).

    • Once accessed, issue commands (e.g., systeminfo) to interact with the server.

Antak Webshell

  • ASPX Overview:

    • ASPX (Active Server Pages Extended): Used with ASP.NET on Windows servers to generate web forms and handle user data.

    • ASPX-based web shells allow remote control of Windows systems via the web server.

  • Antak Webshell:

    • Antak: An ASPX web shell part of the Nishang project, utilizing PowerShell for interacting with Windows servers.

    • Location: /usr/share/nishang/Antak-WebShell.

    • Powerful: Executes commands as new processes, runs scripts in memory, and encodes commands.

  • Working with Antak:

    • Copy shell to a working directory:

      • cp /usr/share/nishang/Antak-WebShell/antak.aspx /home/administrator/Upload.aspx

    • Modify the shell: Add credentials (user/pass) for security, remove ASCII art/comments to evade detection.

  • Using Antak:

    • Upload the modified shell to a web application.

    • Access via the browser and enter credentials to interact with the system.

    • Run PowerShell commands, upload/download files, and execute encoded scripts through the web shell.

    • Start with help to explore available commands.

PHP Web Shells

  • PHP Overview:

    • PHP: A widely used open-source scripting language, essential for dynamic web pages. Powers 78.6% of websites (W3Techs, 2021).

    • PHP processes server-side, making it possible to use pre-written payloads to exploit vulnerabilities and gain a shell or reverse shell access.

  • Practical Example (rConfig):

    • rConfig: A web app using PHP that allows device management. Can be targeted for web shell upload.

    • Target: Upload a PHP web shell via the "Add Vendor" page (uses .png, .jpg, .gif file restrictions).

  • Exploiting File Upload Restriction:

    • Burp Suite: Used to intercept and modify the request to bypass file type restrictions by changing the Content-Type header to image/gif for a .php file.

    • Process:

      • Configure browser to use Burp as a proxy.

      • Upload the PHP web shell via the "Browse" button.

      • Modify Content-Type from application/x-php to image/gif in Burp.

      • Forward the request and complete the upload.

  • Using the Web Shell:

    • Once uploaded, navigate to /images/vendor/connect.php on the rConfig server to trigger the PHP shell and gain command execution on the server.

    • Result: Non-interactive shell session in the browser, where commands can be executed on the OS.

Considerations with Web Shells:

  • Web apps may auto-delete files after a period.

  • Limited interactivity may hinder progress (e.g., chaining commands like whoami && hostname).

  • Web shells can be unstable and easily detectable.

  • In engagements, aim for stealth: delete payload after establishing a reverse shell to avoid detection.

  • Documentation: Track methods, payload names, upload locations, and hashes (e.g., SHA1, MD5) for reporting.

PreviousShells & Payloads: Payloads OverviewNextShells & Payloads: Detection & Prevention