Kategorier
Linux

Ny version av Kali Linux: 2019.3

Det har nu släppts en ny version av Kali Linux. Denna version går under benämningen 2019.3 och är en del av det nya rullande-släppen av Kali som infördes 2016.

Nyheter i denna version är bland annat följande:

  • En version till LXC så du kan köra Kali i en container
  • Kernel uppdaterad till 5.2.9
  • Buggfixar och uppdateringar till ARM samt Raspberry Pi
  • Flertalet helperfunktioner som gör det lättare att komma åt verktyg och navigera
  • Samt nya och uppdaterade paket såsom Burp Suite, hyperion, amass, kismet, nmap och HostAPd-WPE

Här är ett exempel på ett helperscript som aktiveras när jag skriver mimikatz:

mimikatz kali linux

Jag passar även på att tipsa om boken Kali Linux Revealed som kan ladda hem gratis.

Kategorier
Verktyg

Nytt intressant tillägg till Burp Suite: Upload Scanner

Tobias ’floyd’ Ospelt på företaget modzero AG har släppt en ny intressant extension till Burp Suite. Denna extension går igenom ett stort antal olika sårbarheter som är kopplade till vanliga fel när det hantering av uppladdade filer.

Stöd Penetrationstest.se och Kryptera.se via Patreon > 

För en utförlig lista över samtliga kontroller så kolla in Github-repot.

För bästa resultat så bör du konfigurera så att Upload Scanner gör en ReDownload. Dvs försöker ladda hem filen som Upload Scanner precis laddat upp. Jag gjorde ett enkelt test för att se vad Upload Scanner går för.

Testet jag gjorde utför en enkel kontroll i PHP på filen som laddades upp om den är en bild eller ej genom att använda PHP-GD funktionen getimagesize().

$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
 echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
 echo "File is not an image.";
 $uploadOk = 0;
}

Givetvis ska man inte använda getimagesize() för att kontrollera om en fil är en bild eller ej, vilket även PHP.net:s manualsida framhåller:

Do not use getimagesize() to check that a given file is a valid image. Use a purpose-built solution such as theFileinfo extension instead.

Kom igång med Upload Scanner

Först installerar du tillägget via BApp Store. Då får du några nya menyval samt en ny flik, jag rekommenderar även Logger++ som gör att du kan se bättre exakt vad som händer under huven.

Via webbläsaren laddar du upp en fil till tjänsten och går sedan in i Burp Suites Proxy och högerklickar samt väljer Send to Upload Scanner. Skärmdump för att visa:

Efter det så går vi över till den tabb/flik som heter Upload Scanner. Där konfigurerar vi så att ReDownloader fungerar och i just detta fall är det enkelt eftersom URL:en är statisk

Och knappen ändras då till ”Start scan with ReDownloader”:

Sedan så startar vi scanningen och resultatet kan ses via Scanner-tabben. I mitt fall så skickade den 1777 st http-förfrågningar och när jag tittar direkt på webbservern så laddade den upp 1659 olika filer.

Resultat från Upload Scanner

Givetvis hittade Upload Scanner flertalet brister i min bristfälliga kontroll. De allvarligaste gäller exekvering av kod direkt på servern men även andra intressanta såsom .htaccess uploads och stored XSS.

Här är några stycken som jag klippt ut:

PHP-kod i metadata

Remote command execution through PHP payload in Metadata of type comment. The server replaced the code <?php echo ”gTaxf-InJ” . ”eCt.”.”TeSt”;?> inside the uploaded file with gTaxf-InJeCt.TeSt only, meaning that PHP code execution is possible.

PNG IDAT chunks

Remote command execution through PHP payload in IDAT chunks, payload from https://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/ . The server probably tried to execute the code <?=$_GET[0]($_POST[1]);?> inside the uploaded image but failed, meaning that PHP code execution seems possible. Usually the server will respond with only the start of the file which has length 66 and cut off the rest. Also, it usually responds with an HTTP 500 error.

Kategorier
Nyheter

Ny version av Burp Suite från PortSwigger: 1.7.32

Brittiska företaget PortSwigger som utvecklar den populära produkten Burp Suite har nu släppt en ny version. Denna nya version som har fått nummer 1.7.32 innehåller en funktion som gör att projekt automatiskt sparas ner till disk:

Denna nya funktion är påslagen som standard för att undvika informationsförlust. Även om jag personligen aldrig varit med om att Burp Suite krashat (använder Burp Suite nästan dagligen).

En till bra och ny funktion är en kontroll om det finns uppdaterade BApps.

Givetvis går även dessa två nya funktioner att stänga av och mer information finnes här:

Kategorier
Nyheter

Kali 2017.2

En ny version av Kali Linux har nu släppts: 2017.2. Även om Kali numera släpper nya utgåvor under något som heter ”rolling”, dvs rullande släpp så måste grundpaketen någon gång uppdateras.

Fördelen med att släppa nya versioner likt denna är att den som laddar hem ISO-filen inte behöver uppgradera lika många paket för att hålla sig uppdaterad.

