Skip to content

Latest commit

 

History

History
172 lines (130 loc) · 5.77 KB

File metadata and controls

172 lines (130 loc) · 5.77 KB

Base64 Encoding

  • Pertanyaan: Authorization: Basic bXl1c2VyOm15cGFzc3dvcmQ=
echo 'dGVzdGluZzpwYXNzdzByZA==' | base64 --decode

alt text

Jawaban:

  • Username
testing
  • Password
passw0rd

XOR Encoding

alt text

Jawaban:

databasepassword

Plain Hashing

  • Pertanyaan:
    • 5F4DCC3B5AA765D61D8327DEB882CF99
    • 2BB80D537B1DA3E38BD30361AA855686BDE0EACD7162FEF6A25FE97BF527A25B
  • Gunakan tool decrypt hash online https://crackstation.net/

alt text

Jawaban:

password
secret

RSA Private Key

  • Simpan private key ke dalam sebuah file dengan nama id_rsa
echo 'paste privatekey disini' > id_rsa

alt text

  • Ambil public key dari private key dan simpan dengan nama file id_rsa.pub
openssl rsa -in id_rsa -pubout > id_rsa.pub

alt text

  • Ambil nilai modulus dari public key dan copy nilai modulus tersebut untuk menjawab soal
openssl rsa -in id_rsa.pub -pubin -modulus -noout

alt text

  • 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

alt text

  • Encode file sign.sha256 dengan base64
openssl enc -base64 -in sign.sha256 -out sign.sha256.base64

alt text

  • Tampilkan isi file sign.sha256.base64 dan copy isinya untuk menjawab soal
cat sign.sha256.base64

alt text

Java cacerts

  • 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

alt text

  • Akses docker shell melalui terminal
sudo docker exec -it docker_id /bin/bash

alt text

  • Kita tidak dapat mengakses direktori /root tapi kita bisa mengakses direktori /etc dan menemukan file passwd disana
cd /etc
ls

alt text

alt text

  • Baca isi file passwd lalu ketik exit untuk keluar dari docker shell
cat passwd
exit

alt text

  • Sekarang kita copy file /etc/passwd dari docker ke lokal
sudo docker cp docker_id:/etc/passwd ./passwd

alt text

  • Edit file passwd dengan editor nano. Lalu ubah user ID (uid) dan grup ID (gid) user webgoat menjadi 0 sehingga mempunyai akses user root. Tekan Ctrl+O untuk menyimpan dan tekan Ctrl+X untuk keluar
sudo nano passwd

alt text

  • Masukkan file passwd yang sudah dimodifikasi ke docker shell
sudo docker cp ./passwd docker_id:/etc/passwd

alt text

  • Akses docker shell kembali melalui terminal dan sekarang kita berhasil masuk sebagai user root
sudo docker exec -it docker_id /bin/bash

alt text

  • Akses direktori /root dan disana terdapat file default_secret yang berisi key yang akan kita gunakan untuk mendekrip pesan di task ini
cd /root
cat default_secret

alt text

  • Sekarang kita tahu bahwa file yang menyimpan key bernama default_secret jadi 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

alt text

  • 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