MACROMEDIA COLDFUSION 5 - CFML Instrukcja Użytkownika

Przeglądaj online lub pobierz Instrukcja Użytkownika dla Książki MACROMEDIA COLDFUSION 5 - CFML. ColdFusion for Penetration Testers [en] Instrukcja obsługi

  • Pobierz
  • Dodaj do moich podręczników
  • Drukuj

Podsumowanie treści

Strona 1 - ColdFusion for Pentesters

ColdFusion for Pentesters Chris Gates Carnal0wnage Lares Consulting

Strona 2 - • Chris Gates (CG)

• inurl:/index.cfm Finding Sites Running ColdFusion

Strona 3 - • Defense?

• CFM Shells • Sky’s the limit! • Pretty much anything you can code in Java, CF will run for you • ColdFusion 9 and above support cfscript == javascri

Strona 4 - Why This Talk?

• http://www.petefreitag.com/ lots of defense/CF hardening info • http://www.bennadel.com/blog/ • http://www.raymondcamden.com/ http://12robots.com/

Strona 5 - What Is ColdFusion?

Questions? @carnal0wnage cgates [] laresconsulting[] com Chris Gates

Strona 6 - Who Uses ColdFusion?

• Who doesn’t love Google Dorks… • filetype:cfm "cfapplication name" password • inurl:login.cfm • intitle:"Error Occurred" "

Strona 7

• inurl:/CFIDE/componentutils/ Finding Sites Running ColdFusion

Strona 8

• inurl:/CFIDE/componentutils/ (Find misconfigured servers) Finding Sites Running ColdFusion

Strona 9

• http://www.gotcfm.com/thelist.cfm Finding Sites Running ColdFusion

Strona 10 - • inurl:/index.cfm

• Delicious  Finding Sites Running ColdFusion

Strona 11 - • inurl:login.cfm

• ColdFusion 5 ColdFusion Hit list

Strona 12

• ColdFusion 6 ColdFusion Hit list

Strona 13

• ColdFusion 7 ColdFusion Hit list

Strona 14

• ColdFusion 8 ColdFusion Hit list

Strona 15 - • Delicious 

• Chris Gates (CG) – Twitter carnal0wnage – Blog carnal0wnage.attackresearch.com – Job Partner/Principal Security Consultant at Lares – Affiliation

Strona 16 - ColdFusion Hit list

• ColdFusion 9 ColdFusion Hit list

Strona 17

• ColdFusion 10 ColdFusion Hit list

Strona 18

• Metasploit Module to find ColdFusion URLs ColdFusion Scanner

Strona 19

• Metasploit Module to find ColdFusion URLs ColdFusion Scanner

Strona 20

• http://www.cvedetails.com/version-list/53/8739/1/Adobe-Coldfusion.html Attacking ColdFusion

Strona 21

• Common Vulnerabilities – Information Disclosure – XSS – SQL Injection – Admin Interfaces Exposed (more later) Attacking ColdFusion

Strona 22 - ColdFusion Scanner

• Information Disclosure • Need to determine standard vs Enterprise ColdFusion? * • Just request a .jsp page – Standard versions don’t do JSP and will

Strona 23

• Enterprise Attacking ColdFusion

Strona 24 - Attacking ColdFusion

• Standard Attacking ColdFusion

Strona 25 - • Common Vulnerabilities

• Information Disclosure Attacking ColdFusion

Strona 26 - • Information Disclosure

• What is ColdFusion • Who uses ColdFusion • Finding sites running ColdFusion • Attacking ColdFusion – Common vulnerabilities – Insta-Shell – Gotta wo

Strona 27 - • Enterprise

Attacking ColdFusion

Strona 28 - • Standard

Attacking ColdFusion

Strona 29

Attacking ColdFusion

Strona 30

Attacking ColdFusion

Strona 31

• XSS • Generally XSS is boring, but wait until we talk about cookies…. • ColdFusion has scriptProtect helps strip out <script> tags • The black

Strona 32

• XSS Attacking ColdFusion

Strona 33

• XSS Attacking ColdFusion

Strona 34 - <script> tags

• SQL Injection • If you see =somenumber go after it <cfquery name="getContent" dataSource="myDataSource"> select title fro

Strona 35

• SQL Injection • http://site.com/links/apply.cfm?id=(@@version) Attacking ColdFusion

Strona 36

