Daugelį žmonių domina klausimas: „Kas yra eksploitas?“ Pabandysiu duoti išsamų atsakymą. Taigi:

Eksploitų rūšys:

Sąlyginai juos galima suskirstyti į dvi rūšis:

– Eksploitą gali sudaryti tik vienas failas, kurį galima iškart paleisti arba prieš tai sukompiliuoti.

– Eksploitas gali būti sudarytas iš archyvo (dažniausiai jis turi .tar arba tar.gz plėtinį, nes daugguma jų rašoma UNIX tipo sistemoms). Šiuose archyvuose gali būti kas tik nori:

* pl failai
* C, Java, etc. programinis kodas
* paprastas „gudraus triuko“ aprašymas
* viskas, kas nepaminėta aukščiau.

Veikimo algoritmas:

* Skanuojame hostą (geriausia su nmap)
* Ieškome atvirų prievadų (ports) ir žiūrime, kokios juose „kabančios“ programos
* Telnetu prisijungiame prie atvirų prievadų ir sužinome šių programų versijas
* Randame „skylėtą“ tarnybinę programą
* Ieškome jai eksploito
* Pakrauname jį į shell-account‘ą
* Kompiliuojame
* Paleidžiame eksploitą

Eksploito paieškos…

Tarkime, kad radome skylių turintį „demoną“. Greitai lendame į bugtrack‘ams skirtas svetaines ir pagal „demono“ ar konkrečios OS versiją randame eksploitą.

shell-account

Variantai:

1. Jūs jau turite shell‘ą (jei taip, iškart pereiname prie kito punkto).
2. Shell‘o jūs dar neturite ir jums jo, žūtbūt, reikia.

Veiksmai:

– Galima naudotis dykai gautu shell‘u (tačiau jame bus atjungta daug mums reikalingų dalykų :))

3. Jūs turite kompiuterį su įdiegta UNIX tipo sistema (žr. kitą punktą)

Kompiliavimas

Tarkim, kad mums reikalingas eksploitas parašytas C programavimo kalba – ja rašoma dauguma eksploitų.

gcc file.c -o file – Sukompiliuojamas C kodas, turėtų gautis dvejetainis failas.

Jei rastas eksploitas – suarchyvuotas, tai jį išpakuojame:
tar -xvzf pack.tgz
cd [nurodomas katalogo vardas]
./configure
make
make install

Jei eksploitas kuo nors specifinis, prieš jo įdiegimą gali tekti paskaityti Readme File.

Eksploito paleidimas

Jei turimas Perl kalba parašytas eksploitas, jo paleidimui naudojama komanda:

perl exploit.pl [parameters|flags]

Jei jis parašytas C kodu, tai:

$./sploit [parameters]

Kiekvienas eksploitas turi savo parametrus, jų reikšmės nurodomos, jį paleidžiant.

Keblumai su dykai gautais shell‘ais

Nemokamai gautuose shell‘uose dažniausiai yra tokių bėdų:

– nepakankamai teisių
– neįmanoma prijungti .h bibliotekų (o jas naudoja visi eksploitai)

Šios problemos – joks stebuklas. Jei administratoriai leistų visas shell‘ų funkcijas, tai būtų jau nebe nemokama tarnyba pažinčiai su UNIX sistema, o masinių serverių atakų poligonas. Tikiuosi, kad jums dėl šito problemų nekils.

Keletas paaiškinimų:

1. Kas yra šelas?

Pažodžiui „shell“ verčiama kaip „apvalkalas“. Tai – programa, vykdanti vartotojo komandinėje eilutėje įvedamas komandas, jas perkeisdama į operacinėms sistemoms suprantamą formą ir OS atsakymą vartotjui pateikianti jam suprantama forma :). Kitas šelo pavadinimas – komandinis interpretatorius. Dažniausia vartojami šelai – tai bash, sh, csh, tcsh, psh. Jie skiriasi tik tuo, kad kiekvienas šelas skriptų rašymui turi savo kalbą (giminingų šelų ji – beviek vienoda, pvz., taip yra su bash ir sh).

Taip pat jie skiriasi ir funkcionalumu: kai kurie šelai leidžia keisti komandinės eilutės išvaizdą. Beveik kiekvienas šelas turi savo kintamuosius. Jei nežinote, koks jūsų turimas šelas, įveskite komandą echo $SHELL. Šelas pagal nutylėjimą keičiamas chsh komanda.

2. Kas yra demonas [daemon]?

Demonu vadinama programa, veikianti foniniu režimu (background) ir neturinti kontrolinio terminalo. Vienu žodžiu, tai – rezidentinė programa – mes jos nematom, tačiau ji veikia.

Views All Time
Views All Time
2643
Views Today
Views Today
1
0 0