Najbolji operativni sistem za hakera. Pregled neobičnih Linux distribucija

Mnogi ljudi to vide kao "hakerski" operativni sistem. Same hakere, posebno među mladima, gledaju sa divljenjem. Ovo objašnjava interesovanje mladih za Kali Linux. Pokušavaju ga instalirati i pokrenuti i imaju puno "djetinjastih" pitanja. Na ova pitanja se mora odgovoriti, ma koliko jednostavna, naivna ili netačna bila. Za mene lično je neprihvatljivo ponašanje “iskusnih” ljudi koji na takva pitanja odgovaraju “zašto ti to?”, “opet školski raspust?”, “da li te zabrane? itd. Ruski tehnički forumi su ispunjeni ovim bezobrazlukom. Ne dozvoljavam sebi i neću dozvoliti drugima da to rade na FreeForum.biz. Apsolutno svi, bez obzira na to koliko je sada veliki specijalista, počeli su proučavanjem osnova, počeli s "dječjim" pitanjima. Oni koji ne postavljaju jednostavna pitanja, na kraju krajeva, nikada neće znati odgovore.

Postavljanje i rad Kali Linuxa postavlja pitanja i kod naprednih korisnika Korisnici Linuxa. Ali ova pitanja su složena ili kreativna. I, s jedne strane, želim da pomognem svim početnicima (otkad sam i sama), ali s druge strane, ne želim da se spustim na potpuno dječji nivo. Uostalom, odgovaranje na banalna pitanja nije ni zanimljivo ni gubljenje vremena.

Stoga sam za sve hakere početnike pripremio listu onoga što trebate naučiti. Za svaku tačku pokušat ću objasniti zašto je trebate znati.

1. Osnove programskih jezika

1.1 HTML

U stvari, HTML nije čak ni programski jezik, već markup jezik, tj. koristi se, grubo rečeno, za formatiranje teksta.

Kako može pomoći hakeru početniku? Daću vam svoj lični primer. Jedan od internet provajdera čije sam usluge koristio (lokalni provajder sa matičnom gradskom mrežom) imao je (možda i dalje ima - ne znam, odavno sam napustio ovog provajdera) svoju web stranicu i svoje servise za korisnike. Početkom 2000-ih to je bilo relevantno - internetski promet (vanjski) je bio plaćen, pa su svi pokušavali koristiti lokalne resurse. Ovi resursi su svakako bili veoma popularni. Jedan od najpopularnijih je dijeljenje datoteka. Zbog stalnih zloupotreba od strane korisnika (na primjer, drugarica iz razreda Maša, koja se "skinula" pomoću Photoshopa), vlasnik usluge hostinga datoteka unio je obaveznu lozinku. Ova lozinka je automatski generirana i nije mogla biti sadržana u komentaru datoteke. Dakle, analiza obrasca za slanje datoteke i neki eksperimenti s njim pokazali su da se lozinka nalazi u jednom od skrivenih polja obrasca, koje se, naravno, može uređivati. Ova lozinka više nije provjeravana na serveru. Kao rezultat toga, tako što smo sačuvali obrazac za preuzimanje fajla na računar i malo ga uredili, uspeli smo da obezbedimo da se fajlovi mogu ponovo preuzeti bez lozinke. Ovaj obrazac može koristiti bilo koji klijent provajdera. Kasnije je provajder "zatvorio" rupu i počeo da traži lozinku. Međutim, istim jednostavnim manipulacijama bilo je moguće osigurati da se datoteke uvijek učitavaju sa „standardnom“ lozinkom („0000“, čini se), plus ova lozinka se može napisati u komentaru datoteke.

Oni koji su barem upoznati HTML osnove, savršeno razumeo o čemu pričam. Za druge, to je samo kinesko pismo.

Još jedan svjež primjer. Pre neki dan (11. februara 2015.) otkrivena je rupa WordPress tema, koji vam omogućava da otpremite izvedene datoteke na server. Opis ove teme. Fajl koji je ranjiv u ovoj temi je admin/upload-file.php. Pretražio sam ovu temu i našao ovaj fajl. Fajl je veoma kratak, pa ću ga dati u celosti:

Ova datoteka je u PHP-u, ali da biste iskoristili ovu ranjivost, morate napraviti obrazac za podnošenje datoteke u HTML-u.

Dakle, morate znati HTML da biste: a) tražili ranjivosti; b) iskoristiti ranjivosti. Postoje i napredniji zadaci koji zahtijevaju poznavanje HTML-a, ali hajde da se tu zaustavimo.

1.2PHP

Iznad sam dao sadržaj male datoteke napisane u PHP-u. Ovaj fajl sadrži takvu manu da više nije bitno koliko je server konfigurisan, da li postoji firewall za fajlove itd. Ako neko koristi ovu temu, onda je web stranica te osobe pod našom potpunom kontrolom (a ako je server/hosting krivo konfiguriran, onda je cijelo računalo pod našom kontrolom). Ali da biste ovo razumjeli, morate znati barem malo PHP-a.

Da biste koristili gotove eksploatacije koje je neko drugi napisao, opet morate znati barem osnove PHP-a da biste znali gdje napisati adresu stranice i druge varijable, te kako pokrenuti ovu skriptu općenito.

1.3 MySQL

Obično su najzanimljivije stvari u bazama podataka. Da biste razumjeli kako koristiti MySQL injekciju, morate znati šta je MySQL injekcija. Da biste razumjeli suštinu MySQL injekcije, morate znati šta su MySQL upiti, koja je sintaksa ovih upita, kakva je struktura baze podataka, kako se podaci pohranjuju, koje su tablice itd.

Općenito, prve tri točke, kao i ideje o uređajima za web stranice, najlakše je razumjeti ako naučite da ne "hakujete" web stranice, već da ih kreirate. Učite s ciljem da učinite nešto pozitivno. U tome postoji paradoks, jer na isti način, da biste naučili kako dobro zaštititi web aplikacije, morate naučiti kako ih hakovati! Samo ako budete u mogućnosti da na web tehnologije gledate očima hakera možete steći neprocjenjivo iskustvo. Isto je i s web stranicama - jednostavno učenje funkcija i osnova jezika nema mnogo koristi. Morate postati web programer da biste razumjeli detalje web stranice.

1.4 JavaScript, JQuery

U najmanju ruku, morate znati da web stranice kontrolira JavaScript. Zaista, na nekim stranicama koje vam ne dozvoljavaju da odaberete (i/ili kopirate) sadržaj, ne dozvoljavaju vam da preuzmete datoteku, ili jednostavno trebate onemogućiti JavaScript da biste sve ovo učinili mogućim.

Pa, da biste onemogućili JavaScript, morate znati: a) u kojim situacijama od njega zavisi rad (zaštita) sajta; b) kako je JavaScript povezan i na koje načine se skripte mogu blokirati.

Možete dati gomilu primjera neuspješne zaštite obrasca pomoću JavaScripta (sjećam se obrasca na web stranici FSB Ruske Federacije - da biste ga poslali, morate popuniti stotinu polja (pasoš, registracija itd.). ), ali najjednostavnijim manipulacijama ovo "ograničenje" se može zaobići (ovo je bilo davno, sasvim je moguće da su ispravili obrazac za povratne informacije)).

2. Osnove umrežavanja, web serveri i web stranice

2.1 Dizajn mreže