• Insta-Shell • BlazeDS/AMF External XML Entity Injection (CVE-2009-3960) • File Upload Vulnerability in CF8 FCKeditor (APSB09-09) • ‘locale’ Path Tra

Strona 37 - </cfquery>

• Kept running into ColdFusion on pentests • Last “pentester” talk on ColdFusion was 2006 at EUSec – http://eusecwest.com/esw06/esw06-davis.pdf • Chr

Strona 38

• Patching – ColdFusion requires manual patching, unzip in folder, overwrite a jar, etc – Admin interface doesn’t alert you to available patches – I’

Strona 39 - • Insta-Shell

• Pro Tip • Determining version is helpful for insta-shell exploits • Metasploit module can tell you by admin interface, or you can just look at CFIDE

Strona 40 - • Patching

• Or you can check the wsdl  • /CFIDE/adminapi/base.cfc?wsdl – Checked on 7-9 Attacking ColdFusion

Strona 41 - • Pro Tip

Attacking ColdFusion

Strona 43

• BlazeDS/AMF External XML Entity Injection – Advisory pdf: http://www.security-assessment.com/files/advisories/2010-02-22_Multiple_Adobe_Products-XM

Strona 44

• BlazeDS/AMF External XML Entity Injection • http://www.security-assessment.com/files/advisories/2010-02-22_Multiple_Adobe_Products-XML_Extern

Strona 45

Attacking ColdFusion • BlazeDS/AMF External XML Entity Injection

Strona 46

Attacking ColdFusion • FCKeditor (apsb09-09) • ColdFusion 8.01 enabled the ColdFusion FCKeditor connector && FCKeditor vulns == unauth fileupl

Strona 47

Attacking ColdFusion • (related) FCKeditor (CVE 2009-2265) input sanitization issues • FCKeditor prior to 2.6.4.1 • Can also check version with a GET

Strona 48

• CFML = ColdFusion Markup Language • ColdFusion = Adobe’s product that handles CFML page/libs – Runs on Windows, Solaris, HP/UX and Linux – Apache,

Strona 49

Attacking ColdFusion • “Locale” Directory Traversal • Full walkthru here: • http://www.gnucitizen.org/blog/coldfusion-directory-traversal-

Strona 50

Attacking ColdFusion • http://www.gnucitizen.org/blog/coldfusion-directory-traversal-faq-cve-2010-2861/ • TL;DR – You can pass the hash • Mod

Strona 51

Attacking ColdFusion • “Locale” Directory Traversal • Vulnerable Versions: • ColdFusion MX6 6.1 base patches ColdFusion MX7 7,0,0,91690 base patches

Strona 52

Attacking ColdFusion • “Locale” Directory Traversal • ColdFusion 7 is always vuln, no patch

Strona 53

Attacking ColdFusion • Yeah, CF 8 too (has patch)

Strona 54

Attacking ColdFusion • Problem with traversal exploit, is you need to know full path. • Manageable on Windows… • Can be anywhere on *nix – Cue path di

Strona 55

Attacking ColdFusion • Componentutils (Component cfcexplorer) • Documentation for functions, includes full paths 

Strona 56

• Gotta work for it… • Brute Force RDS Access (If Enabled) – Check if RDS is enabled  – Brute force RDS • Brute Force Admin Interfaces – Main login p

Strona 57 - • Gotta work for it…

• RDS = Remote Development Services • “In ColdFusion Studio/Builder/Eclipse, you can connect to and work with the files on any server that has ColdFus

Strona 58

• RDS Attacking ColdFusion

Strona 59

http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/products/coldfusion/pdfs/cf-evangelist-kit.pdf Who Uses ColdFusion?

Strona 60

• RDS Attacking ColdFusion

Strona 61

• RDS Attacking ColdFusion

Strona 62 - • Admin Interfaces

• Admin Interfaces • Prior to CF8 only password auth, CF 8 introduces usernames • Easy to tell if just “admin” or other usernames Attacking ColdFusion

Strona 63

Attacking ColdFusion

Strona 64

Attacking ColdFusion

Strona 65

• Admin Interfaces • /CFIDE/administrator/index.cfm salts the password Attacking ColdFusion

Strona 66

• Lots of other pages don’t  • Ex. /CFIDE/componentutils/login.cfm Attacking ColdFusion

Strona 67

• Get the password right, CF sets a cookie Attacking ColdFusion

Strona 68 - • Metasploit Module

