6 Mart 2014

Kurum ağı içerisindeki paylaşımlar içerisinde kritik bilgilerin bulunması kurum ağı içerisindeki sunucu servislerine erişim imkanı sağyabilmektedir. Yedekleme amaçlı olarak kullanılan veya hızlı bir biçimde veri aktarımı için aktf hale getirilen paylaşımların unutulması gibi bir takım durumların ardından ortaya çıkabilecek verilerin kullanılması ile kurum ağı içerisindeki servislere erişim mümkğn duruma gelebilmektedir.

NOT : Burada anlatılanlar Kali Linux üzerinde denenmiştir.

Kurulum:

https://github.com/galkan/depdep adresinden yazılım temin edilebilir. Bunun için git clone komutu kullanılabilir.
# git clone https://github.com/galkan/depdep
DepDep dosya içeriklerinin kontrol edilebilmesi için Apache tika projesini kullanmaktadır. Ayrıntılar için https://tika.apache.org/ adresine göz atılabilir. Tika servisi için gerekli paketlerin sisteme kurulması için aşağıdaki komut çalıştırılabilir.
# apt-get install openjdk-6-jre-headless:amd64
DepDep ile birlikte (scripts dizini altında) tika paketide gelmektedir. Başlatmak için aşağıdaki komut çalıştırılmalıdır.
# /usr/bin/java -jar /opt/tika/tika-server-1.4.jar >/dev/null 2>/dev/null &
Bu işlem için DepDep ile birlikte gelen (scripts dizini altında) tika.sh betiğide kullanılabilir.
# /etc/init.d/tika.sh start
[+] Tika has been started ...
Tika servisini çalıştırılmasının ardından çalışan tika süreçleri ps komutu yardımı ile görüntülenebilir. Bunun için aşağıdaki komutun çalıştırılması gerekmektedir.
# ps -ef | grep java | grep -v grep
root     13066     1 99 15:52 pts/3    00:00:01 /usr/bin/java -jar /opt/tika/tika-server-1.4.jar
DepDep python programlama dili ile linux araçlarının entegrasyonu gerçekleştirilerek geliştirilmiş bir projedir. Bundan dolayı bazı paketlerin sistende kurulu olması gerekmektedir. Kurulması gereken yazılımlar ve kısaca görevleri aşağıda gösterilmiştir.

nmap -> Belirtilen ip adres aralığındaki 445/tcp portu açık ip adreslerinin tespit edilmesini sağlar.
cifs-utils -> Tespit edilen paylaşımların yerel linux sunucuya mount edilmesini sağlar.
mount -> Paylaşımların mount ve umount işlemlerini gerçekleştirir.
smbclient -> Windows paylaşımlarını listeler.
samba4-clients -> Paylaşımların listelenmesi ve linux sunucudan erişilebilmesi gibi diğer işlemleri gerçekleştirir.
findutils -> Yapılandırma dosyası içerisinde belirtilen dosya türlerinin veya isimlerinin bulunmasını sağlar.
curl -> Paylaşım içerisindeki dosyaların tika sunucusuna gönderilmesini gerçekleştirir.

Bu paketlerin paket yönetim sistemi ile kurulması için aşağıdaki komutun çalıştırılması gerekmektedir.
# apt-get install nmap cifs-utils mount smbclient samba4-clients findutils curl

Yapılandırma Dosyası:


Yapılandırma target, scanning, settings ve content olmak üzere 4 ana başlık altında toplanmaktadır. Yapılandırma için DepDep paketi ile birlikte gelen config dizini altındaki depdep.xml dosyası kullanılabilir. Buradaki ön tanımlı değerlerin isteğe göre değiştirilmesi gerekmektedir. 

target : Bu bölüm içerisinde taranacak ip adres aralığı belirtilmektedir. <include-ip> ile nmap ile taranması istenilen ip adres veya ip adres blokları belirtilmektedir. Burada belirtilen ip adresleri için CIDR notasyonu kullanılmaktadır. Burada 2 türlü direktif kullanılmaktadır. Belirtilmek istenen ip adres veya ip adres aralıkları <include-ip> içerisinde, hariç tutulmak istenen ip adres veya ip adres aralığı ise <exclude-ip> direktifi içerisinde belirtilmelidir. Aşağıda örnek bir kullanım gösterilmiştir. Bu gösterim ile 192.168.1.0/24 ip adres bloğu içerisinde 192.168.1.4 ile 192.168.1.10 arasında kalan tüm ip adresleri belirtilmektedir.

<target>
<include-ip>192.168.1.0/24</include-ip>
<exclude-ip>192.168.1.4-10</exclude-ip>
</target>
scanning: Bu bölüm içerisinde taramalar için anlık çalışacak nmap sayısını belirtilmektedir. <thread> opsiyonu ile aynı anda çalışacak nmap sayısı belirtilmektedir.

<thread>10</thread>

settings: Bu bölüm içerisinde paylaşımda aranacak en fazla dosya boyutu (max_filesize), çıktıların yazılacağı (output_file) ve taramalarda kullanılabilecek olan kullanıcı adı, parola ve domain adı bilgisi (credentials) belirtilemektedir
       
       max_filesize : Bu opsiyon ile taramalardaki en fazla dosya boyutu belirtilmektedir .
       output_file   : Bu opsiyon ile çıktıların yazılacağı dosya yolu belirtilmektedir. Ön tanımlı olarak bu dosya için /tmp/depdep.result yolu kullanılmaktadır. Anlık olarak görüntülemek için tail -f /tmp/depdep.result komutu kullanılabilir.
       credentials : Bu opsiyon ile taramaların anonymous veya belirtilen kullanıcı bilgileri ile gerçekleştirilmesi sağlanır. username kısmına kullanılmak istenen kullanıcı adı, password kısmına bu kullanıcıya ait parola bilgisi ve domain kısmına ise kullanılmak istenen domain bilgisi yazılmalıdır. Eğer tüm bu alanlar boş bırakılırsa eğer anonymous bir taramanın gerçekleştirileceği belirtilmektedir.

