Quantcast
Channel: Bilgi Güvenliği AKADEMİSİ
Viewing all 331 articles
Browse latest View live

Zararlı Kod İçeren Office Dosyalarının Analizi

$
0
0
“Zararlı Kod İçeren PDF Dosyalarının Analizi (http://blog.bga.com.tr/2014/07/zararl-kod-iceren-pdf-dosyalarnn-analizi.html)” yazısının devamı niteliğinde olan bu yazıda aynı derecede önemli zararlı kod içeren office dokümanlarının analizi konusu ele alınmıştır.


Kullanılan Araçlar:
  • OfficeMalScanner
  • OfficeCat

Örnek zararlının SHA256 özeti: 22fa701cac3aeab6d62d99ac9e9c8ee68ffd5b990ac66f35a489946bc823379a


İlk olarak OfficeMalScanner aracı “info” parametresi ile çalıştırılarak dosya hakkında genel bilgi edinilir.

OfficeMalScanner z.xls info

[*] INFO mode selected
[*] Opening file z.xls
[*] Filesize is 112640 (0x1b800) Bytes
[*] Ms Office OLE2 Compound Format document detected
[*] Format type Excel

--------------------------------
[Scanning for VB-code in Z.XLS]
--------------------------------
Sheet1
Sheet2
Sheet3
ToDOLE
ThisWorkbook
-----------------------------------------------------------------------------
                VB-MACRO CODE WAS FOUND INSIDE THIS FILE!
               The decompressed Macro code was stored here:

------> Z:\home\remnux\Desktop\Z.XLS-Macros


Çıktıda görüldüğü üzere dosyanın içerisinde macrolar bulunmuş ve bunlar ayrıştırılıp bir dizine yazılmıştır. Bu macroları analize başlamadan önce doküman üzerinden daha fazla bilgi toplamak işleri kolaylaştıracaktır. Bunun için OfficeMalScanner “scan brute debug” parametreleri ile tekrar çalıştırılır.

scan: Doküman içerisindeki shellcodeları veya PE dosyalarını arar.
brute: XOR, ADD ve ROL encoding yöntemleri için tek anahtarla kaba kuvvet saldırısı yapar.
debug: Bulguları detaylı olarak ekrana yazar.

OfficeMalScanner z.xls scan brute debug

[*] SCAN mode selected
[*] Opening file z.xls
[*] Filesize is 112640 (0x1b800) Bytes
[*] Ms Office OLE2 Compound Format document detected
[*] Format type Excel
[*] Scanning now...

API-Name CreateFile string found at offset: 0x18433

[ PE-File - 256 bytes ]
43 72 65 61 74 65 46 69  6c 65 14 f4 60 00 0c 04  | CreateFile..`...
73 65 61 72 63 68 5f 69  6e 5f 4f 4c 65 07 60 00  | search_in_OLe.`.
0f 04 69 66 5f 6f 75 74  6c 6f 6f 6b 5f 6f 70 65  | ..if_outlook_ope
6e 69 f3 60 00 07 00 44  61 74 65 41 64 64 2f 36  | ni.`...DateAdd/6
60 00 09 04 74 69 6d 65  45 72 72 6f 72 d3 8b 60  | `...timeError..`
00 11 04 43 72 65 61 74  43 61 62 5f 53 65 6e 64  | ...CreatCab_Send
4d 61 69 6c 54 40 60 00  01 04 69 60 10 60 00 07  | MailT@`...i`.`..
04 41 74 74 4e 61 6d 65  9a 12 60 00 0a 04 41 64  | .AttName..`...Ad
64 56 62 73 46 69 6c 65  56 67 60 00 0b 04 41 64  | dVbsFileVg`...Ad
64 4c 69 73 74 46 69 6c  65 f8 9b 60 00 02 04 66  | dListFile..`...f
73 46 5d 60 00 0c 00 46  6f 6c 64 65 72 65 78 69  | sF]`...Folderexi
73 74 73 a6 0a 60 00 0c  00 43 72 65 61 74 65 46  | sts..`...CreateF
6f 6c 64 65 72 ec ad 60  00 07 00 52 65 70 6c 61  | older..`...Repla
63 65 66 0e 60 00 10 00  41 64 64 56 62 73 46 69  | cef.`...AddVbsFi
6c 65 5f 63 6c 65 61 72  cd b8 60 00 11 00 41 64  | le_clear..`...Ad
64 56 62 73 46 69 6c 65  5f 73 65 61 72 63 68 f0  | dVbsFile_search.

--------------------------------------------------------------------------

API-Name CreateFile string found at offset: 0x1a928

[ PE-File - 256 bytes ]
43 72 65 61 74 65 46 69  6c 65 05 00 00 02 11 00  | CreateFile......
00 00 52 65 73 74 6f 72  65 42 65 66 6f 72 65 53  | ..RestoreBeforeS
65 6e 64 05 00 00 02 10  00 00 00 52 65 73 74 6f  | end........Resto
72 65 41 66 74 65 72 4f  70 65 6e 03 00 00 0d 0c  | reAfterOpen.....
00 0c 00 08 00 00 00 00  00 00 00 00 00 02 00 00  | ................
7f 04 00 00 03 12 08 02  00 00 00 00 00 c0 00 00  | ................
00 00 00 00 46 04 00 00  03 d9 08 02 00 00 00 00  | ....F...........
00 c0 00 00 00 00 00 00  46 04 00 00 05 02 00 09  | ........F.......
0c 00 00 00 00 00 00 31  0c 00 00 00 00 00 00 ff  | .......1........
ff ff ff 02 00 00 06 09  0c 00 00 00 00 00 00 c8  | ................
00 00 00 00 00 00 00 03  00 00 01 08 00 00 00 4e  | ...............N
00 61 00 6d 00 65 00 05  00 00 0b 0c 00 00 00 4d  | .a.m.e.........M
00 61 00 63 00 72 00 6f  00 31 00 04 00 00 01 0e  | .a.c.r.o.1......
00 00 00 56 00 69 00 73  00 69 00 62 00 6c 00 65  | ...V.i.s.i.b.l.e
00 05 00 00 0b 0c 00 00  00 41 00 31 00 3a 00 46  | .........A.1.:.F
00 31 00 35 00 04 00 00  03 d7 08 02 00 00 00 00  | .1.5............

--------------------------------------------------------------------------


Brute-forcing for encrypted PE- and embedded OLE-files now...
Bruting XOR Key: 0xff
Bruting ADD Key: 0xff
Bruting ROL Key: 0x08


Analysis finished!

--------------------------------------------------
z.xls seems to be malicious! Malicious Index = 04

OfficeMalScanner doküman içinde CreateFile WinAPI fonksiyonunu çağıran bir kod bloku tespit etmiştir. Kaba kuvvet saldırısından bir sonuç çıkmaması ya encode edilmiş bir içeriğin olmadığı ya da farklı bir yöntemle encode edilmiş bir içerik olabileceği anlamına gelir.

Daha sonra Windows’ta çalışan OfficeCat aracı ile zararlı kodun bilinen bir zafiyeti istismar etmeye çalışıp çalışmadığı kontrol edilir. OfficeCat’in Windows komut satırından çalıştırılması gerekir.

officecate.exe z.xls

Sourcefire OFFICE CAT v2
* Microsoft Office File Checker *

Processing z.xls
VULNERABLE
        OCID: 51
        CVE-2008-3005
        MS08-043
        Type: Excel
        Malformed FORMAT record



Dokümanın 2008’de bildirilmiş ve çıktıda gözüken CVE, OCID ve MS numaralarıyla tanımlanmış bir zafiyeti istismar etmeye çalışan kodlar içerdiği anlaşılmaktadır.

Eldeki verilerle doküman hakkında kesin kanıya varmadan önce içerdiği macrolara da bir göz atmakta fayda olabilir. Bunun için “OfficeMalScanner z.xls info” komutunun çıktısında belirtilen Macro dizinine gidip içerdiği dosyalar herhangi bir metin düzenleyici ile açılır ve incelenir. Örnek zararlının “ToDOLE” isimli macrosu incelendiğinde Outlook adres listesini çekip toplu mail göndermeye çalıştığı görülmektedir. Diğer macroların incelenmesi de okuyucuya bırakılmıştır.

Continuous Security Scan (Düzenli Açıklık Tarama) Hizmeti - NormShield

$
0
0
Proaktif güvenliğin temel bileşenlerinden olan sızma testi çalışmaları  genellikle -maliyet vs gibi sebeplerden- yılda bir defalığına yapılır. Oysa orta ve büyük ölçekli firmaların  kullandığı IT sistemlerinde ortalama her hafta yüksek ve kritik öneme sahip güvenlik açıklıkları yayınlanmaktadır.

BGA olarak 2013 yılında gerçekleştirdiğimiz sızma testleri süresince azınsanmayacak oranda internet üzerinden basit hatalar nedeniyle sunucu sistemlere sızma yapıldığının tespit ettik. Buradan yola çıkarak firmaların sızma testi yaptırmadığı zaman aralığında en azından internet üzerinden düzenli güvenlik taraması yapabilmesi için kolları sıvayarak bulut tabanlı bir güvenlik açıklığı tarama sistemi geliştirdik.

Normshield adını verdiğimiz hizmetimizi ( www.normshield.com ) yaklaşık 3 aydır süren test aşamasını tamamlayarak Temmuz ayı itibariyle müşterilerimize sunmaya başladık. Amacımız hizmet verdiğimiz kurumların daha güvenli kalmasını sağlamak olduğu için alternatiflerine oranla oldukca uygun bir fiyat politikası belirledik.

Normshield nasıl çalışır?

*Öncelikle müşteri varlıklarını sisteme tanımlar ve düzenli aralıklarla güv. tarama isteğini gönderir. 

*Güvenlik tarama isteği Normshield yöneticilerinden birine düşer, talep ve varlığın tipine göre (Network, Sistem, Uygulama vs.) güvenlik taramaları gerçekleştirilir. 

*Güvenlik taramaları için sektörde bilinen ticari yazılımlar koşturulmaktadır, gerçekleştirilen güvenlik tarama çıktıları Normshield sistem yöneticileri tarafından detaylıca incelenerek hatalı bulgular ayıklanır ve kalan rapor sisteme yüklenir ve müşteri tarafından açılan denetim isteğinin durumu "Tamamlandı" ya çekilir, müşteriye işin durumuyla ilgili bilgilendirme maili ulaştırılır. 

*Bu aşamadan sonra müşteri hesap bilgilerini kullanarak (username, password + SMS authentication) sisteme girer ve tarama sonuçlarını inceler, tarama raporu alır ve ilgili ekiplerle paylaşır. 

*Kapatılan açıklıklar için müşteri durum bilgisini değiştiremez, Normshield sistem ekibine durum bilgisinin değiştirilmesine dair istek gönderir (bir tık kadar kolay bir şekilde), bu istek sistem yöneticileri tarafından incelenir ve açıklık gerçekten kapatıldıysa durum "Kapatılmıştır" a çekilir.



Normshield  Farkları:

Normshield hizmeti, benzeri güvenlik tarama hizmetlerinden aşağıdaki başlıklarda farklılıklar göstermektedir:

  • Aynı kategoride en az iki farklı güvenlik tarama yazılımı tarafından sistemin kontrolü gerçekleştirilir.
  • Tarama yazılımları sonucu çıkan bulgular elle kontrol edilip herhangi bir false positive içermediğinden emin olunduktan sonra Normshiel'e aktarılır.
  • Sistem kontrollü işletildiğinden dolayı tarama esnasında hedef sistemlere zarar vermez.
  • Çıktıları hem pdf ve diğer formatlarda raporlanabilmekte hem de normshield.com üzerinden incelenebilmektedir.
  • Amaç düzenli taramalar olduğu için 1 Adet C class ip adresi ve 10 adet uygulama için uygun fiyat.
  • Güvenlik açıklıklarını tarayan ve saklayan sistemlerin tamamı Türkiye'de bulunmaktadır ve her firmaya ait bulgular veritabanında şifreli olarak tutulmaktadır.
Normshield hakkında detay bilgi almak icin info@normshield.com adresine e-posta gönderebilirsiniz.
en → tr
info@normshield.com

Burp Suite Kullanarak XSS (Cross Site Scripting) Zafiyet Tespiti

$
0
0
Cross site scripting (XSS), web güvenlik açığı. HTML kodlarının arasına istemci tabanlı kod gömülmesi yoluyla kullanıcının tarayıcısında istenen istemci tabanlı kodun çalıştırılabilmesi olarak tanımlanır.[1] XSS açıklıkları bulunduğu yere göre değer kazanır ve stored, reflected ve dom based olmak üzere üç çeşidi bulunmaktadır.


Bir sistemde XSS zaafiyetinin tespiti için, sistemin kullanıcıdan girdi alabileceği yerler tespit edilir. Ardından tespit edilen yerlere veri girişi yapılır. Bu veri web uygulamanın kaynak kodları arasında yerini alıyorsa, payloadlar denenmeye başlanır. Burada anlatılmak istenen Burp suite aracı kullanarak iki farklı örnekle açıklanmıştır.
Örnek 1. Kullanıcı, web uygulama üzerinde arama yapmak isterse, arama kutusunu kullanarak sisteme veri girişi yapar.


1.png


Arama kutusuna "searching xss vulnerability ..." yazıldığında, yazılan bu verinin html kodlar arasında yerini aldığı yukarıdaki resimde rahatça görülebilir. Kaynak kod incelenip, uygun payload yazılmadan önce, geliştiricinin html taglerini engelleyip engellemediği, arama kutusuna html tag yazılarak test edilir.


Örnekte, test için arama kutusuna "searching xss vulnerability ..." yazılmıştır. Dönen değerde tagi tarayıcı tarafından yorumlanarak, yazı tipi kalınlaştırılmıştır. HTML taginin yorumlanması, geliştiricinin XSS 'e karşı önlem almadığını ve sistemin XSS istismarına açık olduğunu belirtmektedir.
2.png


XSS zaafiyetinin varlığından emin olunduktan sonra girdinin yorumlandığı kısmın kaynak kodu incelenerek uygun payload yazılır ve çalıştırılır. Eğer bir hata ile karşılaşılırsa ya WAF veya türevi koruyucu bir sistem vardır ya da    geliştirici kısıtlayıcı önlemler almıştır.


HTML kaynak kodu:



Arama Sonuçları "searching xss vulnerability ..."



Arama kutusuna yazılan veri, herhangi bir etiket (tag) içerisinde bulunmuyor dolayısıyla etiketi direk kullanılabilir. Bu örnekte  "" payload'ı denenecektir. Bu şekilde bir girdi sonucunda tarayıcı sonucu aşağıdaki şekilde yorumlayacaktır.



Arama Sonuçları ""


Ekran görüntüsü aşağıdaki gibi olacaktır.
3.png


Örnek 2.

".$_GET["url"]."'>Xss Link
"; ?>

Yukarıda belirtilen kod parçacığına sahip xss.php dosyasına get metodu ile alınan "url" parametresi, HTML kod içine hiçbir filtreye tabi olmadan dahil ediliyor. Bu parametre değerinin href özelliği içinden çıkarılıp normal HTML tag gibi yorumlanması için payload '> ile başlamaladır. Örnek,


'>Xss Link
"; ?>

Yukarıda da görüldüğü gibi script etiketi artık href içinde string ifade gibi değil, HTML etiket olarak yorumlanmaktadır. Sonuç aşağıdaki gibidir.
4.png


WAF olduğu durumda ya da geliştirici kısıtlamaları varsa, payload yazarken çeşitli bypass yöntemleri kullanılır. Geliştirici "script,alert,onload ..." gibi kelimelerin kullanılmasını yasaklamış olabilir. Bunun bypass etmek için "" payloadı gibi, yazılacak payload büyük küçük harfler kullanılarak denenir. WAF atlatmak için payloadlar encode edilmelidir. Bu yazıda bypass yöntemleri anlatılmayacağından sadece bu kadarına değinilmiştir.


Burp Aracı ile XSS (Cross Site Scripting) İstismarı


Burp Suite sızma testlerinde sıklıkla kullanılan bir web proxy uygulamasıdır. [2] XSS istismarında  wordlist ile payload denemek için kullanılır. Bu işlem Burp Suite'in Intruder eklentisi aracılığıyla gerçekleştirilir.


Yukarıda gösterilen Örnek 1. de script,alert kelimeleri geliştirici tarafından  engellenmiştir. Bu engel büyük harf kullanılarak atlatılabilir. Test için ufak bir wordlist hazırlanmıştır.
< script >a lert(1)
< script >pro mpt(1)
< Script >pro mpt(1)
< sCript >Ale rt(1)
< ScriPt >pro mpt(1)
< scRipt > al ert(2)

Örnek 1. üzerinde uygulanan işlemler aşağıda adım adım anlatılmaktadır.


1. Burp Suite çalıştırılır ve web tarayıcı proxy olarak 127.0.0.1:8080 kullanacak şekilde ayarlanır.   


Firefox/Iceweasel için, Edit > Preferences > Advanced > Network > Settings > Manual Proxy Configuration (127.0.0.1:8080) > OK


2. Hedef sisteme tarayıcıdan erişilip istek Burp Suite proxy sekmesinde görülür. Sağ tıklayıp “send to Intruder” ile HTTP isteği Intruder eklentisine gönderilir. Positions sekmesinde payloadların deneneceği parametre aşağıdaki şekilde görüldüğü § karakterleri ile işaretlenir.


Örnek 1. de arama kutusuna yazılan değerler s1 parametresine karşılık geldiğinden  s1 parametresi işaretlenmiştir.


5.png


3. Payloads sekmesine geçilerek, wordlist intruder'e yüklenir.
6.png


4. Burp Suite menüsünden Intruder altında bulunan "Start Attack" seçilerek, saldırı başlatılır. Çıktı aşağıdaki gibidir.
7.png


Yukarıdaki şekilde, dikkat edilirse sadece 5. payloaddan dönen sayfanın boyutu diğerlerinden farklıdır. 5. payload hedef sistemin XSS zaafiyetinin payloadı olarak kullanılabilir. Test sonucu aşağıdaki şekildeki gibidir. Uygun payload: "pro mpt(1)
"

8.png



XSS payload wordlistleri bulabileceğiniz siteler aşağıda verilmiştir:

Ceylan BOZOĞULLARINDAN

Kaynaklar


[1] Cross Site Scripting tanımı, website: http://tr.wikipedia.org/wiki/Cross_site_scripting,
      Erişim tarihi: 09/07/2014


[2] Burp Suite tanımı, website: http://blog.bga.com.tr/2013/06/web-uygulama-guvenlik-testlerinde-burp.html, Erişim tarihi: 09/07/2014

Sqlifuzzer Aracı ile Burp Suite Loglarından SQL Enjeksiyonu Denemeleri

$
0
0
SQL enjeksiyonunun istismarı için bir çok araç bulunmaktadır. Bunlardan en ünlüsü sqlmaptir. Bu yazıda ise benzerlerinden bir kaç farkı olan sqlifuzzer aracı incelenmiştir.
Sqlifuzzer'ın en önemli özelliği Bash scriptte yazılması ve curl kullanmasıdır. Ayrıca Burp Suite proxy aracının loglarını yorumlayıp girdi noktalarını bulabilmektedir. Daha sonra bu girdi noktalarına belirtilen tiplerde payloadlar denemektedir. 

İndirme ve Çalıştırma

Kuruluma ihtiyaç yoktur. Aşağıdaki komutlar takip edilerek klasör indirilir, sıkıştırılmış dosyadan çıkartılır ve dizine girilir.
wget https://sqlifuzzer.googlecode.com/files/sqlifuzzer-0.6.tgz
tar zxvf sqlifuzzer-0.6.tgz
cd sqlifuzzer-0.6
./sqlifuzzer-0.5.sh
ile çalıştırıldığında kullanılabilecek parametreler ve kullanım örnekleri listelenir.

Kullanım

Örnek olarak BGABank sitesi kullanılmıştır. Sitenin Ziyaretçi Defteri kısmında page parametresinde zaman tabanlı SQL enjeksiyonu zafiyeti vardır. 
Önce gerekli isteği yakalamak için Burp Suite üzerinde loglama özelliğini aktif edilmesi gerekir. 
Bunun için sırasıyla Options --> Misc --> Logging kısmına gelinir ve giden isteklerin loglanması için Requests kısmına tik konulur. Açılan pencerede log dosyasının adı ve nereye kaydedileceği belirtilir.


Şimdi Proxy --> Intercept kısmında "Intercept is on" seçilir ve istekler için araya girilir. Yakalanan istek ve log dosyasında görünümü aşağıdaki gibidir.


İlgili log dosyası sqlifuzzer'ın bulunduğu dizine kopyalanır.
Aşağıdaki komut ile önce log dosyası yorumlanıp girdi adlı bir dosyaya yazılabilir. sqlifuzzer bu durumda sadece gerekli dizin yolunu ve parametreleri alacaktır.
sqlifuzzer-0.5.sh -l bgabank.log -P girdi
Örnek çıktı:
Parsing burp log bgabank2.log with 211 lines
..............Input file girdi created
The following potentially risky URLs (if any) were removed:
POST /?sayfa=giris.php??b_musterino=11111111&b_password=123456&captcha=wirere
    *    *    *    *    *    *
The following URLs were added:
GET /style/js/fb/jquery.fancybox.js?v=2.1.5
GET /?sayfa=ziyaretcidef.php&page=0
GET /?sayfa=giris.php
Sqlifuzzer logdaki bütün girdi noktalarını, parametreleri bulacağı için taranması gereksiz bazı parametrelerde olabilir. Asıl istek içinde taranması gereksiz parametreler ise başka bir dosyada satır satır yazılır.
Örnek komut aşağıdaki gibidir.
./sqlifuzzer-0.5.sh -t http://bgabank.com -I girdi -e -D mysql -S no-scan
-t ile hedef site yazılır. -I ile parametrelerin olduğu girdi dosyası gösterilir. -l ile direk olarak burp log dosyasıda gösterilebilirdi. -D ile biliniyorsa veritabanı belirtilir. -S ile istenmeyen parametreler varsa bunun için yazılan dosya gösterilir. Bu örnekte no-scan içerisine taranması istenmeyen sayfa ve v parametreleri eklenmiştir. Son olarak -e parametresi ise burada zaman tabanlı sql enjeksiyonu denenmesi için seçilmiştir.
Aracın payloadlarının yetersiz olduğu durumlar için -C parametresiyle payload listesi, cookie bilgisi varsa -c ile 'Cookie=12345'şeklinde verilebilir.
Komut çalıştırıldığında önce siteye bağlanabilirlik test edilir ve payloadlar sırayla denenir.
...
Skipping param sayfa as it's on the don't scan list
Testing URL 1 of 1 GET http://bgabank.com/?sayfa=ziyaretcidef%2ephp&page=0
GET URL: 1/1 Param (2/2): page Payload (1/6): 1 or benchmark(100000000,MD5(1))#
[TIME DIFF: 14 SECS - re-submitting request to confirm]
GET URL: 1/1 Param (2/2): page Payload (1/6): 1 or benchmark(100000000,MD5(1))#
INFO: REPEAT TIME DIFF: -9 SECS
INFO: DIFFERENCE BETWEEN BOTH TIMEDELAY REQUESTS: -23 SECS
[TIME-DELAY-14SEC mysql REQ:1] GET URL: http://bgabank.com/?sayfa=ziyaretcidef%2ephp&page=1%20or%20benchmark%28100000000%2cMD5%281%29%29#
outputstore: sayfa=ziyaretcidef%2ephp&page=1%20or%20benchmark%28100000000%2cMD5%281%29%29#
DBMS already specified as mysql
...

Tüm payloadlar denendikten sonra html çıktısı Firefox(Iceweasel) ile açılır.
Submit Query bağlantısı tıklandığında URL ve payload gerçek site üzerinde açılır.















VMware Üzerine Kurulan Linux İşletim Sistemine Ayrılan Harddisk Alanının Genişletilmesi (Görsel)

$
0
0
VMware üzerine kurulan Linux işletim sistemlerine ayrılan harddisk alanı genişletmek, Windows işletim sistemleri kadar kolay değildir. Linux işletim sistemine ayrılan disk alanının komut satırından genişletilmesi mümkün olduğu gibi görsel olarak da genişletilebilmektedir.
Gerekli olan araçlar: gparted-live cd

İşletim sistemine ayrılan disk alanını genişletmek için atılması gereken adımlar aşağıdaki gibidir:
1. Sanal makine ayarları açılır.


2. Harddisk ayarlarından "Expand (genişlet)" seçeneği tıklanır.


3.İstenilen harddisk boyutu seçildikten sonra "Expand" butonu tıklanır. 



  • İşlem devam ederkenki ekran görüntüsü:


4.İndirilen G-Parted yazılımının CD halinin sisteme tanıtılması ve sistemin CD üzerinden başlatılması gereklidir. Kırmızı kutucuk içerisine alınmış ve numaralandırılmış alanların sırasıyla seçilmelidir.


5. Sistemin boot menüsüne ulaşabilmek için, sistem başlarken ESC tuşuna bir kez basılmalıdır.


6. G-Parted boot menüsünden "GParted Live (Defauly settings)" seçilir


7. Yapılandırma esnasında kullanmak üzere klavye seçimi yapılır.


8. Klavye düzeni ve kullanılacak dil tercih edildikten sonra, açılacak olan pencere.



Görüldüğü gibi linux sistemlerde harddisk düzeninin;
- bölümlerden
- bölümler arasında bulunan ayraç
- ve  bölümler tablosundan oluşmaktadır.
Harddisk alanının genişletilebilmesi için bölüm ayracın kopyalanarak bölümlerin sonuna yapıştırılması ve ana ayracın silinmesi, var olan bölümlendirme tablosunun silinerek yenisinin oluşması sağlanması ve bölümlerin birleştirilmesi gerekmektedir.

9. Bölüm ayracının kopyalanarak, bölümlerin sonuna yapıştırılması,



Ayracın ardındaki boş alanın "0" olarak ayarlanması gerekmektedir.


10. Önceden yapılandırılmış olan bölüm ayracı ve bölümlendirme tablosu silinmelidir.




Yapılan değişiklikler uygulanır (Bu işlem sonrası atılan adımların telafisi olmayacaktır).


11. Harddisk alanı seçilerek "Boyutlandır/taşı" butonuna tıklanır.



12. Son olarak değişiklikler uygulanır.



Harddisk alanının istenilen değerde olduğu görülmektedir.

Psexec Kullanılarak Windows7' de Meterpreter Oturumu Açma

$
0
0
Windows Vista ve üzeri bir işletim sistemini metasploit-psexec oturumu açılabilir hale getirmeye geçmeden önce UAC (User Account Control, Kullanıcı Hesabı Kontrolü) güvenlik modülünden biraz bahsetmek faydalı olacaktır.
Microsoft, Windows Vista ile birlikte uygulamaya koyduğu UAC (User Account Control, Kullanıcı Hesabı Kontrolü) güvenlik modülü sayesinde işletim sisteminde yerel ve uzak erişim kapsamında bazı değişikliklere gitmiştir. Yerel yönetici grubuna dahil olsa dahi yerelde yapılacak, yönetici hakları gerektiren işlemler için kullanıcıdan onay alınmaktadır (örneğin; bir program yüklenmek istendiğinde kullanıcıdan istenen onay). Sistemde gömülü olarak gelen yerel yönetici hesabı (Administrator) için bu kısıtlama söz konusu değildir. Yönetici grubuna dahil kullanıcılar için, uzaktan yapılan ve yönetici hakları gerektiren işlemler (program yükleme gibi) yapılamamaktadır (uzak masaüstü bağlantısı için bu kısıtlama söz konusu değildir).

Üzerinde UAC güvenlik modülünün aktif olduğu cihazlara sysinternal psexec oturumu açılabilmektedir (yerel kullanıcı hesap bilgileri ile).

Böyle bir sisteme Metasploit-meterpreter oturumu açabilmek için iki yol izlenebilir; UAC'ı devre dışı bırakmak (bu değişikliğin uygulanması için sistemin yeniden başlatılması gerekmektedir ki bu önerilmez) veya UAC modülünden kurtulmak için politika tanımlamak.
Not: Bu değişiklikleri uygulayabilmek için yerel yönetici grubuna dahil bir kulanıcının hesabı ile sysinternal-psexec oturumu açmak gereklidir.

 Politika tanımlayarak UAC'ı uzak işlemler için devre dışı bırakmak:
Komut satırından;
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

girilmesi yeterli olacaktır. Bu işlemden sonra Metasploit konsolundan exploit/windows/smb/psexec modülü aracılığı ile sistemde meterpreter oturumu açılabilecektir.
Not: Hedef sistemde meterpreter oturumunu engelleyecek başka sistemler bulunabilir (virüs programı, güvenlik duvarı, defender vs) bu sistemlerin ihtiyaç dahilinde kapatılması gerekebilir.
Hedef sistemde gerekli işlemler yapıldıktan sonra sistemin güvenlik mekanizmasını eski haline getirmek adına komut satırında,

reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy
 girilmesi yeterli olacaktır.

Referanslar:
http://support.microsoft.com/kb/951016/en-us

Sızma Testlerinde Elde Edilen Hashli Parola Tiplerinin Belirlenmesi

$
0
0
Sızma testlerinde elde edilen parola özetlerinin tipinin belirlenmesinde kullanılacak olan HashTag.py aracı, farklı şifre hash değerlerini kendi türüne göre ayıran ve tanımlayan Python ile yazılmış bir araçtır. 250 ve üzeri hash değerini desteklemektedir. HashTag, hash değerlerini direk okumanın yanı sıra dosya üzerinden de hash değerlerini okuyabilmektedir.

Aracı kaynak kodlarını görüntülemek  için burayı ziyaret edebilirsiniz. Eğer aracı online olarak kullanmak isterseniz bu adresten ulaşabilirsiniz.


Kullanımı :
Kullanımı aşağıdaki gibidir.
usage: HashTag.py {-sh hash |-f file |-d directory} [-o output_filename] [-hc] [-n]


Programın kullanımını ve hangi parametleri aldığını detaylı olarak görmek için help menüsünden faydalanılabilir.
-h, --help
show this help message and exit
-sh SINGLEHASH, --singleHash SINGLEHASH
Identify a single hash
-f FILE, --file FILE
Parse a single file for hashes and identify them
-d DIRECTORY, --directory DIRECTORY
Parse, identify, and categorize hashes within a directory and all subdirectories
-o OUTPUT, --output OUTPUT
Filename to output full list of all identified hashes
--file default filename: HashTag/HashTag_Output_File.txt
--directory default filename: HashTag/HashTag_Hash_File.txt
-hc, --hashcatOutput
--file: Output a file per different hash type found, if corresponding hashcat mode exists
--directory: Appends hashcat mode to end of separate files
-n, --notFound
--file: Include unidentifiable hashes in the output file. Good for tool debugging (Is it Identifying properly?)


Single Hash (-sh) Değerinin Belirlenmesi:
Single Hash değerini belirlemek  için -sh parametresi kullanılacaktır.
Örnek 1 : HashTag.py -sh 7026360f1826f8bc
➜  Desktop  ./HashTag.py -sh 7026360f1826f8bc


Hash: 7026360f1826f8bc


[*] MySQL, MySQL323
[*] Oracle 7-10g, DES(Oracle) - Hashcat Mode 3100
[*] CRC-64
[*] SAPB
[*] substr(md5($pass),0,16)
[*] substr(md5($pass),16,16)
[*] substr(md5($pass),8,16)
Örnek 2 : HashTag.py -sh 3b1015ccf38fc2a32c18674c166fa447
➜  Desktop  ./HashTag.py -sh 3b1015ccf38fc2a32c18674c166fa447


Hash: 3b1015ccf38fc2a32c18674c166fa447


[*] MD5 - Hashcat Mode 0
[*] NTLM - Hashcat Mode 1000
[*] MD4 - Hashcat Mode 900
[*] LM - Hashcat Mode 3000
[*] RAdmin v2.x
[*] Haval-128
[*] MD2
[*] RipeMD-128
[*] Tiger-128
[*] Snefru-128
[*] MD5(HMAC)
[*] MD4(HMAC)
[*] Haval-128(HMAC)
[*] RipeMD-128(HMAC)
[*] Tiger-128(HMAC)
[*] Snefru-128(HMAC)
[*] MD2(HMAC)
[*] MD5(ZipMonster)
[*] MD5(HMAC(Wordpress))
[*] Skein-256(128)
[*] Skein-512(128)
[*] md5($pass.$salt) - Hashcat Mode 10
[*] md5($pass.$salt.$pass)
[*] md5($pass.md5($pass))
[*] md5($salt.$pass) - Hashcat Mode 20
[*] md5($salt.$pass.$salt) - Hashcat Mode 3810
[*] md5($salt.$pass.$username)
[*] md5($salt.'-'.md5($pass))
[*] md5($salt.md5($pass)) - Hashcat Mode 3710
[*] md5($salt.md5($pass).$salt)
[*] md5($salt.MD5($pass).$username)
[*] md5($salt.md5($pass.$salt)) - Hashcat Mode 4110
[*] md5($salt.md5($salt.$pass)) - Hashcat Mode 4010


Hash Değerinin Dosyadan Okunarak Belirlenmesi (-f):
Hash değerini dosyadan okumak ve parse etmek için -f parametresi kullanılacaktır.
➜  Desktop  ./HashTag.py -f hash.txt -hc


File Mimetype: text/plain
Hashes Found: 1
File successfully written: HashTag/HashTag_Output_File.txt


Burada dosyada yazılı olan hash değeri -f parametresi ile okutulmuştur. Daha sonra hash değerinin sonucu HashTag/HashTag_Output_File.txt dosyasına yazılmıştır. O dosyanın içeriği görüntülendiği zaman hash bilgisine ulaşılacaktır.
➜  Desktop  cat HashTag/HashTag_Output_File.txt
Hash: 7026360f1826f8bc
Char Length: 16
Hashcat Modes: ['3100']
Hash Types: ['MySQL, MySQL323', 'Oracle 7-10g, DES(Oracle)', 'CRC-64', 'SAPB', 'substr(md5($pass),0,16)', 'substr(md5($pass),16,16)', 'substr(md5($pass),8,16)']


Referans :
* http://www.smeegesec.com/2013/11/hashtag-password-hash-identification.html

7. Uluslararası Bilgi ve Ağ Güvenliği Konferansı - İSKOÇYA

$
0
0
İskoçya'nın Glaskow şehrinde 8-11 Eylül tarihleri arasında gerçekleştirilecek olan 7. Uluslararası Bilgi ve Ağ Güvenliği Konferansına, Süleyman Demirel Üniversitesi Bilgisayar Mühendisliği Bölümü' nden Doç.Dr. Ecir Uğur Küçüksille ve Araştırma Görevlisi Mehmet Ali Yalçınkaya ve BGA'dan Ozan Uçar'ın birlikte gerçekleştirdiği "Physical Dangers In The Cyber Security and Precautions To Be Taken" isimli bildiri çalışması  kabul edilmiş ve çalışmalarının sunumlarını gerçekleştirmek üzere konferansa davet edilmişlerdir.

Konferans hakkında detaylı bilgi için http://www.sinconf.org/sin2014/index.php/registration

IstSEC Bilgi Güvenliği Konferansı '14 Aktif Katılım Çağrısı

$
0
0
##İstSEC Bilgi Güvenliği Konferansı '14 ##
İstanbul, Türkiye
15 Ekim 2014


#İstSec  Hakkında

İstSec (İstanbul Bilgi Güvenliği Konferansı) bilgi/bilişim güvenliği alanında çalışan, bu alana merak duyan ve konusunun uzmanları arasında bilgi paylaşımı yayma amaçlı İstanbul’a özel bir etkinliktir.
İstSec, benzeri güvenlik etkinliklerinden farklı  olarak ürün/teknoloji bağımsız, pratiğe yönelik bir etkinlik olma amacı taşımaktadır.

Konferans, kayıt olan herkese açık ve ücretsizdir. http://istsec.eventbrite.com adresinden ön kayıt işlemleri başlamıştır.


#Kimlere Hitap Eder
İstSec, özelde bilgi güvenliği yöneticileri, ağ ve sistemi güvenliği departmanı çalışanları, güvenlik ürünü satış ve pazarlamacıları, ethical hacking konusu meraklıları, adli bilişim analizi konusu meraklıları, yazılım uzmanları, siber güvenlik uzmanlarına yönelik olmakla birlikte bilgi güvenliği ve alt dallarına meraklı herkesin ilgiyle izleyeceği bir etkinliktir.

#Konferansın Ana Konuları

İstSec ‘14 konferansında gerçekleştirilecek sunum ve çalıştaylar aşağıdaki konuları kapsamaktadır.

  • Bulut bilişim ve güvenlik
  • Zararlı kod analizi ve geliştirme teknikleri
  • Saldırı tespit ve engelleme yöntemleri
  • DDoS saldırıları ve korunma yöntemleri
  • Yazılım güvenliği ve güvenlik yazılım geliştirme süreçleri
  • Siber kavramlar(siber savaş, siber ordu, siber tehdit)
  • WLAN/EDGE/3G iletişim güvenliği
  • Internet takip/izleme sistemleri
  • Ipv6 güvenliği
  • Sanallaştırma güvenliği
  • Bilişim sistemlerinde adli bilişim analizi
  • Sızma testleri(pentest) ve yöntemleri
  • Exploit geliştirme ve tersine mühendislik yöntemleri
  • Web uygulama güvenliği
  • Internet ortamında istihbarat toplama yöntemleri
  • Türkiye’de siber güvenliğe verilen önem ve siber güvenlik yol haritası
  • APT(Advanced Persistent Threat)
  • DLP(Data Loss Prevention) sistemleri ve güvenlik zaafiyetleri


#Konferansa AktifKatılım

Konferansa konuşmacı olarak katılmak isteyenler sunum konularını cfp@istsec.org adresine aşağıdaki formatta 15 Eylül 2014  tarihine kadar gönderebilirler.

Ad soyad:
Çalıştığı şirket:
Telefon numarası:
E-posta adresi:
Kısa özgeçmiş:
Konuşma başlığı ve konusu:
Daha önce konuşmacı olarak  katıldığı konferanslar:

#NOT:
-Doğrudan bir ürünü, firmayı  anlatan sunumlar değerlendirmeye alınmayacaktır.
-Tüm gönderiler İstSec  düzenleme ekibi tarafından incelenerek karar verilecektir.

#Sponsorluk

İstSec konuşmacılarının ve katılımcılarının masraflarını karşılamak amacıyla farklı kategorilerde sponsorlar aranmaktadır.  Sponsorluk konusunda hazırladığımız “sponsorluk dosyasına”  http://www.istsec.org/sponsorluk2013.pdf  adresinden erişebilirsiniz.


Konferans hakkında daha detaylı bilgi için: http://www.istsec.org adresini ziyaret edebilirsiniz.

İleri Seviye Ağ Güvenliği Eğitimi Lab. Kitabı [Yeni]

$
0
0
Bilgi Güvenliği AKADEMİSİ olarak verdiğimiz eğitimlerde uygulamaya özel önem veriyoruz. Güvenlik gibi karmaşık bir konu detaylı uygulamalar gerçekleştirmeden anlatıldığında konuya yabancı olan katılımcılar tarafından tam olarak anlaşılamamaktadır. Eğitim notlarına destek olmak amacıyla başlattığımız lab çalışmalarını içeren kitapçık çalışmalarını uzun süre önce başlatmıştık.

Bu konuda ilk kitap çalışmamız olan  Beyaz Şapkalı Hacker eğitimi Lab kitapçığını 2013 yılı başlarında öğrencilerimizin kullanımına sunmuştuk (Detaylarına http://blog.bga.com.tr/2013/01/beyaz-sapkal-hacker-egitimi-lab-kitapcg.html adresinden erişilebilir)

Yeni dönem eğitimlerinde Uygulamalı Ağ Güvenliği Lab Kitabı Çalışması, İleri Seviye Ağ Güvenliği Eğitimi Lab Kitabı, Sertifikalı Ağ Güvenliği Eğitimi Lab Kitabı, Malware Analizi Eğitimi Lab Kitabı, Network Pentest Eğitimi Lab Kitabı, DDoS Eğitimi Lab Kitabı hazırlıklarımız hızlı bir şekilde devam etmektedir. 

Bunlar arasında içeriğini tamamladığımız İleri Seviye Ağ Güvenliği Eğitimi Lab Kitabını tamamlamış olup bu hafta içinde katılımcılarımızla paylaşıyor olacağız.

BGA ekibinden Cihat IŞIK, Ender AKBAŞ ve Huzeyfe ÖNAL tarafından hazırlanan ~350 sayfalık aşağıdaki içeriğe sahip 
İleri Seviye Ağ Güvenliği Eğitimi Lab Kitabı'nı ücretsiz edinmek için daha önce BGA tarafından açılmış İleri Seviye Ağ Güvenliği veya Sertifikalı Ağ Güvenliği eğitimlerinden birine katılmış olmanız yeterlidir.


Kitapçığı edinmek için egitim@bga.com.tr adresine kitabı istediğinize dair bir e-posta göndererek BGA İstanbul  ve Ankara ofislerinden 15 Eylül  2014 itibariyle  teslim alabilirsiniz. Kargo ile gönderim yapılmamaktadır.

İleri Seviye Ağ Güvenliği Eğitimi  Lab. Kitabı Konu Başlıkları

Sınır Güvenliği Bileşenleri : Güvenlik Duvarı

Güvenlik Duvarı Keşif Çalışması
Güvenlik Duvarı Engelleme Yöntemleri
Güvenlik Duvarı Kurallarının Keşfedilmesi
Farklı Portda Çalıştırma Yöntemiyle Klasik Güvenlik Duvarı Atlatma Yöntemleri
Güvenlik Duvarı Kurallarının Denetimden Geçirilmesi
Linux L7 filter kullanarak Port Bağımsız Protokol/Uygulama Engelleme
Linux Iptables Eklentileri Kullanarak Paket İçinde Geçen Kelimeye Göre Engelleme
Katmanlı güvenlik mimarisi nedir?
FTP ve Güvenlik Duvarları

Kablosuz Ağlarda Güvenlik
Linux sistemlerde Kablosuz Ağlara Bağlanma (WEP/WPA)
Görünmez (SSID Gizli) Kablosuz Ağların Keşfi
Kablosuz Ağlarda Paket Enjeksiyonu (Packet Injection)
Wifi Ağa Bağlı İstemcilerin Tespiti ve Bilgi Edinme
Kablosuz Ağlarda Trafik İzleme(Sniffing)
Kablosuz Ağ Trafik Analizi (Wireshark Kullanarak)
Kablosuz Ağ Trafik Analizi (Kismet Kullanarak)
Wifi Ağlarda TCP/IP Saldırıları (MITM v.s)
Kimlik Doğrulama için MAC Adres Filtrelemesini Aşma
Halka Açık Kablosuz Ağlarda Kimlik Çalma Saldırıları
WPS Destekli Ağlara Yönelik Pin Belirleme ve Parola Kırma Saldırıları
Sahte AP Erişimi Kurma ve İstemcilerin Trafiğini Üzerinden Geçirme
Karmetasploit örnekleri

Sınır Güvenliği Bileşenleri : WAF(Web Application Firewall)
Web Tabanlı Saldırılar Karşısında WAf Sistemleri
WAF Loglarını İnceleme (GET/POST Detayları)
HPP Kullanarak WAF Atlatma Çalışması
Encoding/Şifreleme Kullanarak WAF Atlatma Çalışmaları  
SSLdump Kullanarak HTTPS Trafiği Analizi  

Sınır Güvenliği Bileşenleri : DDoS Engelleme Sistemleri    

SYN Flood DDoS Saldırısı Gerçekleştirme ve Engelleme
TCP Connection Flood DDoS Saldırıları ve Engelleme Yöntemleri
Sahte  alan adları kullanarak DNS Flood DDoS Saldırısı Gerçekleştirme
Değişik Türlerde DDoS Saldırı Analizi
Linux Araçları Kullanarak DDoS Saldırı Analizi
Linux Iptables Kullanarak DoS/DDoS Saldırılarını Engelleme
Hping/Nping/Mz/DDoSSim Araçları Kullanarak DDoS Testleri
DNS flood ve amplification dns flood ddos saldırısı gerçekleştirme
NTP üzerinden amplification dos saldırısı gerçekleştirme
DDoS Saldırılarında Spoof Edilmiş IP Adresleri ve İstatistiksel DDoS Analiz Aracı:Aguri Linux Sistemlerde SYN Flood DDoS Saldırılarına Karşı Önlem Alma Web sunuculara ddos saldırıları, netstat ve TCP oturum detaylari

Sınır Güvenliği Bileşenleri : Saldırı Tespit ve Engelleme Sistemleri (IDS/IPS)

IP TTL Değerlerini Kullanarak Firewall/IPS Keşfi Ngrep ile Ag Trafigi Analizi IDS, IPS, Active Response, Inline tanimlar Ngrep, Iptables ve Snort kullanarak DPI örnekleri Port Bağımsız Protokol Tanıma(PiPi) Uygulaması Ağ Trafiği İçinde Özel Kelimelerin Yakalanması
Kfsensor Kullanarak Tuzak Sistem  Kurulumu
Honeyd Kullanarak Tuzak Sistem Uygulaması
Paket parçalama saldırıları  ve IDS/IPS Sistemler
Snort Kullanarak  Web Tabanlı Saldırıların Engellenmesi
Encoding/Şifreli Trafik Kullanarak IPS Sistemleri Atlatma
DNS Tünelleme - tcp over dns ve iodine
SSH local port forwarding ve remote port forwarding
SSH üzerinden VPN kurulumu - sshuttle
Webtunnel ile HTTP istekleri üzerinden Tünel kurulumu
Ptunnel -icmp tünelleme
Waf keşif çalışması - wafw00f
Parçalanmış paketler kullanarak L7 firewall ve IPS Atlatma Çalışması
Proxy sistemler üzerinden Port Tarama /TOR)
Tuzak sistemler kullanarak port tarama , IPS şaşırtma  
Şifreli bağlantı kullanarak IPS Atlatma Tekniği 
Snort Kurallarının Testi
Ftester ile Firewall ve IDS  Testleri
Penetrasyon testlerinde IPS Keşfi
Kapalı port üzerinden bilgi transferi
Zebedee ile UDP bağlantılarını şifreleme

TCP/IP Ağlarda Gizli Kanallar ve Tünelleme

WebTunnel - HTTP istekleri ile TCP Tünel Kurulumu    
SSH Tünelleme Yöntemi ile İçerik Filtreleme/Firewall Atlatma  
DNS Tünelleme Yöntemi ile     
ICMP Protokolü üzerinden TCP Port Tünelleme
TOR Sistemi Kullanarak İnternette Gizlilik
Ultrasurf Kullanarak İçerik Filtreleme Atlatma   
Ultrasurf ve Benzeri Antisansür Yazılımlarının Engellenmesi
Port knocking kullanarak      
ICMP Protokolü kullanarak Uzaktan Sistem Yönetimi   
Tünnel-TOR Üzerinden Port Tarama ve Güvenlik Taramaları   
ICMP Ptotokolünün kötüye kullanımı
TOR Networku Uzerinden Port Tarama  TCP/IP Ağlarda Sniffer KullanımıNetcat ile Ag Oyunlari

VPN ve Şifreleme Teknolojiler ve Saldırı Yöntemleri

Encoding, Hash, Şifreleme Kavramları ve Farkları
Encoding Çeşitleri
Encoding Tipinin Belirlenmesi ve Çözümlenmesi
Şifreleme ve Hash Tipinin Belirlenmesi
İnternet üzerinden hash çıktısının araştırılması
Parola kırma denemelerinde CPU ve GPU farkları gösterimi
Windows parola kırma araç ve yöntemleri
Linux sistemler için parola kırma araç ve yöntemleri
Mobil sistemler için parola kırma araç ve yöntemleri
Parola güvenliğinde tuzlamanın önemi ve tuzlu parola kırma yöntemleri
Truecrypt ve Axcrytp kullanarak dosya/disk şifreleme
Disk şifreleme(Truecrypt) yazılımlarına yönelik kaba kuvvet parola deneme saldırıları
SSH trafiğinde araya girme, veri okuma ve değiştirme   
IPsec VPN Kurulumu ve Güvenlik uygulamaları
Openssl kullanarak SSL/TLS  uygulamaları
Sertifika üretimi, SO(sertifika otoritesi) oluşturma
Cisco Type 7 ve Type 5 parolalarının kırılması
Microsoft OWA Brute Force  
Basic Authentication Parola Denemeleri   
Microsoft Windows RDP Parola Denemeleri
Windows SMB Brute force saldırısı  
OpenSSH ile VPN Kurulumu  OpenSSL HeartBleed Zafiyeti İstismarı Cain& Abel kullanarak SSL MITM

NAT Arkasında Bulunan Ossec Agent’lar İçin Yapılandırma

$
0
0
Daha önce OSSEC isimli HIDS uygulamasından bahsedip, server/client mimarisi ile kurulumunu ve yapılandırmasına   (http://www.linuxakademi.com.tr/ossec-hids-kurulumu-ve-yapilandirmasi/) adresinde değinmiştik. Bu yazıda ise NAT arkasında bulunan birden fazla Ossec Agent’in nasıl monitor edilebileceğinden bahsedeceğiz. Zira, NAT arkasında bulunan birden çok sistemi Ossec üzerinden monitor etmek istediğiniz de, bu sistemlere bire bire NAT yapmaya gerek kalmadan aynı ip adresi üzerinde hizmet veren (yani dışarıdan erişilebilir  tek IP’si olan) birden fazla makineye entegre edilebilecek şekilde tasarlanmıştır. Bu yönetim sistemi  istemcinin ip  adresine göre değil üretilen key(anahtar) değerine göre belirlenmektedir.
Bu sistemi bir örnek üzerinden açıklamak gerekirse, İnternet üzerinde bulunan sunucunuzda bir sanallaştırma platformu üzerinden birden fazla sistem çalıştırabilir ve bu sanal sunucuları dışarı NAT’layarak tek bir IP üzerinden çıkmalarını sağlayabilirsiniz. Böyle bir yapıda Ossec Manager’ınız da internet üzerindeki başka bir sistem üzerinde çalışıyorsa, agent eklerken girmeniz gereken agent IP’si konusunda karmaşıklık olacaktır. Zira Ossec Manager, bu agent’lar ile aynı networkte olmadığından, internet üzerinden gelmeli ve fakat her agent aynı IP üzerinden NAT’lı olduğu için birebir NAT yapmadığınız yani her agent için gerçek bir IP kullanmadığınız müddetçe Manager’a spesifik bir agent IP’si vermeniz mümkün olmayacaktır. İşte bir firewall arkasında bulunan ve NAT’lanarak erişilebilen bir sistem için agent ekleme işlemini aşağıdaki şekilde yapmanız gerekecektir.
İlk adım Ossec Manager tarafından normal şekilde agent ekleme işlemi yapmaktır. Bunun için ossec yönetim arabirimine girilir.
# /var/ossec/bin/manage_agents

****************************************
* OSSEC HIDS v2.7.1 Agent manager.     *
* The following options are available: *
****************************************
  (A)dd an agent (A).
  (E)xtract key for an agent (E).
  (L)ist already added agents (L).
  (R)emove an agent (R).
  (Q)uit.
Choose your action: A,E,L,R or Q:


Daha sonra ekleme işlemi yapabilmek için “A” tuşuna basılır ve devam edilir.
Choose your action: A,E,L,R or Q: A

- Adding a new agent (use '\q' to return to the main menu).
 Please provide the following:
  * A name for the new agent: Ossec-test-agent
  * The IP Address of the new agent: any
  * An ID for the new agent[001]:

Agent information:
  ID:001
  Name:Ossec-test-agent
  IP Address:any

Confirm adding it?(y/n): y


Burada, ilk adımda yeni oluşturulan istemciye bir isim verdikten sonra, agent’in IP adresini girmeniz istenecektir. Eğer ekleyeceğimiz agent direk olarak gerçek ip adresi üzerinde hizmet vermiyor ise burada IP adresi olarak “any” değeri girilmelidir. Diğer bilgiler normal olarak doldurulduktan sonra yapılan değişiklikleri onaylamak adına “y” tuşuna basılarak devam edilir.
Bundan sonrası klasik agent ekleme işleminin devamı ile aynıdır. İlk olarak eklenen agent için bir anahtar üretilir.
****************************************
* OSSEC HIDS v2.7.1 Agent manager.     *
* The following options are available: *
****************************************
  (A)dd an agent (A).
  (E)xtract key for an agent (E).
  (L)ist already added agents (L).
  (R)emove an agent (R).
  (Q)uit.
Choose your action: A,E,L,R or Q: E

Available agents:
  ID: 001, Name: ossec-test-agent, IP: any


Provide the ID of the agent to extract the key (or '\q' to quit): 001

Agent key information for '001' is:

MDIwIG9zc2VjLXRlc3QtYWdlbnQsd432FDW55IDRkOGNkNjI1YjkwZTNhNDMxY....

** Press ENTER to return to the main menu.


Daha sonra üretilen bu anahtar değeri agent tarafında ossec yönetim arabiriminden içe aktarılır.
# /var/ossec/bin/manage_agents


****************************************
* OSSEC HIDS v2.7.1 Agent manager.     *
* The following options are available: *
****************************************
  (I)mport key from the server (I).
  (Q)uit.
Choose your action: I or Q: I

* Provide the Key generated by the server.
* The best approach is to cut and paste it.
*** OBS: Do not include spaces or new lines.

Paste it here (or '\q' to quit): MDIwIG9zc2VjLXRlc3QtYWdlbnQsd432FDW55IDRkOGNkNjI1YjkwZTNhNDMxY...

Agent information:
  ID:001
  Name:ossec-test-agent
  IP Address:any

Confirm adding it?(y/n): y
Added.
** Press ENTER to return to the main menu.


Import işleminin ardından yapılması gereken son işlem ise değişikliklerin kaydedilmesi için ossec manager ve ossec agent tarafında ossec servislerinin yeniden başlatılması olacaktır.
# /var/ossec/bin/ossec-control restart


Bu şekilde tanımlama sonlanmış olacaktır. Şimdi Ossec Manager bu agent’i tanımlamak için kendisine ait key’i kullanacağı için agent IP’sine ihtiyaç duymaksızın monitoring işlemini yapabilecektir.

Modern Linux Sistemlerde Bellek Dökümü Alma ve Volatility Profili Oluşturma

$
0
0
Modern Linux sistemlerde varsayılan olarak gelen güvenlik sıkılaştırmalarından dolayı ptrace, /dev/mem, /dev/kmem gibi hafıza dökümü elde etme yöntemleri kullanılabilirlik ve verimlilik açısından yetersiz kalmaktadır. Güvenlik önlemlerine takılmadan başarılı bir bellek dökümü elde edebilmek için sisteme bir kernel sürücüsü yüklemek gerekmektedir. Bu mantıkla çalışan LiME aracı kullanılarak modern Linux sistemlerde tam bir bellek dökümü elde edilebilir. Tabi ki sistem bir sanal makine üzerinde çalışıyorsa sanallaştırma platformunun imkanlarını kullanarak doğrudan bellek dökümünü almak mümkün olabilir.

Elde edilen hafıza dökümünü Volatility ile analiz edebilmek için dökümün elde edildiği Linux sistemin kernel versiyonu için hazırlanmış bir profil kullanılması gerekir. LiME ile bellek dökümü alma ve ilgili sistem için profil oluşturma işlerini otomatikleştiren lmg (Linux Memory Grabber) aracı kullanılabilir. Analiz edilecek sistemin belleğinde ve diskinde yapılacak değişiklikleri asgari düzeyde tutmak adına araçların harici bir belleğe yüklenmesi ve mümkünse profil oluşturma işleminin hedef sistemin bir kopyasında yapılması önerilir.

Örnek olarak 16 GB’lık harici bellek ve REMnux v5 Linux dağıtımı kullanılarak lmg yüklü bir USB bellek hazırlanması, lmg ile bellek dökümü alma ve Volatility profili oluşturma uygulaması aşağıdaki adımlar izlenerek yapılabilir. İşlemler belleği uygun şekilde biçimlendirmeyle başladığından içindeki veriler silinecektir.

1. USB Belleğin Hazırlanması:
İlk olarak USB belleğin sistemde hangi isimle gözüktüğü “dmesg” ve “df” komutları ile öğrenilir.

remnux@remnux:~$ dmesg
……
[  390.696490]  sdb: sdb1
[  390.704676] sd 3:0:0:0: [sdb] No Caching mode page present
[  390.704681] sd 3:0:0:0: [sdb] Assuming drive cache: write through
[  390.704683] sd 3:0:0:0: [sdb] Attached SCSI removable disk
[  392.374387] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: (null)
remnux@remnux:~$ df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             25286220   4577444  19424220  20% /
udev                    376248         4    376244   1% /dev
tmpfs                   153308       440    152868   1% /run
none                      5120         0      5120   0% /run/lock
none                    383268         0    383268   0% /run/shm
/dev/sdb1             15262640   2319024  12168296  17% /media/f288eaa0-93bf-4b40-b0ea-6606117f3ced


Devamında USB bellek şu adımlar izlenerek NTFS olarak biçimlendirilir. Disk istenilirse ext4 olarak da biçimlendirilebilir. Ext4 ile daha iyi performans almak mümkün olsa da alınan imajlar Linux dışında bir sisteme kopyalanırken dosya sisteminin tanınmamasından kaynaklanacak zorluklar yaşanabilir.

root@remnux:/home/remnux# umount /media/f288eaa0-93bf-4b40-b0ea-6606117f3ced/
root@remnux:/home/remnux# parted /dev/sdb mklabel msdos
Warning: The existing disk label on /dev/sdb will be destroyed and all data on
this disk will be lost. Do you want to continue?
Yes/No? Yes                                                              
Information: You may need to update /etc/fstab.                          

root@remnux:/home/remnux# parted /dev/sdb mkpart primary ntfs 1 15G
Information: You may need to update /etc/fstab.                          

root@remnux:/home/remnux# mkntfs -Q /dev/sdb1
Cluster size has been automatically set to 4096 bytes.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.


“cd /opt/“ ve “git clone https://github.com/halpomeranz/lmg.git” komutları ile lmd projesi indirilir. Daha sonra USB bellek mount edilip, lmg betiği içerisine kopyalanıp, çalıştırma izni verilir.

root@remnux:/opt# mkdir /media/usb
root@remnux:/opt# mount /dev/sdb1 /media/usb/
root@remnux:/opt# cp lmg/lmg /media/usb/
root@remnux:/media/usb# chmod +x lmg


İndirilen LiME projesi USB bellekteki lime dizinine kopyalanır.
root@remnux:/media/usb/# mkdir lime
root@remnux:/media/usb/lime# tar xzvf /home/remnux/Desktop/lime-forensics-1.1-r17.tar.gz
doc/
doc/LiME_Documentation_1.1.pdf
src/
src/disk.c
src/lime.h
src/main.c
src/Makefile
src/Makefile.sample
src/tcp.c


lmg projesiyle beraber gelen yama uygulanır.

root@remnux:/media/usb/lime# cd src/
root@remnux:/media/usb/lime/src# cp /opt/lmg/lime-Makefile.patch .
root@remnux:/media/usb/lime/src# patch < lime-Makefile.patch
patching file Makefile

Profil oluşturmak için gerekli olan dwarfdump dosyaları kopyalanır.

root@remnux:/media/usb# tar -xzvf /opt/lmg/static-dwarfdump.tgz
dwarfdump/
dwarfdump/dwarfdump-i686
dwarfdump/dwarfdump.conf
dwarfdump/dwarfdump-x86_64

Son olarak “git clone https://github.com/volatilityfoundation/volatility.git” komutu ile Volatility Framework de USB belleğe indirilerek bellek hazırlanmış olur.

2. Hedef Sistemin Bellek Dökümünün Alınması:

Hazırlanan USB bellek hedef sisteme takılıp lmg betiği çalıştırılır.

root@remnux:/media/usb# ./lmg
Try to build LiME kernel module? [N|y] y
make -C /lib/modules/3.0.0-32-generic/build M=/media/usb/lime/src modules
make[1]: Entering directory `/usr/src/linux-headers-3.0.0-32-generic'
  CC [M]  /media/usb/lime/src/tcp.o
  CC [M]  /media/usb/lime/src/disk.o
…….
…….
make[1]: Leaving directory `/usr/src/linux-headers-3.0.0-32-generic'
  adding: module.dwarf (deflated 90%)
  adding: boot/System.map-3.0.0-32-generic (deflated 75%)


Terminalde VOLATILITY_PLUGINS çevre değişkeni, yeni oluşturulan Volatility profilinin değerine eşitlenerek profil Volatilitiy’e tanıtılır.

root@remnux:/media/usb# export VOLATILITY_PLUGINS=./capture/remnux-2014-09-17_09.39.37/

Bu şekilde eklenen profil görülebilir.

root@remnux:/media/usb# ./volatility/vol.py --info |grep Linux
Volatility Foundation Volatility Framework 2.4
Linuxremnux-2014-09-17_09_39_37-profilex86 - A Profile for Linux remnux-2014-09-17_09.39.37-profile x86
linux_banner               - Prints the Linux banner information
linux_yarascan             - A shell in the Linux memory image

Elde edilen bellek dökümü ve oluşturulan profil ile bir Volatility komutu çalıştırılarak doğrulama yapılması tavsiye edilir. Örnekte bellek dökümünün alındığı anda sistemde çalışan süreçler linux_pslist komutu ile başarıyla listelenmiştir.

root@remnux:/media/usb# ./volatility/vol.py -f capture/remnux-2014-09-17_09.39.37/remnux-2014-09-17_09.39.37-memory.lime --profile=Linuxremnux-2014-09-17_09_39_37-profilex86 linux_pslist

Volatility Foundation Volatility Framework 2.4
Offset     Name                 Pid             Uid             Gid    DTB        Start Time
---------- -------------------- --------------- --------------- ------ ---------- ----------
0xee4c8000 init                 1               0               0      0x2e5f6000 2014-09-17 11:48:55 UTC+0000
0xee4c8cd0 kthreadd             2               0               0      ---------- 2014-09-17 11:48:55 UTC+0000
…………

0xe29fe680 kworker/0:0          1698            0               0      ---------- 2014-09-17 13:34:39 UTC+0000
0xef6b3340 lmg                  1718            0               0      0x1c43d000 2014-09-17 13:39:36 UTC+0000
0xe3f78cd0 insmod               1984            0               0      0x1c439000 2014-09-17 13:40:07 UTC+0000
0xe2830cd0 kworker/0:3          1985            0               0      ---------- 2014-09-17 13:43:52 UTC+0000

Kablosuz Ağ Güvenliği: İstemci İzolasyonu

$
0
0

Kablosuz Ağlarda İstemci İzolasyonu

Ön tanımlı ayarlarla kurulan bir kablosuz ağdaki bir kullanıcı, kablosuz ve kablolu ağda bulunan tüm cihazlara (bilgisayarlara, yazıcılara vs.) erişebilir. Ağ istemcilerinin, kurum çalışanları tarafından oluşturulduğu bir sistemde bunun bir sakıncası yoktur. Fakat kablosuz ağa dışardan birileri bağlanmakta ise tüm ağ tehlike altında demektir. Aynı tehlike misafirler için oluşturulan kablosuz ağda bulunan misafirler içinde geçerlidir, misafir ağına bağlanan bir saldırgan diğer misafirlerin cihazlarına erişim sağlayabildiğinden çeşitli saldırı (MITM: Ortadaki Adam Saldırısı) yöntemleri ile diğer kullanıcılara ait bilgilere ulaşabilir.
Bu tehlikeyi ortadan kaldırmak mümkün Bunun için, kablosuz yayın yapan cihazlarda bulunan "İstemci İzolasyonu"özelliğinin aktif olması gerekmektedir. Örnek bir ekran alıntısı aşağıda verilmiştir.


Bu özellik aktif edildiğinde kablosuz ağda bulunan bir kullanıcı ağda bulunan diğer kullanıcılara erişim sağlayamaz. Bunun ispat edilmesi adına "İstemci İzolasyonu"özelliğinin aktif edilmemiş ve aktif edilmiş hallerinde, ağda bulunan diğer istemciler tespit edilmeye çalışılacaktır. Tespit için Nmap aracı kullanılacaktır.

1. Ağda host keşfi: İstemci İzolasyonu Aktif Değil

Nmap aracında parametreler vererek ağda çeşitli bilgiler elde edilebilir. Burada ağda bulunan cihazların varlığı tespit edilmeye çalışılacaktır.Kullanılan komut;

root@kali:~# nmap 192.168.1.0/24 -sn

Elde edilen çıktıya ait ekran alıntısı;


Çıktıda görüldüğü gibi ağda bulunan diğer cihazların varlığı tespit edilebilmiştir. Aynı zamanda kullanıcılara erişim sağlanabilmektedir, bunun tespiti için hedef bir istemciye ping atılabilir.


2. Ağda host keşfi: İstemci İzolasyonu Aktif

"İstemci İzolasyonu"özelliği aktif iken aynı işlemler yapılacaktır.


Görüldüğü gibi tarama yapan cihaz, sadece router ve kendini görebilmiştir. Yine varlığı yukarıda tespit edilmiş olan 192.168.1.100 cihazına ping atarak ulaşılmaya çalışıldığında;


hedefe ulaşılamayacaktır. 

Sonuç olarak başka bir güvenlik ürününe ihtiyaç duyulmadan istemciler aynı ağdan gelebilecek saldırılara karşı korunmuş oldu.

Linux Sanal Makine Üzerinde eth0 Ağ Arayüzü Problemi

$
0
0
Sanal olarak oluşturulan linux makinalar bir bilgisayardan başka bilgisayarlara aktarıldığında ağ arayüzlerinde değişim gözlenir. Ağ arayüzü eth0 iken eth1, eth2 şeklinde değişir. Bu sorunun kaynağı, işletim sistemlerinin ağ arayüzlerini ağ kartının MAC adresine göre atamasıdır. Sanal makine her taşındığı bilgisayarın ağ kartının MAC adresini okuyacağından ağ arayüzünü de ethx (x: bir sayı) şeklinde isimlendirecektir.
Bu sorunu çözmek mümkün, bunun için konfigurasyon ayarlarına müdehale edilmesi yeterli olacaktır.

1. Öncelikle ağ arayüzünde tanımlı mevcut MAC adresi tespit edilir.


2. "nano /etc/udev/rules.d/70-persistent-net.rules"komutu ile ağ kurallarının barındırıldığı dosya düzenlenir.

Görüldüğü üzere 3 farklı ağ arayüzü tespit edilmiştir, şuan kullanılmakta olan ağ arayüzü MAC adresinden anlaşılacağı üzere en altta bulunmaktadır. Mevcut ağ kartının MAC adresi kopyalanır, son oluşturulan iki ağ arayüzü tanımlamaları silinir ve birinci ağ arayüzü tanımlamasındaki MAC adresi değiştirilir.
Bu örnek için yeni ağ kural yapısının düzenlenmiş haline ait ekran görüntüsü aşağıda verilmiştir;


3. "nano /etc/sysconfig/network-scripts/ifcfg-eth0"komutu ile ifcfg-eth0 dosyasındaki MAC adresi tanımlaması düzenlenir.


ifcfg-eth0 dosyasındaki MAC adresi değiştirilip dosya kaydedildikten sonra sistem yeniden başlatıldığında eth0 arayüzü yeniden gelmiş olacaktır.




Linux Sistemlerde Bellek Analizi - II (Ağ Hareketleri)

$
0
0
Olay müdahale süreçlerinde bellek analizine başlanması gereken nokta saldırının türüne göre değişse de, çoğu durumda zararlının bir C&C ile haberleşmeye çalıştığı göz önünde bulundurularak analize ağ hareketlerinden başlanabilir.

Hedef sistem için oluşturulan profili (bkz: http://blog.bga.com.tr/2014/09/modern-linux-sistemlerde-bellek-dokumu.html) Volatility’e “export VOLATILITY_PLUGINS=../capture/remnux-2014-09-26_07.57.52/“ komutuyla VOLATILITY_PLUGINS çevre değişkeni atanarak tanıtılır.

İlk olarak
“./vol.py -f /media/usb/capture/remnux-2014-09-26_07.57.52/remnux-2014-09-26_07.57.52-memory.lime --profile=Linuxremnux-2014-09-26_07_57_52-profilex86 linux_ifconfig” ile sistemdeki ağ arayüzleri listelenir. Pratiklik adına bellek dökümünün yolunu gösteren -f parametresi ve kullanılan profili belirten —profile parametresi yine çevre değişkeni olarak tanımlanabilir.

Örneğin:
export VOLATILITY_LOCATION= /media/usb/capture/remnux-2014-09-26_07.57.52/remnux-2014-09-26_07.57.52-memory.lime
export VOLATILITY_PROFILE=Linuxremnux-2014-09-26_07_57_52-profilex86

linux_ifconfig eklentisinin çıktısından elde edilen sistemdeki ağ arayüzleri ve atanan IP adresleri analizin devamında gerekli olabilir. Yine “promiscous mode" değeri “True” olan bir arayüz ipucu oluşturabilir.

Interface        IP Address           MAC Address        Promiscous Mode
---------------- -------------------- ------------------ ---------------
lo               127.0.0.1            00:00:00:00:00:00  False         
eth0             172.16.63.160        00:0c:xx:47:xx:xx  False



Daha sonra
“./vol.py linux_netstat”    ile sistemdeki ağ bağlantıları listelenir. UNIX socketleri IPC (inter-process communication) için de kullanıldıklarından linux_netstat komutun çıktısında listeleneceklerdir.

……
UNIX 7719           dbus-daemon/539   /var/run/dbus/system_bus_socket
UNIX 8423           dbus-daemon/539   /var/run/dbus/system_bus_socket
UNIX 6831       upstart-socket-/637  
UDP      0.0.0.0         :   68 0.0.0.0         :    0                         dhclient3/720 
UNIX 7111             dhclient3/720  
….
UNIX 13065           mount.ntfs/1652 
UNIX 21419       gvfsd-metadata/3943 
UNIX 6324                 udevd/4072 
TCP      172.16.63.160   :57105 89.238.150.154  :    5 SYN_SENT          73b0d95541c8496/4145
UNIX 24437           mount.ntfs/4523 
UNIX 24514                 sudo/4550 


Çıktıdan 73b0d95541c8496 isimli 4145 PID’li sürecin 89.238.150.154 adresinin 5 numaralı portuna bağlanmaya çalıştığı anlaşılmaktadır. Bu noktada IP analiz edilmelidir.

“./vol.py linux_list_raw”    ile sistemdeki raw socket kullanan süreçler bulunabilir.

Process          PID    File Descriptor Inode            
---------------- ------ --------------- ------------------
dhclient3           720               3               6524


“./vol.py linux_route_cache”    ile hangi IP’ye gitmek isteyen paketlerin hangi IP üzerinden yönlendirildiği ve hangi ağ arayüzünün kullanıldığı görüntülenir. “-R” parametresi kullanılırsa IP’lere DNS çözümlemesi de yapılmaya çalışılır.

Interface        Destination          Gateway
---------------- -------------------- -------
lo               172.16.63.160        172.16.63.160
lo               172.16.63.160        172.16.63.160
eth0             89.238.150.154       172.16.63.2
eth0             89.238.150.154       172.16.63.2



“./vol.py linux_arp”    ile sistemin arp tablosu görüntülenir. Bu sayede yerel ağda iletişim kurulmuş olan diğer sistemler/cihazar tespit edilir. Örnek, bir önceki komutun çıktısıyla beraber yorumlanınca yerel ağda sadece gateway ile iletişim kurulduğu anlaşılmaktadır.

Volatility Foundation Volatility Framework 2.4
[172.16.63.2                               ] at 00:50:xx:xx:xx:69    on eth0

Son olarak bazı durumlarda
“./vol.py linux_pkt_queues -D ./output“     komutu ile bağlantıların içeriklerini kısmen de olsa elde etmek mümkündür. Elde edilen çıktıların içerikleri “xxd -a ./output/dosya” komutu ile hexadecimal ve ascii olarak görüntülenebilir.



WAN Arayüzünden Erişime Açık Olan Ağ Cihazlarının Parolasının Elde Edilmesi

$
0
0
Ağ cihazlarının yönetim panellerine WAN arayüzünden erişimin açık bırakılması güvenlik açısından son derece tehlikelidir. Bu tip cihazlara erişimde kullanılan kullanıcı adı genellikle "admin" yada "root" tur. Bir saldırganın WAN arayüzünden erişimi açık bırakılmış bir cihazın yönetim paneline erişmesi için gerekli olan parola bilgisi kaba kuvvet saldırıları ile elde edilebilir. Bu makalede WAN arayüzünden yönetim paneli açık bırakılmış bir router'ın parolası kaba kuvvet ile elde edilip yönetim paneline ulaşılacaktır.
Örnek olması açısından hedef cihaz, WAN arayüzünün 80. portundan erişilebilecek şekilde yapılandırmıştır. Çeşitli araçlar kullanılarak 80. portu açık IP adresleri tespit edilebilir. Aşağıda WAN arayüzünden ulaşılabilen bir cihazın ekran alıntısı verilmiştir.


Görüldüğü üzere marka ve modeli belli olan cihazın kullanıcı adı kullanım klavuzu elde edilerek öğrenilebilir. Cihazın kullanıcı parolası kısmına kaba kuvvet saldırısı yapılarak parola elde edilebilir.
Bu iş için kullanılabilecek araçlardan bir tanesi "hydra" dır. Hydra aracını kullanarak sözlük saldırısında bulunulabilir. Örnek bir "hydra" kullanımı parametreleri ile birlikte verilmiştir.


Burada farklı parametreler kullanarak daha sağlıklı bir deneme yapılabilir, örneğin "-f" parametresi geçerli parola bulunduktan sonra taramayı sonlandırır.
"hydra" aracının buradaki kullanımına ve sonucuna ait ekran alıntısı aşağıda verilmiştir.


Program çıktısından da görüldüğü gibi, kullanıcı parolasının "bga123" olduğu tespit edilmiştir. Elde edilen kullanıcı adı ve parola bilgileri ile sisteme giriş yapılmaya  çalışıldığında;


Görüldüğü üzere hedef cihazın yönetim paneline erişilebilmiştir. Bu noktadan sonra saldırganlar tarafından verilebilecek zararlar senaryolara göre değişebilir.
Bu tip saldırılardan korunmak adına cihazların yönetim panellerine WAN arayüzünden erişim seçeneği aktif edilmemelidir.

Linux Sistemlerde Bellek Analizi - III (Süreçler)

$
0
0
Bellek analizinde ağ hareketlerinden (bkz: http://blog.bga.com.tr/2014/09/linux-sistemlerde-bellek-analizi-ii-ag.html) sonra gerek bağlantılarla ilişkili süreçlerin, gerekse diğer şüpheli süreçlerin incelenmesi gerekir. Bellekteki süreçler, Volatility kullanılarak etraflıca analiz edilebilir.


İlk olarak “vol.py linux_pslist”    komutu ile bellek dökümünün alındığı anda sistemde çalışan tüm süreçler listelenir. Ağ hareketlerinden görülen 4145 PID’li sürecin Uid, Gid ve Start Time gibi detayları da bu listede görülebilir.

Offset     Name                 Pid             Uid             Gid    DTB        Start Time
---------- -------------------- --------------- --------------- ------ ---------- ----------
………
0xece30cd0 bash                 3945            1000            1000   0x2a8f6000 2014-09-26 11:28:43 UTC+0000
0xec024010 scsi_eh_4            4068            0               0      ---------- 2014-09-26 11:34:17 UTC+0000
0xec020000 usb-storage          4069            0               0      ---------- 2014-09-26 11:34:17 UTC+0000
0xec0219a0 udevd                4072            0               0      0x2c6ce000 2014-09-26 11:34:18 UTC+0000
0xe290a670 kworker/0:0          4133            0               0      ---------- 2014-09-26 11:38:42 UTC+0000
0xedf4a670 73b0d95541c8496      4145            1000            1000   0x23ce8000 2014-09-26 11:38:54 UTC+0000
0xec1d8cd0 kworker/0:1          4449            0               0      ---------- 2014-09-26 11:53:45 UTC+0000
0xec1d8000 mount.ntfs           4523            0               0      0x0263e000 2014-09-26 11:57:08 UTC+0000
0xec36b340 flush-8:32           4541            0               0      ---------- 2014-09-26 11:57:29 UTC+0000
0xec36a670 sudo                 4550            0               1000   0x146df000 2014-09-26 11:57:51 UTC+0000
0xec36c010 lmg                  4551            0               0      0x15d26000 2014-09-26 11:57:51 UTC+0000
0xe29fc010 insmod               4570            0               0      0x2dcb6000 2014-09-26 11:57:51 UTC+0000
0xe29f8cd0 kworker/0:2          4571            0               0      ---------- 2014-09-26 11:58:47 UTC+0000

Şüpheli sürecin Uid ve Gid değerlerinin 1000 olduğu çıktıdan görülebilir. Sürecin hangi kullanıcı ve grubun yetkileriyle çalıştırıldığı “grep 1000 /etc/{passwd,group}”    komutuyla görüntülenir.

remnux@remnux:/media/usb/volatility$ grep 1000 /etc/{passwd,group}
/etc/passwd:remnux:x:1000:1000:REMnux User,,,:/home/remnux:/bin/bash
/etc/group:remnux:x:1000:

Çıktıdan 1000 değerinin remnux kullanıcısına ve remnux grubuna karşılık geldiği anlaşılıyor. Süreçler arasındaki ilişkiyi de gösteren bir listeye ihtiyaç duyulursa “./vol.py linux_pstree”    komutu kullanılır.

Name                 Pid             Uid
………
..[lxterminal]       1104            1000          
..bash               1105            1000          
..bash               2469            1000          
..bash               3619            1000          
...sudo              4550            0             
....lmg              4551            0             
.....insmod          4570            0  
           
..bash               3945            1000          
.vmtoolsd            1084            1000          
.gvfsd               1089            1000          
.gvfs-fuse-daemo     1097            1000          
.menu-cached         1103            1000          
.udisks-daemon       1168            0             
..udisks-daemon      1169            0             
.gvfs-gdu-volume     1166            1000          
.gvfs-gphoto2-vo     1222            1000          
.gvfs-afc-volume     1229            1000          
.gconfd-2            1279            1000          
.vmware-vmblock-     1333            0             
.vmtoolsd            1373            0             
.gvfsd-trash         1465            1000          
.mount.ntfs          1652            0             
.gvfsd-metadata      3943            1000          
.73b0d95541c8496     4145            1000          
.mount.ntfs          4523            0             
[kthreadd]           2               0             
.[ksoftirqd/0]       3               0             
.[kworker/u:0]       5               0             
.[migration/0]       6               0             
.[cpuset]            7               0             

Çıktıda şüpheli sürecin dışında, isimleri köşeli parantezlerin içinde gözüken süreçler normalde sistem süreçleridir. Ancak bazı zararlılar gizlilik adına bu kendilerine bu şekilde isim verebilirler. Bunun yanı sıra “bash->sudo->lmg->insmod” olarak gözüken süreç ağacı da bellek dökümü almak için kullanılan lmg aracının (bkz …) bellekte değişikliğe sebep olduğunu hatırlatır niteliktedir.

Sürecin kullandığı harici kütüphaneler, diskte bulunduğu tam yol, bellekteki başlangıç ve bitiş adresleri, bellekteki bu bölümlerin izinleri gibi detaylar “./vol.py linux_proc_maps -p 4145” komutu ile görüntülenir. Bu çalışan bir sistemde “cat /proc/4145/maps”    komutuna karşılık gelir.

Pid      Start              End                Flags       Pgoff Major  Minor  Inode      File Path
-------- ------------------ ------------------ ------ ---------- ------ ------ ---------- ---------
    4145 0x0000000000295000 0x0000000000296000 r-x           0x0      0      0          0 [vdso]
    4145 0x0000000008048000 0x00000000080cb000 r-x           0x0      8      1     676442 /home/remnux/Desktop/73b0d95541c84965fa42c3e257bb349957b3be626dec9d55efcc6ebcba6fa489
    4145 0x00000000080cb000 0x00000000080cd000 rw-       0x82000      8      1     676442 /home/remnux/Desktop/73b0d95541c84965fa42c3e257bb349957b3be626dec9d55efcc6ebcba6fa489
    4145 0x00000000080cd000 0x00000000080d2000 rw-           0x0      0      0          0
    4145 0x0000000008e24000 0x0000000008e46000 rw-           0x0      0      0          0 [heap]
    4145 0x00000000b779e000 0x00000000b779f000 rw-           0x0      0      0          0
    4145 0x00000000bfbab000 0x00000000bfbcd000 rw-           0x0      0      0          0 [stack]


Elde edilen bilgilerle süreç bellekten diske “./vol.py linux_dump_map -p 4145 -s 0x0000000008048000 -D ../output” komutuyla kaydedilir.

-p 4145 (sürecin PID değeri)
-s 0x0000000008048000 (sürecin bellekteki başlangıç adresi)
-D ../output (kaydedilecek dizin)

Volatility Foundation Volatility Framework 2.4
Task       VM Start   VM End         Length Path
---------- ---------- ---------- ---------- ----
      4145 0x08048000 0x080cb000    0x83000 ../output/task.4145.0x8048000.vma

file ../output/task.4145.0x8048000.vma”    komutuyla dosyanın türü doğrulanabilir.

output/task.4145.0x8048000.vma: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, stripped

Bu aşamada elde edilen şüpheli dosya Virustotal’e yüklenebilir ve static/dinamik diğer analiz yöntemleriyle incelenebilir.

“./vol.py linux_psaux”    komutu çalışan bir sistemdeki “ps aux” komutuna karşılık gelir. Komut “linux_pslist” komutundan farklı olarak süreçlerin komut satırı argümanlarını da görüntüler. Çıktı incelenirken bazı zararlıların çalışma anında bellekteki komut satırı argümanlarının üzerine başka değerler yazarak gizleyebildiklerini de unutmamak gerekir.

Pid    Uid    Gid    Arguments                                                      
……                            
3945   1000   1000   /bin/bash                                                      
4068   0      0      [scsi_eh_4]                                                    
4069   0      0      [usb-storage]                                                  
4072   0      0      udevd --daemon                                                 
4133   0      0      [kworker/0:0]                                                  
4145   1000   1000   ./73b0d95541c84965fa42c3e257bb349957b3be626dec9d55efcc6ebcba6fa489
4449   0      0      [kworker/0:1]                                                  
4523   0      0      /sbin/mount.ntfs /dev/sdc1 /media/usb/ -o rw                   
4541   0      0      [flush-8:32]                                                   
4550   0      1000   sudo ./lmg                                                     
4551   0      0      /bin/bash ./lmg                                                
4570   0      0      insmod lime-3.0.0-32-generic-i686.ko format=lime path=/media/usb/capture/remnux-2014-09-26_07.57.52/remnux-2014-09-26_07.57.52-memory.lime

Benzer şekilde “./vol.py linux_psenv -p 4145”    komutuyla sürecin çevre değişkenleri listelenir.

Volatility Foundation Volatility Framework 2.4
Name   Pid    Environment
73b0d95541c8496   4145   SSH_AGENT_PID=1048
………
XAUTHORITY=/home/remnux/.Xauthority _=./73b0d95541c84965fa42c3e257bb349957b3be626dec9d55efcc6ebcba6fa489 ./73b0d955


“./vol.py linux_lsof -p 4145” komutu ile sürecin sahip olduğu dosya handleları görüntülenir. Linux’de cihaz, socket vb. IO yapılarına da uygulama bazında dosya gibi davranıldığı için çıktısından faydalı birçok bilgi edinilebilir. Örneğin FD (file descriptor) alanındaki 0 stdin, 1 stdout, 2 stderr ve 3 kernel modulü anlamlarını taşımaktadır.

Volatility Foundation Volatility Framework 2.4
Pid      FD       Path
-------- -------- ----
    4145        0 /dev/pts/3
    4145        1 /dev/pts/3
    4145        2 /dev/pts/3
    4145        3 socket:[24583]

Son olarak “./vol.py linux_bash” komutuyla bash kabuğu geçmişi ve “./vol.py linux_bash_env” ile bash çevre değişkenleri görüntülenebilir. Bash geçmişinden kabuk erişimi aracılığıyla çalıştırılmış komutlar dolayısıyla sistemde yapılan değişiklikler tespit edilebilir.

Pid      Name                 Command Time                   Command
   3945 bash                 2014-09-26 11:31:23 UTC+0000   unzip linux_73b0d95541c84965fa42c3e257bb349957b3be626dec9d55efcc6ebcba6fa489.zip
    3945 bash                 2014-09-26 11:31:24 UTC+0000   ls
   3945 bash                 2014-09-26 11:31:40 UTC+0000   file 73b0d95541c84965fa42c3e257bb349957b3be626dec9d55efcc6ebcba6fa489
    3945 bash                 2014-09-26 11:37:50 UTC+0000   chmod +x 73b0d95541c84965fa42c3e257bb349957b3be626dec9d55efcc6ebcba6fa489
   3945 bash                 2014-09-26 11:38:55 UTC+0000   ./73b0d95541c84965fa42c3e257bb349957b3be626dec9d55efcc6ebcba6fa489
    3945 bash                 2014-09-26 11:41:08 UTC+0000   netstat -nta

Linux Sistemlerde Bellek Analizi - IV (Kernel ve Dosya Sistemi)

$
0
0
Linux sistemlerde bellek analizinin son adımında şüpheli kernel aktiviteleri ve dosya sistemi işlemleri tespit edilmeye çalışılır. Bu sayede sisteme bağlı olan IO cihazları, son yapılan IO aktiviteleri, rootkit gibi kernel seviyesinde çalışan zararlıların etkileri gözlenir.

İlk olarak “./vol.py linux_dmesg” komutuyla sistem mesajları görüntülenir. Örnekte sisteme bağlanılan USB belleğin adı (Kingston DataTraveler) ve atanan cihaz adı (sdc) vurgulanmıştır.


<3>[12287.092572] Buffer I/O error on device sdb1, logical block 484581
<3>[12287.092579] Buffer I/O error on device sdb1, logical block 484582
<3>[12287.092582] Buffer I/O error on device sdb1, logical block 484583
<3>[12287.092585] Buffer I/O error on device sdb1, logical block 484584
<3>[12287.092587] Buffer I/O error on device sdb1, logical block
[7214815481442954862.7214815481] mber 4
<6>[10002.044303] usb 2-2.1: new full speed USB device number 5 using uhci_hcd
<6>[10677.008140] Netfilter messages via NETLINK v0.30.
<6>[10756.954499] ip_tables: (C) 2000-2006 Netfilter Core Team
<7>[11644.083407] [0]: VMCI: Updating context from (ID=0x37093099) to (ID=0x37093099) on event (type=0).
<6>[11644.198071] usb 2-2.1: USB disconnect, device number 5
<6>[11644.472391] usb 2-2.1: new full speed USB device number 6 using uhci_hcd
<6>[12282.195248] usb 1-1: new high speed USB device number 3 using ehci_hcd
<6>[12283.877530] scsi4 : usb-storage 1-1:1.0
<5>[12284.879229] scsi 4:0:0:0: Direct-Access     Kingston DataTraveler SE9 PMAP PQ: 0 ANSI: 4
<5>[12284.884714] sd 4:0:0:0: Attached scsi generic sg2 type 0
<5>[12284.885713] sd 4:0:0:0: [sdc] 31014912 512-byte logical blocks: (15.8 GB/14.7 GiB)
<5>[12284.888359] sd 4:0:0:0: [sdc] Write Protect is off

<7>[12284.888411] sd 4:0:0:0: [sdc] Mode Sense: 23 00 00 00

Daha sonra “./vol.py linux_lsmod” ile sistemde yüklü kernel modülleri listelenir. Standart dışı modüllerin belirlenip detaylı incelenmesi gerekir. “-P” parametresi ile modüllerin parametreleri “-S” parametresi ile de modüllerin bölümleri (.bss, .data vb.) listelenebilir.

f0ad6020 lime 17710
f0a7d1c0 xt_tcpudp 12531
f0a230e0 xt_NFQUEUE 12630
f0a18040 iptable_filter 12706
f0ade180 ip_tables 18106
………
f0877100 mptscsih 39377
f0895020 mptbase 96811
f085f2c0 scsi_transport_spi 25532
f084e180 vmxnet 22204
f083e160 vmw_pvscsi 18334
f081b180 vmxnet3 44926


Şüpheli görülen modüller “./vol.py linux_moddump-D~/Desktop/dump -r xt_NFQUEUE” ile dump edilir. -r parametresi ile ayıklanacak modül, -D ile de kaydedileceği yer belirlenir.

FIXING
walking 12 syms to be fixed....
adding section .note.gnu.build-id | 52 with size 36 | 36
………
added section                        .strtab with size 1940816 file offset  29140 len(section_data):  29088
Wrote 1970583 bytes to xt_NFQUEUE.0xf0a230e0.lkm

Modülün doğru bir şekilde ayıklandığı “file ~/Desktop/dump/xt_NFQUEUE.0xf0a230e0.lkm” ile doğrulanır. Çıktını bir ELF dosyası olması beklenmektedir. Devamında readelf, strings, veya harici disassambler  araçlarıyla dosya üzerinde statik analiz yapılabilir.

/home/remnux/Desktop/dump/xt_NFQUEUE.0xf0a230e0.lkm: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped

Analize dosya sistemindeki etkilerle devam etmek makul bir seçim olacaktır. Öncelikle
“./vol.py linux_mount” ile sisteme bağlanmış diskler görüntülenir.  Örnekte /media/usb dizinine iki farklı diskin bağlandığı görülebilir.

/dev/disk/by-uuid/ca8458f6-f0fc-47d5-a201-373f147c79f4 /                                   ext4         rw,relatime                                                      
tmpfs                     /run                                tmpfs        rw,relatime,nosuid                                               
devpts                    /dev/pts                            devpts       rw,relatime,nosuid,noexec                                        
sysfs                     /sys                                sysfs        rw,relatime,nosuid,nodev,noexec                                  
/dev/sdb1                 /media/usb                          fuseblk      rw,relatime,nosuid,nodev                                         
none                      /run/lock                           tmpfs        rw,relatime,nosuid,nodev,noexec                                  
none                      /run/shm                            tmpfs        rw,relatime,nosuid,nodev                                         
/dev/sdc1                 /media/usb                          fuseblk      rw,relatime,nosuid,nodev                                         
fusectl                   /sys/fs/fuse/connections            fusectl      rw,relatime                                                      
gvfs-fuse-daemon          /home/remnux/.gvfs                  fuse         rw,relatime,nosuid,nodev                                         
udev                      /dev                                devtmpfs     rw,relatime                                                      
none                      /sys/kernel/security                securityfs   rw,relatime                                                      
vmware-vmblock            /run/vmblock-fuse                   fuse         rw,relatime,nosuid,nodev                                         
…….


Daha sonra “/vol.py linux_enumerate_files” ile VFS’nin (virtual file system) bellekteki kalıntıları kullanılarak sistemdeki dosya ve dizinler listelenir. Komutun çıktısını grep ile filtreleyerek incelenecek bölümü daraltmak genelde tercih edilmesi gereken bir yaklaşımdır. 

/home/remnux
/home/remnux/Desktop
/home/remnux/Desktop/73b0d95541c84965fa42c3e257bb349957b3be626dec9d55efcc6ebcba6fa489
/home/remnux/.gvfs
/home/remnux/.cache
/home/remnux/.cache/openbox
/home/remnux/.cache/openbox/openbox.log
/home/remnux/.local
/home/remnux/.local/share
/home/remnux/.local/share/route
/home/remnux/.xsession-errors


“./vol.py linux_recover_filesystem -D ~/Desktop/files” ile bellekteki dosyaları kurtarmak mümkün olabilir. Buna karşın seçilen belli dosyaları ayıklamaya çalışmak daha etkili bir çözüm olacaktır. Bunun için “./vol.py linux_find_file -F /home/remnux/Desktop/73b0d95541c84965fa42c3e257bb349957b3be626dec9d55efcc6ebcba6fa489”  ile listelenen dosyanın inode adresi bulunur.

node Number          Inode File Path
---------------- ---------- ---------
          676442 0xe00b71c0 /home/remnux/Desktop/73b0d95541c84965fa42c3e257bb349957b3be626dec9d55efcc6ebcba6fa489
Daha sonra “./vol.py linux_find_file -i 0xe00b71c0 -O ~/Desktop/dump/t.dump” ile -i parametresine inode adresi, -O parametresine de kaydedilecek dosya adı verilip hedef dosya ayıklanır. Elde edilen dosya üzerinde türüne göre gerekli çalışmalar yapılarak analiz sonlandırılır.

BGA, Yetkili "Pearson VUE" Test Merkezi Oldu

$
0
0
Pearson VUE ile yaptığımız görüşmelerin olumlu sonuçlanmasıyla birlikte 25 Eylül 2014 tarihi itibariyle BGA İstanbul şubesinde aşağıda ismi geçen firmalara ait sınavları verme yetkisi tanınmıştır. Gelen yoğun talep nedeniyle şimdilik sadece hafta içi Çarşamba günleri sınav katılım talepleri değerlendirilmektedir.

                Client Authorizations
                =====================
 Your center is now authorized to deliver exams for the following Pearson VUE Testing clients:

ACSM
Adobe
AFP
Alfresco
American Academy of Financial Management India
Android ATC
APBM
AppSense
Aruba Networks Inc.
Avaya Inc. Testing
BBPSD
BCS The Chartered Institute for IT
BICSI
BOMI International
Brocade Communications
C++ Institute
Chainshine Financial Training
Chartered Institute of Management Accountants
Check Point Software Technologies
Citrix Systems, Inc.
CIW
Cloudera
CompTIA Testing
Condition Zebra (M) Sdn. Bhd.
CWNP
Dassault Systemes
Digia Qt
Digital Marketing Institute
EC-Council
EMC
Esri
EUBAT
Excelsior College
EXIN
First Finance Institute
Fortinet
G. Council For Islamic Banks & Fin. Institutions
Global Association for Quality Management (GAQM)
Global Association of Risk Professionals
HBX
HP ExpertOne
ICRM
IFTA
Infosys Limited
Institute and Faculty of Actuaries
International Qualifications Network
Intl Board of Lactation Consultant Examiners
ISA
iSQI
Juniper Networks
Linux Professional Institute Testing
Microsoft
National Instruments
National Recreation and Park Association (NRPA)
NetApp
Nokia
Novell Testing
Object Management Group
Oracle Certification Program
PCI Security Standards Council
Pegasystems Inc
PEOPLECERT
PRMIA
PTI
Puppet Labs
QlikView 11 Certification Program
Riverbed Technology
RSA Security Testing
SAMTRAC
SAS
SensioLabs
Software Certifications
SpringSource
Symantec
TCG Hamilton
TYPO3
Udacity
VEEAM VMCE
VMware, Inc.
VUE Testing
WorldatWork
Zend Technologies, Ltd.
ZTE

BGA Bilgi Güvenliği Danışmanlık Hizmetleri

$
0
0
BGA olarak Bilgi Güvenliği danışmanlık çatısı altında kurumun güvenlik ihtiyaçlarını anlayan, saldırıları öngörebilen ve siber güvenlik konusunda doğru alanda yatırım yapılmasını sağlamayı amaçlıyoruz. Genişleyen kadromuzla Türkiye ve Azerbaycan'ın ileri gelen kamu kurumları ve özel şirketlerine stratejik siber güvenlik danışmanlığı yapmaktayız.
Danışmanlık  hizmetinin genel çerçevesinin çizilmesi ile birlikte BGA’nın danışman kadrosu tarafından kurumun  envanteri, internet ortamındaki varlığının haritası çıkartılır ve kapsamlı bir güvenlik denetimi gerçekleştirilir. Bu  çalışma sonuçlarıyla birlikte  kurumun siber güvenlik risk haritasının çıkartılmasını ve yapılması gereken güvenlik yatırımlarının en doğru şekilde yönlendirilmesini sağlamak amacıyla bir yıl boyunca kuruma yerinde ve uzaktan destek sağlanır. Bu sayede kurumlar kendilerine yönelik gerçekleştirilebilecek siber saldırılara karşı doğrudan önlem alabilmekte ve gereksiz/geri dönüşü zayıf harcamaların kurum bütçesini olumsuz yönde etkilemesi önleyebilmektedir.

Kurumlara Sunduğumuz Siber Güvenlik Danışmanlıkları Aşağıda Yer Almaktadır:
Başlıklara ait detay içerikler ve her bir başlık için referanslarımız için lütfen bizimle iletişime geçiniz( 
http://www.bga.com.tr/iletisim.html)
      Penetrasyon(Sızma) Testleri   
      DoS/DdoS  ve Stres Testleri   
      Performans ve Yük Testleri  
      Kaynak Kod Güvenlik Denetimi  
      Linux/UNIX Sistem Güvenliği Sıkılaştırma Hizmeti
      Windows Sistem Güvenliği Sıkılaştırma Hizmeti
      ISO 27001 (BGYS) Kurulum ve Yönetimi
      Web ve Mobil Uygulama Güvenlik Testleri
      Zararlı Yazılım (Malware) Analizi
      PCI DSS Danışmanlığı
      Bilgi Güvenliği İhlal ve Olay Yönetimi
      ICS/SCADA Güvenlik Testleri ve Güvenli SCADA Kurulumu
      Siber Suç ve Adli Bilişim Analizi
      Siber Tatbikat ve Güvenlik Verimlilik Ölçümü
      Açık Kaynak Kod Güvenlik Çözümleri 
      APT Testi ve Analizi Hizmeti
      CSS - Düzenli Güvenlik Tarama ve Bilgilendirme 
      Log Yönetimi ve Korelasyonu Hizmeti
      Bilgi Güvenliği Proje Yönetimi Hizmeti
      Outsource (Dış Kaynak) Bilgi Güvenliği Uzman Temini
      MSSP Hizmeti

      Kurumsal Bilgi Güvenliği Eğitimleri
mt → en
http://www.bga.com.tr/danismanlik.html
Viewing all 331 articles
Browse latest View live