Top Banner
BINARY HACKING HAKKINDA HERŞEY Onur ALANBEL
56

Binary Hacking Hakkında Herşey

Apr 11, 2017

Download

Internet

Onur Alanbel
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Binary Hacking Hakkında Herşey

BINARY HACKING HAKKINDA HERŞEY

Onur ALANBEL

Page 2: Binary Hacking Hakkında Herşey

$ id -un

➤ Bilgisayar Mühendisi (İYTE)

➤ Geliştirici @TaintAll (taintall.com)

➤ Uygulama Güvenliği Araştırmacısı

➤ Blog: onuralanbel.pro

➤ Twitter: @onuralanbel

➤ https://packetstormsecurity.com/search/?q=onur+alanbel

Page 3: Binary Hacking Hakkında Herşey

BINARY

➤ İkili formatta saklanmış dosya.

Page 4: Binary Hacking Hakkında Herşey

BINARY

➤ İkili formatta saklanmış dosya.

➤ Sunumda daha çok PE, ELF, Mach-O gibi çalıştırılabilir dosya formatları kastedilmiştir.

Page 5: Binary Hacking Hakkında Herşey

BINARY

➤ İkili formatta saklanmış dosya.

➤ Sunumda daha çok PE, ELF, Mach-O gibi çalıştırılabilir dosya formatları kastedilmiştir.

➤ Herhangi bir ara dilin byte-koduna derlenmiş dosyalar da kısmen dahil olabilir.

Page 6: Binary Hacking Hakkında Herşey

YOL HARİTASI

➤ Yazılım Lisanları ve Cracking

Page 7: Binary Hacking Hakkında Herşey

YOL HARİTASI

➤ Yazılım Lisanları ve Cracking

➤ Binary Dosya Arkakapıları

Page 8: Binary Hacking Hakkında Herşey

YOL HARİTASI

➤ Yazılım Lisanları ve Cracking

➤ Binary Dosya Arkakapıları

➤ Native Uygulama Zafiyetleri

Page 9: Binary Hacking Hakkında Herşey

YOL HARİTASI

➤ Yazılım Lisanları ve Cracking

➤ Binary Dosya Arkakapıları

➤ Native Uygulama Zafiyetleri

➤ “Reversing” ile “Hack”

Page 10: Binary Hacking Hakkında Herşey

YOL HARİTASI

➤ Yazılım Lisanları ve Cracking

➤ Binary Dosya Arkakapıları

➤ Native Uygulama Zafiyetleri

➤ “Reversing” ile “Hack”

➤ Savunma için “Binary Hacking”

Page 11: Binary Hacking Hakkında Herşey

➤ Crack nasıl yapılır?

➤ Ne kadar zor?

➤ Ne zaman mümkün?

➤ Kaçınmak için ne yapılabilir?

➤ Önlemek için ne yapılabilir?

Page 12: Binary Hacking Hakkında Herşey

DISASSEMBLER & DEBUGGER

➤ IDA Pro

➤ radare2

➤ Çok sayıda yardımcı araç

Page 13: Binary Hacking Hakkında Herşey
Page 14: Binary Hacking Hakkında Herşey
Page 15: Binary Hacking Hakkında Herşey

SEÇENEKLER

➤ Binary Patching

➤ Serial Phishing

➤ Key generator

➤ Emulator (?)

Page 16: Binary Hacking Hakkında Herşey

DRM

➤ Anti-reverse engineering (?)

➤ USB Dongle

➤ Cloud

➤ Kodun bir bölümünü erişilemez bir işlemcide çalıştırmak.

Page 17: Binary Hacking Hakkında Herşey
Page 18: Binary Hacking Hakkında Herşey

ÇALIŞTIRILABİLİR DOSYA ARKA KAPILARI

➤ Binders

Page 19: Binary Hacking Hakkında Herşey

ÇALIŞTIRILABİLİR DOSYA ARKA KAPILARI

➤ Binders

➤ New Section and EP redirect

Page 20: Binary Hacking Hakkında Herşey