Exempel på hur en uppgradering av 2017.1 kan se ut:

1399 upgraded, 171 newly installed, 16 to remove and 0 not upgraded.
Need to get 1,477 MB of archives.
After this operation, 1,231 MB of additional disk space will be used.
Do you want to continue? [Y/n]

Ett urval på nya verktyg samt uppdateringar:

  • hurl verktyg för URL-kodning och avkodning
  • phishery – Underlättar att skapa phishing-dokument för att sno lösenord
  • ssh-audit – Testar flertalet olika saker mot SSH-servrar
  • apt2 – Ett verktyg som jag testat tidigare här på bloggen. Försöker automatisera flertalet manuella moment som utförs vid penetrationstester.
  • bloodhound – Använder graf-teorier för att identifiera beroenden och administratörer i Windows AD-miljöer
  • crackmapexec – Underlättar attacker mot Windows-miljöer och Windows-enterprisenätverk
  • dbeaver  Verktyg för att grafiskt ansluta till flertalet databaser såsom MySQL, PostgreSQL, Oracle, SQLite och många fler
  • brutespray – Automatisk forcering av användarnamn och lösenord. Tar input från Nmap bl.a.

Förutom ovan nya verktyg har flertalet verktyg uppdaterats såsom jd-gui, dnsenum , edb-debugger, wpscan , watobo och min favorit: Burp Suite.

För att uppdatera till 2017.2 behöver du bara skriva följande:

apt-get update
apt-get dist-upgrade
reboot

Eller så laddar du hem den nya ISO-filen med din favorit-fönsterhanterare här:

Kategorier
Nyheter

Nu är Burp Suite 1.7.23 släppt

Brittiska företaget PortSwigger har nu släppt version 1.7.23 av det otroligt populära verktyget Burp Suite. Burp används främst för att identifiera säkerhetsbrister på webbsidor eller API:er.

Denna nya version har en hel del nya säkerhetskontroller. Följande kontroller finns nu inbakade i Intruder-delen av Burp:

Förutom ovan nya kontroller så kan tredejpartsplugins som är skrivna i andra språk än Java importera och nyttja funktioner i Java JAR:s.

Burp finns i gratisversion samt betalversion. Intruder är en del av betalversionen och en licens för Burp kostar cirka 4000 SEK/år.

Här kan du ladda hem och prova Burp gratis:

Kategorier
Verktyg

Så kommer du igång med Burp Suite

BURPNär det gäller penetrationstest av webbtjänster så är Burp Suite mitt favoritval. Burp Suite är utvecklat i Java och kommer från företaget PortSwigger Web Security.

Runt Burp Suite så finnes det även ett helt ekosystem byggt runt plugin-ramverket. Även om det är lättast att skapa plugins i Java så går det även i andra språk såsom Python.

Det finns att ladda hem en gratis-version för test samt en betal-version som kostar runt 3000kr, och värt varenda krona om du frågar mig. Och värt att nämna att jag även använder mig av Charles Proxy, men det är när jag ska undersöka API:er.

Ladda hem Burp Suite

Surfa till https://portswigger.net/burp/downloadfree.html och ladda hem Jar-filen. När denna artikel skrivs så är senaste versionen:

burpsuite_free_v1.7.03.jar

Starta Burp

För att starta upp Burp Suite så måste du ha Java installerat. Du kan se om du har java installerat genom att köra cmd.exe eller motsvarande kommandoprompt på följande sätt:

$ java -version
java version "1.8.0_71"
Java(TM) SE Runtime Environment (build 1.8.0_71-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.71-b15, mixed mode)

Om du inte har java 1.6 eller senare så kan du ladda hem Java JRE här. Sedan är det bara att skriva

$ java -jar burpsuite_free_v1.7.03.jar

Skulle du få problem med att Burp krashar eller liknande så kan du testa att öka minnesstorleken:

$ java -XX:MaxPermSize=1G -Xmx1g -Xms1g -jar burpsuite_free_v1.7.03.jar

Sedan så startar Burp förhoppningsvis upp och du får se ett dialogfönster liknande detta:

Burp Suite free startup

Här kan vi jobba vidare på ett tidigare projekt eller skapa ett nytt. Även om du väljer Temporary project så kan vi skapa och fortsätta projektet vid ett senare tillfälle.

Klicka på Next och sedan Start Burp när nästa fönster dyker upp. Och sedan bör du se huvudskärmen i Burp som ser ut enligt följande:

Burp Suite Free Edition

Varje flik ovan representerar olika funktioner:

  • Target
  • Proxy
  • Spider
  • Scanner
  • Decoder
  • Comparer
  • Extender
  • Intruder
  • Repeater
  • Sequencer
  • Alerts
  • Project options
  • User options

De som används mestadels är Target, Proxy samt Intruder.

Identifiera brister

