The VX-Files
The VX-Files
  • README.txt
  • For updates, questions, suggestions or just chatting: @malcrvz
  • Download your own local copy or check my other libre projects: Github/malcrvz
  • πŸ“•Cybersecurity Theory
    • Index
      • Malware types
        • Viruses, worms and Trojans
        • Backdoors, Rootkits and Spyware
        • Botnets, DDoS and Spammer
        • Ransomware
        • Scareware and Adware/PUP/PUA
        • Downloaders and Launchers
        • Hacktool
        • APT - Advanced Persistent Threat
      • Social engineering techniques
        • Phishing
        • Pretexting
        • Baiting
        • Quid pro quo
        • Tailgating
      • Cryptography
        • Hash functions
        • Symmetric, Asymmetric and Hybrid cryptography
        • Digital signatures & Digital certificates
        • TLS Protocol
      • Pentesting methodology & Techniques
        • CIA Triad - Confidentiality, Integrity & Availability
        • The methodology steps
        • Pre-Engagement
        • Information Gathering
          • HTTP status codes
          • robots.txt
        • Vulnerability Assessment
        • Exploitation
          • Password cracking
        • Post-Exploitation & Persistence
          • Types of Shells
        • Privilege Escalation & Lateral Movement
        • Reporting & Remediation
  • 🐧Linux Essentials
    • Index
      • 1, 0, bits, Bytes: Units of digital information
      • User management
      • Packet management
      • Privileges & sudo
      • Passwd & Shadow files
      • Managing files, links and regex
      • find
      • Terminal/TTY
      • SSH
  • πŸͺŸWindows Essentials
    • Index
      • CLI user management
      • CMD File management
  • 🌍Networking Essentials
    • Index
      • Windows CLI IP management
      • Linux IP management
      • Linux CLI Wi-Fi connection
  • πŸ•ΈοΈNetwork Pentesting
    • Tools
      • 1. Pre-Engagement
        • OpenVPN
      • 2. Information gathering
        • cURL & wget
        • Nmap
        • arp
        • Netcat
        • whatweb
      • 3. Vulnerability assessment
        • smbclient
      • 4. Exploitation
        • Metasploit
        • Hashcat
        • John the Ripper
      • 5. Post-Exploitation & Persistence
        • SSH
      • 6. Privilege escalation & Lateral movement
        • Possible privilege escalation vectors - Auto-enumeration scripts
      • 7. Reporting & Remediation
    • Techniques
      • Upgrade reverse shell to interactive
      • Transferring files to/from remote victim
      • Possible privilege escalation vectors - Manual checklist
    • Resources
      • Manufacturer default passwords lists
        • IP Cameras
      • Get Shells
  • πŸ’‰Web App pentesting
    • Tools
      • CeWL
      • Gobuster
      • whatweb
    • Techniques
      • Command injection
    • Resources
      • Reverse Shells
      • Bind Shells
  • πŸ“‘Wireless pentesting
    • Tools
    • Techniques
    • Resources
  • πŸ”“On-Premises Pentesting
    • Tools
    • Techniques
      • Removing Linux user passwords
      • Removing Windows user passwords
    • Resources
  • πŸ’½Disks & Forensics
    • Index
      • Getting a disk ready
      • Inodes & Sectors
      • Recover deleted files
      • BUILDING - Secure file deletion
  • πŸ•·οΈBash scripts
    • coming soon
  • ⚑PowerShell Scripts
    • coming soon
  • 🟩HTB Walkthroughs
    • coming soon
  • πŸ΄β€β˜ οΈExternal Resources
    • Schools
    • Books & Wikis
    • Utilities
    • Interactive cheat sheets
    • Wordlists
Powered by GitBook
On this page
  1. Cybersecurity Theory
  2. Index
  3. Pentesting methodology & Techniques
  4. Post-Exploitation & Persistence

Types of Shells

Last updated 1 year ago

Getting a shell is basically tricking a victim system into executing a line of code that will create a "hopefully" hidden shell connection with the attacker. Once we compromise a system or exploit a vulnerability to execute commands remotely, we should look for a method to keep communication with the system open, to create persistence, so we don't have to perform the exploit for each command. We could use SSH or WinRM for this, but if we don't have the credentials its common to use a shell to maintain, improve or escalate privileges in the connection:

  • Reverse Shell: connects back to our system and gives us control through a reverse connection. We make the victim connect to us. Sneakier, helps evading detection, but fragile because if the connection drops we have to execute exploit again.

  • Bind Shell: once inside the victim we open a port and bind the victim's shell to it, then it waits for us to connect to it and grants control once we connect. Harder to establish but once open, we can drop and start connections as we please while the host is up and listening, we leave a door open.

  • Web Shell: attacker places the shell script in the webroot, executes it via HTTP request in our browser or curl and it gives control to the web server remotely. Easy to ignore firewall since goes through the same port as HTTP.

Shell script generators and cheat sheets .

Web Shell script generators and cheat shells .

πŸ“•
link
link