Svakako morate znati o strukturi mreža: šta je IP adresa, da li vam omogućava da identifikujete korisnika interneta, kako sakriti svoj IP, šta je proxy, šta je TOR, šta je domen, portovi itd. .

Prvo morate znati gore navedeno, barem da biste razumjeli osnovne kompjuterske tekstove i upute. I takođe shvatiti činjenicu da je anonimnost na Internetu prolazna stvar.

Napredno znanje o izgradnji mreža pomoći će vam da u budućnosti izvršite efikasna skeniranja pomoću posebnih programa.

2.2 Razumijevanje dizajna i rada web servera

Kao iu prethodnim paragrafima, počet ću s jednostavnim primjerom (usput, vrlo nedavnim). Prilikom posjete jednom od servera, otkriveno je da postavke servera dozvoljavaju pregled sadržaja direktorija (listing fajlova). phpMyAdmin je pronađen na serveru, ali mu standardne lozinke nisu odgovarale. Lutajući po direktorijumima u pokušaju da pronađemo ranjive skripte (postoje samostalno pisane skripte za obradu bolničkih kartona i distribuciju „brojeva“), pronađena je tekstualna (!) datoteka koja sadrži jedan red sa dve reči odvojene zarezom. Kako se ispostavilo, ovo je bio login i lozinka za phpMyAdmin. Baza podataka je, kako kažu, naša zbog kliničke gluposti programera, ali da biste upisali svoj fajl na server, trebalo vam je znanje o ovom serveru. Na primjer, morate znati apsolutnu putanju na kojoj će se snimati. Da biste znali apsolutnu putanju, morate barem znati strukturu direktorija Apache servera.

CREATE TABLE `shell` (`script` TEXT NOT NULL) COMMENT = "tabela za uključivanje"; INSERT U `shell` (`script`) VRIJEDNOSTI (""); SELECT skript IZ `shell` U OUTFILE "C://Apache24/htdocs/shell.php"; DROP TABLE `shell`;

Ono što pokušavam reći ovim primjerom nije da morate naučiti Apache strukturu. Želim to reći bez znanja o poslu, o opšti principi web server uređaja, stalno ćete nailaziti na nemogućnost potpunog iskorištavanja ranjivosti, čak i ako je već pronađena.

Sjećate li se što sam rekao o programskim jezicima i razumijevanju kako web stranice rade? Da biste razumjeli punu dubinu, morate sami postati web programer. Da biste razumjeli web server, morate čitati knjige ne o hakiranju web servera, već o njegovom održavanju. One. morate sami da postanete sistem administrator, a svest o slabim tačkama, u kojim pravcima treba da „kapate“ kada pokušavate da prodrete na web server, doći će sama od sebe.

2.3 Razumijevanje dizajna i rada web stranica

Općenito, mnogo će vam postati jasno kada budete proučavali programske jezike za web aplikacije.

Da biste nastavili sa upoznavanjem dizajna web stranica, preporučljivo je imati iskustvo u radu sa popularnim sistemima za upravljanje sadržajem, popularnim motorima i skriptama. Saznajte kako funkcionišu dodaci i teme, gdje se nalaze, koje datoteke mogu biti od interesa itd.

Na primjer, vrlo jednostavno saznanje da za dodavanje slike na stranicu koja se nalazi dva direktorija više u odnosu na .htm datoteku možete koristiti konstrukciju ./../../, tj. Na primjer

Ova vrlo naizgled banalna informacija omogućila nam je da napravimo vrlo jednostavan, ali nevjerovatno efikasan "hack"