Nu när vi lyckats att ladda hem och starta Burp är det dags att försöka hitta vår första sårbarhet. Vi kan givetvis försöka på någon av sajterna som återfinnes på Bugcrowd eller Hackerone men det brukar inte vara helt trivialt. Därför har jag installerat Damn Vulnerable Web Application (DVWA) under XAMPP och VirtualBox.

Om du inte orkar installera VirtualBox, DVWA och XAMPP så kan du alltid använda dig av Google Gruyere.

Damn Vulnerable Web Application DVWA

Men innan vi börjar att identifiera brister så måste vi ställa in så vår webbläsare går via den proxy som finns inbyggt i Burp Suite.

Att ställa in en proxy i sin webbläsare fungerar lite olika beroende på vilken webbläsare det är. För att se vilka inställningar du ska göra så kan du klicka på Proxy och sedan Options i Burp Suite. Där står det under Interface: Burp Suite Proxy settings

Och så här ser det ut i Firefox när vi ställt in enligt ovan:

Firefox Proxy Settings

Nu är det lite knepigt. För observera att om vi nu försöker surfa någonstans med Firefox så kommer det inte att fungera. Och om vi går tillbaka till Burp Suite så ser vi att texten under Proxy samt Intercept ändrat färg, det betyder att det hänt något där.

Så här ser det ut när Burp Suite fångat upp en HTTP-förfrågan och väntar på att vi ska göra något:

Burp Suite Proxy Request

Vi får här fyra val: Forward, Drop, Intercept is on samt Action. Under knappen Action kan vi välja att göra ytterligare saker. För vårat syfte just nu att testa några enskilda inmatningsfält så trycker vi på knappen ”Intercept is on”, för då slipper vi göra ett val på varje förfrågan. Dock så sparas ändå alla http-förfrågningar under Proxy->HTTP history.

Reflected Cross Site Scripting (XSS)

Testet vi ska utföra nu är enkelt. Vi fyller i värdet test123 i ett formulär och tittar sedan hur HTTP-förfrågan ser ut när den går iväg till servern.

Vi kan även se att test123 skickas tillbaka från servern. Så nästa steg är att använda Burp till att automatiskt testa om just name= värdet går att utnyttja.

test123

burp http request

Så nästa steg är att högerklicka och välja Send to Intruder. Då börjar texten under fliken Intruder att börja lysa orange vilket då indikerar att något hänt där, så vi klickar därmed på Intruder-fliken samt vidare på 2:an och Positions på följande sätt:

Burp Suite intruder positions

Det som nu är intressant är att vi ska undersöka vilka Payload Positions vi behöver. Vi kan alltid börja med en payload och då är det lättast att klicka på Clear § till höger. Och sedan markera texten test123 samt trycka på Add §. Då kommer det att se ut så här:

payload positions

Det kan vara lätt nu att trycka på Start Attack, men det ska vi inte göra. Utan vi klickar på nästa tabb där det står Payloads, för där väljer vi nu vad vi ska skicka för värden istället för test123.

Om vi nu hade betalat för Burp Suite så hade vi fått en mängd listor färdiga med olika XSS-tester och dylikt men dessa payload-listor går lika bra att ladda hem gratis från Github och Fuzzdb-projektet (xss-rsnake.txt exempelvis) eller denna fil.

Eftersom vi just nu vet att det är en Cross site scripting-sårbarhet (XSS) vi söker efter så behöver vi således enbart XSS-payloads. Och när vi sedan laddat in payloads och rensat lite så ser det ut ungefär som följande:

Burp Suite payload simple list

Sedan är det bara att trycka på Start attack. Om du tycker att det tar lång tid så kan du klicka på Options-fliken och sedan ändra under Pause before retry, som är standard 2000ms (2 sekunder). Ställ ner den till 200ms exempelvis.

Behöver Er organisation hjälp med tekniska IT-säkerhetsgranskningar såsom denna? Kontakta Triop AB

Det svåra nu är att veta om någon av våra attacker lyckats eller ej. Men det finns några knep som underlättar det arbetet. Dels så finns det plugins såsom XssValidator men vi ska nu försöka avgöra själva om attacken lyckats.

Det vi kan titta efter är några saker:

  • Status – Är koden 200 eller något annat som indikerar på att vår payload gick igenom.
  • Length – Om vi har en lång payload och vi får ett långt response så kan det indikera på att vår xss var lyckad.
  • Filter – Denna funktion är användbar. Går även att skriva negativa sökningar

Annars så är det bara att kontrollera html-källkoden och se om vår payload finnes med ofiltrerad. Samt så kan vi högerklicka och välja Show response in browser.

XSS response

Väljer vi menyvalet Show response in browser och kopierar URL:en och klistrar sedan in den i vår webbläsare som använder Burp som proxy så ser vi följande:

XSS alert dialog

Bingo! Vi lyckades. Vi har i denna guide enbart tittat på ungefär 5% av all funktionalitet som återfinnes i Burp Suite. Så jag rekommenderar verkligen att testa samtliga funktioner och hur dessa kan hjälpa dig att identifiera nya säkerhetsbrister på webbsidor, appar eller API:er.