ÇALIŞTIRILABİLİR DOSYA ARKA KAPILARI

➤ Binders

➤ New Section and EP redirect

➤ Cave Injection

Page 21: Binary Hacking Hakkında Herşey

ÇALIŞTIRILABİLİR DOSYA ARKA KAPILARI

➤ Binders

➤ New Section and EP redirect

➤ Cave Injection

➤ Function/Call Hooking

Page 22: Binary Hacking Hakkında Herşey

➤ Yeni section ekle veya cave’leri bul

➤ EP’de kod akışını yönlendir veya IAT’da kod akışını yönlendir.

Page 23: Binary Hacking Hakkında Herşey
Page 24: Binary Hacking Hakkında Herşey

NATIVE UYGULAMA

➤ Yorumlayıcı

Page 25: Binary Hacking Hakkında Herşey

NATIVE UYGULAMA

➤ Yorumlayıcı

➤ Sanal Makine

Page 26: Binary Hacking Hakkında Herşey

NATIVE UYGULAMA

➤ Yorumlayıcı

➤ Sanal Makine

➤ JIT Derleyici

Page 27: Binary Hacking Hakkında Herşey

NATIVE UYGULAMA

➤ Yorumlayıcı

➤ Sanal Makine

➤ JIT Derleyici

➤ Doğrudan CPU üzerinde çalışır

Page 28: Binary Hacking Hakkında Herşey

NATIVE UYGULAMA ZAFİYETLERİ➤ Buffer Overrun

➤ Buffer Overflow

➤ Stack overflow

➤ Heap overflow

➤ Memory Corruption

➤ Unbound Memory Read / Write

➤ Arbitrary Memory Read / Write

➤ Type Confusion

➤ Race Condition

➤ Logic Bugs

➤ ….

Page 29: Binary Hacking Hakkında Herşey

NATIVE UYGULAMA ZAFİYETLERİ➤ Buffer Overrun

➤ Buffer Overflow

➤ Stack overflow

➤ Heap overflow

➤ Memory Corruption

➤ Unbound Memory Read / Write

➤ Arbitrary Memory Read / Write

➤ Type Confusion

➤ Race Condition

➤ Logic Bugs

➤ ….

Page 30: Binary Hacking Hakkında Herşey

EN TEMEL PROBLEM

➤ Girdinin kod olarak yorumlanabilmesi

Page 31: Binary Hacking Hakkında Herşey

EN TEMEL PROBLEM

➤ Girdinin kod olarak yorumlanabilmesi

boş

boş

boş

boş

programın çalışmaya devam edeceği adres

Page 32: Binary Hacking Hakkında Herşey

EN TEMEL PROBLEM

➤ Girdinin kod olarak yorumlanabilmesi

➤ Kullanıcıdan 4 adet girdi al A

B

C

D

programın çalışmaya devam edeceği adres

Page 33: Binary Hacking Hakkında Herşey

EN TEMEL PROBLEM

➤ Girdinin kod olarak yorumlanabilmesi

➤ Kullanıcıdan 4 adet girdi al

➤ Ya kullanıcı 5 adet girdi sağlarsa?

Page 34: Binary Hacking Hakkında Herşey

EN TEMEL PROBLEM

➤ Girdinin kod olarak yorumlanabilmesi

➤ Kullanıcıdan 4 adet girdi al

➤ Ya kullanıcı 5 adet girdi sağlarsa?

A

B

C

D

E

Page 35: Binary Hacking Hakkında Herşey
Page 36: Binary Hacking Hakkında Herşey

RACE CONDITION

➤ Ön koşulu multithreading veya multiprocessing

Page 37: Binary Hacking Hakkında Herşey

RACE CONDITION

➤ Ön koşulu multithreading veya multiprocessing

➤ Senkronizasyon mekanizmalarının kullanımından veya tasarımından kaynaklı erişim düzensizlikleri

Page 38: Binary Hacking Hakkında Herşey

RACE CONDITION

