---
# System prepended metadata

title: St3g0 Write-up
tags: [CTF]

---

Đây là một challenge khá dễ, phù hợp với beginners
Sau khi tải file ảnh về máy, chúng ta có thể sử dụng lệnh:
```
display pico.flag.png
```
để xem ảnh có gì đặc biệt không:

![](https://hackmd.io/_uploads/BJMyHKr_2.png)

Trông có vẻ không có gì bất thường.

Tiếp đến chúng ta sử dụng lệnh sau:
```
binwalk pico.flag.png
```
Lệnh binwalk sẽ được mình nói thêm chi tiết về công dụng ở phía dưới, nói nôm na thì là xem có file nào được nhúng trong ảnh không

![](https://hackmd.io/_uploads/Hyj2rFS_n.png)

Ở đây chúng ta thấy có một dữ liệu nén ở dạng zlib được nhúng trong ảnh. Có thể sử dụng lệnh:
```
binwalk -e pico.flag.png
```
để giải nén tất cả các file ẩn

![](https://hackmd.io/_uploads/HJvALFSd2.png)

Vì đây là file dạng data nên ta dùng strings xem có flag dạng ASCII được giấu trong này không
```
strings 29
```

![](https://hackmd.io/_uploads/S1ozOtrdh.png)

Có vẻ như là không có gì. Bởi vậy ta nên đổi sang một hướng tiếp cận khác. Trở lại với file hình ảnh ban đầu, mình sẽ dùng lệnh:
```
zsteg pico.flag.png
```
để phân tích bit của các pixel và các kỹ thuật ẩn thông tin khác.

![](https://hackmd.io/_uploads/BJdodKSu3.png)

Có vẻ như chúng ta lấy được FLAG. Giải thích về một số tham số trong kết quả trả lại:
- b1: Chỉ ra rằng dữ liệu được giấu trong 1 bit của mỗi pixel.
- rgb: Chỉ ra rằng dữ liệu được giấu trong các kênh màu đỏ (red), xanh lá cây (green) và xanh dương (blue) của ảnh.
- lsb (Least Significant Bit): Là phương pháp ẩn thông tin trong hình ảnh bằng cách sử dụng bit ít quan trọng nhất của các kênh màu. Thay đổi bit này chỉ gây ra một sự thay đổi nhỏ và không đáng kể đối với màu sắc của hình ảnh. LSB thường được sử dụng để chèn các thông tin ẩn vào hình ảnh.
- xy: Chỉ ra thứ tự duyệt các pixel trong ảnh theo trục x và y.
- .. text: Cho biết loại dữ liệu được giấu trong ảnh là văn bản


---


Nói sơ qua về công dụng của 2 câu lệnh được dùng phía trên:
**Binwalk**
> Công cụ Binwalk có khả năng tự động phân tích các tệp tin và tìm kiếm các đặc điểm đặc biệt như mã lệnh thực thi, chuỗi văn bản, hình ảnh và mã nhúng. Nó cho phép người dùng chạy các câu lệnh để thực hiện việc phân tích và trích xuất thông tin từ các tệp tin.

Các tính năng chính của Binwalk bao gồm:

- Tự động phát hiện kiểu tệp tin và cấu trúc nội bộ của chúng.
- Tìm kiếm và trích xuất các loại tệp tin nhúng như firmware, file hình ảnh, file âm thanh, mã lệnh, v.v.
- Phân tích và hiển thị thông tin chi tiết về các tệp tin nhúng như các tiêu đề, mã lệnh, chuỗi văn bản, địa chỉ, v.v.
- Hỗ trợ kiểm tra chữ ký và mã hóa các tệp tin.

**Zsteg**
> Zsteg là một công cụ phân tích và trích xuất dữ liệu ẩn trong các file hình ảnh. Nó được sử dụng để tìm kiếm thông tin ẩn trong các file ảnh bằng cách phân tích bit của các pixel và các kỹ thuật ẩn thông tin khác.

Công cụ này cung cấp các tính năng phân tích khác nhau để tìm kiếm dữ liệu ẩn, bao gồm:
- Phân tích LSB (Least Significant Bit): Zsteg kiểm tra các bit ít quan trọng nhất của các pixel để tìm kiếm thông tin ẩn. Đây là một kỹ thuật phổ biến để ẩn dữ liệu trong ảnh.
- Phân tích các kênh màu: Zsteg kiểm tra các kênh màu (R, G, B) của ảnh để tìm kiếm thông tin ẩn. Một số phương pháp ẩn thông tin sử dụng kỹ thuật này để chèn dữ liệu.
- Phân tích các kỹ thuật khác: Zsteg cũng hỗ trợ phân tích các kỹ thuật ẩn thông tin khác như phương pháp DCT (Discrete Cosine Transform) trong JPEG, kỹ thuật phụ đề, và nhiều kỹ thuật khác.