Så du vill bli en hackare?

På senare tid har jag läst massor av frågor, inlägg och allmänna diskussioner om att ge sig in i informationssäkerhetsbranschen, och åtminstone enligt min åsikt följs det vanligtvis upp av en hel del vilseledande information. Det kanske är lite hårt med tanke på att jag är säker på att det är välmenande, det är även möjligt att råden fungerade för dem (det finns inga råd som passar alla), men jag tänkte att jag skulle lägga ut mina tankar här i hopp om att hjälpa en nybliven hackare att gå vidare.

Jag vill spela sport, var ska jag börja?
Den här vaga, öppna och mycket tvetydiga frågan liknar väldigt mycket den fråga som någon ställer till någon som frågar hur han eller hon ska gå tillväga för att komma in i informationssäkerhet. Det första man måste inse är att det finns ett enormt utbud av informationssäkerhetsområden, och inom vart och ett av dessa enorma områden finns ett livslångt lärandeinnehåll. Precis som när man väljer en sport finns det inget “bäst”, utan det är helt enkelt så att det finns områden som man tycker mer om än andra. Här är några exempel på områden som inte på något sätt är uttömmande.

  • Säkerhet för webbapplikationer
  • Reverse Engineering
  • Malware Reverse Engineering
  • Nätverkssäkerhet
  • Incident Response
  • Normöverensstämmelse
  • Programmering/skapande av verktyg för andra
  • Utveckling av exploateringar
  • Forensics
  • Vissa av dessa är mer av teknisk karaktär medan andra är mer teoretiskt inriktade. Jag garanterar att oavsett vad du gillar finns det andra där ute som kommer att tycka att det är tråkigt, precis som du kommer att göra med vad andra är intresserade av ibland. Just nu förväntas det att om du läser detta kanske du vet väldigt lite om något av dessa områden, men det viktiga är din vilja att lära dig och vilken typ av motivation du har.

    The Hacking Type
    Ett kännetecken som är nästan universellt för människor inom alla dessa områden är deras fokus på självständigt, självstyrt lärande. Tyvärr betraktas säkerhet på vissa sätt fortfarande som en “mörk konst”, jag menar varför skulle någon vilja veta hur man bryter sig in i ett datorsystem om man inte tänkte göra det? Som ett resultat av detta kommer många människor att visa förakt till direkt fientlighet när de frågar om säkerhetsrelaterade frågor under det falska (kanske ibland sanna) antagandet att det bara är en “script kiddie” som vill lära sig att hacka system i stället för att vilja lära sig och använda den kunskapen för ett gott syfte. Det är också ett faktum att “utbildningsresurserna” för informationssäkerhet är ganska osammanhängande och att det inte finns någon riktig central förvaringsplats för utbildningsmaterial.

    Punkten med att belysa detta är att om du vill blomstra och framgångsrikt komma in på informationssäkerhetsområdet bör du vara beredd att hoppa in och hitta din väg utan att vänta på att någon ska hålla dig i handen och leda dig på rätt väg. Googla några av ovanstående termer och se vad som låter roligt. Trots vad som ibland verkar vara en ständig kamp för att hitta det “bästa” området att lära sig, eller den “bästa” resursen, eller det “bästa” sättet att lära sig, spenderas ofta mer tid på att skjuta upp dessa frågor än på att ägna tiden åt att faktiskt lära sig. Titta på videor på youtube för exempel på hackning – det är okej om du inte vet vad mycket av det betyder, men skriv ner en lista och googla sedan dessa termer. Använd intressepunkter för att spåna ut med ett ständigt ökande nät av kunskap kring ämnen som du är intresserad av.

    Behövs det att jag lär mig X först?
    Självklart måste du ha full kunskap om OSI-skiktet innan du börjar. Ja, du måste läsa den där 1000-sidiga boken om TCP-protokollet. Ja, du måste behärska fem programmeringsspråk (minst!) innan du överväger att hacka. Kan du kompilera din egen Linuxkärna från källkod? Nej? Bry dig inte om att lära dig hacka. Egentligen…. allt detta är fullt av struntprat, men det är ändå ett av de vanligaste svaren som ges till personer som vill lära sig informationssäkerhet. Det finns ett krav för att bli en hygglig hackare – intresse. Skillnaden mellan en framtida hackare och en script kiddie är inte kunskap, utan viljan att lära sig.

    Så länge du har en vag uppfattning om hur man använder en dator har du en utgångspunkt som du kan arbeta med. Ja, om du inte har en gedigen förståelse för hur TCP fungerar bör du ha det på din att-göra-lista för att slå upp det när någon pratar om det i en handledning om hackning – men det är löjligt att tro att du behöver massor av förkunskaper innan du får börja lära dig om ämnen som du är intresserad av. När du letar upp hur inloggningspusslet fungerar på en hackersajt och det använder JavaScript kommer du att lära dig hur JavaScript fungerar. När du läser igenom hur ett buffertöverflöde fungerar och det har en Python-mall kommer du att lära dig några grunder i Python. Nej, du kommer inte att få ett jobb som utvecklare i dessa språk i slutet av kursen, men du kommer att lära dig de vanligaste sätten att bryta språket.

    Informellt lärande
    “Okej, jag förstår att jag måste lära mig saker själv, men kan du åtminstone ge mig en startpunkt?”

    Säkerligen finns det massor av bra gratis eller billiga resurser där ute för att komma igång beroende på vilket ämne som tilltalar dig. Här är några exempel.

    Web Application Security

  • HackThisSite – Bra för några grundläggande webbaserade utmaningar (länk)
  • Enigma Group – Liknande Hack this site (länk)
  • OWASP Top 10 – Idé om vad som är mest kända för att skydda mot vanligaste sårbarheterna (länk)
  • OWASP Broken Wep Apps – En virtuell dator som du kan ladda upp för att öva på hackning i ditt nätverk (länk)
  • Pentesting Lab – En annan virtuell maskin med fokus på webben (länk)
  • Allt från vulnhub som intresserar dig är bra (länk)
  • The Web Application Hackers Handbook – Boken om webbhackning och sårbarheter (länk)
  • Reverse Engineering / Malware Reversing

  • Lena’s Tutorials – Känd som en av de bästa introduktionerna till reverse engineering (länk)
  • The Legends of Random – Återigen en annan solid uppsättning tutorials för reverse engineering (länk)
  • Reversing: Secrets of Reverse Engineering – En bra bok om grunderna för reverse engineering (länk)
  • Practical Malware Analysis – En bra bok som fokuserar på att vända malware (länk)
  • Malware Analysts Cookbook – Ännu en bok som fokuserar på att vända malware (länk)
  • Nätverkssäkerhet

  • Virtuella maskiner dominerar den här kategorin, eftersom de gör det möjligt för dig att öva mot verkliga maskiner. Gå till vulnhub och ladda ner alla virtuella maskiner som ser intressanta ut (länk)
  • Metasploit Unleashed – En gedigen genomgång av testramverket Metasploit som kan användas tillsammans med virtuella maskiner. (länk)
  • The Basics of Hacking and Penetration Testing – En mycket grundläggande titt på penetrationstester som är användbar för dem som är helt nya på området. (länk)
  • Metasploit – The Penetration Testers Guide – En annan bok som fokuserar på användningen av metasploit vid penetrationstestning (länk)
  • Då detta är ett så stort område är det ofta att bryta ner det till en aspekt och sedan forska specifikt om den aspekten. Bloggar är din bästa vän här. (länk)
  • Exploit Development

  • Corelan – Detta är den överlägset bästa resursen som finns för att lära sig om utveckling av exploits. (länk)
  • FuzzySecurity – En annan bra utbildningsresurs med några handledningar tillgängliga (länk)
  • Exploit-DB – En av de bästa sakerna du kan göra är att hitta exempel på exploateringar (ofta med appar bifogade) och försöka replikera exploateringen självständigt (länk)
  • Hacking – The Art of Exploitation – En fantastisk bok som täcker tonvis av olika exploateringstekniker (länk)
  • The Shellcoders Handbook – En annan fantastisk bok om utveckling av exploateringar och shellcoding (länk)
  • Annan än så, Google, Google och lite mer Google. Jag har utelämnat vissa områden som kriminalteknik och efterlevnad eftersom jag personligen inte är intresserad av dem så jag har inte letat efter resurser, men jag är säker på att det finns några fantastiska sådana där ute.

    Formellt lärande
    Outom de kostnadsfria resurserna kan du också börja skaffa dig certifikat för att göra dig mer attraktiv för arbetsgivare om du vill övergå till området som mer av en karriärväg. Några certifieringar som jag starkt rekommenderar är kursen “Penetration Testing with Kali Linux” från Offensive Security (länk) om du är intresserad av nätverkssäkerhet. Det är lätt en av de bästa inlärningsupplevelser jag någonsin haft inom området och lärde mig mer på 60 dagar än vad jag hade lärt mig på ett år på egen hand. Deras “Cracking the Perimeter” är också en bra kurs som fokuserar lite mer på utveckling av exploateringar (länk).

    Om du vill utveckla dina programmeringskunskaper är t.ex. SecurityTubes “Python for Pentesters and Hackers” (länk) en bra grundkurs som lär dig att göra många smarta saker, t.ex. att bygga egna portscanners, lösenordsknäckare osv. Jag lägger inte något stort värde i deras certifieringar som de erbjuder ur ett anställningsperspektiv, utan jag skulle se det mer som en konsoliderad klump av kunskap och exempel som kan säljas, vilket fortfarande kan vara värdefullt.

    Kursen “Certified Ethical Hacker” är en annan som ofta nämns. Ärligt talat ses det vanligtvis ner på den så jag tror inte att den nödvändigtvis är värd pengarna – men om du behöver en formell kurs för att lära dig saker så kan den vara värd pengarna för dig. Många av dessa certifieringar och deras värde diskuteras på TheEthicalHacker.nets forum som finns här.

    “Just seeing if you can”
    Hacking handlar om att få tillgång till saker som vi inte ska ha tillgång till. Att skapa en exploit, hitta en SQL-injektion, knäcka lösenord, allt är utformat för att föra oss mot målet att ta kontroll över den box vi attackerar. Jag garanterar att nästan alla nya hackare har börjat drömma om att “bara se om de kan” få tillgång till skolans webbplats. “Bara se om de kan” få tillgång till grannarnas WiFi-nätverk. Skicka sin vän ett trojanvirus “bara för att se om de kan” ta kontrollen. Ännu värre är att det kan sluta med att du besöker platser som HackForums.net och ser en massa människor som försöker infektera andra med RATs, bygga botnät osv. i tron att detta är hackning, eller tyvärr att detta är det enda sättet att lära sig.

    Jag måste betona att detta inte är fallet. Alla typer av övningar av typen “bara se om du kan” kan replikeras genom användning av virtuella maskiner, egna routrar eller till och med capture the flag/wargame-tävlingar där ute. För att vara realistisk, även om du kan få tillgång till en annan persons maskin, vad ska du göra med den? Kommer du verkligen att försöka stjäla kreditkortsinformation och göra bedrägliga transaktioner? Ska du verkligen stjäla lösenord och vara paranoid för att din verksamhet ska kunna spåras tillbaka till dig för att kunna titta på någons e-post? Det har funnits gott om exempel på nybörjare som åtalats, utan att inse allvaret i de brott de begått. Om du sökte jobb hos FBI och de tittade igenom din inläggshistorik, skulle du vilja att de läste det där inlägget där du frågade hur man lägger upp ett botnät? Det är ett klassiskt exempel på att det som finns på internet är för evigt, och om du verkligen vill ha en karriär inom informationssäkerhet behöver du ett rent register för att få de säkerhetsgodkännanden som du kommer att behöva för att utföra ditt arbete. Att åka fast för dumma saker är inte värt det.

    Sammanfattning
    Så efter en lång utvikning, vad är de viktigaste punkterna?

  • En hacker söker aktivt efter information, inte väntar på att andra ska ge honom den
  • Skillnaden mellan en script kiddie och en ny hacker är viljan att lära sig
  • Du måste experimentera med ett brett spektrum av informationssäkerhetsområden för att hitta det som intresserar dig
  • Låt inte någon säga till dig att det finns förutsättningar för att lära sig informationssäkerhet, det finns det inte.
  • Det är inte värt att “bara se om du kan” göra något som inte är lagligt, risken i förhållande till belöningen är inte rimlig
  • Med hjälp av kurser, krigsspel, capture the flags och, ännu viktigare, virtuella maskiner finns det inget hackningsscenario som inte kan replikeras på laglig väg
  • Att ha roligt, förlåt om det blev predikande mot slutet och ha kul med att pwnacka boxar! Informationssäkerhet är ett fantastiskt område och du kommer att lära dig något nytt varje dag som du ägnar dig åt det. Det finns inget rätt svar för att komma in på området förutom att hoppa in i det med båda fötterna. Blötlägg dig, lär dig att trampa vatten och hålla dig flytande, en dag kanske du till och med kan simma lite!

    Lämna ett svar

    Din e-postadress kommer inte publiceras.