Complexity is the enemy of Security, Really!

Geçtiğimiz hafta bugün lifeoverip.net sayfasını zorunlu olarak bir saatliğine bazı arkadaşlara kiralamak zorunda kaldık.  Vakit bulamadığım için detaylarını buraya aktaramadım, sağda solda duyan arkadaşlar da birinci ağızdan bilgi sahibi olsunlar diye yazıyorum.

Geçen hafta Ankara’daydım. Hem bir konferansta konuşmak hem de Anonymous saldırıları ile ilgili bazı toplantılar katılmaktı amacım. Perşembe günü BTYD’de konuşma yaparken birileri telefona “hocam sayfaya birileri mesaj bırakmış size ulaşmaya çalışıyoruz” diye bilgi notu gönderdi.

Gariptir ki konuşmada tam da hackerların motivasyonu, güvenlikcilerin yaptığı basit hatalardan bahsediyordum. Bunun üzerine böyle bir olayı yaşamak “terzi kendi döküğünü dikemez ata sözünü” akıllara getirmiş olabilir. Evet çok fazla sistem olunca, çok fazla sisteme çok fazla iş yapmanız gerektiğinde bu tip sıkıntılar olabiliyor.

Sıkıntının  sebebi(nam-ı diğer nasıl hacklendik?: Bundan 4-5 yıl kadar önce sistemlerine güvenlik desteği verdiğim bir firma vardı. Lifeoverip.net’in dNS’lerini de bu firmada tutuyordum, nasıl olsa ben bakıyorum, önlemleri daha iyi alırım düşüncesiyle.(Firma yetkililerinin bilgisi dahilinde:)  Sonra firma ile danışmanlık anlaşmamız bitti, ben de “tembellik” edip dnsleri o firmadan taşımadım..

Şimdi görüyorum ki üç yıldır pek güncellenmemiş firmanın sistemi:). Arkadaşlar DNS sunucuya sızıp oradan dns kayıtlarıyla oynayarak lifeoverip.net’i dns makinesine yönlendirip doğrudan mesajlarını sayfaya yazmışlar. 9-10 yıldır bu sektörün içindeyim, basit hatalarla çok sıkıntılar çekildiğini gördüm, raporladım ama işte insan kendi sistemi olunca tembellik yapabiliyor…

Hacklenmeyen, %100 güvenli sistem var mıdır?

Bu işin içinde olan, biraz teknik bilgisi olan kimse boyle bir idiada bulunamaz.

 

Konu hakkında çok konuşulup onlarca bahane üretilebilir, yapanlara lamer denilebilir, mahkemeye verilebilir vs vs. Bunlar bu konuyla ilgili sıradan kişilerin yapacağı işlerdir. Bir güvenlikci olarak lafı eğip bükmeden hatalı olduğunuzu kabul edeceksiniz ve yaşanılan olaydan ders çıkarıp ona göre sistemlerinizi daha güvenli hale getireceksiniz. Ben bu gibi durumlarda yapan kişilere yaptıkları şeyin illegal olduğunu hatırlatırım sadece, yoksa benim bir hatamı yakalayarak bunu uygun bir dille ifade edene teşekkür ederim.

 

 

Arkadaşlardan gelen olay detaylarını noktasına karışmadan buraya aktarıyorum…

Hedef sistem bir reseller sunucu üstelik bir güvenlik uzmanına ait tüm güvenlik ayarları yapılandırılmış bir sunucu olduğu için direk 1.şahıs sunucu endeksli çalışmanın zor olacağının farkındaydık.

Bu yüzden bir sayfayı indexlemenin birden fazla yolu olduğunu bilincinde olarak diğer yolları aramaya başladık. Domain firmasını hackleyerek dns hijacking yapılabilirdi fakat domain
firması güvenli olduğundan dolayı bu yol en son düşünülecek şeydi. Her ne kadar godaddy de olsa godaddy de ki xss açığımızı bir güvenlik uzmanının üzerinde kaynaktaki token i alıp xsrf ile birleştirmek oldukça zordu ve karşıdaki kişiyle birebir iletişime geçmeden ve sosyal mühendislik dahi kullanmadan bunu tamamen sunucu endexli
yapmanın daha güzel olacağını düşünerek vazgeçtik.