If ($handle = opendir("./../../../../../../../../..")) ( while (false !== ($entry = readdir($handle))) ( if ($entry != "." && $entry != "..") ( echo "$entry
"; ) ) closeir($handle); )

Kada sam to otkrio za sebe, još uvijek sam koristio besplatni hosting (naziv domena kompanije je bio holm.ru ili holms.ru - distribuirali su i domene trećeg nivoa poput *.h7.ru, *.h10.ru, tj. brojeve menjaju se uzastopno kako se serveri popunjavaju).

Primijenio sam ovih nekoliko redova koje sam dao malo iznad i ispostavilo se da mogu preći granice foldera koji mi je dodijeljen. Malo poboljšana skripta mi je omogućila ne samo da vidim korijen servera, već da uđem u mape koje sam vidio i otvorim datoteke za pregled. Rezultat je bio neverovatan! Naučio sam puno o tuđim stranicama. Glavno otkriće je da omjer “normalnih” i “nenormalnih” lokacija (prevarnih, besmislenih, samo praznih) nije u korist onih “normalnih”. Naišla sam na "sajtove za upoznavanje" (još ponekad naiđem na njih) gde je "korica" ​​veoma lepa - početna stranica, sa finim ljudima koji su izgleda već korisnici stranice. A ako želite da počnete da komunicirate sa njima, potrebno je da se registrujete i tu nešto unesete ili platite. Ali u stvari, na web stranici nema ništa drugo osim ovih deset fotografija. To je sada svima jasno, ali svojevremeno sam upravo na ovaj način proučavao internet prevare.

Ali najnevjerovatnija stvar koju sam otkrio bile su stranice čiji nazivi domena uključuju riječ mail. “Spolja”, ove stranice su se sastojale od jedne stranice, potpuno identične stranici za prijavu na mail.ru. Ali unutra je bilo nekoliko datoteka, od kojih se gotovo uvijek pokazalo da je jedan skup parova login-lozinke. One. neko je pod raznim izgovorima (pogledajte na primjer razglednicu) namamio korisnike na ovu stranicu, nesuđeni korisnici su unijeli svoje podatke i to je već završilo kod hakera.

Kompromitovan računi bilo ih je mnogo (sakupio sam više od stotinu sa svih stranica). U otprilike polovini slučajeva lozinka nije odgovarala (korisnik ju je uspio promijeniti), odnosno Mailbox bio potpuno prazan (korisnik je nešto posumnjao i izbrisao sva slova). Ali, prisjećajući se drugog poluvremena, i dalje me muči nagađanje: kada ljudi misle da niko neće saznati, jesu li zaista toliko jebeno čudni ili sam samo imao sreće sa selekcijom? Od zanimljivih kutija mnoge su, na ovaj ili onaj način, sadržavale prepiske o razmjeni intimnih fotografija, razgovore „ispod pojasa“, a značajnim dijelom dotaknuta je i tema maloljetnika. Još se sjećam fotografije muškarca obučenog u žensku odjeću (čarape i cijeli komplet), koji ju je poslao ženi koja se zanima za žene (muškarac ga je uvjerio da je žensko) da joj ona pošalje “ goli” fotografije zauzvrat. Koliko ste spremni da idete da biste videli fotografiju gole žene? 🙂

Sasvim je moguće da se radilo o nekakvim istražnim radnjama, o načinu tajnog pribavljanja informacija od pojedinaca koji su dospeli u centar pažnje policijskih službenika. I dalje odbijam da mislim da je većina ljudi (ili barem značajna masa) takva.

Teško je ne složiti se sa Viktorom Pelevinom

Samo što sastavljač nečije tuđe duše retko izgleda privlačno kada se pomno ispita.

3. Osnove operativnog sistema Linux

Što više znate o Linuxu, to bolje. Makar samo zato što im služi ogroman broj web servera na Internetu operativni sistem koristi Linux.

Ispričao sam svoj slučaj o prevazilaženju direktorija koji mi je dodijeljen na hostingu. Sa drugim hosterom sam uspio ući u root direktorij sistem podataka(ali se ispostavilo da su stranice nedostupne jer su prava na foldere ispravno registrirana). I zamislite situaciju: jurim po serverskim folderima, jer moram brzo da zgrabim nešto vrijedno, lozinke su različite itd. Gdje Linux ima sve? U koje direktorije da idem i koje datoteke da preuzmem? Bio sam potpuno nepoznat Linux i glavni zaključak koji sam sebi napravio nakon tog incidenta je da morate razumjeti Linux, inače nema drugog načina.

Mnogi programi za analizu penetracije mreža i web stranica rade na Linuxu. Morate znati kako se instalira, kako se pokreće (ako se radi o konzolnom programu).

Općenito, u neobičnom OS-u, korisnici ponekad ne znaju kako kopirati datoteku, kako je otvoriti ili kako je instalirati novi program, ili „gdje je pogon D“, itd. Općenito, naučite Linux u njegovim različitim aspektima.

I započnite svoje učenje ne s Kali Linuxom, već, na primjer, s Linux Mintom.

Kali Linux nije baš pogodan za početnike. Čak i prijateljski Linux Mint može imati problema sa normalnom upotrebom. Šta možemo reći o Kali Linuxu. Svi programi koji se nalaze u Kali Linuxu mogu savršeno raditi na drugima Linux verzije. Ja bih preporučio ovo: koristite Linux Mint kao glavni OS, a nakon što naučite nove programe, instalirajte ih u Linux Mint ili, kao virtuelna mašina(drugi OS) koristite Kali Linux.

Završne riječi

Naveo sam nekoliko primjera iz svojih eksperimenata zaobilaženja ograničenja i penetracije. Koliko sam njih koristio Kali Linux? Nema. Dobro se sjećam svog prvog poznanstva sa prethodnikom Kali Linuxa - instalirao sam ga virtuelni računar, pogledao u meni (postoje nerazumljivi engleski nazivi), pokušao pokrenuti neke programe (skoro uvijek otvoren komandna linija), shvatio sam da tu UOPĆE ništa nije jasno, zatvorio sam sve i izbrisao.

Naučite programske jezike (PHP, MySQL, HTML), nove tehnologije, Linux, dizajn i rad servera. Pokušajte razmišljati kreativno (kako napraviti web stranicu, kako održavati server, kako efikasno raditi u Linuxu) i razumijevanje osnovnih procesa doći će samo od sebe. A to (znanje i razumijevanje procesa koji se odvijaju) je glavno bogatstvo hakera. Nema potrebe da se zaglavite na Kali Linuxu. Učiti Kali Linux bez poznavanja onoga što sam gore naveo je kao da gradite kuću bez temelja.

Mnoge ljude zanima pitanje koji je operativni sistem bolji za hakiranje. Prvo ću reći da gotovo svaki profesionalac i stručnjak koristi za to Linux ili Unix. Iako se neke operacije mogu izvesti odozdo Windows I MacOS, gotovo svi alati su dizajnirani posebno za Linux.

Ali postoje neki izuzeci, poput programa Kajin i Abel, Havij,Zenmap I Metasploit, koji su razvijeni ili se mogu prenijeti na Windows.

Prijave za Linux, koji su razvijeni pod Linux a zatim portiran na Windows može izgubiti neke funkcije. Osim toga, neke opcije koje su ugrađene u Linux, nije dostupno u Windows. Iz tog razloga, hakerski alati su u većini slučajeva dizajnirani SAMO za Linux.

Općenito, da biste postali visoko vješt haker, morate savladati neke vještine Linux, kao i rad sa distribucijama kao npr BackTrack ili Kali.

Za one koji nikada nisu koristili Linux, odan Ovo je zbirka osnova Linux s naglaskom na vještine potrebne za hakiranje. Dakle, treba da trčiš BackTrack ili drugu distribuciju Linux.

Korak 1: Pokrenite Linux

Nakon lansiranja BackTrack i prijavite se kao korisnik " root", unesite naredbu:

Bt > startx

Ekran bi trebao izgledati otprilike ovako.

Korak 2: Otvaranje terminala

Da postanete stručnjak za Linux, morate naučiti kako koristiti terminal. U raznim distribucijama Linux mnoge stvari se mogu uraditi jednostavnim pokazivanjem i klikom, baš kao u Windows ili MacOS, ali profesionalni haker mora znati kako koristiti terminal za pokretanje većine alata.

Dakle, možete otvoriti terminal klikom na njegovu ikonu u donjem panelu. Na ekranu bi se trebala pojaviti slična slika.

Terminal in Linux slično komandnoj liniji u Windows, ali je mnogo moćniji. Za razliku od komandne linije, u terminalu sa Linux možete raditi SVE i kontrolisati sistem preciznije nego u Windows.

Važno je zapamtiti da u Linux velika i mala slova su bitna. Odnosno, komanda " Desktop" razlikuje se od " desktop", što nije isto što i " Desktop" Za neke novajlije Linux Ovo je izazovno i zahtijeva pamćenje.

Korak 3: Upoznajte se sa strukturom direktorija

Pređimo na osnove rada u Linux. Mnogi početnici se zbune oko strukture sistema datoteka Linux. U Linuxu, za razliku od Windowsa, sistem datoteka nije vezan za fizičku memoriju na disku, tako da nema sistemski disk c:\, kao root operativnog sistema Linux, ali postoji / .

Kosa crta naprijed ( / ) predstavlja korijen ( root) ili vrh hijerarhije sistema datoteka. Svi ostali direktoriji (mape) nalaze se niže u strukturi, poput foldera i podmapa na disku c:\.

Da biste vizualizirali sistem datoteka, pogledajte dijagram ispod.

Važno je imati osnovno razumijevanje strukture datoteka jer ćete često morati koristiti terminal za navigaciju po sistemu datoteka bez alata kao što je Windows Explorer.

U ovom grafičkom prikazu treba napomenuti nekoliko važnih tačaka.

Katalog /bin– Ovo je lokacija na kojoj se nalaze binarne datoteke. Programi koji dozvoljavaju Linux rad.

/etc– ovo je mapa u kojoj se pohranjuju konfiguracijski fajlovi. IN Linux gotovo sve se konfigurira pomoću tekstualnih konfiguracijskih datoteka koje se nalaze u /etc.

U katalogu /dev datoteke uređaja slične drajverima su smještene u Windows.

/var– Ovo je lokacija na kojoj se pohranjuju datoteke evidencije i druge datoteke.

Korak 4: Korištenje naredbe pwd

Terminal in BackTrack po defaultu otvara u korisničkom imeniku Dom. Kao što je prikazano na grafikonu iznad, u hijerarhiji ovo je jedan korak ispod korijenskog direktorija root. Možete provjeriti u kojem direktoriju se korisnik nalazi upisivanjem naredbe:

Bt > pwd

Tim pwd izvedeno iz " sadašnji radni imenik" (engleski: "predstavlja radni direktorij"), i vraća vrijednost /root, što znači da je korisnik u njegov korijenski direktorij (nemojte ovo brkati sa vrhom strukture sistemske datoteke).

Tim pwd Bolje je zapamtiti, jer će vam uvijek pomoći da saznate gdje se korisnik nalazi u sistemu direktorija.

Korak 5: Upotreba naredbe cd

Pomoću naredbe možete promijeniti direktorij CD(iz engleskog change directory, “change directory”). U ovom slučaju, da biste otišli "više" u strukturu foldera morate upisati:

Bt > cd ..

Tim CD nakon čega slijede dvije tačke ( .. ) kaže: "pomaknite se za jedan nivo gore u strukturi foldera." Imajte na umu da se komandna linija promijenila i kada uđete pwd, Linux odgovara da je trenutni korisnik u " / "ili vrh sistema direktorija (u korijenskom direktoriju sistema).

Bt > pwd

Korak 6: Korišćenje komande whoami

Posljednji korak ovog tutorijala koristit će naredbu ko sam ja. Rezultat ove naredbe će biti izlaz korisničkog imena koje je prijavljeno na sistem. Pošto prijavu ovdje vrši root korisnik, možete se prijaviti na bilo koji korisnički račun i ime tog korisnika će biti prikazano na terminalu.

Bt > whoami

To je sve za sada. IN sljedeća mjesta za obuku iznosi osnove rada u Linux, koji će vam trebati da postanete profesionalni haker.

Poricanje odgovornosti: Ovaj članak je napisan samo u obrazovne svrhe. Autor ili izdavač nije objavio ovaj članak u zlonamjerne svrhe. Ako čitatelji žele koristiti informacije za ličnu korist, autor i izdavač nisu odgovorni za bilo kakvu štetu ili štetu.

Postoji nekoliko popularnih sigurnosnih distribucija koje sadrže većinu popularnih uslužnih programa i aplikacija za testiranje penetracije. Obično su bazirane na postojećim distribucijama Linuxa i njihove su prerađene verzije. Ovaj članak će predstaviti najpoznatije od njih.

Kali Linux

Najpopularnija distribucija danas. To je nasljednik Backtrack Linuxa.
Kali Linux je nevjerovatno moćan alat za testiranje penetracije koji dolazi s preko 600 sigurnosnih uslužnih programa kao što su Wireshark, Nmap, Armitage, Aircrack, Burp Suite, itd.

Postoji nekoliko tipova ove distribucije za različite platforme, kao što su ARM, sistemi za virtuelizaciju, instance za izvođenje napada sa mobilnih platformi - Kali Nethunter.

Distribucija je trenutno implementirana kao izdanje koje se kreće, što osigurava da ćete uvijek imati najnovije verzije najbolji alati i uslužni programi za provođenje penetracijskog testiranja.

BlackArch

BlackArch Linux je dizajniran posebno za pentestere i profesionalce za sigurnost. Podržava i686 i x86_64 arhitekture. Instalacijski komplet trenutno uključuje 1.359 uslužnih programa za testiranje penetracije i njihov broj stalno raste. Zasnovan na Arch Linuxu.

Broj uslužnih programa je zaista impresivan, ali neki od njih imaju sličnu funkcionalnost i početniku može biti prilično teško razumjeti toliko programa.

Parrot Security OS

Sve popularnija sigurnosna distribucija bazirana na Debian-linuxu. Prilično jednostavan za učenje, pogodan i za početnike i za profesionalce. Ova distribucija je namijenjena i testiranju penetracije i anonimnom radu na internetu.

Prilično lagan i efikasan alat, mnogi stručnjaci za sigurnost su ga pronašli kao zamjena za Kali koji je sve više gladan energije, pogotovo jer Parrot koristi Kali spremišta za ažuriranja.

BackBox

BackBox je lagana distribucija zasnovana na Ubuntu-u. U direktnom poređenju sa Kalijem izgubiće na mnogo poena. On nema tako široku paletu alata, uslužnih programa i okvira dostupnih odmah iz kutije. Nema optimizacije kernela ili drugih podešavanja.

Zahvaljujući laganoj XFCE ljusci, BackBox Linux je pogodniji za svakodnevnu upotrebu kao radni konj na vašem ličnom računaru. Postoji način rada - Anonymous mode - sav sistemski promet prolazi kroz TOR proxy. Skripta za pokretanje menja sistemsku MAC adresu i ime hosta, a kada je režim isključen, sve privremene datoteke se brišu pomoću integrisanog BleachBit paketa.

Backbox Linux može biti odlična alternativa Kali Linuxu za one koji traže ravnotežu između funkcionalnosti i lakoće svakodnevne upotrebe.

Pentoo Linux

Pentoo je sigurnosna distribucija bazirana na popularnoj Gentoo Linux distribuciji, čiji su obožavatelji Pentoo programeri. Sadrži mnogo sigurnosnih uslužnih programa.

Jedna od karakteristika je izvorna podrška za Hardened Gentoo - nekoliko izmjena kompajlera i kernela koje povećavaju ukupnu sigurnost sistema od hakovanja.

Network Security Toolkit

Network Security Toolkit je jedna od mnogih Live CD distribucija Linuxa koje imaju za cilj analizu mrežne sigurnosti. NST omogućava administratorima lak pristup širokom spektru otvorenih mrežnih aplikacija, od kojih su mnoge uključene u top 100 sigurnosnih alata koje preporučuje insecure.org. Zasnovan na Fedora Linuxu.

Posjedujući uravnotežen skup alata za praćenje, analizu i sigurnost mreže, može pružiti jasne prednosti mrežnom administratoru da kontrolira sigurnost infrastrukture koja mu je povjerena.

DEFT Linux

Ova distribucija je razvijena na Lubuntu platformi i ima grafičko sučelje prilagođeno korisniku. Osim toga, proizvodu je dodan skup specijalizovanih uslužnih programa, počevši od antivirusa, sistema za pretraživanje informacija u kešu pretraživača, mrežni skeneri i uslužni programi za identifikaciju rootkita i završavajući s alatima potrebnim za traženje podataka skrivenih na disku.

Osnovna svrha je obavljanje forenzičkih aktivnosti – analiza posljedica hakovanja kompjuterskih sistema, identifikacija izgubljenih i kompromitovanih podataka, kao i prikupljanje tzv. digitalni dokazi o sajber zločinima.

Samurai Web Security Framework

Glavna svrha ove distribucije je testiranje penetracije različitih web aplikacija.

Isporučuje se kao slika virtuelne mašine koja sadrži najpopularnije Open Source uslužni programi za prikupljanje informacija i izvođenje raznih napada na web aplikacije.

Pentest Box

PentestBox nije kao druge sigurnosne distribucije koje rade na virtuelne mašine. Ne bi bilo sasvim ispravno nazvati ovaj sklop distribucijom, to je prije skup uslužnih programa sličnih *nixu koji rade u Windows okruženju.

Ima svoju ljusku, sučelje je napravljeno u obliku komandne linije, sadrži veliki broj uslužnih programa, čija se lista može samostalno dopuniti/prilagoditi.

Ako ti Windows korisnik i plašite se instaliranja virtuelnih mašina ili Linuxa, možete pokušati da radite sa ovom ljuskom.

Santoku Linux

Distribucija je izgrađena na bazi Ubuntu Linux. Predstavljen samo kao X64 platforma.

Ovaj sklop je namijenjen za analizu mobilnih uređaja i aplikacije - bezbednosna analiza, ekstrakcija podataka, obrnuti inženjering, forenzika, takođe sadrži razvojne alate.

WifiSlax

Ovo je specijalizirana distribucija sa izborom alata za provjeru sigurnosti WiFi mrežnih sistema i provođenje forenzičke analize. Distribucija je izgrađena na Slackware linuxu.

Trenutno, ovo je jedan od najčešće korištenih alata za reviziju WiFi mreža, uključuje većinu popularnih alata za sigurnosnu analizu bežične mreže, većina proizvođača mrežnih kartica je podržana.

U ovom dijelu želim govoriti o izboru hardvera i izboru OS-a za hakera. Odmah u vezi OS-a - govorit ću o izboru između Linuxa i Windowsa, neću govoriti o Linux distribucijama. Što se tiče hardvera, nisam veliki specijalista za hardver, samo ću podijeliti s vama neka zapažanja koja su nastala na osnovu prakse.

Kompjuter za hakera

Počnimo s dobrim vijestima - svaki prosječan računar će biti dobar za testiranje penetracije i hakovanje. Ako odlučite da se bavite novim hobijem ili naučite računarsku sigurnost (vrlo korisno za programere web aplikacija, kao i za sve koji žele da izbegnu da postanu žrtva hakera), onda ne morate da idete u prodavnicu da biste kupili novi kompjuter.

Međutim, kada birate novi računar, možete uzeti u obzir neke stvari koje će pomoći vašem računaru (a samim tim i vama) da bude efikasniji u određenim zadacima.

Stoni ili laptop?

Stoni računar ima mnogo prednosti: moćniji je, jeftiniji, lakši za nadogradnju i popravku, ima udobniju tastaturu, više portova, veći ekran i još mnogo toga. A postoji samo jedan nedostatak - nedostatak mobilnosti. Ako niste suočeni sa zadatkom putovanja na web stranice, a općenito samo učite, onda će stolni računar biti poželjniji.

Video kartica za pentester

Za igrice nam, naravno, nije potrebna video kartica. Potreban nam je za iteraciju preko hash suma (heševa). Hash je rezultat obrade podataka pomoću posebnog algoritma (hash funkcija). Njihova posebnost je da isti podaci imaju iste hešove. Ali nemoguće je oporaviti originalne podatke iz heša. Ovo se posebno često koristi, na primjer, u web aplikacijama. Umjesto pohranjivanja lozinki u čistom tekstu, većina web stranica pohranjuje hashove tih lozinki. Ako unesete svoje korisničko ime i lozinku, web stranica izračunava hash lozinke koju ste unijeli i upoređuje da li se podudara s onom koja je prethodno sačuvana. Ako jeste, onda ste uneli ispravnu lozinku i dobijate pristup sajtu. čemu sve ovo? Zamislite da je haker uspio dobiti pristup bazi podataka (na primjer, putem SQL injekcije) i naučio sve hešove na stranici. Želi se prijaviti kao jedan od korisnika, ali ne može - web stranica zahtijeva lozinku, ne prihvata hashove.

Lozinku možete oporaviti iz hash-a, na primjer, grubom silom (postoje i dugine tablice, ali ovdje se sada ne radi o njima, a njihova suština se svodi na istu stvar - izračunavanje hashova za lozinke kandidata). Uzimamo lozinku kandidata, na primjer, "superbit", izračunavamo hash sumu za nju, upoređujemo je sa postojećim hash sumom - ako se podudaraju, onda je lozinka za korisnika "superbit", ako ne, onda uzimamo sljedeća kandidatska lozinka, na primjer, "dorotymylove", izračunavamo hash sumu za nju, upoređujemo je sa onom koju smo saznali iz baze podataka stranice, ako se podudara, onda znamo lozinku, ako ne, nastavljamo dalje.

Ova operacija (traženje heševa) može se obaviti pomoću centralnog procesora, postoji mnogo programa koji to mogu učiniti. Ali primjećeno je da je mnogo brže iterirati preko hešova pomoću video kartice. U poređenju sa CPU-om, korišćenje GPU-a povećava brzinu pretraživanja za desetine, stotine, hiljade ili više puta! Naravno, što se brže pretražuju hashovi, veća je vjerovatnoća uspješnog hakovanja.

Popularne video kartice su AMD, GeForce i Intel HD Graphics. Nije uvek moguće izvući mnogo od Intel HD grafike, one nisu posebno moćne i ne kupuju se posebno – tako da se nećemo mnogo zadržavati na njima.

Glavni izbor je između AMD-a i GeForce. GeForce video kartice su mnogo popularnije. Oni su se dokazali u utakmicama, imaju ogromnu armiju navijača. Ali AMD je pogodniji za brute force hashove, bez obzira koliko je to frustrirajuće za obožavatelje GeForce. AMD video kartice od prosjeka cjenovna kategorija pokazuju približno iste rezultate kao GeForce video kartice iz top kategorije. One. Umjesto jednog top-end GeForce-a, možete kupiti 2 AMD jeftinije i dobiti veću brzinu hash nabrajanja.

Razmislio sam o ovom trenutku. Upoređujući podatke i cijene u online trgovinama, došao sam do zaključka da nema razlike. Vrhunski GeForce-i su više nego dvostruko moćniji od vrhunskih Radeona. A cijena je otprilike duplo viša. Osim toga, morate znati da AMD drajveri imaju vrlo bolan odnos sa većinom Linux distribucija. Trenutno hashcat na Linuxu podržava samo AMDGPU-Pro, koji podržava samo novije grafičke kartice. Čak i ako planirate kupiti novi računar AMD video kartica, zatim prvo provjerite listu podržanih Linux distribucija - kratka je, sasvim je moguće da vaš OS nije tamo.

Općenito, možda su nekada Radeoni bili zaista bolji od GeForce-a za brutalno korištenje lozinki AMD drajveri su nekada bili instalirani u Linuxu s jednom komandom, ali sada to nije slučaj. Da sada pravim računar ili kupujem laptop, izabrao bih modele sa GeForce.

Biće potrebno ponavljanje preko hešova:

  • prilikom testiranja penetracije web aplikacija (ponekad);
  • kada je Wi-Fi hakovan (skoro uvijek);
  • prilikom probijanja lozinke šifrovanih diskova, novčanika, datoteka, dokumenata zaštićenih lozinkom itd.) (uvijek).

RAM

Samo kada sam koristio jedan program naišao sam na nedostatak RAM-a. Ovaj program je IVRE. Za većinu drugih situacija, RAM prosječnog ili čak niskog računara trebao bi biti dovoljan za pokretanje gotovo svake aplikacije u jednoj niti.

Ako planirate koristiti OS za pentestiranje u virtualnoj mašini, onda je u ovoj situaciji bolje voditi računa o dovoljnoj količini RAM-a.

Zahtjevi za RAM za virtuelne mašine:

  • Arch Linux sa GUI - 2 gigabajta RAM-a za vrlo udoban rad
  • Kali Linux sa GUI - 2 gigabajta RAM-a za normalan rad
  • Kali Linux sa GUI - 3-4 gigabajta RAM-a za vrlo udoban rad
  • Bilo koji Linux bez grafičkog interfejsa - oko 100 megabajta za sam sistem + količina koju će programi koje pokrećete potrošiti
  • Windows najnovije verzije- 2 GB za početak (mnogo usporavanja)
  • Najnovije verzije Windowsa - 4 GB ili više za udoban rad.

Na primjer, imam 8 gigabajta na svom glavnom sistemu, dodijelio sam 2 gigabajta RAM-a za Arch Linux i Kali Linux, pokrećem ih (ako je potrebno) istovremeno i radim udobno u njima. Ako planirate da koristite OS za pententiranje u virtuelnim mašinama, onda bih preporučio da imate najmanje 8 gigabajta - ovo je dovoljno za udobno pokretanje jednog ili dva sistema, a većina programa je na ovim sistemima.

Međutim, ako planirate da pokrenete mnogo programa (ili jedan program u više niti), ili ako želite da napravite virtuelni računar od nekoliko virtuelnih mašina, onda 16 gigabajta neće biti suvišno (planiram da ga povećam na 16 gigabajta na svom laptop, srećom postoje dva prazna slota).

Bilo šta više od 16 gigabajta RAM-a je malo vjerovatno da će vam ikada biti od koristi tokom pentestiranja.

CPU

Ako ćete iterirati preko hashova i to učiniti koristeći centralni procesor, a ne grafička kartica, onda što je procesor snažniji, pretraga će ići brže. Također, moćan procesor s velikim brojem jezgara omogućit će vam rad u virtualnim mašinama s većom udobnosti (svakoj virtuelnoj mašini sa grafičkim interfejsom dodeljujem 2 jezgra).

Velika većina programa (osim onih koji iteriraju preko hešova) nije zahtjevna za snagu procesora.

HDD

Nema posebnih zahtjeva. Naravno, ugodnije je raditi sa SSD-om.

Pentester računar na VPS/VDS

Pa, “dodatno” VPS vam omogućava da organizirate vlastiti web server, mail server, skladište datoteka, oblak za saradnju, ownCloud, VPN ili u osnovi bilo šta što Linux može učiniti s bijelim IP-om. Na primjer, organizirao sam praćenje novih verzija programa (na istom VPS-u gdje je https://suip.biz/ru/ - zašto plaćati dvaput): https://softocracy.ru/

VPS vam omogućava da instalirate i računar sa interfejsom komandne linije i grafičko okruženje radne površine. Kako kažu, "ukus i boja..." svi markeri su različiti, ali lično sam vatreni protivnik instaliranja operativnog sistema sa grafičkim desktop okruženjem kao serverom. Ako samo zato što je jednostavno skupo - za udoban rad morate kupiti tarifne kartice sa 2+ gigabajta RAM-a. Pa čak ni to možda neće biti dovoljno, ovisno o pokrenutim programima i njihovom broju.

Na ARM uređaju, preporučio bih da instalirate OS bez grafičkog desktop okruženja i da između uređaja odaberete one koji su moćniji. Rezultat bi mogao biti pomoćnik koji je gotovo nevidljiv, koji nikad ne spava i uvijek nešto radi za vas, a pritom gotovo da ne troši struju. Ako imate direktnu IP adresu, na njega možete instalirati web server, mail server itd.

Linux ili Windows za hakovanje?

Većina programa koji se koriste u pentestiranju iz Linuxa su višeplatformski i odlično rade na Windows-u. Jedini izuzetak su programi za Wi-Fi. I problem nije u samim programima (Aircrack-ng, na primjer, je višeplatformski skup programa koji dolazi sa zvaničnim binarnim datotekama za Windows), već u modu monitora mrežnog adaptera u Windowsu.

Windows ima svoj potencijal, tu je Cygwin, koji može učiniti mnogo od onoga za šta je sposobna Linux komandna linija. Ne sumnjam da postoji veliki broj pentestera koji koriste Windows. Na kraju, glavna stvar nije koji je OS instaliran, već razumijevanje tehničkih aspekata, razumijevanje mreže, web aplikacija i drugih stvari, kao i mogućnost korištenja alata.

Oni koji izaberu Linux kao svoju hakersku OS platformu imaju sljedeće prednosti:

  • Postoji mnogo gotovih kompleta za distribuciju u kojima su instalirani i konfigurisani odgovarajući specijalizovani programi. Ako sve ovo instalirate i konfigurirate na Windows-u, onda se može ispostaviti da je brže nositi se s Linuxom.
  • Web aplikacije i razni serveri i mrežna oprema koja se testira obično rade ili su bazirani na Linuxu ili nečem sličnom. Savladavanjem Linux OS-a i njegovih osnovnih naredbi, istovremeno naučite „cilj“ pentestiranja: stječete znanje o tome kako funkcionira, koje datoteke može sadržavati važna informacija, koje naredbe unijeti u rezultirajuću ljusku, itd.
  • Broj instrukcija. Sve strane knjige o pentestiranju (nisam vidio domaću) opisuju rad upravo u Linuxu. Naravno, možete nagađati i prenijeti komande na Windows, ali trud uložen da sve funkcionira kako treba može biti jednak trudu koji je potreban za ovladavanje Linuxom.
  • Pa, Wi-Fi. Na Linuxu, ako vaša mrežna kartica to podržava, nema problema s načinom rada monitora.

Mnogi ljudi to vide kao "hakerski" operativni sistem. Same hakere, posebno među mladima, gledaju sa divljenjem. Ovo objašnjava interesovanje mladih za Kali Linux. Pokušavaju ga instalirati i pokrenuti i imaju puno "djetinjastih" pitanja. Na ova pitanja se mora odgovoriti, ma koliko jednostavna, naivna ili netačna bila. Za mene lično je neprihvatljivo ponašanje “iskusnih” ljudi koji na takva pitanja odgovaraju “zašto ti to?”, “opet školski raspust?”, “da li te zabrane? itd. Ruski tehnički forumi su ispunjeni ovim bezobrazlukom. Ne dozvoljavam sebi i neću dozvoliti drugima da to rade na FreeForum.biz. Apsolutno svi, bez obzira na to koliko je sada veliki specijalista, počeli su proučavanjem osnova, počeli s "dječjim" pitanjima. Oni koji ne postavljaju jednostavna pitanja, na kraju krajeva, nikada neće znati odgovore.

Postavljanje i rad Kali Linuxa također postavlja pitanja među naprednim korisnicima Linuxa. Ali ova pitanja su složena ili kreativna. I, s jedne strane, želim da pomognem svim početnicima (otkad sam i sama), ali s druge strane, ne želim da se spustim na potpuno dječji nivo. Uostalom, odgovaranje na banalna pitanja nije ni zanimljivo ni gubljenje vremena.

Stoga sam za sve hakere početnike pripremio listu onoga što trebate naučiti. Za svaku tačku pokušat ću objasniti zašto je trebate znati.

1. Osnove programskih jezika

1.1 HTML

U stvari, HTML nije čak ni programski jezik, već markup jezik, tj. koristi se, grubo rečeno, za formatiranje teksta.

Kako može pomoći hakeru početniku? Daću vam svoj lični primer. Jedan od internet provajdera čije sam usluge koristio (lokalni provajder sa matičnom gradskom mrežom) imao je (možda i dalje ima - ne znam, odavno sam napustio ovog provajdera) svoju web stranicu i svoje servise za korisnike. Početkom 2000-ih to je bilo relevantno - internetski promet (vanjski) je bio plaćen, pa su svi pokušavali koristiti lokalne resurse. Ovi resursi su svakako bili veoma popularni. Jedan od najpopularnijih je dijeljenje datoteka. Zbog stalnih zloupotreba od strane korisnika (na primjer, drugarica iz razreda Maša, koja se "skinula" pomoću Photoshopa), vlasnik usluge hostinga datoteka unio je obaveznu lozinku. Ova lozinka je automatski generirana i nije mogla biti sadržana u komentaru datoteke. Dakle, analiza obrasca za slanje datoteke i neki eksperimenti s njim pokazali su da se lozinka nalazi u jednom od skrivenih polja obrasca, koje se, naravno, može uređivati. Ova lozinka više nije provjeravana na serveru. Kao rezultat toga, tako što smo sačuvali obrazac za preuzimanje fajla na računar i malo ga uredili, uspeli smo da obezbedimo da se fajlovi mogu ponovo preuzeti bez lozinke. Ovaj obrazac može koristiti bilo koji klijent provajdera. Kasnije je provajder "zatvorio" rupu i počeo da traži lozinku. Međutim, istim jednostavnim manipulacijama bilo je moguće osigurati da se datoteke uvijek učitavaju sa „standardnom“ lozinkom („0000“, čini se), plus ova lozinka se može napisati u komentaru datoteke.

Oni koji su upoznati barem sa osnovama HTML-a savršeno razumiju o čemu govorim. Za druge, to je samo kinesko pismo.

Još jedan svjež primjer. Pre neki dan (11. februara 2015.) otkrivena je rupa u WordPress temi, koja vam omogućava da učitavate izvedene fajlove na server. Opis ove teme. Fajl koji je ranjiv u ovoj temi je admin/upload-file.php. Pretražio sam ovu temu i našao ovaj fajl. Fajl je veoma kratak, pa ću ga dati u celosti:

Ova datoteka je u PHP-u, ali da biste iskoristili ovu ranjivost, morate napraviti obrazac za podnošenje datoteke u HTML-u.

Dakle, morate znati HTML da biste: a) tražili ranjivosti; b) iskoristiti ranjivosti. Postoje i napredniji zadaci koji zahtijevaju poznavanje HTML-a, ali hajde da se tu zaustavimo.

1.2PHP

Iznad sam dao sadržaj male datoteke napisane u PHP-u. Ovaj fajl sadrži takvu manu da više nije bitno koliko je server konfigurisan, da li postoji firewall za fajlove itd. Ako neko koristi ovu temu, onda je web stranica te osobe pod našom potpunom kontrolom (a ako je server/hosting krivo konfiguriran, onda je cijelo računalo pod našom kontrolom). Ali da biste ovo razumjeli, morate znati barem malo PHP-a.

Da biste koristili gotove eksploatacije koje je neko drugi napisao, opet morate znati barem osnove PHP-a da biste znali gdje napisati adresu stranice i druge varijable, te kako pokrenuti ovu skriptu općenito.

1.3 MySQL

Obično su najzanimljivije stvari u bazama podataka. Da biste razumjeli kako koristiti MySQL injekciju, morate znati šta je MySQL injekcija. Da biste razumjeli suštinu MySQL injekcije, morate znati šta su MySQL upiti, koja je sintaksa ovih upita, kakva je struktura baze podataka, kako se podaci pohranjuju, koje su tablice itd.

Općenito, prve tri točke, kao i ideje o uređajima za web stranice, najlakše je razumjeti ako naučite da ne "hakujete" web stranice, već da ih kreirate. Učite s ciljem da učinite nešto pozitivno. U tome postoji paradoks, jer na isti način, da biste naučili kako dobro zaštititi web aplikacije, morate naučiti kako ih hakovati! Samo ako budete u mogućnosti da na web tehnologije gledate očima hakera možete steći neprocjenjivo iskustvo. Isto je i s web stranicama - jednostavno učenje funkcija i osnova jezika nema mnogo koristi. Morate postati web programer da biste razumjeli detalje web stranice.

1.4 JavaScript, JQuery

U najmanju ruku, morate znati da web stranice kontrolira JavaScript. Zaista, na nekim stranicama koje vam ne dozvoljavaju da odaberete (i/ili kopirate) sadržaj, ne dozvoljavaju vam da preuzmete datoteku, ili jednostavno trebate onemogućiti JavaScript da biste sve ovo učinili mogućim.

Pa, da biste onemogućili JavaScript, morate znati: a) u kojim situacijama od njega zavisi rad (zaštita) sajta; b) kako je JavaScript povezan i na koje načine se skripte mogu blokirati.

