# JerseyCTF IV
## Reverse
### 1. humble-beginnings:

- https://ctf.jerseyctf.com/files/9026c049130230281d0b570348bb4da8/skimmer.exe?token=eyJ1c2VyX2lkIjo0NjcyLCJ0ZWFtX2lkIjoxODExLCJmaWxlX2lkIjoxMjR9.ZgT7LQ.vigw59jBKe8VwNcdgFsLEWPSX9M
- Đề cho 1 file exe, mình có chạy thử nhưng không chạy được (hoặc có thể do mình còn non :v)
- Sau đó mình dùng strings thì có thấy được một số thông tin.
- Lệnh cụ thể là `strings skimmer.exe`

- Mình thấy có dòng lạ là `mxnhCEkuBogW3E7XAEzNmaq6eZqW3zgEuu`nên đã copy thử và sau đó nó chính là flag =))
- Flag: `jctf{mxnhCEkuBogW3E7XAEzNmaq6eZqW3zgEuu}`
### 2. PasswordManager:

- https://ctf.jerseyctf.com/files/2ae7379e2e4a38285a1d08351f040f9f/pw?token=eyJ1c2VyX2lkIjo0NjcyLCJ0ZWFtX2lkIjoxODExLCJmaWxlX2lkIjoxNjB9.ZgU33A.TcF6ZSfXEiLmNsi6VnFMqT8Wbws
- Đề cho 1 file exe, mình chạy thử thì nó ra thế này:

- Mình dùng 1 tool để dịch ngược ở đây mình dùng ghidra:


- Đọc đoạn mã giả C kia chúng ta có thể biết được 1 số thông tin. Ở đây có 1 số biến mình đã đổi tên để dễ nhìn hơn.
- Ở trong vòng for ta thấy hàm strncmp được gán cho biến a do đó mình sẽ đi xem hàm strncmp có gì không.

- Ở đây ta có địa chỉ của hàm do đó mình dùng gdb để breakpoint địa chỉ này:

- 
- 
- Đến đây là xong rồi.
- Flag: `jctf{wh3r3s_m@y@?}`
## Cryptography
### 1. Attn-Agents:

- https://ctf.jerseyctf.com/files/cbce85165afb941feaa79b6638d1720f/ATTN.txt?token=eyJ1c2VyX2lkIjo0NjcyLCJ0ZWFtX2lkIjoxODExLCJmaWxlX2lkIjoxMTZ9.ZgU-FA.ClIwDxCpSUEO49ur2InlVpsUGdY
- Chúng ta có 1 đoạn text như sau: `Dwwhqwlrq MFWI djhqwv! Dq xqnqrzq DSW lv klmdfnlqj qhwzrunv wr vsuhdg vwhdowk pdozduh xvlqj vwrohq vrxufh frgh. Brxu plvvlrq: wudfn grzq wkh vrxufh ri wkh ohdnv dqg vwrs wkh zlgh-vsuhdg dwwdfnv dfurvv rxu qhwzrunv. Wlph lv uxqqlqj rxw. Wkh {idwh-ri-wkh-zhe} lv lq brxu kdqgv!`
- Nhìn sơ qua thì mình đoán dòng cuối sẽ chứa flag nên chúng ta cần decode lại nó.
- Mình sử dụng ROT 13 và Brute Force:

- Mình thấy ở dòng Amount = 23 có vẻ là đúng do đó mình sẽ chỉnh Amount = 23 và đây là chi tiết của nó:

- Flag: `jctf{fate-of-the-web}`
## Forensics
### 1. substitute-detail-torrent:

- https://ctf.jerseyctf.com/files/70c8a5fc815d3ad5a0e9a97d06293297/Blob.wim?token=eyJ1c2VyX2lkIjo0NjcyLCJ0ZWFtX2lkIjoxODExLCJmaWxlX2lkIjoxMjV9.ZgVAlw.WVpBT2CxGYgfuN1XnR73kMg2yc8
- Tải file về ta sẽ có 1 file txt:

- Mình mở file đó lên nhưng không có gì tiếp đó mình extract file và được thêm 1 file khác:

- Flag: `jctf{https://www.NTFS/File/Metadata}`
### 2. groovy:

- https://ctf.jerseyctf.com/files/be348f045ce25c8faed621f7372203b6/sick_jams_dude.wav?token=eyJ1c2VyX2lkIjo0NjcyLCJ0ZWFtX2lkIjoxODExLCJmaWxlX2lkIjoxNTR9.ZgVBkA.wtiv_Q8W9TSBr7OrFXav0IIbd1o
- Đề cho ta 1 file audio mà flag đã được ẩn trong file audio đó.
- Ở đây mình dùng spectrograph để xem nội dung ẩn bên trong:

- Không biết các bạn có nhìn thấy gì không chứ theo mình nhìn thấy là `jctf{wav1ng_fr0m_th3_futur3}` =))
- Flag: `jctf{wav1ng_fr0m_th3_futur3}`
## Osint
### 1. coasting-underground:

- Đề cho 1 file ảnh:
https://ctf.jerseyctf.com/files/a89b97d68cffc9aab9f90f967f940880/flag.jpg?token=eyJ1c2VyX2lkIjo0NjcyLCJ0ZWFtX2lkIjoxODExLCJmaWxlX2lkIjoxMTl9.ZgVImw.H5zl9T30XSr94jha_OrSjE_qs4w
- Ta có thể tìm thấy 1 số địa điểm trong ảnh:

- Đề bảo là tìm 1 địa điểm thu hút mà gần đây nhất do đó mình nghĩ ngay là City of Caves bởi vì là theo mình nghĩ bảng 4 địa điểm kia chắc là các địa điểm thu hút còn bảng có mỗi City of Caves sẽ là địa điểm thu hút gần đây nhất.
- Flag: `jctf{city_of_caves}`