Ve sunucuyu analiz etmeye başladık. Sunucunun Türkiye’de ve dolayısıyla İstanbul’da isim yapmış bir firmaya ait olması
bizi korkutmadığı için denenebilecek yöntemler hakkında da en küçük ayrıntıyı basite almayıp deneme yoluna gidiyorduk.
Hedefteki sunucu reseller ip yi analiz ettikten sonra ns adresleri ns3.hedefsunucu.com ve ns4.hedefsunucu.com u gösteriyordu.
whois.domaintools.com dan resellerin ip yi detaylı inceledikten sonra komşu ip lerde ns leri aynı adrese yönlendirilmiş fakat ip dilimlemelerinin farklı olduğunu gördük. Bu dns servislerinin tanımlandığı bir sunucu bu serverlardan birinde olmalıydı. Eğer dns servisleri hedefimizdeki sunucu da dahi olsa
bu yola yine gitmeliydik çünki deneyeceğimiz yöntemlerin içinde yan sunuculardan birine girerek network sniffing yaparak ağdaki paketleri toplamak vardı. Eğer güvenlik uzmanımız buna karşı bir önlem almadıysa bağlantılı network lerden birine girerek paketlerin arasında en küçükte olsa bir detay yakalayabilirdik. Bu yüzden hedef sunucunun tüm
ip dns dilimlemelerine girdik ns1 n2 ns3 ns4 . . . Girdiğimiz ns3 ve ns4 e yönlendirilmiş sunuculardan bir tanesi
Linux 2.6.18-238.1.1.el5 #1 2008 i686 GNU/Linux özelliklerindeydi ve bu sunucunun x86 olanlarını 2011 e kadar tüm çekirdeklerini rootlamak
bizim için kolaydı ve bu sunucuya ait root exploitimizle root olduk.root olduktan sonra root şifresini değiştirmek pek mantıklı değildi.
Çünki WHM şifresi vs değişiyor farkedilmesi çok kısa sürebilirdi. useradd komutu da sunucuda kaldırılmıştı. Fakat useradd komutunu arayınca
sunucuda farklı bir yere gizlenmiş olduğunu bulduk ve buranın üzerinden çalıştırdık. Sunucuda dns sisteminin burada tanımlanmış olduğunu görünce
acele ederek direk dns config dosyasını editlemek gibi bir hataya düştük.

; cPanel first:11.24.5-STABLE_38506 latest:11.24.5-NIGHTLY_38436 Cpanel::ZoneFile::VERSION:1.2 mtime:1258914542 hostname:ns3.hedefsunucu.com

; Zone file for lifeoverip.net
$TTL 14400
lifeoverip.net. 86400 IN SOA ns3.hedefsunucu.com. yonetim.hedefsunucu.com.
(
2009112209 ;Serial Number
86400 ;refresh
7200 ;retry
3600000 ;expire
86400 ;minimum
)
lifeoverip.net. 86400 IN NS ns1.yonlendirilensunucu.net.
lifeoverip.net. 86400 IN NS ns1.yonlendirilensunucu.net.
lifeoverip.net. 1440 IN A 84.51.38.170
localhost 14400 IN A 127.0.0.1
lifeoverip.net. 14400 IN MX 0 lifeoverip.net.
mail 1400 IN CNAME lifeoverip.net.
www 1400 IN CNAME lifeoverip.net.
ftp 14400 IN CNAME lifeoverip.net.
lifeoverip.net. 14400 IN TXT “v=spf1 a mx ptr ~all”
ctf 14400 IN A 84.51.38.170
blog 1400 IN A 84.51.38.170
netsec 1400 IN A 178.18.197.18
bilgiguvenligi IN CNAME www.bga.com.tr.
bilisimguvenligi IN CNAME www.bga.com.tr.
siberguvenlik IN CNAME www.siberguvenlik.org.

Config dosyasında yapılan küçük bir yanlış tüm sunucuya mâl oldu ve hedefimizdeki sunucunun ayarları bozuldu ve açılmaz duruma geldi. Bu süre içerisinde configi eski haline getirmekte başarısız olunca bu olaydan vazgeçmek yerine üzerine gitmeyi tercih ettik ve root olduğumuz sunucumuzda yeni bir hosting açıp baştan dns dilimlendirmesi
yapmaya karar verdik ve bu şekilde hem hostu kendi üzerimize kaydırmış olacaktık hem de resellere ait tüm makinalar elimizde olacaktı diye düşündük.

Fakat ilk önce denememiz gereken başka bir şey vardı.
/var/named kısmından lifeoverip.net.db yi silip
/etc/named.conf kısmındanda lifeoverip.net ile ilgili kısmı sildikten sonra
WHM den lifeoverip.net e yeni bir host açmayı denemek mantıklı olabilirdi.
Bunu denedikten sonra yeni hostun açıldığını gördük ve açılmayan sunucuda
index of/ yazısını gördük 🙂
Bu da demek oluyor ki son mantıklı bulduğumuz şey olmuş ve lifeoverip.net e
yeni bir host açılmıştı.
Daha sonrasından geriye zaten herhangi bir host bilgisiyle ( cpanel , ftp vs vs )
bağlanıp index atmak kalıyordu. Bu kısmı mail ile yapmamızın daha doğru olacağını
düşünürken bir anda aramızdaki anlaşmazlık yüzünden kendimizi index atmışken bulduk.
İndexteki lafların ağır olduğunu belirterek üzgün olduğumuzu belirtiriz. Umarım Huzeyfe Önal bey gibi birinine, güvendiği firmalar konusunda Dünyanın en iyisi
dahi olması veya başka türlü güven verici tatmin edici özellikleri olması yanlışına kapılmadan güvenilen kişinin tamamen elinde olan sistemin kendisi olması gerektiği vurgusunu belirtebilmişizdir…

This entry was posted in Misc. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

4 × four =