Archive for the ‘ Network Forensics ’ Category

Facebook Chat Forensics: Facebook Görüşmelerini Kayıt Altına Almak

Daha önce buradan facebook chat analiz çalışmasını duyurduğum yazıdan sonra, cehturkiye ekibi tarafından bir facebook sniffer uygulaması geliştirildi.

Facebook Sniffer, sistemdeki herhangi bir ağ arayüzünü gerçek zamanlı dinleyerek veya wireshark, tcpdump gibi snifferlar ile yakalanmış pcap dosyalarını okuyarak facebook sohbet kayıtlarını ayrıtşırabilir…

Sohbet kayıtlarını doğrudan ektrana basabileceği gibi düz metin (TXT) dosyası olarak saklayabilir, CSV formatında kayıt edebilir veya bir MySQL sunucuna bağlanarak veritabanına kayıt edebilir. MySQL veritabanına yazılan kayıtlar aşağıdaki gibi bir web arayüzü sayesinde izlenebilir ve raporlanabilir.

Kodu şu adresten temin edebilirsiniz, kullanımı için ilgili scapy kütüphanelerini kurmanız yeterli olur.

http://www.cehturkiye.com/fbs.py

Örnek Web Arayüzü,

http://www.cehturkiye.com/fbsniffer/

 

 

SMB Dosya/Dizin Paylaşımlarını Tespit Etmek

Pentest çalışmalarında her türlü bilgi değerlidir. Bilgi toplama aşamasında, yerel ağlardaki dosya/dizin paylaşımlarını tespit etmek ve izinlerini listelemek herkes tarafından okunabilir, yazılabilir dosyaları keşfetmek açısından önemlidir.

Ağdaki dosya/dizin paylaşımlarını tespit etmek için nmap script engine kullanılabilir.

 

 

Örnek kullanım; Read more

Packet-O-Matic: Network Forensics Aracı

Bilgisayar ağlarını dinleyerek, iletişim kanallarından orjinal verilerin (eposta, msn yazışmaları, ofis dökümanları, ses vb.) bir kopyasını elde etmek işlemi “network forensics” olarak isimlendirilir.
IP telefonlar, anlık iletişim araçları, eposta ve web servisleri işimizi/hayatımızı kolaylaştıran ve hızlandıran vazgeçilmezler arasında. Şirket verilerini , canlı para işlemlerini ve özel/genel tüm yazışmaları bilgisayar ağlarını kullanarak yapmaktayız.

Bu denli yoğun kullandığımız bilgisayar ağları ne kadar güvenli? Yapılan araştırmalar internet trafiğinin %96’sının şifresiz aktığını ortaya çıkarmıştır. Şifresiz trafik demek güvenliğin olmadığı ortam demektir.

İçeriği şifrelenmemiş, güvenli iletişim kanallarını kullanmayan tüm bağlantılar izlenebilir ve kaydedilebilir. Bu işlem için paket yakalamak ve daha sonra ayrıştırmak gerekir.

Cehturkiye.com ekibinden Ozan UÇAR tarafından yazılan, Packet-O-Matic (POM) yazılımı ile bilgisayar ağlarında forensics işlemini örneklerle anlatan belgeye aşağıdaki adresten ulaşabilirsiniz.

http://www.bga.com.tr/calismalar/packet-o-matic.pdf

SMTP Sniffing

Merhaba,

SMTP ile gönderilen epostaların RFC2821′e göre standart yapısı şu şekildedir:

  1. Oturum açma ve gönderen-alıcı girişi
  2. Mesaj başlığı
  3. Mesaj gövdesi
  4. Oturum kapatma

Mesaj başlığı bölümü DATA\r\n ile başlar ve \r\n\r\n ile biter, mesaj gövdesi ise \r\n.\r\n ile (aradaki nokta önemli) biter. Örnek bir SMTP transferi şu şekildedir:

Bölüm 1 başlangıcı
220 bilgiin.com ESMTP
EHLO [192.168.5.205]
250-hmailserver
250-SIZE
250 AUTH LOGIN
AUTH LOGIN
334 xxx
xxx
334 xxx
xxx
235 authenticated.
MAIL FROM:<gonderen@cehturkiye.com> SIZE=376
250 OK
RCPT TO:<alici@cehturkiye.com>
250 OK
DATA
354 OK, send.