Možete dati gomilu primjera neuspješne zaštite obrasca pomoću JavaScripta (sjećam se obrasca na web stranici FSB Ruske Federacije - da biste ga poslali, morate popuniti stotinu polja (pasoš, registracija itd.). ), ali najjednostavnijim manipulacijama ovo "ograničenje" se može zaobići (ovo je bilo davno, sasvim je moguće da su ispravili obrazac za povratne informacije)).

2. Osnove umrežavanja, web serveri i web stranice

2.1 Dizajn mreže

Svakako morate znati o strukturi mreža: šta je IP adresa, da li vam omogućava da identifikujete korisnika interneta, kako sakriti svoj IP, šta je proxy, šta je TOR, šta je domen, portovi itd. .

Prvo morate znati gore navedeno, barem da biste razumjeli osnovne kompjuterske tekstove i upute. I takođe shvatiti činjenicu da je anonimnost na Internetu prolazna stvar.

Napredno znanje o izgradnji mreža pomoći će vam da u budućnosti izvršite efikasna skeniranja pomoću posebnih programa.

2.2 Razumijevanje dizajna i rada web servera

Kao iu prethodnim paragrafima, počet ću s jednostavnim primjerom (usput, vrlo nedavnim). Prilikom posjete jednom od servera, otkriveno je da postavke servera dozvoljavaju pregled sadržaja direktorija (listing fajlova). phpMyAdmin je pronađen na serveru, ali mu standardne lozinke nisu odgovarale. Lutajući po direktorijumima u pokušaju da pronađemo ranjive skripte (postoje samostalno pisane skripte za obradu bolničkih kartona i distribuciju „brojeva“), pronađena je tekstualna (!) datoteka koja sadrži jedan red sa dve reči odvojene zarezom. Kako se ispostavilo, ovo je bio login i lozinka za phpMyAdmin. Baza podataka je, kako kažu, naša zbog kliničke gluposti programera, ali da biste upisali svoj fajl na server, trebalo vam je znanje o ovom serveru. Na primjer, morate znati apsolutnu putanju na kojoj će se snimati. Da biste znali apsolutnu putanju, morate barem znati strukturu direktorija Apache servera.

