Showing posts with label password. Show all posts
Showing posts with label password. Show all posts

Sunday, September 14, 2014

İstismar Sonrası Linux Komutları

Geçtiğimiz sene yaklaşık 20 üniversitede “Siber Güvenlik ve Hacking” konulu çeşitli seminerler verdim. Uygulamalı olarak ele aldığım bölümde ise aşağıdaki basit networkü oluşturup port taraması ve zafiyet tespiti aşamalarından sonra hedef sistemi ele geçiriyorum.
Seminerin süresinin kısıtlı olması nedeniyle bundan sonraki aşamaları çok detaylı ele alma imkanım pek olmadı. Bu yazı, sistemi ele geçirdikten sonra saldırganın yapabileceklerini ele alırken aynı zamanda sistem yöneticilerinin de bilmesi ve kullanması gereken basit bazı Linux komutlarını ele alacak.

 Aşağıdaki gibi basit bir topoloji oluşturdum. Saldırı için kullandığım sanal makine Kali Linux, hedef olarak kullandığım sanal makine ise Metasploitable (http://sourceforge.net/projects/metasploitable/files/Metasploitable2/). Metasploitable sızma testleri konusunda pratik yapmak için geliştirilmiş ve üzerinde çeşitli zafiyetler barındıran bir Linux dağıtımıdır. Yeri gelmişken: lütfen Metasploitable yüklü hiç bir sanal makineyi internete açmamaya dikkat edin.

Resim 1: Topoloji

Hedef sistemde olduğunu bildiğim bir açığı bulmak için Nmap kullanıyorum. Hedef Metasploitable olduğu için üzerindeki zafiyetleri biliyorum, bu kısmı biraz "hikayenin bütünlüğünü sağlamak" için ekledim. 


Resim 2: Nmap ile hedef sistemde zafiyet barındıran hizmeti ve portu tespit etmek

Unreal IRC hizmetinde var olduğunu bildiğim zafiyeti istismar etmek için Metasploit'u kullanacağım. 

Resim 3: Metasploit'un esprili başlangıç bannerlarından birisi

Metasploit'ta var olan ve Unreal IRC'i hedef alan istismarı kullanıyorum ama meterpreter benzeri bir shell yüklemek yerine bana hedef sistemin komut satırını getirmesini istiyorum. 

Resim 4: Unreal IRC istismarı

Komutlar sırasıyla: 
Kullanacağım istismarı seçmek için: use exploit/unix/irc/unreal_ircd_3281_backdoor
Hedef sistemi belirlemek için: set RHOST 192.168.1.20
Saldırıyı başlatmak için: exploit

Resim 5: Hedef sistemin komut satırına erişim sağlamak

Hedef sistemde birden fazla kullanıcı ve yetkinin tanımlı olabileceğini düşünerek ilk adım hangi kullanıcı ve dolayısıyla hangi yetki ile erişim sağladığımı anlamaya çalışmak olabilir. Böylece bundan sonra atacağım adıma karar verebilirim.

Resim 6: Hedef sistemde ilk adımlar

Yukarıdaki komutlar sırasıyla;
Hedef sistem üzerinde kim olduğumu anlamak için: whoami ve/veya id
Hedef sistem üzerinde neler yapabileceğimi anlamak için: sudo -l
Hedef metasploitable olduğu için bu durum her saldırganın rüyasıdır, ROOT kullanıcısı ile bağlıyım ve hedef sistem üzerinde tam yetkiliyim. Gerçek hayatta arada bir bu durumla karşılaşsak bile çoğunlukla sıradan bir kullanıcı veya bir servisin yetkileri ile bir sisteme bağlandığımız için o anda neler yapabileceğimizi anlamamız çok önemlidir. 

Hedef sistemin nereye bağlı olduğunu ve erişebileceğimiz diğer sistemlerin ne olduğunu anlamak için ele geçirdiğimiz sistemin ağ bağlantılarını anlamak önemlidir. 

Resim 7: ifconfig komutu

 Resim 8: route komutu

Route komutu bize ele geçirdiğimiz sistemin sahip olduğu network routeları konusunda bilgi verdiği için önemli bir adımdır.

Sistem hakkında bize önemli bilgiler verebilecek diğer komutlara aşağıda değineceğim. Ele geçirilen sistemin ne olduğu, nerelere bağlı olduğu ve sizin bu sistem üzerinizdeki yetkilerinizi anlamak saldırının başarılı olup olmayacağı konusunda hayati önem taşır. Bir sızma testi sırasında en kolay ele geçirdiğimiz sistemin hiç bir yere bağlı olmayan bir sıramatik (banka veya hastane gibi yerlerde sıra numarası dağıtmak için kullanılan kiosklar) olduğunu anlamak biraz moral bozmuş olsa da kurum ağına bağlı olduğunu görmek ve üzerinde antivirüs olmadığı için iç ağa saldırmak için istediğimiz yazılımı yükleyebileceğimizi anladığımızda keyfimiz yerine gelmişti.

Resim 9: Ele geçirilen sistem üzerinde çalışan servisleri listelemek

cat /etc/services komutu ele geçirdiğimiz sistemin hangi amaçla kullanıldığına dair önemli bilgiler verir.

Resim 10: env komutu

Ortam değişkenlerini listemelek için kullandığımız env komutu. PATH değişkenine eklemeler yapmak hedef sistemin istediğimiz şekilde davranmasını sağlamak için gerekli olabilir. PWD ise "Print Working Directory", yani içerisinde bulunduğumuz dizini gösterir.
Bu bilgiye doğrudan pwd komutunu kullanarak da ulaşabiliriz.

Resim 11: pwd komutu

Sistemi Unreal IRC servisini istismar ederek ele geçirdiğimiz için /etc/unreal klasöründe olmamız doğal.

Resim 12: Uname ailesi

Ele geçirdiğimiz sistemi daha yakından tanımak için kullanabileceğimiz komutlardan birisi de uname'dir. Bu komutu farklı parametreler ile birlikte kullanarak sistemin adını ve sistem üzerinde daha kalıcı bir varlık elde etmek için kullanılabilecek başka istismarlar olup olmadığını bulabiliriz.

Resim 13: Beklenen an; parola hashleri

Sistem hakkında bilgi toplamak için kullanabileceğiniz komutlar arasında tabii ki en cazip olan "cat /etc/shadow"dur. Bu aslında bir komut değil, /etc/shadow dizininde bulunan dosyanın açılmasıdır. Bu dosyada bizim için önemli olan bilgi kullanıcı parolalarının hash değerleridir. 

İstismar sonrası kullanılabilecek komutları toparlarsak;

whoami: sistem üzerinde kim olduğumuzu anlamak için
sudo -l: sahip olduğumuz kullanıcının yapabileceklerini anlamak için
pwd: bulunduğumuz dizini görmek için
ps aux | grep root: root yetkisiyle çalışan servisleri görmek için
/sbin/ifconfig -a: mevcut ağ bağlantılarını görmek için
route: sistemin network routelarını görmek için
iptables -L: iptables kurallarını görmek için
arp -a: ARP bağlantılarını görmek için
last: Sisteme en son giriş yapan kullanıcılar
users: Sistemde bulunan kullanıcıları listeler



Tuesday, August 19, 2014

Sürekli bir yerler hackleniyor

Evet, her gün yeni bir güvenlik ihlali duyuyoruz. Önce SSL sertifikalarının güvenliğini ihlal eden "Hearbleed" çıktı, sonra alakasız bir Rus hacker çetesi ellerinde milyarlarca kullanıcı bilgisi olduğunu açıkladı. Bundan önce Evernote, ondan önce Ebay... Sürekli birşeyler oluyor ve ben her seferinde aynı tweetleri atıyorum: "bilmem neresi hacklenmiş, parolanızı değiştirin"... Dünyanın en iyi radyo programı "Özgür'le Morning Show" da duyurmama yardımcı oluyor. (Ayrıntılar için http://www.maxfm.com.tr/)

Resim 1: Ebay hacklendi

Resim 2: Evernote hacklendi. 

İnternet kimliklerinizin kötü niyetli kişilerin ellerine geçmesine neden olabilecek bu durumlarda işi gücü bırakıp parola değiştirmeye koşmamak için alınabilecek bazı basit tedbirler var. 

1. Bütün yumurtalarınızı aynı sepete koymayın
Belirli işler ve hesap türleri için kullanılmak üzere farklı eposta adresleri oluşturun. İlk aklıma gelenler; bankaya vermek üzere, alışveriş sitelerinde kullanılmak üzere, sosyal medyada kullanılmak üzere, ve Androi cihazınızda kullanılmak üzere çeşitli eposta adresleri almakta fayda var. Böylece sosyal medya için kullandığım bir eposta adresime Turkcell veya Turk Telekom faturası görünümlü bir eposta gelirse bunun sahte olduğunu kolayca anlayabiliyorum. 

2. Eposta adresiniz dışında bir kullanıcı adı belirleyin
Bu sayede saldırganların eposta adresinizi öğrenmesi yetmeyecek, bir de kullanıcı adınızı tahmin etmek zorunda kalacaklardır. 

3. Her hesap için farklı bir parola (şifre) kullanın
Hesabınız olan her hangi bir sayfa veya uygulama hacklenirse saldırganların diğer hesaplarınız tehlikeye girmeyecektir. Parolayı hatırlamak için sitenin adından faydalanabilirsiniz, diyelimki asıl sifreniz 0312@nKara bunu Facebook için 0312FB@nKara, Instagram için 0312IG@nKara, Gmail için 0312GM@nKara veya Twitter için 0312TW@nKara şeklinde kullanabilirsiniz. 

Yeri gelmişken; https://howsecureismypassword.net/ adresinden kullandığınız parolanın saldırganlar tarafından tahmin edilmesinin ne kadar süreceğini öğrenebilirsiniz (Yine de parolanızı buraya yazmamanızda fayda var). 

Yukarıdaki örneği ele alırsak 0312ankara aşağıda görüldüğü gibi 10 günde kırılabilirken, 0312@nKara parolasını tahmin etmek 58 yıl sürecektir. 58 yıl iyi bir rakam gibi görünse bile bu parolanın sonuna basit bir ünlem işareti eklemek parola tahmin etme süresini 4.000 yıla (yazı ile dört bin yıl) çıkartmaktadır.

Resim 3: Basit bir masaüstü bilgisayar ile 10 günde kırılabilen parola: 0312ankara

Resim 4: Parolayı 0312@nKara yapmak tahmin etme süresini 58 yıla çıkartıyor

Resim 5: Sonuna basit bir ünlem işareti ekleyerek parolayı 0312@nKara! yapmak tahmin etme süresini 4000 yıla uzatabilir.


4. Fazla bilgi vermeyin
Kayıt olurken sadece gerekli olan bilgileri doldurmakta fayda var. Bu sayede, güvenlik ihlali yaşanması durumunda hakkınızda mümkün olabildiğince az bilgi kamuya mal olur. 

5. Haberi duyduğunuzda parolanızı değiştirin
Üye olduğunuz siteyle ilgili bir güvenlik ihlali haberi duyduğunuzda parolanızı değiştirin. İdeal şartlarda, bu tür hacklenme haberlerini duymasanız bile, parolanızı yılda birkaç kez değiştirmenizde fayda var. 

6. Güçlü parola belirleyin
Bu konuda sayflarca yazı yazılabilir ama iyi bir parolanın temel özelliklerini ele alacak olursak şunları söyleyebiliriz;

  • Sadece harf veya sayıdan oluşmamalı
  • Eşinizin, tuttuğunuz takımın veya çocuklarınızın adını içermesin
  • Doğum tarihiniz gibi halka açık bilgiler içermesin
  • Sözlükte bulunan bir kelime olmasın. Buna yabancı kelimeler de dahil
  • Parolanızı kimseyle paylaşmayın. Evet, aklınıza şu anda kim geldiyse, o da dahil
Güvende olmanıza faydası olması dileğiyle. 



MITRE ATT&CK Gerçek Hayatta Ne İşimize Yarar?

  Rusya kaynaklı siber saldırılar webinarı sırasında üzerinde durduğum önemli bir çalışma vardı. MITRE ATT&CK matrisini ele alıp hangi...