Coder

Coder là một máy windows trong Open Beta Season của HackTheBox.

Enumeration

Zenmap:

Scan các port có thể kết nối.

Server mở rất nhiều port 53,80,88,135,139,443,445,464,593,636,3268,3269,3389,5985,9389,47001,..

Liệt kê thêm chức năng các port:

Scan service của từng port.

Server đang mở SMB (port 445), Liệt kê nó tôi được

Sử dụng dnSpy để decompile Encrypter.exe 

Decompile Encrypter.exe bằng dnSpy.
Tôi nhận thấy rằng encode được thực hiện dựa vào Key và IV được tạo từ:
long value = DateTimeOffset.Now.ToUnixTimeSeconds();
Viết một trương trình decode:
Tạo value decode bằng cách:
DateTimeOffset dto = new DateTimeOffset(<yyyy>, <mm>, <dd>, <hh>, <mm>, <ss>, new TimeSpan(0, 0, 0)); //TimeSpam use UTC local
Tôi nhận thấy rằng, value trong encode được tạo bằng cách lấy thời gian hiện tại của server, để decode được file s.blade.enc tôi phải tìm ra được thời gian mà file s.blade.enc đã encode. Tôi thấy khoảng thời gian mà file được encode trên server cũng chính bằng khoản thời gian mà file đã được tạo ra.
Tôi đã có ngày tạo ra file  s.blade.enc, thay thế nào vào <yyyy>, <mm>, <dd>, <hh>, <mm>, <ss>. Đảm bảo rằng TimeSpan của bạn chỉ đúng về UTC của mình.
Chạy nó và decode nó, tôi thu được file s.blade.dec
File s.blade.dec là file 7zip. mở nó với WinRar trên windows hoặc 7z trên linux.
Tôi thấy 2 file .key và s.blade.kdbx, giải nén nó và mở file s.blade.kdbx với KeePass.
Sử dụng domain và user pass đã tìm thấy trong s.blade.kdbx và login vào website.
Login thành công, tôi nhận được một xác thực 2fa (Two-Factor Authentication).
Tôi khá lười nghĩ cách tìm ra được 2fa, nên tôi quyết định sẽ thử brute-force nó với burp với payload được sử dụng là 6-digits-000000-999999.txt của SecLists.
Intruder burpsuite.

Không có burp có thể dùng zaproxy (Zed Attack Proxy), ffuf hoặc wfuzz để thay thế.

Code cho ffuf:

Sau một khoảng thời gian chờ đợi, đây là những gì tôi nhận được:

Kết quả brute-force thành công.
Giao diện website khi brute-force thành công.

Tham khảo thêm cách crack TOTP khác: https://yu8pentest.blogspot.com/coder-totp

Kiểm tra trong Build log, tôi thấy log "Hello, World"

Kiểm tra các folder trong smb, tôi thấy có rất nhiều file và folder. Mở nó với File Explorer:

Tôi tìm thấy file hello_world.ps1
Lấy toàn bộ folder về và sửa lại nội dung file hello_world.ps1 

Viết Nội dung "git diff" vào file my.patch, file my.patch chính là file mà tôi cần file upload (Running Personal Build on TeamCity)

upload file my.patch.

Kết quả trả về từ PS shell:

Đọc file 101.changes.diff tôi thấy thông tin key.key và enc.txt

Lưu chúng về máy và thực hiện xóa các dấu "+" và lấy shell.

Có 2 cách để lấy được shell.

Lấy shell với window:

Lấy shell với linux

Dryu8

Dryu8 is just a newbie in pentesting and loves to drink beer. I will be happy if you can donate me with a beer.

3 Comments

Previous Post Next Post