Deci, vrei să fii un Hacker?

În ultima vreme am citit o tonă de întrebări, postări și discuții generale despre cum să intri în jocul “Securității Informatice” și, cel puțin în opinia mea, de obicei, este urmat de o cantitate destul de mare de informații înșelătoare. S-ar putea să fie puțin cam dur, având în vedere că sunt sigur că este bine intenționat, este chiar posibil ca sfaturile să fi funcționat pentru ei (nu există un sfat unic pentru toți), dar m-am gândit să-mi expun gândurile aici în speranța de a ajuta un nou hacker în devenire să avanseze.

Vreau să fac sport, de unde să încep?
Această întrebare vagă, deschisă și foarte ambiguă este foarte asemănătoare cu cea a cuiva care întreabă cum ar trebui să facă pentru a intra în securitatea informațiilor. Primul lucru de care trebuie să ne dăm seama este că există o gamă uriașă de domenii de securitate a informațiilor, iar în fiecare dintre aceste domenii uriașe există un conținut de învățare de o viață întreagă. La fel ca și în cazul alegerii unui sport, nu există un “cel mai bun”, ci pur și simplu, uneori, sunt domenii care vă pot plăcea mai mult decât altele. Din capul meu, iată câteva exemple de domenii, care nu sunt în niciun caz exhaustive.

  • Securitatea aplicațiilor web
  • Inginerie inversă
  • Inginerie inversă de malware
  • Securitatea rețelelor
  • Răspuns la incidente
  • Conformitate cu standardele
  • .

  • Programare / Crearea de instrumente pentru alții
  • Dezvoltare de explozibili
  • Forensics
  • Câteva dintre acestea sunt mai mult de natură tehnică, în timp ce altele sunt mai mult de natură teoretică. Vă garantez că, indiferent de ceea ce vă place, există alții care o vor găsi plictisitoare, la fel cum se întâmplă și cu ceea ce îi interesează pe alții uneori. În acest moment este de așteptat ca, dacă citești aceste rânduri, să știi foarte puțin despre oricare dintre aceste domenii, dar ceea ce este important este dorința ta de a învăța și ce tip de motivație ai.

    Tipul de hacking
    O marcă aproape universală a oamenilor din toate aceste domenii este concentrarea lor pe învățarea independentă și autodirijată. Din păcate, în unele privințe, securitatea este încă considerată o “artă întunecată”, adică de ce ar vrea cineva să știe cum să pătrundă într-un sistem informatic dacă nu are de gând să facă acest lucru? Prin urmare, o mulțime de oameni vor arăta dispreț sau ostilitate totală atunci când vor pune întrebări legate de securitate, sub falsa presupunere (poate uneori adevărată) că este vorba doar de un “script kiddie” care vrea să învețe să spargă sisteme, în loc să vrea să învețe și să folosească aceste cunoștințe pentru un scop bun. De asemenea, este un fapt că resursele de “învățare” în domeniul securității informației sunt destul de dezarticulate, neexistând un adevărat depozit central de materiale de învățare.

    Scopul evidențierii acestui aspect este că, dacă doriți să prosperați și să intrați cu succes în domeniul securității informațiilor, ar trebui să fiți pregătit să vă aruncați și să vă găsiți drumul fără să așteptați ca cineva să vă țină de mână și să vă conducă pe calea cea bună. Căutați pe Google câțiva dintre termenii de mai sus și vedeți ce vi se pare distractiv. În ciuda a ceea ce uneori pare a fi o bătălie constantă pentru a găsi “cel mai bun” domeniu de învățat, sau “cea mai bună” resursă, sau “cel mai bun” mod de a învăța, de multe ori se petrece mai mult timp amânând să ne întrebăm aceste întrebări decât să ne dedicăm timpul pentru a învăța efectiv. Căutați videoclipuri pe youtube pentru exemple de hacking – este în regulă dacă nu știți ce înseamnă multe dintre ele, dar notați o listă, apoi căutați pe Google acești termeni. Folosiți puncte de interes pentru a vă înmulți cu o rețea tot mai mare de cunoștințe în jurul subiectelor care vă interesează.

    Trebuie să învăț mai întâi X?
    Desigur că trebuie să aveți o cunoaștere completă a stratului OSI înainte de a începe. Da, trebuie să citești acea carte de 1000 de pagini despre protocolul TCP. Da, trebuie să cunoști bine 5 limbaje de programare (cel puțin!) înainte de a te gândi la hacking. Puteți să vă compilați propriul kernel Linux din codul sursă? Nu? Nu vă deranjați să învățați hacking. De fapt…. toate astea sunt pline de prostii, și totuși este unul dintre cele mai frecvente răspunsuri date persoanelor care doresc să învețe securitatea informațiilor. Există o singură cerință pentru a deveni un hacker decent – interesul. Diferența dintre un viitor hacker și un script kiddie nu constă în cunoștințe, ci în dorința de a învăța.

    Atâta timp cât ai o idee vagă despre cum să folosești un calculator ești la punctul de plecare cu care poți lucra. Da, dacă nu ai o înțelegere solidă a modului în care funcționează TCP, ar trebui să ai asta pe lista ta de lucruri de făcut pentru a te documenta atunci când cineva vorbește despre asta într-un tutorial de hacking – dar este ridicol să crezi că ai nevoie de o tonă de cunoștințe prealabile înainte de a avea voie să începi să înveți despre subiecte care te interesează. Când cauți cum funcționează acel puzzle de logare pe un site de hacking și acesta folosește JavaScript, vei învăța cum funcționează JavaScript. Când citiți cum funcționează un buffer overflow și acesta are un șablon Python, veți învăța câteva noțiuni de bază despre Python. Nu, nu veți obține o slujbă de dezvoltator în aceste limbaje la finalul cursului, dar veți învăța modalitățile obișnuite de a sparge limbajul.

    Învățare informală
    “Ok, am înțeles aluzia – trebuie să învăț singur lucrurile, dar poți măcar să-mi dai un punct de plecare?”

    Sigur, există o tonă de resurse excelente, gratuite sau ieftine, pentru a începe, în funcție de ce subiect vă atrage. Iată câteva exemple.

    Securitatea aplicațiilor web

  • HackThisSite – Bun pentru câteva provocări de bază bazate pe web (link)
  • Enigma Group – Similar cu Hack this site (link)
  • OWASP Top 10 – O idee despre care sunt cele mai comune vulnerabilități (link)
  • OWASP Broken Wep Apps – Un calculator virtual pe care îl puteți încărca pentru a exersa abilitățile de hacking în rețeaua dumneavoastră (link)
  • Pentesting Lab – O altă mașină virtuală axată pe web (link)
  • De fapt, orice de pe vulnhub care v-a interesat este bun (link)
  • The Web Application Hackers Handbook – Cartea despre hackingul web și vulnerabilități (link)
  • Reverse Engineering / Malware Reversing

  • Lena’s Tutorials – Cunoscută ca fiind destul de mult una dintre cele mai bune introduceri la inginerie inversă (link)
  • The Legends of Random – Din nou un alt set solid de tutoriale pentru inginerie inversă (link)
  • Reversing: Secrets of Reverse Engineering (Secretele ingineriei inverse) – O carte bună despre bazele ingineriei inverse (link)
  • Practical Malware Analysis (Analiză practică a programelor malware) – O carte excelentă care se concentrează pe inversarea programelor malware (link)
  • Malware Analysts Cookbook (Carte de bucate pentru analiștii de programe malware) – O altă carte care se concentrează pe inversarea programelor malware (link)
  • Network Security

  • Mașinile virtuale domină această categorie deoarece vă permit să exersați împotriva unor mașini reale. Mergeți pe vulnhub și descărcați orice VM care pare interesantă (link)
  • Metasploit Unleashed – O trecere în revistă solidă a cadrului de testare metasploit pentru a fi folosit împreună cu VM-uri. (link)
  • The Basics of Hacking and Penetration Testing (Bazele hacking-ului și ale testelor de penetrare) – O privire foarte elementară asupra testelor de penetrare, utilă pentru cei complet noi în domeniu. (link)
  • Metasploit – The Penetration Testers Guide – O altă carte care se concentrează în jurul utilizării metasploit în testele de penetrare (link)
  • Pentru că acesta este un domeniu atât de vast, de multe ori este vorba de a-l împărți într-un singur aspect, apoi de a cerceta în mod specific acel aspect. Blogurile sunt cel mai bun prieten al tău aici. (link)
  • Exploit Development

  • Corelan – Aceasta este de departe cea mai bună resursă existentă pentru a învăța despre dezvoltarea exploit-urilor. (link)
  • FuzzySecurity – O altă resursă bună de învățare, cu câteva tutoriale disponibile (link)
  • Exploit…DB – Unul dintre cele mai bune lucruri pe care le puteți face este să găsiți exemple de exploit (adesea cu aplicații atașate) și să încercați să reproduceți exploit-ul în mod independent (link)
  • Hacking – The Art of Exploitation – O carte fantastică care acoperă tone de tehnici de exploatare diferite (link)
  • The Shellcoders Handbook – O altă carte fantastică despre dezvoltarea exploit-urilor și shellcoding (link)
  • În afară de asta, Google, Google, și încă puțin Google. Am omis unele domenii, cum ar fi criminalistica și conformitatea, deoarece, personal, nu sunt interesat de ele, așa că nu am căutat resurse, sunt sigur că există unele fantastice.

    Învățare formală
    În afara resurselor gratuite, puteți, de asemenea, să începeți să obțineți certificate pentru a vă face mai atrăgători pentru angajatori dacă doriți să treceți în acest domeniu ca fiind mai mult o cale de carieră. Unele certificări pe care le-aș recomanda cu căldură ar fi cursul “Penetration Testing with Kali Linux” de la Offensive Security (link) dacă sunteți interesat de securitatea rețelelor. Este cu ușurință una dintre cele mai bune experiențe de învățare pe care le-am avut vreodată în domeniu și m-a învățat mai multe în 60 de zile decât am învățat într-un an de zile pe cont propriu. Cursul lor “Cracking the Perimeter” este, de asemenea, un curs excelent, care se concentrează puțin mai mult pe dezvoltarea de exploit-uri (link).

    Dacă doriți să vă dezvoltați abilitățile de programare, lucruri precum “Python for Pentesters and Hackers” de la SecurityTube (link) este o bază excelentă care vă va învăța cum să faceți o mulțime de lucruri ingenioase, cum ar fi să vă construiți propriile scanere de porturi, spargatoare de parole etc. Nu acord o valoare uriașă certificărilor pe care le oferă din perspectiva angajării, dar le-aș privi mai degrabă ca pe un pachet consolidat de cunoștințe și exemple de vânzare, care pot fi totuși valoroase.

    Cursul “Certified Ethical Hacker” este un alt curs frecvent menționat. Sincer, este privit de obicei cu dispreț, așa că nu cred că merită neapărat banii – dar dacă aveți nevoie de un curs formal pentru a învăța lucruri, atunci s-ar putea să merite banii pentru dumneavoastră. Multe dintre aceste certificări și valoarea lor sunt discutate pe forumurile de pe TheEthicalHacker.net, situate aici.

    “Just seeing if you can”
    Hacking-ul înseamnă să obții acces la lucruri care nu ne sunt destinate. Crearea unui exploit, găsirea unei injecții SQL, spargerea parolelor, toate acestea sunt concepute pentru a ne îndrepta spre obiectivul de a prelua controlul cutiei pe care o atacăm. Vă garantez că aproape fiecare hacker nou a început să viseze “să vadă dacă poate” să obțină acces la site-ul școlii. “Să vadă dacă pot” să obțină acces la rețeaua WiFi a vecinilor. Să-i trimită prietenului lor un virus troian “doar pentru a vedea dacă pot” să preia controlul. Mai rău, s-ar putea să ajungeți să vizitați locuri precum HackForums.net și să vedeți o mulțime de oameni care încearcă să îi infecteze pe alții cu RAT-uri, să construiască botnet-uri etc., cu impresia că acesta este hacking sau, din păcate, că acesta este singurul mod în care puteți învăța.

    Trebuie să subliniez că acest lucru nu este cazul. Orice tip de exerciții de tipul “doar pentru a vedea dacă poți” pot fi reproduse prin utilizarea mașinilor virtuale, a propriilor routere sau chiar a competițiilor de tip capture the flag / wargame care există acolo. Fiind realist, chiar dacă puteți accesa mașina unei alte persoane, ce aveți de gând să faceți cu ea? Veți încerca cu adevărat să furați detaliile cărților de credit și să efectuați tranzacții frauduloase? Chiar aveți de gând să furați parole și să fiți paranoic că activitatea dvs. va fi urmărită până la dvs. de dragul de a trage cu ochiul la e-mailurile cuiva? Au existat o mulțime de exemple de începători care au fost acuzați, fără să realizeze gravitatea infracțiunilor pe care le comit. Dacă ați căuta un loc de muncă la FBI și aceștia s-ar uita prin istoricul dvs. de postări, ați dori ca ei să citească acea postare în care ați întrebat cum să găzduiți un botnet? Este un exemplu clasic al faptului că ceea ce se află pe internet este pentru totdeauna, iar dacă îți dorești cu adevărat o carieră în domeniul securității informațiilor, ai nevoie de un cazier curat pentru a obține orice autorizație de securitate de care vei avea nevoie pentru a-ți face treaba. Nu merită să fii prins pentru lucruri stupide.

    Rezumat
    Deci, după o lungă divagație, care sunt punctele cheie?

  • Un hacker va căuta în mod activ informații, nu va aștepta ca alții să i le dea
  • Diferența dintre un script kiddie și un hacker nou este dorința de a învăța
  • Trebuie să experimentați o gamă largă de domenii de securitate a informației pentru a găsi ceea ce vă interesează
  • Nu lăsați pe nimeni să vă spună că există condiții prealabile pentru a învăța securitatea informației, nu există.
  • Nu merită “doar să vezi dacă poți” să faci ceva care nu este legal, riscul vs recompensa nu are sens să faci asta
  • Cu ajutorul cursurilor, a jocurilor de război, a capturii steagurilor și, mai ales, a mașinilor virtuale, nu există niciun scenariu de hacking care să nu poată fi reprodus legal
  • Distracție plăcută, îmi pare rău dacă a devenit predicator spre final și bucurați-vă de cutii de pwning! Securitatea informației este un domeniu minunat și veți învăța ceva nou în fiecare zi în care sunteți implicat în el. Nu există un răspuns corect pentru a intra în domeniu, în afară de a te arunca în el cu ambele picioare. Udă-te, învață să pășești pe apă și să rămâi pe linia de plutire, într-o zi s-ar putea chiar să poți înota un pic!

    .

    Lasă un răspuns

    Adresa ta de email nu va fi publicată.