Armitage – Metasploit GUI
In sommige gevallen is het handig om met een GUI te werken. Dat is uiteraard ook de reden dat Windows en Linux GUI interfaces hebben. Zonder GUI zou iedereen werken middels een CLI ofwel Command-Line-Interface. Ook Metasploit heeft meerdere soorten GUI’s. Denk aan MSFGUI, Metasploit Web en Armitage. De laatste is een van de bekendere open-source Metasploit GUI’s en daar gaan we vandaag even naar kijken.
Armitage bestaat al sinds 2010 en is geschreven door Raphael Mudge. Op dat moment had Raphael slechts 1 goal, opgenomen worden in de Linux BackTrack editie. Armitage was een groot succes en niet alleen werdt Armitage opgenomen in BackTrack, Armitage is 2 jaar lang standaard geleverd bij Metasploit (Framework). Momenteel is Armitage nog steeds gratig en werkt out-of-the-box als er een werkend Metasploit Framework aanwezig is. Armitage maakt Metasploit gebeurtenissen duidelijk inzichtelijk en ondersteund ook het werken in gedeelde sessies, data en communicatie via een enkele Metasploit-sessie. Elke keer als er scans en exploits worden gestart zal Armitage aanbevelingen geven voor het gebruik ervan. Armitage helpt ook om bijvoorbeeld de geavanceerde opties van Meterpreter te gebruiken. Dit maakt van Armitage een uitermate krachtige en veelzijdige tool voor ervaren en beginnende (lerende) gebruikers.
Een andere unieke eigenschap aan Armitage is de “Hail Mary” aanval. Armitage kan een Hail Mary aanval uitvoeren waarbij alle exploits op een target afgevuurd worden om te kijken welke er effect hebben. Niet stealthy maar wel effectief! Een Hail Mary kan niet (zonder scripting) uitgevoerd worden in Metasploit.
Armitage is beschikbaar voor Linux, MacOS en Windows.
Armitage Installeren
Armitage kan op verschillende manieren geïnstalleerd worden. Allereerst is het belangrijk dat de dependencies geïnstalleerd zijn. Dit zijn uiteraard het Metsploit Framework, NMap en een PostgreSQL Database. Zowel de database en NMap worden geïnstalleerd tijdens de installaties van het Metasploit Framework.
Als het Metasploit Framework geïnstalleerd is (het makkelijkste is om een distributie te gebruiken zoals Kali of Pentoo) en er is nog geen database aangemaakt dan is het zaak om dat eerst te doen:
service postgresql start msfdb init |
Stop nu de PostgreSQL service voordat Armitage geïnstalleerd wordt:
service metasploit stop |
En installeer vervolgens Armitage:
apt-get update apt-get install armitage |
En als laatste moet Java (1.7) geïnstalleerd worden:
# x32 systemen update-java-alternatives --jre -s java-1.7.0-openjdk-i386 # x64 systemen update-java-alternatives --jre -s java-1.7.0-openjdk-amd64 |
Armitage Starten
Armitage is een client/server applicatie waarbij Armitage de client is en Metasploit de server. Om Armitage te starten is het dus zaak dat je eerst Metasploit start.
Voor iedereen die dit nog nooit heeft gedaan, start eerst de database server:
service postgresql start |
En maak vervolgens een nieuwe database aan:
msfdb init |
Tenslotte start je Metasploit:
msfconsole |
Nu Metasploit gestart is start je Armitage met de snelkoppeling of via het commando:
armitage |
Armitage zal vervolgens een popup tonen met connectiegegevens voor de database. Als je Metasploit draait op hetzelfde systeem als Armitage dan zijn de default settings prima. Klik dan op “Connect” om door te gaan. Als je echter connectie wilt maken met een remote database verander dan het IP adres en eventueel het poortnummer en de gebruikerscredentials.
Armitage gebruikt de Metasploit RPC server en zal dus onderstaande scherm tonen tijdens het booten. Druk vervolgens op “Yes” om Armitage te starten.
Het starten van Armitage kan 10 – 60 seconden duren. Gedurende deze periode zie je onderstaande verbindings-popup:
Als Armitage gestart is zie je onderstaande welkomstscherm:
Werken in Armitage
De indeling van Armitage is als volgt:
- 1. Menu
Het menu geeft direct toegang tot vele Metasploit functies. Denk aan het managen van je workspaces, het in- en exporteren van hosts, het uitvoeren van attacks etc. - 2. Modules
De module weergave is een map-boom-gestructureerde weergave van alle verschillende metasploit modules. Hier vindt je alle mogelijke exploits, payloads, auxiliary en post modules. - 3. Grafische Weergave
De grafische weergave toont aan de gebruiker welke systemen gevonden zijn en welke ge-exploit zijn. Exploited systemen worden in rood aangegeven met een donder icoontje. Je kunt gemakkelijk klikken op de gevonden systemen om relevante opdrachten uit te voeren. - 4. Console
De Armitage console is een tab gestructureerde omgeving. Het console pane geeft toegang tot uitgevoerde opdrachten, informatie, acties etc. Ook kun je via de console direct werken op de Metasploit CLI en kun je de CLI commando’s en uitvoer zien van de Metasploit opdrachten die Armitage doorstuurd.
Hail Mary
Zoals al gezegd bied Armitage een mass-exploit aanval. Deze is niet silent maar kan effectief zijn. Deze aanval noemen we een “hail mary” of beter gezegd, een “last resort” als handmatige exploitatie faalt. Het uitvoeren van een hail mary in Metasploit is niet (zonder scripting) mogelijk. Een hail mary is een slimme db_autopwn die relevante exploits voor de targets vindt en ze allemaal uitprobeert. Er worden dus tientallen, zo niet honderden exploits op de target afgevuurt.
Om een hail mary uit te voeren ga je via menu naar “attacks” en selecteer je “Hail Mary”. Een Hail Mary wordt uitgevoerd op ALLE cliënts in je workspace.
Armitage geeft zeer terecht de volgende melding. Als je echt zeker bent klik je op “Yes”.
Vervolgens worden de exploits afgevuurd. Per cliënt duurt dit gemiddeld een minuutje.
De console laat zien welke exploits geprobeerd worden. Als er een of meerdere exploits slagen worden de gemaakte sessies vanzelf in de console weergegeven.
Exploiting met Armitage
Het uitvoeren van een straightforward exploit in Armitage ziet er als volgt uit:
1. Voer een NMap scan of andere MSF scan uit om hosts te vinden. Je kunt ook zelf hosts toevoegen of hosts importeren.
2. Vervolgens kunnen we kiezen om Armitage exploits voor ons te laten zoeken op basis van het gevonden OS / poorten etc. Hiervoor gaan we in het menu naar Attack – Find Attacks. Elke host krijgt nu een “attack menu”:
3. Zoals je ziet worden mogelijke exploits gecategoriseerd weergegeven en per categorie kun je “check exploits” selecteren om de exploits van die categorie te testen tegen de target machine.
4. Als er een exploit gevonden wordt dan kun je deze slepen naar je target machine om vervolgens de opties zoals RHOST en RPORT in te stellen:
5. Vervolgens zorg je ervoor dat je een payload op het systeem krijgt. Je kunt dit doen via een actieve exploit of door deze op een andere manier op het doelsysteem te plaatsen. Als je een reverse connectie gebruikt is het zaak dat je ook een handler start. Als alles succesvol is ziet de exploited machine er als volgt uit:
6. Na exploitatie heb je additionele functies en kun je de machine overnemen:
Conclusie
Deze Armitage post geeft slechts een klein kijkje in de keuken van Armitage (en Metasploit). Het betaalde broertje van Armitage, genaamd “Cobalt Strike” heeft echter nog meer tools onder de motorkap en is speciaal geschreven om “red teams” beter te laten samenwerken. Voor iedereen die grafisch inzichtelijk willen hebben wat er gebeurt en voor wie liever met een muis dan met een toetsenbord werkt is Armitage een prachtige open-source tool met additionele functies die Metasploit by-default niet biedt.