Kunskap om ett stort antal datavetenskapliga ämnen krävs, men att veta saker och ting på djupet är nyckeln till framgång för en hackare. Att ha en positiv inställning till inlärning är därför viktigt på resan för att lära sig att bli en hackare.
Nedan följer den steg för steg-guide som jag har skapat för att lära dig hur man blir en hacker:
- Steg 0: Läs The Hacking Manifesto
- Steg 1: Lär dig programmera i C
- Steg 2: Lär dig mer än ett programmeringsspråk
- Steg 3: Lär dig UNIX
- Steg 4: Lär dig mer än ett operativsystem
- Steg 5: Lär dig nätverkskoncept
- Steg 6: Börja enkelt: Läs några handledningar om hackning
- Steg 7: Lär dig kryptografi
- Steg 8: Experimentera mycket
- Steg 9: Läs några bra böcker från experter
- Steg 10: Delta i hackningsutmaningar
- Steg 11: Gå nästa nivå: Skriv sårbarhet
- Steg 12: Bidra till säkerhetsprojekt med öppen källkod
- Steg 13: Fortsätt att lära dig och lyssna på säkerhetsföreläsningar
- Sammanfattning
Steg 0: Läs The Hacking Manifesto
Det är ingen lätt uppgift att bli en hacker. Som hacker måste man ha en attityd och nyfikenhet. Genom att läsa hackermanifestet kan du lära dig en hackares attityd. Att vårda hackerattityden handlar mer om att utveckla kompetens i språken än att ha en stereotypisk attityd.
Tyvärr anser många människor att en hacker är en brottsling, men i verkligheten anlitas de av stora företag för att skydda information och minimera eventuella skador. Hackerverksamhet innebär i själva verket att man är överdrivet nyfiken och att man överlistar auktoriteter. Som hackare bör du vara fast besluten att bryta mot auktoritära regler, sekretess och censur. Bedrägeri är en annan arsenal som gör att du kan undvika myndigheternas vaksamma ögon.
Att stjäla något eller skada någon är inte hackning. Sådana personer kallas vanligen för crackers i samhället. Crackers är inblandade i olaglig verksamhet och jag kommer inte att rekommendera dig att engagera dig i sådan verksamhet.
Steg 1: Lär dig programmera i C
C-programmering är ett av de mest kraftfulla språken inom datorprogrammering, Det är nödvändigt att verkligen behärska detta språk. Detta programmeringsspråk uppfanns av Denise Ritchie mellan åren 1969 och 1973 på AT& T Bell Labs. C-programmering hjälper dig i huvudsak att dela uppgiften i mindre bitar och dessa bitar kan uttryckas genom en sekvens av kommandon. Prova att skriva något program på egen hand genom att bedöma logiken.
Det finns hundratals gratis C Programming PDF & handledningar tillgängliga på webben för att lära sig, men jag skulle rekommendera dig att börja med en enkel och välskriven c-programmeringsbok efter eget val och sedan läsa den här boken (C Programming Language
By Brian W. Kernighan and Dennis M. Ritchie) för att förstå den verkliga kraften i c-språket.
Denna bok är inte lättläst men det är ett måste att läsa boken för att få en djupgående förståelse för C-programmering.
Steg 2: Lär dig mer än ett programmeringsspråk
När du försöker bli en hacker är det mycket viktigt att lära dig andra moderna datorprogrammeringsspråk som Java, Perl, PHP och Python. Ett av de bästa sätten att lära sig dessa är att läsa böcker från experter. Det är också bra att känna till uppmärkningsspråk som XML, HTML och dataformat som JSON, Protobuf och andra som är ett vanligt sätt att överföra data mellan klient och server.
Java är ett av de mest populära programmeringsspråken. Det har hävdats att det också är mycket säkert. Att känna till Javas säkerhetsmodell ger dig möjlighet att förstå hur detta språk uppnår säkerhet. Lär dig mer om säkerhetshålen i Javaspråket och relaterade ramverk. Välj och läs från många gratis PDF-filer, handledningar och e-böcker som finns tillgängliga för att lära dig java online.
Perl är ett dynamiskt programmeringsspråk för allmänna ändamål, som är en hög nivå och kan tolkas. Detta språk lånar vissa funktioner från C-språket. Å andra sidan är JAVA ett samtidigt, klassbaserat och objektorienterat programmeringsspråk. Python är verkligen praktiskt när man försöker automatisera vissa repetitiva uppgifter.
HTML är det uppmärkningsspråk som ligger till grund för utformning, skapande och visning av webbsidor. Webbläsarna läser HTML-koden för att visa webbsidan.
Python är det bästa språket för webbutveckling och favoritspråket för många programmerare på grund av dess enkelhet och snabba handläggning. Många människor använder Python för att göra enkla och komplexa automatiseringar.
För fler handledningar om programmeringsspråk se – best programming tutorials.
Steg 3: Lär dig UNIX
UNIX är ett operativsystem för datorer med flera uppgifter och flera användare som är utformat för att ge systemen god säkerhet.Detta operativsystem utvecklades av några anställda vid AT&T i Bell Labs.Det bästa sättet att lära sig det är att ta sig in i en version med öppen källkod (t.ex. centos) och installera/köra samma på egen hand. Du kan använda internet utan att lära dig UNIX, men det är inte möjligt för dig att vara en internethacker utan att förstå UNIX.
Om du inte har använt Unix-operativsystemet ännu, kommer några viktiga Linux-kommandon att göra det bekvämt för dig att snabbt komma igång.
Unix in a Nutshell av Arnold Robbins är ett bra sätt att börja. Den här boken lär dig hur du använder Unix.
Det nästa du behöver veta är de interna delarna av detta operativsystem. Jag rekommenderar
The Design of the UNIX Operating System av Maurice J. Bach för att få en djupgående förståelse för Unix operativsystem.
Ett stort antal webbservrar finns på Unix-baserade servrar och att känna till de interna delarna av detta operativsystem kommer verkligen att vara en stor ökning av dina kunskaper.
Steg 4: Lär dig mer än ett operativsystem
Det finns många andra operativsystem förutom UNIX. Windows operativsystem är ett av de mest komprometterade systemen, därför är det bra att lära sig att hacka Microsoftsystem, som är system med sluten källkod.
Enligt National Vulnerability Database har Microsofts operativsystem ett stort antal sårbarheter.
Installeringsprogrammen för Windows operativsystem distribueras i binär form, därför är det inte lätt för dig att läsa koden. Binär kod är i princip den digitala representation av text och data som datorn förstår. Att veta hur program skrivs för Windows och hur olika program beter sig i detta operativsystem är dock till hjälp.
En av de senaste sårbarheterna i ett populärt operativsystem var att Java Web Start-programmen startas automatiskt även om Java-plugins är inaktiverade. Hur man blir en hacker handlar om att känna till svagheterna i dessa operativsystem och rikta in sig på dem systematiskt.
Steg 5: Lär dig nätverkskoncept
Nätverkskonceptet måste vara skarpt när man vill bli en hacker.
Förstå hur nätverken skapas är viktigt, men du måste känna till skillnaderna mellan olika typer av nätverk. Att ha en klar förståelse för TCP/IP- och UDP-protokollet är ett måste för att kunna utnyttja sårbarheterna på World Wide Web.
Förstå vad som är subnät, LAN, WAN och VPN.
Jag rekommenderar Computer Networking: A Top-Down Approach By James F. Kurose and Keith W. Ross
Nätverkskommandon för att göra en HTTP-förfrågan måste du ha nära till hands. HTTP-protokollet är den port genom vilken man kommer in i internetvärlden. Därför är det nödvändigt att lära sig detta protokoll för att kunna bryta barriärerna. Hackare använder ofta HTTP-gatewayen för att bryta mot systemets säkerhet och ta kontroll över det.
Apache Httpd är en av de vanligaste webbservrarna och att känna till den kommer att stärka dig i alla HTTP- eller andra protokollrelaterade ansträngningar.
Nmap är ett kraftfullt verktyg för nätverksavläsning som används av hackare och säkerhetsexperter över hela världen för att identifiera sårbara värddatorer. Men för att effektivt börja använda det måste du förstå nätverksgrunderna. För att få avancerade kunskaper om NMap kan du hänvisa till boken av skaparna – Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning
Steg 6: Börja enkelt: Läs några handledningar om hackning
Detta är det enkla och bästa sättet att börja. Läs så många handledningar som möjligt som är avsedda för hackning. Dessa artiklar kommer att ge dig insikt och hjälpa dig att utveckla attityden för att bli en hacker. Vissa handledningar kommer att initiera dig till Nmap, Nessus och SuperScan, några av de hackningsprogram eller verktyg som hackare vanligtvis använder. Dessa handledningar är lättillgängliga på internet; både text- och videohandledningar finns tillgängliga för dig för att besvara din fråga hur man blir en hacker.
Steg 7: Lär dig kryptografi
Som expert på hackning måste du förstå och behärska kryptografins konst. Tekniken för kryptografi och kryptering är mycket viktig för internet och nätverk. Det är utövandet och studiet av tekniker som används för säker kommunikation i närvaro av tredje part. Krypteringen görs för olika aspekter av informationssäkerheten, t.ex. sekretess av data, dataintegritet och autentisering. Dessutom används kryptografitekniken i stor utsträckning för bankomatkort, lösenord till datorer och e-handel. Vid hackning måste dessa krypterade koder brytas, vilket kallas dekryptering.
Kryptografi används flitigt i SSL-baserad internetkommunikation. En erfaren hackare bör kunna förstå hur SSL fungerar och vilken betydelse kryptografin har för att hålla SSL säkert.
Prova läsa om olika krypteringsalgoritmer och se varför de är svåra att dekryptera. Delta i utmaningar för att avkryptera kraftfull kryptering. En erfaren hackare ska kunna visa svagheter i en krypteringsalgoritm och bör kunna skriva ett program som kan visa hur dekryptering kan utföras utan mycket information om nycklar.
Förstå olika tekniker som används för att knäcka lösenord. Det finns dussintals verktyg tillgängliga för att göra lösenordsknäckning, och att använda dem är inte hackning. För att bli en expert på hackning är det viktigt att du förstår hur man skapar ett program som kan knäcka ett lösenord från chiffertext.
Jag rekommenderar den här kostnadsfria kryptografikursen av Dan Boneh från Stanford University på Coursera
Steg 8: Experimentera mycket
Det här är ett viktigt steg för att ställa in dig själv som en expert på hackning. Inrätta ett laboratorium på egen hand för att experimentera inlärningen på de praktiska tillämpningarna. Det enklaste labbet består av din dator, men när du avancerar kanske du vill lägga till fler och fler datorer och nödvändig hårdvara för dina experiment.
Det är bra att prova att experimentera på dina egna datorer, där du kan rätta till om du har gjort något misstag. Många hackare börjar först med att ladda ner program för virtuella laboratorier som Oracle VirtualBox. Du behöver minst 3 GB RAM-minne och en jämförelsevis kraftfull processor för att kunna utföra dina hackerexperiment. Att ställa in den virtuella maskinen är avgörande, eftersom det gör att du kan testa virus, program och olika servrar utan att påverka din egen dator.
Några saker du kan behöva tänka på när du utför experiment
- Håll en säkerhetskopia före varje experiment.
- Start i liten skala och ha kontrollpunkter.
- Vissa när du ska sluta.
- Dokumentera dina framsteg
- Håller du på att improvisera
- Automatisera repetitiva uppgifter
Steg 9: Läs några bra böcker från experter
Läsning kommer alltid att öka dina kunskaper. Försök att läsa så många böcker och artiklar som möjligt skrivna av experter inom området etisk hackning och företagssäkerhet
Att läsa mycket om allt relaterat är så viktigt i en hackervärld att du också måste överväga att öka din läshastighet. Om din läshastighet är långsam kan det hända att du inte kan göra snabba framsteg inom detta område. Öva på tekniker för snabbläsning som skimming, chunk reading osv.
När det gäller att läsa mycket är det också viktigt att veta att majoriteten av innehållet på webben inte är värt din tid. Många använder sig av sökmotortrick för att locka till sig trafik men har lite värde i det. Om du skummar igenom en artikel inom några sekunder och bestämmer dig för att inte läsa kommer det att spara dig mycket tid för riktigt välresearchat innehåll.
The Art of Exploitation av Jon Erickson är en utmärkt bok för att lära dig att bli en avancerad hacker.
Steg 10: Delta i hackningsutmaningar
Regulärt deltagande i hackningsutmaningar kan hjälpa dig att lära dig mer och vässa dina kunskaper. Det finns flera företag som organiserar dessa utmaningar för att kontrollera sårbarheten hos sina mjukvaruprodukter. Den vanligaste hackningsutmaningen omfattar att bryta mot programvarans säkerhetssystem och ta kontroll över tredje parts datorsystem. Bortsett från det finns det några webbplatser som anges nedan som regelbundet erbjuder hackningsutmaningar online.
- hackquest.de
- hacktissite.org
- www.trythis0ne.com
- www.hackchallenge.net
- hacking-lab.com
Steg 11: Gå nästa nivå: Skriv sårbarhet
Sårbarheten i ett program är programmets svaghet. Det är ett bra tillvägagångssätt att leta efter sårbarheten i ett befintligt program och dela den med andra. På så sätt har du möjlighet att samla in varierade åsikter från olika källor, vilket gör att du kan finslipa din nuvarande kompetens.
Exemplen på datasårbarheter är bland annat brott mot minnessäkerheten, fel i valideringen av inmatningen, fel i privilegieförvirringen och fel i användargränssnittet. Till exempel hade Microsofts Internet Explorer 11 sårbarhetsfelet i sin förhandsversion som flera hackare utnyttjade.
Att identifiera en ny svaghet i en programvara är det verkliga arbetet som alla experthackare skulle utföra.
Steg 12: Bidra till säkerhetsprojekt med öppen källkod
Bidra till ett datasäkerhetsprojekt med öppen källkod är en utmärkt plattform för att testa dina färdigheter. Detta är dock inte allas favorit. Många organisationer som Mozilla och Apache erbjuder den här typen av projekt med öppen källkod. Försök att vara en del av dessa projekt och ge ett värdefullt bidrag till förmån för samhället.
Det hjälper dig att öka din skicklighet som hackare om du deltar i säkerhetsprojekt med öppen källkod, t.ex. antispam, antivirus, brandväggar och borttagning av data.
Bidrag dina upptäckter av sårbarheter till de globala sårbarhetsdatabaserna och ge tillbaka till samhället.
Håll dig till minnet att det inte spelar någon roll om ditt bidrag är litet, så länge du deltar och tillför värde hjälper det.
Steg 13: Fortsätt att lära dig och lyssna på säkerhetsföreläsningar
Nyckeln till framgång i en hackerkarriär är kontinuerligt lärande. Att läsa bloggar om hackning som finns på webbplatser som hackerfactor blog och IKEA hacker blog och att delta i forum som hackforums.net och elite hack är bra sätt att uppdatera dina kunskaper som hackare. Videoforum på nätet som TED och TechTalk är bra källor för att få mer information om de nya tekniker och den nya teknik som används för hackning. Du bör också försöka följa inläggen från kända hackare som Adrian Lamo, Kevin Mitnick, Kevin Poulsen och Robert Tappan Morris.
Sammanfattning
Ovanstående är några uttömmande steg som kan lära dig hur man är en hacker och hjälpa dig att gå vägen till att bli en experthacker. Du bör dock vara en ansvarsfull medborgare och vara selektiv och se till att du inte använder denna färdighet för att bryta mot viktiga institutioners säkerhet, eftersom det kan leda till att du hamnar i en svår situation. Du bör alltid komma ihåg att för varje hackerverktyg finns det alltid ett mothackerverktyg. Var därför en smart hacker och framför allt en ansvarsfull hacker.