# Write Up USC CTF Fall 2024

## Forensics
### 1. weirdtraffic

Bài cho tệp pcapng chứa các gói tin icmp, đọc qua thì mình có ngay flag ở trong phần data:

> Flag: CYBORG{hping3-is-a-cool-tool}
---
### 2. think_twice

Đọc mô tả và nhìn tên file mình biết ngay dùng lệnh gì để tìm flag:


> Flag: Cyb0rg{McCarthy}
---
### 3. Computer Has Virus

Bài cho file eml đính kèm file .exe, strings thì mình phát hiện:

```powershell!
$compressed = 'H4sIAAAAAAAA/1TNQWvyQBDG8Xs+xRgCrx4SFW+B8EJFtIcSMA1SSglxHZOlyW66+6xtEL97iVhpr8P8n19wbMqKEvKXLw/pdn3OFsKZOfoCtZm5qi7Svb1d5rZQMxSnhekLO7wtRhffC1gJSug16y24jXa8jzZAl0M2Ev1bHOemWSmhDzy+WhPyApSmYuSmGeAa6OLp1FkhcOSvo2xgSkitIqHb6f3A/4c6GTifPJiezh4RUWDYdlpZpoQe1Um/c7jj/ZY/HFtQmBtJv7zwiVHrA61Xz9d6ZyQ4TB06B/J/pmIKxvfdKEMJZ5f6wBOfvAuJEqK+6X/7fEPpZkSZbhm1VNU/S59Gq2o0dN53AAAA//+hRs8SawEAAA=='; $bytes = [System.Convert]::FromBase64String($compressed); $stream = New-Object IO.MemoryStream(, $bytes); $decompressed = New-Object IO.Compression.GzipStream($stream, [IO.Compression.CompressionMode]::Decompress); $reader = New-Object IO.StreamReader($decompressed); $obfuscated = $reader.ReadToEnd(); Invoke-Expression $obfuscated
```
Đoạn mã powershell này chứa đoạn base 64, nhanh chóng mình dùng cyberchef và có được luôn flag:

> Flag: CYBORG{S3cur1ty_thr0ugh_Obscur1ty_1s_n0t_v3ry_s3cur3!}
---
### 4. pineapple

Bài cho mình file pcapng, theo thói quen mình export hết những file trong object http:


Có thể thấy được file plans này chứa một file 7z, ta loại bỏ 1 số byte thừa ở đầu, thêm extension .7z, có được file 7z:

Vấn đề là file yêu cầu mật khẩu, tìm ở các file còn lại ta có được pass:

Giải nén ra ta có được ảnh chứa flag:

> Flag: CYBORG{pe4cefaRe_4x09}
---
## Web
### 1. iRobots

Đọc tên đề bài ta cũng có thể đoán được sẽ dùng path gì:



> Flag: CYBORG{robots_txt_is_fun}
---
## Crypto
### 1. colors

Bài begin nên chỉ cần cyberchef là mình giải mã được:

> Flag: CYBORG{tR0jans_love_C4rdinal_@nd_G0ld}
---
## Osint
### 1. TommyCam

Bài này mình dùng wayback machine để xem trang web đầu tiên của trường:

Quay về tháng 12 năm 1996, đọc qua và mình tìm được tên máy tính đầu tiên:

> Flag: CYBORG{Toshiba 5200}
---
### 2. Buildings

Bài cho mình 1 file pdf chứa các hình ảnh, bên cạnh đó là các số đi kèm, đọc qua thì mình đoán được luôn là ảnh đó là các tòa nhà trong trường USC, ta chỉ cần tìm tòa đó và tên viết tắt của chúng, sau đó lấy các từ theo đúng số thứ tự kèm theo:

có thể thấy 6 ảnh đầu là format flag `CYBORG` luôn nên mình không cần tra, tìm 6 tòa còn lại:






Ghép lại theo đúng thứ tự và ta có flag.
> Flag: CYBORG{BRICKS}
---
### 3. beer sales

Bài cần mình tìm lượng bia tiêu thụ tháng 8 ở Orlando, Florida, tra với key `ftp "beer sales" "August 2024"`, mình có:

Tải file đó về:

Flag ở phần total.
> Flag: CYBORG{861,641.36}
---
### 4. television

Bài cho mình 1 ảnh, yêu cầu là tìm tên kiến trúc sư tòa nhà đó:

Dùng lens, mình có ảnh rõ hơn:

Dùng AI, mình có luôn tọa độ:


> Tòa nhà ở 948 W Adams Blvd, Los Angeles, CA 90007 được gọi là The Art of Living Foundation, hay còn được biết đến với tên The Second Church of Christ, Scientist. Công trình kiến trúc này do kiến trúc sư nổi tiếng Alfred F. Rosenheim thiết kế vào năm 1910.
> Flag: CYBORG{Alfred Rosenheim}
---
## Misc
### 1. Redwoods

Bài cho file .jar, mở bằng jadx:


Kiểm tra ảnh bằng aperi:

Nhìn kĩ phần flag và phần ảnh chứa các kiểu mã hóa cho các chữ trong flag, nhìn qua mình đoán là brainfuck, dùng cyberchef:

Tiếp tục decode 1 lần nữa:

```bash!
https://gchq.github.io/CyberChef/#recipe=Find_/_Replace(%7B'option':'Regex','string':'a'%7D,'%5B',true,false,true,false)Find_/_Replace(%7B'option':'Regex','string':'b'%7D,'%5D',true,false,true,false)Find_/_Replace(%7B'option':'Regex','string':'c'%7D,'%2B',true,false,true,false)Find_/_Replace(%7B'option':'Regex','string':'d'%7D,'-',true,false,true,false)Find_/_Replace(%7B'option':'Regex','string':'e'%7D,'.',true,false,true,false)Find_/_Replace(%7B'option':'Regex','string':'f'%7D,',',true,false,true,false)Find_/_Replace(%7B'option':'Regex','string':'g'%7D,'%3E',true,false,true,false)Find_/_Replace(%7B'option':'Regex','string':'h'%7D,'%3C',true,false,true,false)&input=Y2NjY2NjY2NjY2FnY2NjY2NjY2hkYmdkZGRlaGNjY2NjYWdjY2NjaGRiZ2NjZWhjY2NjY2FnZGRkZGhkYmdkZGRlaGdjY2NjY2NjY2NjY2NjZWNjY2VkZGRkZGRkZGRkZGVhZ2NnY2hoZGJjY2NjY2FnY2NjY2NjY2NjY2hkYmdjY2VnY2VkZGRlZGRkZGVjY2NjY2NjY2NjY2NjY2NjY2VkZGRkZGRkZGRkZGRkZGVoaGNjY2NjY2FnZ2NjY2NjaGhkYmdnZGRkZWRkZGRkZGRkZGRkZWRkZWhoY2NjY2NjYWdnZGRkZGRoaGRiZ2dkZWVoaGNjY2NjY2NjY2NjYWdnY2NjY2hoZGJnZ2VoaGNjY2NjYWdnZGRkZGRoaGRiZ2dlYWdjZ2NoaGRiYWJjY2NjY2NhZ2dkZGRoaGRiZ2dlaGNjY2NjY2VlaGhjY2UN&oenc=65001&ieol=CR&oeol=CR
```
> Flag: CYBORG{HEARD_TR33_F4LL}
---