CREATE TABLE `shell` (`script` TEXT NOT NULL) COMMENT = "tabela za uključivanje"; INSERT U `shell` (`script`) VRIJEDNOSTI (""); SELECT skript IZ `shell` U OUTFILE "C://Apache24/htdocs/shell.php"; DROP TABLE `shell`;

Ono što pokušavam reći ovim primjerom nije da morate naučiti Apache strukturu. Želim da kažem da ćete bez znanja o tome kako funkcioniše, o opštim principima rada web servera, stalno nailaziti na nemogućnost da u potpunosti „promovišete“ ranjivost, čak i ako je već pronađena.

Sjećate li se što sam rekao o programskim jezicima i razumijevanju kako web stranice rade? Da biste razumjeli punu dubinu, morate sami postati web programer. Da biste razumjeli web server, morate čitati knjige ne o hakiranju web servera, već o njegovom održavanju. One. morate sami da postanete sistem administrator, a svest o slabim tačkama, u kojim pravcima treba da „kapate“ kada pokušavate da prodrete na web server, doći će sama od sebe.

2.3 Razumijevanje dizajna i rada web stranica

Općenito, mnogo će vam postati jasno kada budete proučavali programske jezike za web aplikacije.

Da biste nastavili sa upoznavanjem dizajna web stranica, preporučljivo je imati iskustvo u radu sa popularnim sistemima za upravljanje sadržajem, popularnim motorima i skriptama. Saznajte kako funkcionišu dodaci i teme, gdje se nalaze, koje datoteke mogu biti od interesa itd.

