Taggat med: masscan

ChatGPT och cybersäkerhet

Att verktyget ChatGPT som verkar inom området artificiell intelligens (AI) blivit poppis råder ingen tvekan om. Men precis som många andra intressanta och nya innovationer så finns det som oftast ett ”dual use”, dvs där innovationen eller verktyget kan användas av såväl sådana som vill gott och sådana som har onda avsikter.

Just inom området cybersäkerhet och ChatGPT så har jag testat några olika områden där ChatGPT kan användas för offensiva och defensiva syften.

ChatGPT för offensiv cybersäkerhet

Precis som Github CoPilot som jag själv använder så kan du säga till ChatGPT att utveckla skadlig kod såsom kod som utför ransomware och krypterar filer.

Om jag berättar för ChatGPT att den ska skriva några olika programstycken som var för sig inte gör illasinnade sakar och sedan berättar att den ska utveckla koden vidare så klagar den inte:

ChatGPT Ransomware

Men om vi rakt ut skriver att ChatGPT ska skapa ransomware i python så vägrar den:

Det är även möjligt att ställa frågor om vilka verktyg som är bra att använda för olika offensiva syften såsom portscanning av internet så får jag förslag på fyra verktyg: nmap, masscan, zmap och fscan. Så den har någorlunda rätt.

Antagonister kan även använda ChatGPT för att skriva phishing-meddelanden i olika språk och föda in information om målet till ChatGPT för att göra phishingen ännu mer effektiv. Det är även möjligt att till viss del skala upp nyttjandet av ChatGPT, eller använda OpenAI:s API som tillhandahåller GPT3.

Ett annat område är att AI:t utger sig för att vara någon annan och således försöka fiska till sig information genom exempelvis chattar. En vidareutveckling på sådant som vi har sett tidigare där kapade Facebook-konton nyttjas till att ”be en vän om hjälp med BankID” eller berätta om en knipa där pengar behövs.

Dock är AI:t inte felfritt, men min upplevelse är att ungefär i hälften av fallen så blir det korrekt eller att du måste korrigera och fixa koden.

Bild från ett chattforum för kriminella där någon lyckats att skapa en mjukvara för att exfiltrera (sno) filer med en viss filändelse:

Bildcredd: Checkpoint

ChatGPT för defensiv cybersäkerhet

ChatGPT kan analysera loggfiler och se mönster i text eller andra former av kod såsom assembler och således hjälpa till att förstå analyser av skadlig kod. Det finns redan nu flertalet plugins till reverse-engineering verktygen IDA Pro och Ghidra för att göra just detta.

ChatGPT har även förmågan att skapa YARA-regler på sådant som man kan uppge, ett exempel:

Det finns även möjlighet att fråga saker om olika grupperingar, men dock finns det begränsningar eftersom informationen som ChatGPT är tränad på är från år 2021 och tidigare:

Och precis som botten skriver ovan så är listan inte komplett. Men ger en bra fingervisning iallafall och jag tycker att vi är på god väg när det gäller utvecklingen inom AI och dess möjligheter inom cybersäkerhet.

Uppdatering: Ett annat område jag glömde att skriva om är att ChatGPT kan göra enklare kodgranskningar och identifiera sårbarheter:

Guide till dig som funderar på att börja inom cybersäkerhet

Guide till dig som funderar på att börja inom cybersäkerhet

Denna guide gäller främst till dig som är intresserad av det mer tekniska området inom cybersäkerhet.

Läs på flertalet write-ups inom Bug Bounty och Capture-The-Flag (CTF) området. Kan rekommendera följande lista:

Försök även själv lösa CTF:er som är offline eller testa HackTheBox-utmaningar. För offline kan jag rekommendera Metasploitable2 eller vulnhub.com.

Kolla på verktyg som återfinnes på Github och testa dessa. Se om du saknar något och utveckla eller vidareutveckla något verktyg. Att ha något på github som du kan visa upp är otroligt värdefullt.

Att bli bra inom cybersäkerhet innebär som oftast att man måste känna till många olika områden och sedan välja att fördjupa sig inom ett område.

Jag är inte så mycket för certifieringar men om du ska titta på någon och ta så är det OSCP som gäller, för den är mest hands-on och någorlunda realistisk. Förvisso så har du inte den typen av tidspress och i riktiga situationer får du använda automatiserade verktyg. Certifieringar kan vara bra vid upphandlingar eller om ditt CV inte är så välfyllt ännu. Har inte själv tagit eller gått någon av SANS kurser, men GPEN är också väletablerd. Håll dig långt borta från CEH, jag har tagit den men hela upplägget kändes otroligt oseriöst.

Att utföra omvärldsbevakning och lägga tid på forskning och utveckling är vitalt, jag använder främst Twitter nuförtiden och LinkedIn till viss del. Förut så följde jag mängder med bloggar via RSS-flöden, men det gör jag inte längre.

Se vilka konferenser som går av staplen framöver och viktigt att säga när det gäller att åka på konferenser så kanske 1-2 föredrag är intressanta. Men underskatta inte heller det sociala som händer mellan föredragen och kvällarna.

Lär dig hur ett Windows AD fungerar och sätt upp en labb-miljö med en server och en klient. Testa att utföra olika attacker och ser hur de är möjliga. Börja ej med en fullt patchad server och klient, utan installera en server och klient som är något äldre. Testa sedan samma saker och verktyg mot en nyare version.

Konferenser jag gillar:

  • Infiltrate
  • Offensive Con
  • Blackhat Las Vegas eller Europe
  • Defcon, Las Vegas
  • Svenska konferenser såsom Sec-T och SecurityFest
  • CanSecWest

Det är också viktigt att kunna läsa kod och skriva minst ett språk. Spendera lite tid i IDA Pro eller Ghidra och lär dig hur program är uppbyggda och hur skadlig kod fungerar.

Att veta vilka spår man lämnar vid ett penetrationstest eller red-teaming uppdrag är viktigt, därför bör du också känna till OPSEC och IT-forensik. Lär dig minnesforensik, hårddiskforensik och nätverksforensik. Som bonus är det även bra att känna till forensik på mobiltelefoner.

Lär dig att läsa in en stor PCAP-fil och identifiera indikatorer på intrång. Lär dig hur volatility fungerar och hur du kan utläsa information från en minnesdump.

Viktigt är också att inte förlita sig på ett enda verktyg, så lär dig därför att använda olika verktyg för att uppnå samma mål. Skriv ner fördelar och nackdelar med verktygen som används. Exempelvis: Vad är skillnaderna mellan masscan och nmap?

Sist men inte minst måste jag nämna Kali Linux. Det är bra med ett operativsystem som har många färdiga verktyg installerade, men vad finns det för nackdelar? Jag saknar alltid massor av verktyg så har byggt en egen Kali dist där jag lägger till sådant som jag saknar, men nackdelen då blir storleken.

En till lista jag hittade via twitter som är värd att ta med för att lära sig:

Även är det bra att läsa på publika pen-test rapporter. Finns några Github-repon som listar ett gäng, såsom denna: