tech365
ThePlugbot Header

PlugBot: Je eigen bestuurbare bot voor allerlei toepassingen (#1)

PlugBot is een onderzoeksproject van het Amerikaanse bedrijf Red Team Security. Het bestaat uit een eigen ontwikkelde bot en Command & Control server en is toepasbaar op diverse situaties. Red Team Security gebruikt PlugBot zelf tijdens het uitvoeren van een penetratietest voor een klant. De bot wordt bijvoorbeeld geïnstalleerd op een Raspberry Pi en stiekem in het netwerk van de klant gestoken en wacht op commando’s om later op afstand uit te kunnen voeren.

Handig voor verkenning op afstand

Met een bot in het netwerk van je klant is het ineens een heel stuk eenvoudiger om op afstand allerlei onderzoek te doen. Zo kun je de bot bijvoorbeeld een taak geven voor het scannen van het lokale netwerk, terugkoppeling geven wat zijn interne en externe IP-adres is, een reverse shell opbouwen voor toegang op afstand en ga zo maar door. Erg handig dus!

Hoe werkt PlugBot?

Het concept werkt als volgt: de bot maakt verbinding met het internet (of LAN) en meldt zich door middel bij de Command & Control server. Die noem ik voor het gemak even C&C server. Je zet in de C&C server een applicatie klaar en de bot haalt die applicatie binnen bij de volgende check in. Vervolgens kun je een taak aanmaken die direct of gepland wordt uitgevoerd. Deze taak wordt vervolgens tijdens de volgende check in opgehaald en uitgevoerd op basis van jouw gekozen methode. De output van de applicatie wordt vervolgens lokaal opgeslagen of verzonden naar de C&C server.

Je installeert een PlugBot bot, een PlugBot C&C server, en maakt een aantal scripts die je later naar je bot(s) kunt sturen. In dit geval heb ik ervoor gekozen om de PlugBot bot op een Raspberry Pi Model 3+ te installeren en de C&C in een virtuele Ubuntu 18 machine.

Let op: de installatie procedure is afhankelijk van bepaalde versies van zowel het Raspberry Pi besturingssysteem alsmede Ubuntu. Mocht je een andere versie van deze software gebruiken dan kunnen bepaalde commando’s of paden naar bestanden anders zijn. Let dus goed op eventuele verschillen.

Installatie van de PlugBot bot

Voordat je aan de slag kunt met het installeren van de PlugBot op je Raspberry Pi moet je hem voorzien van een besturingssysteem. Ik heb hiervoor Raspbian Strech gebruikt. Je kunt dit besturingssysteem downloaden en door middel van Rufus (Windows) naar een (micro)SD-kaart zetten voor je Pi. Vergeet niet SSH te activeren zodat je op afstand verbinding kunt maken met je Pi via een programma als Putty.

1. Installeer Apache2 webserver, MySQL en PHP

In de basis maakt PlugBot gebruik van een PHP-webapplicatie en MySQL database. Hiervoor installeren we Apache, MySQL en PHP.

sudo apt-get install apache2
sudo apt-get install mysql-server
sudo apt-get install php php-pear php-mysql php-curl 

2. Installeer benodigde packages

Mogelijk beschikt jouw installatie van Raspbian al over een of meerdere packages uit de lijst hieronder. Mocht je het niet zeker weten dan vertelt Raspbian je vanzelf of een installatie nodig is als je het commando uitvoert.

sudo apt-get install perl
sudo apt-get install python
sudo apt-get install flip
sudo apt-get install wput
sudo apt-get install wget
sudo apt-get install tor
sudo apt-get install curl
sudo apt-get install git
sudo apt-get install mcrypt php7.0-mcrypt

Installeer en configureer PhpMyAdmin

Tijdens de installatie van PhpMyAdmin krijg je de vraag waar je een verbinding mee wil maken. Kies hier voor “Apache 2”.

phpmyadmin apache bind 01


In de volgende stap kies je “Yes” bij “Een database voor phpmyadmin instellen via dbconfig-common”.

phpmyadmin apache bind 02


Stel hierna een wachtwoord in voor de user phpmyadmin en onthoud deze goed!

phpmyadmin en onthoud deze goed!

sudo apt-get install phpmyadmin

Download en installeer PlugBot bot code

De PlugBot code wordt op Github onderhouden door ontwikkelaar Red team Security.

mkdir code
cd code
git clone https://github.com/redteamsecurity/PlugBot-Plug.git

Eerst verwijderen we de standaard aanwezige html folder van Apache.

cd /var/www
sudo rm -R html

Kopieer vervolgens de code voor de PlugBot naar /var/www

sudo cp -R /home/pi/code/* /var/www

Aanpassen Apache configuratie

sudo nano /etc/apache2/sites-enabled/000-default.conf

Wijzig de Document Root naar de juiste map
Van: DocumentRoot /var/www/html
Naar: DocumentRoot /var/www

Maak een nieuwe Virtual Directory aan voor PlugBot door onderstaande onderaan in de file te plaatsen.

 <Directory /var/www/>
     Options Indexes FollowSymLinks MultiViews
     Order Allow,Deny
     Allow from All
 </Directory> 

Activeer mod rewrite voor Apache

sudo A2enmod rewrite 

Owner aanpassen op document root

Pas de owner aan op de data in /var/www

cd /var/www
sudo chown -R www-data.www-data *

.htaccess aanmaken in document root

sudo nano /var/www/.htaccess

Plak onderstaande tekst in het .htaccess bestand:

 <IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteBase /
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ index.php?/$1 [L]
 </IfModule>
 <IfModule !mod_rewrite.c>
   ErrorDocument 404 /index.php
 </IfModule>

PHP-extensie mcrypt toevoegen

Tijdens het installeren van de componenten hebben we mcrypt voor PHP geïnstalleerd. Nu is het nog zaak om de extensie te laten laden in PHP.

sudo nano /etc/php/7.0/cli/php.ini

Voeg onderstaande regel toe aan het einde van het bestand

extension=mcrypt.so

Open het php.ini bestand in de Apache folder.

sudo nano /etc/php/7.0/apache2/php.ini

Voeg onderstaande regel toe aan het einde van het bestand

extension=mcrypt.so

Apache 2 service herstarten

service apache2 restart

Aanmaken database en importeren sql-script

Het aanmaken en importeren van de PlugBot client database doen we vanuit PhpMyAdmin. Ga naar http://ipadresPlugBotPlug/phpmyadmin en gebruik als username “phpmyadmin” en als wachtwoord datgene dat je bij de installatie van phpMyAdmin hebt gekozen.

Creëer een nieuwe database genaamd “db_plugbot_client”. Importeer vervolgens het sql-script dat meegeleverd word in het git-package (ook te vinden in je /var/www folder). Als alles goed verloopt zie je dat de database wordt aangemaakt en staat alles klaar om te starten.

db_plugbot_client phpmyadmin

Inloggen in je PlugBot bot

Nu je eerste bot klaar is kun je naar http://ipadresPlugBotPlug/index.php/home/setup gaan om hem verder in te stellen. Het is handig om eerst de Command & Control server te installeren, want je bot kan zich nu nog nergens melden.

In het tweede deel van deze driedelige blogpost leg ik je uit hoe je de Command & Control server voor de bot kunt installeren op basis van Ubuntu 18.04. Stay tuned!

Martijn

Martijn is naast eigenaar van tech365 ook werkzaam als IT Professional. Zijn passies zijn gadgets, fotografie en alles wat met automotive te maken heeft. Je kunt hem ook vinden als blogger op wielerblog www.lifebehindbars.nl

Reageren

Geef een reactie

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.

Privacy opties

Wijzig je voorkeur voor het bijhouden van gegevens op tech365.

Privacybeleid | Sluiten
Instellingen