Tietämystä vaaditaan monenlaisista tietojenkäsittelytieteen aiheista, mutta asioiden tunteminen hyvin syvällisesti on avain hakkerin menestykseen. Siksi myönteinen asenne oppimista kohtaan on olennaisen tärkeää hakkeriksi oppimisen matkalla.
Alhaalla on askel askeleelta opas, jonka olen luonut opettamaan sinulle, miten tulla hakkeriksi:
- Vaihe 0: Lue The Hacking Manifesto
- Vaihe 1: Opettele ohjelmoimaan C:llä
- Vaihe 2: Opettele useampi kuin yksi ohjelmointikieli
- Vaihe 3: Opettele UNIX
- Vaihe 4: Opettele useampi kuin yksi käyttöjärjestelmä
- Vaihe 5: Opettele verkkokäsitteet
- Vaihe 6: Aloita yksinkertaisesti: Read Some Tutorials About Hacking
- Vaihe 7: Opettele kryptografia
- Vaihe 8: Kokeile paljon
- Vaihe 9: Lue hyviä kirjoja asiantuntijoilta
- Vaihe 10: Osallistu hakkerointihaasteisiin
- Vaihe 11: Siirry seuraavalle tasolle: Kirjoita haavoittuvuus
- Vaihe 12: Osallistu avoimeen lähdekoodiin perustuviin tietoturvahankkeisiin
- Vaihe 13: Jatka oppimista ja kuuntele jatkuvasti tietoturvakeskusteluja
- Yhteenveto
Vaihe 0: Lue The Hacking Manifesto
Hakkeriksi ryhtyminen ei ole helppo tehtävä. Hakkerina sinulla on oltava asennetta ja uteliaisuutta. Hakkerimanifestin lukeminen voi opettaa sinulle hakkerin asenteen. Hakkeriasenteen vaaliminen on pikemminkin kielitaidon kehittämistä kuin stereotyyppistä asennetta.
Vaikka monet pitävät hakkeria rikollisena, tosielämässä suuryritykset palkkaavat heidät kuitenkin suojelemaan tietoja ja minimoimaan mahdollisia vahinkoja. Hakkerointi on itse asiassa sitä, että ollaan yli-innokkaita ja huijataan viranomaisia. Hakkerina sinun pitäisi olla helvetin innokas rikkomaan autoritaarisia sääntöjä, salailua ja sensuuria. Huijaus on toinen arsenaali, jonka avulla voit väistää viranomaisten valppaita silmiä.
Varastaminen tai jonkun vahingoittaminen ei ole hakkerointia. Tällaisia ihmisiä kutsutaan yhteisössä yleisesti krakkereiksi. Crackerit ovat mukana laittomassa toiminnassa, enkä suosittele sinua sekaantumaan tällaiseen toimintaan.
Vaihe 1: Opettele ohjelmoimaan C:llä
C-ohjelmointi on yksi tehokkaimmista kielistä tietokoneohjelmoinnissa, On välttämätöntä todella hallita tätä kieltä. Tämän ohjelmointikielen keksi Denise Ritchie vuosina 1969-1973 AT& T Bell Labsissa. C-ohjelmointi auttaa sinua lähinnä jakamaan tehtävän pienempiin osiin, ja nämä osat voidaan ilmaista komentosarjalla. Kokeile kirjoittaa jotain ohjelmaa itse arvioimalla logiikkaa.
Verkossa on satoja ilmaisia C-ohjelmointi PDF & opetusohjelmia, joiden avulla voit oppia, mutta suosittelen kuitenkin, että aloitat valitsemallasi yksinkertaisella ja hyvin kirjoitetulla c-ohjelmointikirjalla ja luet sitten tämän kirjan (C-ohjelmointikieli
By Brian W. Kernighan and Dennis M. Ritchie) ymmärtääksesi c-kielen todellisen tehon.
Tämä kirja ei ole helppoa luettavaa, mutta se on kuitenkin pakko lukea, jotta saat syvällisen ymmärryksen C-ohjelmoinnista.
Vaihe 2: Opettele useampi kuin yksi ohjelmointikieli
Kun yrität ryhtyä hakkeriksi, on erittäin tärkeää opetella muitakin nykyaikaisia tietokoneiden ohjelmointikieliä, kuten Javaa, Perliä, PHP:tä ja Pythonia. Yksi parhaista tavoista oppia näitä on lukea asiantuntijoiden kirjoja. On myös hyödyllistä tuntea XML:n ja HTML:n kaltaisia merkintäkieliä sekä JSON:n, Protobufin ja muiden kaltaisia dataformaatteja, jotka ovat yleinen tapa siirtää tietoja asiakkaan ja palvelimen välillä.
Java on yksi suosituimmista ohjelmointikielistä. On väitetty, että se on myös erittäin turvallinen. Javan turvallisuusmallin tunteminen antaa sinulle mahdollisuuden ymmärtää, miten tällä kielellä saavutetaan turvallisuus. Tutustu Java-kielen ja siihen liittyvien kehysten tietoturva-aukkoihin. Valitse ja lue monista ilmaisista PDF-tiedostoista, opetusohjelmista ja e-kirjoista, jotka ovat saatavilla javan oppimiseen verkossa.
Perl on yleiskäyttöinen dynaaminen ohjelmointikieli, joka on korkeatasoinen ja jota voidaan tulkita. Tämä kieli lainaa joitakin ominaisuuksia C-kielestä. Toisaalta JAVA on rinnakkainen, luokkapohjainen ja oliopohjainen ohjelmointikieli. Python on todella kätevä, kun yrität automatisoida joitakin toistuvia tehtäviä.
HTML on merkintäkieli, jonka pohjalta verkkosivut suunnitellaan, luodaan ja näytetään. Web-selaimet lukevat HTML-koodia näyttääkseen web-sivun.
Python on paras kieli web-kehitykseen ja monien ohjelmoijien suosikkikieli sen yksinkertaisuuden ja nopeuden vuoksi. Monet ihmiset käyttävät Pythonia yksinkertaisten ja monimutkaisten automaatioiden tekemiseen.
Muutaman ohjelmointikielen opetusohjelmia varten tarkista – parhaat ohjelmoinnin opetusohjelmat.
Vaihe 3: Opettele UNIX
UNIX on monitehtävä- ja monikäyttäjätietokoneiden käyttöjärjestelmä, joka on suunniteltu tarjoamaan järjestelmille hyvää tietoturvaa.Tämän käyttöjärjestelmän kehittivät eräät AT&T:n työntekijät Bell Labs:issa.Paras tapa oppia se on hankkia avoimen lähdekoodin versio (esim. centos) ja asentaa/käyttää sitä itse. Voit käyttää internetiä oppimatta UNIXia, mutta et voi olla internet-hakkeri ymmärtämättä UNIXia.
Jos et ole vielä käyttänyt Unix-käyttöjärjestelmää, muutama olennainen linux-komento helpottaa sinua pääsemään nopeasti alkuun.
Arnold Robbinsin kirjoittama Unix in a Nutshell on hyvä tapa aloittaa. Tämä kirja opettaa sinut käyttämään Unixia.
Seuraavaksi sinun on tiedettävä tämän käyttöjärjestelmän sisäiset asiat. Suosittelen Maurice J. Bachin kirjaa
The Design of the UNIX Operating System, jonka avulla saat syvällistä ymmärrystä Unix-käyttöjärjestelmästä.
Suuri osa verkkopalvelimista toimii Unix-pohjaisilla palvelimilla, ja tämän käyttöjärjestelmän sisäisten ominaisuuksien tunteminen on todella suuri lisä taidoissasi.
Vaihe 4: Opettele useampi kuin yksi käyttöjärjestelmä
UNIX:n lisäksi on olemassa monia muita käyttöjärjestelmiä. Windows-käyttöjärjestelmä on yksi yleisimmin vaarannetuista järjestelmistä, joten on hyvä oppia hakkeroimaan Microsoftin järjestelmiä, jotka ovat suljetun lähdekoodin järjestelmiä.
National Vulnerability Database -tietokannan mukaan Microsoftin käyttöjärjestelmissä on suuri määrä haavoittuvuuksia.
Windows-käyttöjärjestelmän asennusohjelmat jaetaan binäärimuodossa, joten koodia ei ole helppo lukea. Binäärikoodi on periaatteessa tietokoneen ymmärtämä tekstin ja datan digitaalinen esitys. Tieto siitä, miten ohjelmat on kirjoitettu windowsille ja miten eri sovellukset käyttäytyvät tässä käyttöjärjestelmässä, auttaa kuitenkin.
Yksi suositun käyttöjärjestelmän viimeaikaisista haavoittuvuuksista oli se, että Java Web Start -sovellukset käynnistyvät automaattisesti, vaikka Java-liitännäiset olisi poistettu käytöstä. Hakkerina toimimisessa on kyse siitä, että tunnet näiden käyttöjärjestelmien heikkoudet ja kohdistat ne järjestelmällisesti.
Vaihe 5: Opettele verkkokäsitteet
Verkkokäsitteiden on oltava teräviä, kun haluat olla hakkeri.
Ymmärrys siitä, miten verkot luodaan, on tärkeää, mutta sinun on kuitenkin tiedettävä erityyppisten verkkojen väliset erot. TCP/IP- ja UDP-protokollan selkeä ymmärtäminen on välttämätöntä, jotta pystyy hyödyntämään WWW:n haavoittuvuuksia.
Ymmärtää, mikä on aliverkko, LAN, WAN ja VPN.
Suosittelen Computer Networking: A Top-Down Approach By James F. Kurose and Keith W. Ross
Verkkokomennot HTTP-pyynnön tekemiseen on oltava käden ulottuvilla. HTTP-protokolla on portti, jonka kautta astutaan internetin maailmaan. Siksi on välttämätöntä oppia tämä protokolla, jotta voi murtaa esteet. Hakkerit käyttävät usein HTTP-yhdyskäytävää murtaakseen järjestelmän turvallisuuden ja ottaakseen sen haltuunsa.
Apache Httpd on yksi yleisimmin käytetyistä verkkopalvelimista, ja sen tunteminen ja tunteminen antaa sinulle valtuudet kaikkiin HTTP:hen tai muihin sovelluskerroksen protokollaan liittyviin pyrkimyksiin.
Nmap on tehokas verkon skannaustyökalu, jota hakkerit ja tietoturva-ammattilaiset kaikkialla maailmassa käyttävät haavoittuvien isäntien tunnistamiseen. Jotta voit kuitenkin aloittaa sen tehokkaan käytön, sinun on ymmärrettävä verkon perusteita. Saadaksesi NMapin kehittyneet taidot voit tutustua tekijöiden kirjaan – Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning
Vaihe 6: Aloita yksinkertaisesti: Read Some Tutorials About Hacking
Tämä on yksinkertainen ja paras tapa aloittaa. Lue mahdollisimman paljon tutoriaaleja, jotka on tarkoitettu hakkerointiin. Nämä artikkelit antavat sinulle näkemystä ja auttavat sinua kehittämään asennetta olla hakkeri. Jotkut opetusohjelmat perehdyttävät sinut Nmapiin, Nessukseen ja SuperScaniin, jotka ovat joitakin hakkerointiohjelmia tai työkaluja, joita hakkerit yleensä käyttävät. Nämä opetusohjelmat ovat helposti saatavilla internetissä; Sekä teksti- että video-opetusohjelmat ovat käytettävissäsi vastaamaan kysymykseesi, miten olla hakkeri.
Vaihe 7: Opettele kryptografia
Oppiaksesi asiantuntijahakkeriksi sinun on ymmärrettävä ja hallittava kryptografian taito. Kryptografian ja salauksen tekniikka on erittäin tärkeää internetin ja verkostoitumisen kannalta. Se on sellaisten tekniikoiden harjoittamista ja tutkimista, joita käytetään turvalliseen viestintään kolmansien osapuolten läsnä ollessa. Salaus tehdään tietoturvan eri näkökohtien, kuten tietojen luottamuksellisuuden, eheyden ja todentamisen, vuoksi. Lisäksi salaustekniikkaa käytetään laajalti pankkikorteissa, tietokoneiden salasanoissa ja sähköisessä kaupankäynnissä. Hakkeroinnin yhteydessä nämä salatut koodit on murrettava, mitä kutsutaan salauksen purkamiseksi.
Kryptografiaa käytetään paljon SSL-pohjaisessa Internet-viestinnässä. Asiantuntevan hakkerin pitäisi pystyä ymmärtämään, miten SSL toimii ja mikä on kryptografian merkitys SSL:n turvallisuuden ylläpitämisessä.
Kokeile lukea erilaisista salausalgoritmeista ja katso, miksi niitä on vaikea purkaa. Osallistu haasteisiin tehokkaan salauksen purkamiseksi. Asiantunteva hakkeri pystyy osoittamaan salausalgoritmin heikkoudet ja hänen pitäisi pystyä kirjoittamaan ohjelma, jolla voidaan osoittaa, miten salauksen purku voidaan suorittaa ilman paljon tietoa avaimista.
Ymmärtää erilaisia tekniikoita, joita käytetään salasanojen murtamiseen. Salasanojen murtamiseen on saatavilla kymmeniä työkaluja, ja niiden käyttäminen ei ole hakkerointia. Ollaksesi asiantuntija hakkeroinnissa on tärkeää, että ymmärrät, miten luoda ohjelma, joka voi murtaa salasanan salaustekstistä.
Suosittelen tätä ilmaista Courserassa olevaa Coursera-kurssia Cryptography Course By Dan Boneh by Dan Boneh from Stanford University
Vaihe 8: Kokeile paljon
Tämä on tärkeä vaihe, kun haluat tehdä itsestäsi asiantuntijahakkerin. Perusta itsellesi laboratorio, jossa voit kokeilla oppimista käytännön sovelluksiin. Yksinkertaisimmassa laboratoriossa on tietokoneesi, mutta edistyessäsi saatat haluta lisätä yhä enemmän tietokoneita ja tarvittavia laitteistoja kokeiluihin.
On hyvä kokeilla kokeiluja omilla tietokoneillasi, joissa voit korjata, jos olet tehnyt jonkin virheen. Monet hakkerit aloittavat aluksi lataamalla virtuaalilaboratoriosovelluksia, kuten Oracle VirtualBox. Tarvitset vähintään 3 Gt RAM-muistia ja verrattain tehokkaan prosessorin hakkerointikokeiden suorittamiseen. Virtuaalikoneen perustaminen on ratkaisevan tärkeää, sillä sen avulla voit testata viruksia, sovelluksia ja erilaisia palvelimia vaikuttamatta omaan tietokoneeseesi.
Joitakin asioita, jotka sinun kannattaa pitää mielessäsi kokeita tehdessäsi
- Pitäkää varmuuskopio ennen kaikkia kokeita.
- Aloita pienestä ja sinulla on tarkistuspisteitä.
- Tiedä, milloin lopettaa.
- Dokumentoi edistymisesi
- Pysy improvisoimassa
- Automatisoi toistuvia tehtäviä
Vaihe 9: Lue hyviä kirjoja asiantuntijoilta
Lukeminen parantaa aina tietojasi. Yritä lukea mahdollisimman paljon kirjoja ja artikkeleita, jotka ovat eettisen hakkeroinnin ja yritysturvallisuuden asiantuntijoiden kirjoittamia
Lukeminen paljon kaikesta aiheeseen liittyvästä on niin tärkeää hakkerien maailmassa, että sinun on myös harkittava lukunopeutesi parantamista. Jos lukunopeutesi on hidas, et ehkä pysty etenemään nopeasti tällä alalla. Harjoittele nopeuslukutekniikoita, kuten skimming, chunk reading jne.
Kun puhutaan paljon lukemisesta, on myös tärkeää tietää, että suurin osa verkossa olevasta sisällöstä ei ole aikasi arvoista. Monet käyttävät hakukonetemppuja houkutellakseen liikennettä, mutta niillä ei ole juurikaan arvoa. Jos selaat artikkelin läpi muutamassa sekunnissa ja päätät olla lukematta, säästät paljon aikaa todella hyvin tutkittuun sisältöön.
Jon Ericksonin The Art of Exploitation on erinomainen kirja, jonka avulla opit kehittyneeksi hakkeriksi.
Vaihe 10: Osallistu hakkerointihaasteisiin
Säännöllinen osallistuminen hakkerointihaasteisiin voi auttaa sinua oppimaan lisää ja terävöittämään osaamistasi. Useat yritykset järjestävät näitä haasteita tarkistaakseen ohjelmistotuotteidensa haavoittuvuuden. Yleisimpiin hakkerointihaasteisiin kuuluu ohjelmiston turvajärjestelmän murtaminen ja kolmannen osapuolen tietokonejärjestelmien hallinnan ottaminen. Tämän lisäksi on joitakin alla lueteltuja verkkosivustoja, jotka tarjoavat säännöllisesti hakkerointihaasteita verkossa.
- hackquest.de
- hacktissite.org
- www.trythis0ne.com
- www.trythis0ne.com
- www.hackchallenge.net
- hacking-lab.com
Vaihe 11: Siirry seuraavalle tasolle: Kirjoita haavoittuvuus
Ohjelman haavoittuvuus on ohjelman heikkous. On hyvä lähestymistapa etsiä haavoittuvuus olemassa olevasta ohjelmasta ja jakaa se muiden kanssa. Näin sinulla on mahdollisuus kerätä monipuolisia mielipiteitä eri lähteistä, jolloin voit hioa nykyisiä taitojasi.
Esimerkkejä tietokoneen haavoittuvuuksista ovat muun muassa muistiturvallisuuden rikkominen, syötteen validointivirhe, etuoikeuksien sekoittumisvirheet ja käyttöliittymävirhe. Esimerkiksi Microsoftin Internet Explorer 11:n esikatseluversiossa oli haavoittuvuusvirhe, jota useat hakkerit käyttivät hyväkseen.
Uuden heikkouden tunnistaminen missä tahansa ohjelmistossa on varsinaista työtä, jota kuka tahansa asiantunteva hakkeri tekisi.
Vaihe 12: Osallistu avoimeen lähdekoodiin perustuviin tietoturvahankkeisiin
Tietokoneiden avoimeen lähdekoodiin perustuviin tietoturvahankkeisiin osallistuminen on loistava foorumi taitojesi testaamiseen. Tämä ei ole kaikkien mieleen. Monet organisaatiot, kuten Mozilla ja Apache, tarjoavat tällaisia avoimen lähdekoodin projekteja. Yritä olla osa näitä projekteja ja anna arvokas panos yhteisön hyväksi.
Osallistumalla avoimen lähdekoodin tietoturvahankkeisiin, kuten roskapostin torjuntaan, virustorjuntaan, palomuuriin ja tietojen poistamiseen, voit lisätä taitojasi hakkerina.
Lahjoita haavoittuvuushavaintojasi globaaleihin haavoittuvuustietokantoihin ja anna takaisin yhteisölle.
Muista, että ei ole väliä, vaikka panoksesi olisi pieni, kunhan osallistut ja lisäät arvoa, se auttaa.
Vaihe 13: Jatka oppimista ja kuuntele jatkuvasti tietoturvakeskusteluja
Hakkerin uralla menestymisen avain on jatkuva oppiminen. Lukemalla blogeja hakkerointi saatavilla sivustoja kuten hackerfactor blogi ja IKEA hakkeri blogi; osallistuu foorumeilla kuten hackforums.net ja Elite Hack ovat hyviä tapoja päivittää tietosi hakkeri. TED:n tai TechTalkin kaltaiset online-videofoorumit ovat hyviä lähteitä, jos haluat tietää lisää uusista hakkerointitekniikoista ja -tekniikoista, joita käytetään parhaillaan. Kannattaa myös kokeilla seurata kuuluisien hakkereiden, kuten Adrian Lamon, Kevin Mitnickin, Kevin Poulsenin ja Robert Tappan Morrisin, viestejä.
Yhteenveto
Yllä on muutama tyhjentävä vaihe, jotka voivat opettaa sinut hakkeriksi ja auttaa sinua kulkemaan asiantuntevan hakkerin tietä. Sinun tulisi kuitenkin olla vastuullinen kansalainen ja olla valikoiva ja varmistaa, ettet käytä tätä taitoa tärkeiden laitosten tietoturvan rikkomiseen, sillä se voi saattaa sinut pahaan pulaan. Sinun tulisi aina muistaa, että jokaista hakkerointityökalua varten on aina olemassa vastahakkerointityökalu. Ole siis fiksu hakkeri ja ennen kaikkea vastuullinen hakkeri.