- Pertanyaan: Authorization: Basic bXl1c2VyOm15cGFzc3dvcmQ=
echo 'dGVzdGluZzpwYXNzdzByZA==' | base64 --decodeJawaban:
- Username
testing- Password
passw0rd- Pertanyaan: {xor}Oz4rPj0+LDovPiwsKDAtOw==
- Gunakan XOR decoder online https://strelitzia.net/wasXORdecoder/wasXORdecoder.html
Jawaban:
databasepassword- Pertanyaan:
- 5F4DCC3B5AA765D61D8327DEB882CF99
- 2BB80D537B1DA3E38BD30361AA855686BDE0EACD7162FEF6A25FE97BF527A25B
- Gunakan tool decrypt hash online https://crackstation.net/
Jawaban:
password
secret- Simpan private key ke dalam sebuah file dengan nama id_rsa
echo 'paste privatekey disini' > id_rsa- Ambil public key dari private key dan simpan dengan nama file id_rsa.pub
openssl rsa -in id_rsa -pubout > id_rsa.pub- Ambil nilai modulus dari public key dan copy nilai modulus tersebut untuk menjawab soal
openssl rsa -in id_rsa.pub -pubin -modulus -noout- Ambil sign dari modulus dan private key dan simpan dengan nama file sign.sha256
echo -n "paste modulus disini" | openssl dgst -sign id_rsa -sha256 -out sign.sha256- Encode file sign.sha256 dengan base64
openssl enc -base64 -in sign.sha256 -out sign.sha256.base64- Tampilkan isi file sign.sha256.base64 dan copy isinya untuk menjawab soal
cat sign.sha256.base64- Jalankan docker image terlebih dahulu di mesin Ubuntu. Jika docker image belum tersedia maka sistem akan mendownload secara otomatis. Jika sudah akan tampil hash id untuk mengakses docker shell
sudo docker run -d webgoat/assignments:findthesecret- Akses docker shell melalui terminal
sudo docker exec -it docker_id /bin/bash- Kita tidak dapat mengakses direktori
/roottapi kita bisa mengakses direktori/etcdan menemukan filepasswddisana
cd /etc
ls- Baca isi file
passwdlalu ketikexituntuk keluar dari docker shell
cat passwd
exit- Sekarang kita copy file
/etc/passwddari docker ke lokal
sudo docker cp docker_id:/etc/passwd ./passwd- Edit file
passwddengan editor nano. Lalu ubah user ID (uid) dan grup ID (gid) user webgoat menjadi 0 sehingga mempunyai akses user root. TekanCtrl+Ountuk menyimpan dan tekanCtrl+Xuntuk keluar
sudo nano passwd- Masukkan file
passwdyang sudah dimodifikasi ke docker shell
sudo docker cp ./passwd docker_id:/etc/passwd- Akses docker shell kembali melalui terminal dan sekarang kita berhasil masuk sebagai user root
sudo docker exec -it docker_id /bin/bash- Akses direktori
/rootdan disana terdapat filedefault_secretyang berisi key yang akan kita gunakan untuk mendekrip pesan di task ini
cd /root
cat default_secret- Sekarang kita tahu bahwa file yang menyimpan key bernama
default_secretjadi kita tinggal masukkan nama file tersebut ke dalam command line untuk mendekrip pesan dari task yang sudah diberikan
echo "U2FsdGVkX199jgh5oANElFdtCxIEvdEvciLi+v+5loE+VCuy6Ii0b+5byb5DXp32RPmT02Ek1pf55ctQN+DHbwCPiVRfFQamDmbHBUpD7as=" | openssl enc -aes-256-cbc -d -a -kfile default_secret- Pertanyaan: What is the unencrypted message
- Jawaban:
Leaving passwords in docker images is not so secure- Pertanyaan: and what is the name of the file that stored the password
- Jawaban:
default_secret