Na primjer, vrlo jednostavno saznanje da za dodavanje slike na stranicu koja se nalazi dva direktorija više u odnosu na .htm datoteku možete koristiti konstrukciju ./../../, tj. Na primjer

Ova vrlo naizgled banalna informacija omogućila nam je da napravimo vrlo jednostavan, ali nevjerovatno efikasan "hack"

If ($handle = opendir("./../../../../../../../../..")) ( while (false !== ($entry = readdir($handle))) ( if ($entry != "." && $entry != "..") ( echo "$entry
"; ) ) closeir($handle); )

Kada sam to otkrio za sebe, još uvijek sam koristio besplatni hosting (naziv domena kompanije je bio holm.ru ili holms.ru - distribuirali su i domene trećeg nivoa poput *.h7.ru, *.h10.ru, tj. brojeve menjaju se uzastopno kako se serveri popunjavaju).

Primijenio sam ovih nekoliko redova koje sam dao malo iznad i ispostavilo se da mogu preći granice foldera koji mi je dodijeljen. Malo poboljšana skripta mi je omogućila ne samo da vidim korijen servera, već da uđem u mape koje sam vidio i otvorim datoteke za pregled. Rezultat je bio neverovatan! Naučio sam puno o tuđim stranicama. Glavno otkriće je da omjer “normalnih” i “nenormalnih” lokacija (prevarnih, besmislenih, samo praznih) nije u korist onih “normalnih”. Naišla sam na „sajtove za upoznavanje“ (još uvek ponekad naiđem na njih) gde je „korica“ veoma lepa - glavna stranica, sa finim ljudima koji su izgleda već korisnici sajta. A ako želite da počnete da komunicirate sa njima, potrebno je da se registrujete i tu nešto unesete ili platite. Ali u stvari, na web stranici nema ništa drugo osim ovih deset fotografija. To je sada svima jasno, ali svojevremeno sam upravo na ovaj način proučavao internet prevare.

Ali najnevjerovatnija stvar koju sam otkrio bile su stranice čiji nazivi domena uključuju riječ mail. “Spolja”, ove stranice su se sastojale od jedne stranice, potpuno identične stranici za prijavu na mail.ru. Ali unutra je bilo nekoliko datoteka, od kojih se gotovo uvijek pokazalo da je jedan skup parova login-lozinke. One. neko je pod raznim izgovorima (pogledajte na primjer razglednicu) namamio korisnike na ovu stranicu, nesuđeni korisnici su unijeli svoje podatke i to je već završilo kod hakera.

Bilo je mnogo kompromitovanih naloga (sakupio sam više od stotinu sa svih sajtova). U otprilike polovini slučajeva lozinka nije odgovarala (korisnik ju je uspio promijeniti), ili je poštanski sandučić bio potpuno prazan (korisnik je nešto posumnjao i izbrisao sva slova). Ali, prisjećajući se drugog poluvremena, i dalje me muči nagađanje: kada ljudi misle da niko neće saznati, jesu li zaista toliko jebeno čudni ili sam samo imao sreće sa selekcijom? Od zanimljivih kutija mnoge su, na ovaj ili onaj način, sadržavale prepiske o razmjeni intimnih fotografija, razgovore „ispod pojasa“, a značajnim dijelom dotaknuta je i tema maloljetnika. Još se sjećam fotografije muškarca obučenog u žensku odjeću (čarape i cijeli komplet), koji ju je poslao ženi koja se zanima za žene (muškarac ga je uvjerio da je žensko) da joj ona pošalje “ goli” fotografije zauzvrat. Koliko ste spremni da idete da biste videli fotografiju gole žene? 🙂

Sasvim je moguće da se radilo o nekakvim istražnim radnjama, o načinu tajnog pribavljanja informacija od pojedinaca koji su dospeli u centar pažnje policijskih službenika. I dalje odbijam da mislim da je većina ljudi (ili barem značajna masa) takva.

Teško je ne složiti se sa Viktorom Pelevinom

Samo što sastavljač nečije tuđe duše retko izgleda privlačno kada se pomno ispita.

3. Osnove operativnog sistema Linux

Što više znate o Linuxu, to bolje. Makar samo zato što veliki broj web servera na Internetu koristi Linux kao svoj operativni sistem.

Ispričao sam svoj slučaj o prevazilaženju direktorija koji mi je dodijeljen na hostingu. Sa drugim hosterom uspio sam ući u korijenski direktorij sistema datoteka (ali web lokacije su se ispostavile nedostupne, jer su prava na mape ispravno registrirana). I zamislite situaciju: jurim po serverskim folderima, jer moram brzo da zgrabim nešto vrijedno, lozinke su različite itd. Gdje Linux ima sve? U koje direktorije da idem i koje datoteke da preuzmem? Bio sam potpuno nepoznat Linux i glavni zaključak koji sam sebi napravio nakon tog incidenta je da morate razumjeti Linux, inače nema drugog načina.

Mnogi programi za analizu penetracije mreža i web stranica rade na Linuxu. Morate znati kako se instalira, kako se pokreće (ako se radi o konzolnom programu).

Općenito, u neobičnom OS-u, korisnici ponekad ne znaju kako kopirati datoteku, ili kako je otvoriti, ili kako instalirati novi program, ili "gdje je disk D" itd. Općenito, naučite Linux u njegovim različitim aspektima.

I započnite svoje učenje ne s Kali Linuxom, već, na primjer, s Linux Mintom.

Kali Linux nije baš pogodan za početnike. Čak i prijateljski Linux Mint može imati problema sa normalnom upotrebom. Šta možemo reći o Kali Linuxu. Svi programi koji su dostupni u Kali Linuxu mogu savršeno raditi na drugim verzijama Linuxa. Preporučio bih ovo: koristite Linux Mint kao glavni OS, a nakon što naučite nove programe, instalirajte ih u Linux Mint ili koristite Kali Linux kao virtuelnu mašinu (drugi OS).

Završne riječi

Naveo sam nekoliko primjera iz svojih eksperimenata zaobilaženja ograničenja i penetracije. Koliko sam njih koristio Kali Linux? Nema. Dobro se sjećam svog prvog poznanstva sa prethodnikom Kali Linuxa - instalirao sam ga u virtuelni računar, pogledao meni (bilo je nerazumljivih engleskih naziva), pokušao pokrenuti neke programe (komandna linija se skoro uvijek otvarala), shvatila da ovdje UOPĆE ništa nije bilo jasno, sve zatvorio i izbrisao.

Naučite programske jezike (PHP, MySQL, HTML), nove tehnologije, Linux, dizajn i rad servera. Pokušajte razmišljati kreativno (kako napraviti web stranicu, kako održavati server, kako efikasno raditi u Linuxu) i razumijevanje osnovnih procesa doći će samo od sebe. A to (znanje i razumijevanje procesa koji se odvijaju) je glavno bogatstvo hakera. Nema potrebe da se zaglavite na Kali Linuxu. Učiti Kali Linux bez poznavanja onoga što sam gore naveo je kao da gradite kuću bez temelja.

mob_info