• Metasploit Module • Can do this easily in Burp Suite as well Attacking ColdFusion

Strona 70 - • Other Stuff

http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/products/coldfusion/pdfs/cf-evangelist-kit.pdf Who Uses ColdFusion?

Strona 71

• Other Stuff • Solr • Interacting with CFC’s • Cookies Attacking ColdFusion

Strona 72

• Solr APSB10-04 (Information Disclosure) – “Vulnerability in Solr could allow access to collections created by the Solr Service to be accessed from

Strona 73 - • Interacting with CFC’s

• Solr APSB10-04 (Information Disclosure) Attacking ColdFusion

Strona 74

• Interacting with CFC’s http://example.com/foo.cfc?method=mymethod&arga=val1&argb=val2 • This URL will invoke method mymethod on an anonymous

Strona 75 - • Base64Decodes to:

• Cookies • Normally that XSS pop up with the session cookie is pretty lame. • “Supposed” to have a limited lifespan. • BUT cfadmin cookie and cfutils

Strona 76

• Example Admin Cookie: CFAUTHORIZATION_cfadmin=YWRtaW4NRTM4QUQyMTQ5NDNEQUFEMUQ2NEMxMDJGQUVDMjlERTRBRkU5REEzRA1jZmFkbWlu • Base64Decodes to: – admin –

Strona 78 - • OMGWTFBBQ!!!

• To Recap… • Got the cfadmin cookie • No randomness at all in the cookie • SSL not enabled by default on admin interface • Cookie base64 decodes to t

Strona 79 - • But real world?

• CFAUTHORIZATION_componentutils=cGFzc3dvcmQxDXBhc3N3b3JkMQ1jb21wb25lbnR1dGlscw== • Base64Decodes to: – password1 – password1 – componentutils • OMGW

Strona 80

• But real world? Attacking ColdFusion

Strona 81

Who Uses ColdFusion? http://www.bricecheddarn.com/blog/post.cfm/universities-love-using-coldfusion

Strona 82

• But real world? Attacking ColdFusion

Strona 83

• From 2009 to 2012… Attacking ColdFusion

Strona 84 - Post Exploitation

• ColdFusion Privilege Level • Scheduling tasks • Executing code • Decrypting database credentials • CFM Shells Post Exploitation

Strona 85

• ColdFusion (by default) runs as SYSTEM on Windows and NOBODY ON *nix • Obviously, CF on Windows is what you want • Sites that run other languages t

Strona 86

• Scheduling Tasks • Once you have access to admin interface you can schedule a task to download code/executables/ bat files/etc Post Exploitation

Strona 87

Post Exploitation

Strona 88

• Executing code • Once you have code/exe on box you can create a system probe (that we want to fail) to make the code execute • Or if you put cfm/jsp

Strona 89

Post Exploitation

Strona 90

Post Exploitation

Strona 92

http://www.getmura.com/index.cfm/overview/who-uses-mura/ Who Uses ColdFusion [MURA CMS]?

Strona 93 - • View Source, get value

• Decrypting database credentials • http://hexale.blogspot.com/2008/07/how-to-decrypt-coldfusion-datasource.html Post Exploitation

Strona 94

• Go to DataSource Selection Post Exploitation

Strona 95

• Click on DataSource (ex TEST) Post Exploitation

Strona 96 - • CFM Shells

• View Source, get value Post Exploitation

Strona 97

• Decrypt it $ python coldfusiondecrypt.py maJsuHYMay8zpmptC2yibA== Coldfusion v7 y v8 DataSource password decryptor (c) 2008 Hernan Ochoa (hernan@gm

Strona 98

• If you have file system access, just grab the XML files • Coldfusion 7: \lib\neo-query.xml for example: c:\CFusionMX7\lib\neo-query.xml • Coldfusi

Strona 99

• CFM Shells • ColdFusion has several handy CFML tags: – CFEXECUTE – CFREGISTRY – CFFILE – CFHTTP Simple CFM Shell: <html> <body> <cfe

Strona 100

• CFM Shells • Its common to disable CFEXECUTE* • CF also runs java so: <cfset runtime = createObject("java", "java.lang.System"

Strona 102 - Questions?

• CFM Shells • Remember Enterprise vs Standard? – Enterprise runs jsp, so some jsp shells will work too (depends on the shell’s java version requireme

Komentarze do niniejszej Instrukcji

Brak uwag