➤ Ön koşulu multithreading veya multiprocessing

➤ Senkronizasyon mekanizmalarının kullanımından veya tasarımından kaynaklı erişim düzensizlikleri

➤ Bir nevi el çabukluğu

Page 39: Binary Hacking Hakkında Herşey

REVERSING İLE HACK

Page 40: Binary Hacking Hakkında Herşey

REVERSING İLE HACK

Page 41: Binary Hacking Hakkında Herşey

REVERSING İLE HACK

Page 42: Binary Hacking Hakkında Herşey

REVERSING İLE HACK

Page 43: Binary Hacking Hakkında Herşey

REVERSING İLE HACK

Page 44: Binary Hacking Hakkında Herşey

REVERSING İLE HACK

Page 45: Binary Hacking Hakkında Herşey

REVERSING İLE HACK

➤ Bellekten (veya dökümünden) okuma

Page 46: Binary Hacking Hakkında Herşey

REVERSING İLE HACK

➤ Bellekten (veya dökümünden) okuma

➤ Bellek üzerinde yamama

Page 47: Binary Hacking Hakkında Herşey

REVERSING İLE HACK

➤ Bellekten (veya dökümünden) okuma

➤ Bellek üzerinde yamama

➤ DLL enjeksiyonu

Page 48: Binary Hacking Hakkında Herşey

REVERSING İLE HACK

➤ Bellekten (veya dökümünden) okuma

➤ Bellek üzerinde yamama

➤ DLL enjeksiyonu

➤ Başka bir süreci taklit etme, replay saldırısı

Page 49: Binary Hacking Hakkında Herşey
Page 50: Binary Hacking Hakkında Herşey

SAVUNMA İÇİN BINARY HACKING

➤ Anti-APT cihazları / sandboxlar

Page 51: Binary Hacking Hakkında Herşey

SAVUNMA İÇİN BINARY HACKING

➤ Anti-APT cihazları / sandboxlar

➤ Sistem güvenliği araçları (antivirüs, anti-exploit, anti-ransomware)

Page 52: Binary Hacking Hakkında Herşey

SAVUNMA İÇİN BINARY HACKING

➤ Anti-APT cihazları / sandboxlar

➤ Sistem güvenliği araçları (antivirüs, anti-exploit, anti-ransomware)

➤ Zararlı analizi araçları bkz: sysinternals

Page 53: Binary Hacking Hakkında Herşey

SAVUNMA İÇİN BINARY HACKING

➤ Anti-APT cihazları / sandboxlar

➤ Sistem güvenliği araçları (antivirüs, anti-exploit, anti-ransomware)

➤ Zararlı analizi araçları bkz: sysinternals

➤ Botnetler üzerinde zafiyet avı

Page 54: Binary Hacking Hakkında Herşey

SAVUNMA İÇİN BINARY HACKING

➤ Anti-APT cihazları / sandboxlar

➤ Sistem güvenliği araçları (antivirüs, anti-exploit, anti-ransomware)

➤ Zararlı analizi araçları bkz: sysinternals

➤ Botnetler üzerinde zafiyet avı

➤ Gerçekçi değil mi?

➤ Worm’un kullandığı zafiyeti kopyala

➤ Worm’un IP oluşturma algoritmasını kopyala

➤ Zararlı bulaştırmak yerine zafiyeti yama

Page 55: Binary Hacking Hakkında Herşey

SAVUNMA İÇİN BINARY HACKING

➤ Anti-APT cihazları / sandboxlar

➤ Sistem güvenliği araçları (antivirüs, anti-exploit, anti-ransomware)

➤ Zararlı analizi araçları bkz: sysinternals

➤ Botnetler üzerinde zafiyet avı

➤ Gerçekçi değil mi?

➤ Worm’un kullandığı zafiyeti kopyala

➤ Worm’un IP oluşturma algoritmasını kopyala

➤ Zararlı bulaştırmak yerine zafiyeti yama

➤ Sizin önerileriniz?

Page 56: Binary Hacking Hakkında Herşey