<settings>
<max_filesize> 5M </max_filesize>
<output_file><![CDATA[ /tmp/depdep.result ]]></output_file>
                <credentials>
                        <username><![CDATA[]]></username>
                        <password><![CDATA[]]></password>
                        <domain><![CDATA[]]></domain>
                </credentials>
</settings>
content: Bu bölüm içerisinde bağlanan ( mount ) paylaşımlar içerisindeki dosyaların aynı anda kaç sayıda tika servisine iletileceği, taranmak istenen dosya türleri, dosya adına göre tarama ve dosya içeriklerine göre tarama seçenekleri belirtilmektedir.

     thread: Bu opsiyon ile paylaşımlardaki bulunan dosyaların aynı anda kaç sayıda tika servisine gönderileceğini belirtilir.
       filetype: Bu opsiyon ile taranmak ve hariç tutulmak istenen dosya türleri belirtilmektedir. <include-type> opsiyonu ile tarama kapsamindaki dosya türleri belirtilmektedir. <exclude-type> opsiyonu ile ise hariç tutulmak istenen dosya türleri belirtilmektedir . Aşağıda gösterilen örnek yapılandırma dosyasında sadece txt, xls ve docx dosya türleri tarama kapsamına alınmıştır. Eğer sadece hariç tutulmak istenen dosya türleri belirtilmek istenirse <exclude-type> opsiyonu içerisinde belirtilmelidir. Örneğin <exclude-type>docx</exclude-type> belirtimi ile docx dosya türü haricindeki tüm dosya türleri tarama kapsamına alınmış olmaktadır.
       filename: Bu opsiyon ile dosya isminde geçen ibarelere göre tarama işleminin yapılacağı belirtilmektedir.  Tarama için kullanılacak ifade CDATA[] ifadesi arasında belirtilmelidir. Burada isteğe göre düzenli ifade  kullanımıda mümkün olmaktadır.
   filecontent: Bu opsiyon ile dosya içeriğinde geçen ibarelere göre tarama işleminin yapılacağı belirtilmektedir.

        İster filename ifadesi kullanılarak dosya adına göre tarama işlemi yapılsın ister filecontent ifadesi kullanılarak dosya içeriğine göre tarama işlemi yapılsın, her iki ifade içinde aşağıdaki belirtimler ortak olarak kullanılmaktadır. Her 2 ifadede aynı anda kullanılabilmektedir. Yani ister dosya adına isterse dosya içeriğine göre tarama işlemi yapılabilmektedir. 

               case : Bu direktif ile büyük/küçük harf ayrımı yapılıp yapılmayacağı belirtilmektedir. sensitive olması durumunda bu ayrım gözetmeksizin işlem gerçekleştirilmektedir. insensitive direktifinin kullanılması durumunda ise büyük/küçük harf ayrımı yapılmaksızın işlemin gerçekleştirileceği belirtilmektedir.
                   type: Bu direktif daha sonra kullanılmak üzere kullanılmıştır.
                   description: Tarama sonucunda herhangi bir eşleşme olması halinde sonuç dosyasının içerisinde açıklama bilgisi olarak görünecek ifadeyi belirtmektedir.
             
               <content>
<thread>10</thread>
<filetype>
<include-type>txt</include-type>
<include-type>xlsx</include-type>
<include-type>docx</include-type>
</filetype>
<filename>
                        <keyword case="insensitive" type="plain" description="password including file names">
                                <![CDATA[ password ]]>
                        </keyword>
</filename>
<filecontent>
<keyword case="insensitive" type="plain" description="password including file contents">
                                <![CDATA[ password ]]>
                        </keyword>
</filecontent>
</content>

Çalıştırma :


Çalışmasına ilişkin oturum bilgisi session dizini altındaki dosyalarda tutulmaktadır. Bu şekilde uzun sürebilecek olan çalışmalar için en son kalınan noktadan itibaren devam etmesi mümkün olacaktır. -w 1 opsiyonu ile oturum bilgisi kullanılmadan öncelikle nmap taraması ile paylaşımlar listelenecek ve ardından gerekli yapılandırma gereğince bu paylaşımlardaki veriler kontrol edilecektir.
# python depdep.py --config config/depdep.xml -w 1

Oturum bilgisi varsa ve kullanılmak isteniyorsa eğer -w 1 opsiyonu olmaksızın aşağıdaki şekilde çalıştırılması yeterli olacaktır.
# python depdep.py --config config/depdep.xml
NOT: Makalenin en güncel haline http://www.galkan.net/2014/03/paylasimlardaki-gizli-tehlikeler-ve-kritik-verilerin-ortaya-cikartilmasi-depdep.html adresinden erişim sağlanabilir.

0 yorum:

Yorum Gönder

Her türlü eleştiri,yorum,ekleme ve düzeltmeye yönelik fikirlerinizi paylaşabilirsiniz.Hakaret içeren yorumlar filtrelenmektedir.

Makalelerin kötüye kullanım kullanıcının sorumluluğundadır. | networkpentest.net. Blogger tarafından desteklenmektedir.