# First ASEAN CTF 2024 ## Forensics ### Montana ![image](https://hackmd.io/_uploads/Syap3CeF0.png) Sử dụng volatility2, mình kiểm tra qua các process của profile này. ![image](https://hackmd.io/_uploads/BkVwTCeYA.png) Mình thấy có một 2 process gọi cmd, nên tiến hành kiểm tra bằng các plugins cmd. > tmqrx@TMQ:~/volatility$ python2 vol.py -f memory.vmem --profile Win7SP1x64 cmdscan Mình thấy process cmd có chứa một đoạn base64 đáng nghi. ![image](https://hackmd.io/_uploads/BynlCRlYA.png) Decode nó ra ta được một link github chứa một bức ảnh. > https://raw.githubusercontent.com/cybexer/content-img/main/winxp.jpg ![image](https://hackmd.io/_uploads/S10wRReYC.png) Strings bức ảnh thì thấy rằng có dấu hiệu của steghide. ![image](https://hackmd.io/_uploads/SkApRRgFC.png) Và ta cần password để extract data ẩn bên trong đó. Giờ việc cần tìm là tìm password. Quay trở lại volatility, mình tiến hành dump iehistory để xem lịch sử trình duyệt của author. > tmqrx@TMQ:~/volatility$ python2 vol.py -f memory.vmem --profile Win7SP1x64 iehistory ![image](https://hackmd.io/_uploads/Byfv1ybtC.png) Có một bức ảnh hannah_ost2006.jpg khả nghi và có thể chứa password nên mình tiến hành filescan để tìm bức ảnh này. Tuy nhiên là bức ảnh không còn tồn tại trên profile này nữa nên hướng này có vẻ cụt rồi. Mình kiểm tra screenshot plugin thì thấy một thứ khá là mấu chốt của bài này. > tmqrx@TMQ:~/volatility$ python2 vol.py -f memory.vmem --profile Win7SP1x64 screenshot --dump-dir . ![image](https://hackmd.io/_uploads/SyGFGJWK0.png) Đây là screenshot của Photo Viewer, một trình xem ảnh khá phổ biến của Windows. Tuy nhiên trong process của profile này không có Windows Photo Viewer, vậy nên khả năng process này đã bị terminate trước khi capture memory dump rồi. Tuy nhiên như ta đã biết Windows Photo Viewer cần các libary để có thể xử lý ảnh và xuất ảnh ra như PhotoViewer.dll, ImagingEngine.dll, PhotoBase.dll,... Vậy nên mình sẽ tiến hành kiểm tra dlllist xem có gì bất thường không. Mình thấy rằng có một process đang load PhotoViewer.dll đó là dllhost.exe ![image](https://hackmd.io/_uploads/B1gCU1WK0.png) Tại sao lại như vậy? Tại vì dllhost là một COM Surrogate có tác dụng để đảm bảo các đối tượng COM hoạt động ổn định và không gây xung đột với process cha. COM Surrogate là một tiến trình độc lập mà Windows Photo Viewer có thể yêu cầu để chạy các đối tượng COM. Đây là một tính năng của Windows vì nếu có crash xảy ra, thì process cha sẽ không bị ảnh hưởng và chỉ có dllhost bị ảnh hướng thôi. Quay trở lại thì ta thấy dllhost load Windows Photo Viewer, nghĩa là có thể author đã xem bức ảnh nào đó thông qua dllhost. Dựa vào kinh nghiệm, ta có thể dump dllhost process và sử dụng GIMB để capture lại bức ảnh mà dllhost đã load. > tmqrx@TMQ:~/volatility$ python2 vol.py -f memory.vmem --profile Win7SP1x64 memdump --pid 2180 --dump-dir . Paste vào GIMB và chỉnh các offset phù hợp và ta đã tìm thấy password. ![image](https://hackmd.io/_uploads/SkEIFkbFC.png) Có password rồi thì chỉ cần steghide để extract flag ra thôi. > tmqrx@TMQ:~$ steghide extract -sf winxp.jpg ![image](https://hackmd.io/_uploads/S16cFJWKC.png) *FLAG : icc{1_w45_h3r3_51nc3_w1nd0w5xp}*