tech365
ThePlugbot Header

PlugBot: Command & Control server voor besturing van je bot (#2)

In het eerste deel van deze reeks blogposts over PlugBot kon je lezen hoe je de bot zelf kunt installeren op een Raspberry Pi. Het vergt een beetje handigheid met Linux, maar door middel van het beschreven stappen is het prima te doen. Om de bot te kunnen besturen en te voorzien van opdrachten is het noodzakelijk dat we ook een Command & Control (C&C) server hebben.

Beheer op afstand

Het concept achter de PlugBot project is dat je hem eigenlijk ergens in netwerk prikt, aanzet, en hem laat verbinden naar de C&C-server. De bot doet iedere minuut een check-in en op deze manier haalt hij zijn taken op en geeft eventueel resultaten terug. Het is dus essentieel om de C&C-server te installeren en de bot(s) hieraan te koppelen.

Ik heb een virtuele machine geïnstalleerd op basis van Ubuntu 18. Hierin zijn, net als bij de bot, diverse extra packages nodig om te zorgen dat alle functies werken. De C&C server werkt ook op basis van een webserver en database server. In dit geval ook weer Apache en MySQL.

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

De extra pakketten die je nodig hebt ontbreken in Ubuntu 18. Geen probleem want die kun je gewoon eenvoudig toevoegen. Krijg je de melding dat het pakket al aanwezig is in jouw versie van Ubuntu dan mag je hem gewoon negeren.

sudo apt install tor
sudo apt install python
sudo apt install curl
sudo apt install wput
sudo apt install wget
sudo apt install git

Installeer en configureer PhpMyAdmin

sudo apt-get install 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!

Mcrypt

In Ubuntu is Mcrypt standaard niet aanwezig. Het is noodzakelijk om de packages voor Mcrypt te vooraf te installeren.

sudo apt-get install php-dev libmcrypt-dev gcc make autoconf libc-dev pkg-config

sudo pecl install mcrypt-1.0.1

Download en installeer PlugBot Command & Control code

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

mkdir code
cd code
git clone https://github.com/redteamsecurity/PlugBot-C2C.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. Let op dat je hierin je eigen homedirectory gebruikt.

sudo cp -R /home/martijn/code/PlugBot-C2C/*  /var/www

.htaccess aanmaken in document root

sudo nano /var/www/.htaccess

Plaats onderstaande code in de .htaccess zodat de Rewrite van de urls goed werkt.

<IfModule mod_rewrite.c>
  RewriteEngine On
  # !IMPORTANT! Set your RewriteBase here and don't forget trailing and leading
  #  slashes.
  # If your page resides at
  #  http://www.example.com/mypage/test1
  # then use
  # RewriteBase /mypage/test1/
  RewriteBase /
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
  # If we don't have mod_rewrite installed, all 404's
  # can be sent to index.php, and everything works as normal.
  # Submitted by: ElliotHaughin
ErrorDocument 404 /index.php
</IfModule>

Aanpassen Apache configuratie

Cd /etc/apache2/sites-enabled
Sudo nano 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 

PHP-configuratie aanpassen

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.

nano /etc/php/7.2/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.

extension=mcrypt.so

Wijzig de waarde voor short_open_tag naar ‘On’

short_open_tag=On

Apache 2 service herstarten

service apache2 restart

Aanmaken database en importeren sql-script

Het aanmaken en importeren van de PlugBot C&C database doen we vanuit PhpMyAdmin. Ga naar http://ipadresPlugBotC&C/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”. 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.

Verwijder nog wel even de kolom “app_dir” of pas hem aan zodat er niet verplicht een waarde in hoeft. Dit is namelijk een bug in de code waardoor het veld niet gevuld wordt.

Applicatie configuratie aanpassen voor MySQL

Als laatste is het nog noodzakelijk om een drietal instellingen aan te passen in het database connectie bestand.

sudo nano /var/www/application/config/database.php

Wijzig de waarden voor dbdriver, username, password.

$db['default']['dbdriver'] = 'mysqli';
$db['default']['username'] = 'phpmyadmin';
$db['default']['password'] = 'jegekozenwachtwoord';

Inloggen op je PlugBot C&C-server

Net als bij de bot kun je aanmelden bij de C&C-server via je browser. Het enige verschil is dat je hier gewoon naar http://ipadresPlugBotC&C kan gaan.

Nu de C&C-server ook in de lucht is kan de bot gekoppeld worden zodat het mogelijk wordt om applicaties en taken te sturen. In het laatste deel van deze driedelige blogpost laat ik je zien hoe je dit kunt doen.

Heb je de PlugBot bot zelf nog niet geïnstalleerd dan kun je de instructie hiervoor vinden in het eerste deel; PlugBot: Je eigen bestuurdbare bot voor allerlei toepassingen (#1).

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