Exploit Jenkins in the Cloud
Azure PwnedLabs
ip=10.1.0.130
nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn $ip -oG allPorts

nmap -sCV -p22,8080 $ip -oN targeted

whatweb http://10.1.0.130:8080

Nos dirigimos a http://10.0.130.8080
echo "10.1.0.130 jenkins.local" | sudo tee -a /etc/hosts

Podemos ver los errores en jenkins y vemos los siguientes:

Para poder ver las credenciales nos dirigimos a S3 Explorer. Y vemos un bucket llamado jenkins-config.load.

aws sts get-caller-identity

aws s3 ls jenkins-config-load
Vemos que tipo de archivos se encuentran en el bucket.

aws s3 cp s3://jenkins-config-load/config.xml .
Bajamos el archivo config.xml
batcat confi.xml

Se puede llegar a la conclusion que en este sitio se encuentra un directorio admin.
Nos dirigimos a Credenciales en el dashboard.

En inspector cambiamos el tipo a texto.

Y ahora se despliega la contrasena.

En el dashboard nos dirigimos a Script Console y usamos hudson para poder decifrar la constrasena.

aws sts get-caller-identity
Hacemos un whoami de aws para verificar que somos el usuario correcto.

aws s3 ls jenkisn-config-load/admin/
aws s3 cp s3://jenkins-config-load/admin/jenkins-backup.sh .
grep -niE 'username|password' jenkins-backup.sh

Adquirimos las credenciales que usariamos en el ultimo paso.
Despues nos dirigimos de nuevo al Script console. http://jenkins.local:8080/manage/script

Corremos el siguiente script:

De ultimo copiamos nuestra llave publica y correcmos lo siguiente:

ssh -i id_ed25519 jenkins@jenkins.local

su -
Introducimos la contrasena que encontramos en el paso anterior.
cat /root/flag.txt