Bölüm 2 başlangıcı
Message-ID: <4D033CA4.1090208@ozanucar.com>
Date: Sat, 11 Dec 2010 10:56:04 +0200
From: =?ISO-8859-9?Q?Gonderen Adi?= <gonderen@cehturkiye.com>
User-Agent: Thunderbird 2.0.0.24 (X11/20100411)
MIME-Version: 1.0
To: =?ISO-8859-9?Q?Alici Adi?= <alici@cehturkiye.com>
Subject: aa
Content-Type: text/plain; charset=ISO-8859-9; format=flowed
Content-Transfer-Encoding: 7bit

Bölüm 3 başlangıcı
mesaj gövdesi
Bölüm 4 başlangıcı
.
250 Queued (0.031 seconds)
QUIT
221 goodbye

Bu örneğin başlık bölümüne baktığınızda gönderen ve alıcı gibi bilgileri kolaylıkla görebilirsiniz.
Birden fazla alıcı olduğunda ise alıcıların yazıldığı satırlar 80 karakter ile sınırlı kalmak koşuluyla alıcılar birden fazla satıra yazılır ve ilk satırdan sonraki alıcı satırlarının başında #32 (boşluk karakteri) bulunur. Örneğin:

To: alici1@cehturkiye.com, alici2@cehturkiye.com ,
 alici3@cehturkiye.com

Dolayısıyla bir SMTP mesajını ayrıştırırken To: alanında birden fazla alıcı olduğu dikkate alınmalı, To: başlangıcından sonraki satırlarda boşluk karakteri olup olmadığına bakılmalıdır.

Ancak tüm eposta istemcisi uygulamalar RFC2821′e göre hareket etmez. Bu standarda uymayanlardan birisi de Microsoft Outlook 2007 uygulamasıdır. Outlook 2007 RFC2821′de bulunmayan başlık alanları eklemekle kalmaz, birden fazla alıcı için de standardın dışında bir yöntem kullanır. Tek alıcısı olan bir epostaya örnek şu şekildedir:

Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="----_=_NextPart_001_01CB9793.DF23CF26"
X-MimeOLE: Produced By Microsoft Exchange V6.5
Subject: RE: subject
Date: Thu, 9 Dec 2010 13:26:06 +0200
Message-ID: <xxx>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: AD-R 2060 (S49376)
Thread-Index: AcuXkAB9XTO2/OQsSB6/f+m0vHSVmQAA9j7g
References: <xyz>
From: "abc" <sender@mail.com>
To: =?utf-8?B?JRd1LQNPNkLQNPYQN9L=?= <alici@cehturkiye.com>

Birden fazla alıcı söz konusu olduğunda ise To: alanında ilk satırdan sonraki satırların başına \t (sekme) karakteri kullanır:

To: =?iso-8859-9?Q?Alici Adi?= <alici1@cehturkiye.com>,
<alici2@cehturkiye.com>,
"Alici Uc" <alici3@cehturkiye.com>,
<alici4@cehturkiye.com>

Dolayısıyla SMTP ile giden bir epostanın ayrıştırılması sırasında RFC2821′de belirtilenlerin dışında ek kontroller koymak gerekir. C ile yazılmış örnek bir ayrıştırıcı şuna benzer bir kod kullanabilir:

if ((strncmp(payload, "Message-ID: ", 12) == 0) || (strncmp(payload, "Message-ID: ", 12) != NULL)){
/* Eğer Message-ID ile başlamışsa (standart) ya da içerisinde Message-ID geçiyorsa (Outlook) */
....
/* To: kısmını almak için gereken kod */
    if ((p = strstr(payload, "To: ")) != NULL && p < s) {
__cont1:
        for (; *p != '\r' && *p != ''; p++) {
            fputc(*p, mail_fp);
            fputc(*p, mail_fp2);
        }
        if (p != NULL) {
        p = p + 2;
        if ((*p != '' && *p == ' ') || (*p != '' && *p == '\t')) {
            /* satırın ilk karakteri #32 (boşluk) ise (standart) veya \t (sekme) ise (Outlook) */
            p++;
            goto __cont1;
            }
        }
    }
 
Hosting Sponsorumuz