Nộp bài tập buổi 1 - Trần Đình Quang Trường - K66ANM1 --- <h1 style=text-align:center>Cut of (Very easy)</h1>* * Lời giải : Flag : TAS{1_want_to_C_fu1l_p3p3} Đầu tiên sau khi giải nén file cut off.zip em được 1 folder là cutoff , ở trong chứa 2 tệp gồm 1 tệp png tên cutoff và 1 tệp txt tên Description. Mở file Description em nhận được 1 dòng "Baby resize image! Can you?" cùng với tệp png thì em hiểu mục đích của bài tập này chính là resize lại tệp png ![image](https://hackmd.io/_uploads/B1zjOfTx1g.png) Sử dụng ubuntu cd vào thư mục cut off , sử dụng lệnh cutoff.png em được 1 bảng ![image](https://hackmd.io/_uploads/S1Y2sGpxye.png) Dựa vào slide anh bảo gửi cùng với thông tin trên web https://coda.io/@kzb/forensics-training em hiểu được 8 byte đầu 89 50 4E 47 0D 0A 1A 0A là PNG Signature , 8 byte sau 00 00 00 0D 49 48 44 52 là IHDR và sau nó 8 byte chính là IHDR data ở đây chứa độ dài rộng ... của file ![image](https://hackmd.io/_uploads/rJdcMmaxJx.png) Vậy 4 byte đầu là chiều dài và 4 byte sau là chiều rộng --> thứ cần tìm chính là 4 byte 00 00 01 F4 ( ở dòng 2 hình trên kia ) Sửa đổi 1 chút thông tin từ 00 00 01 F4 thành 00 00 03 F4 và save ![image](https://hackmd.io/_uploads/B1IYXQTgyx.png) ta ktra lại cut off.png ![image](https://hackmd.io/_uploads/SJpCmXplJe.png) Vậy ta đã resize thàng công bức ảnh vào có được flag TAS{1_want_to_C_fu1l_p3p3} * Nguồn tham khảo * https://medium.com/@0xwan/png-structure-for-beginner-8363ce2a9f73 * https://coda.io/@kzb/forensics-training * https://docs.google.com/presentation/d/1SIaquYLxcog55BcAyn7SAAwGRSUHVAlQ6jDLqDpCie4/edit --- <h1 style=text-align:center>Simple hidden (Very easy)</h1> * Lời giải : Flag : TAS{Chu_nhiem_Dat_c0_tuyet_voi_khong!!???} Như bài trên , em giải nén tệp Simplehidden.zip em được 2 file 1 là file Relax không có đuôi , không biết là tệp gì và 1 tệp Description.txt . Mở tệp Description.txt ra thì em được dòng "Oh c'mon! It's simple hidden." không cóa hint bùn thía . Không nản chí, em sử dụng ubuntu vào thư mục Simple hidden, dùng lệnh file để xem thử định dạng """ file relax """ và ta thu được kết quả ![image](https://hackmd.io/_uploads/Sy5eeETlkg.png) Vậy relax là 1 file audio , em nghĩ rằng đây là 1 thử thách stegnography và giải theo hướng audio thì thu đc file Relax.wav nghe thủng cả màng nhĩ . Có thêm hint từ anh Bảo " stegseek - rockyou " và đây không phải thử thách về âm thanh -> liên quan hình ảnh ,bên cạnh đó rockyou.txt là 1 worldlist mật khẩu . Dựa theo hint em sử dụng câu lệnh stegseek Relax rockyou.txt![image](https://hackmd.io/_uploads/ryAld10lyg.png) và thu được 1 thông tin là `ilovetas`, me tooooo! bên cạnh đó thu đc thêm 1 file là DDD.jpg được lưu vào Relax.out . Đổi tên file Relax.out thành DDD.jpg cho dễ hiểu em thu được file ảnh ![DDD](https://hackmd.io/_uploads/S1kd_10lkg.jpg) Đệ Nhị Giáo Chủ TAS : anh Đậu Đức Đạt kèm theo đó là dòng chữ fakeflag . Hmmm đến đây em bắt đầu không biết làm gì thêm nên quyết định dùng stegseek thêm lần nữa ![image](https://hackmd.io/_uploads/r11aO1Rxkx.png) taddaa đã tìm được flag.txt như trên đổi tên file DDD.jpg.out thành flag.txt và thu được ![image](https://hackmd.io/_uploads/SJB-F1Clkl.png) Câu trả lời là chủ nhiệm Đạt quá tuyệt vời lun! --- <h1 style=text-align:center>Simple XOR and Base64 (Easy) </h1> * Lời giải : Flag : TAS{simple_XOR_w1th_bas364} Giải nén tệp zip simple XoR and Base64 , em được 1 thư mục trong đó chứa 2 tệp tin , 1 là description như 2 thử thách trên và 1 tệp ảnh doge.png![image](https://hackmd.io/_uploads/S1Bsg7Clyl.png) ![doge](https://hackmd.io/_uploads/Hktiem0g1l.png) Ta có đc 1 chuỗi ký tự `]NM_n8E{iSIxQ]2R_:AmoqM;jM2bRSFqEaY2` Và 1 dòng `my name is kzb` không biết có ẩn dụ gì không Vậy mục đích của ta sẽ là decode dòng mã có trên ảnh và phương thức sẽ là XOR và Base64, với đoạn mã thế này nó không giống như 1 mã bị encode bởi Base64 vì có các ký tự đặc biệt như ] ,{ vậy nên đây là 1 mã bị encode bởi XOR. Dựa theo thông tin tìm hiểu được và học được từ slide thì để cho có thể mã hóa bằng phương pháp XOR thì buộc phải có 1 key . Hmmmmm thử lên cyberchef decode `]NM_n8E{iSIxQ]2R_:AmoqM;jM2bRSFqEaY2` bằng xor với key kzb xem sao![image](https://hackmd.io/_uploads/H1dRswAeyx.png) Có vẻ khá hợp lý khi nó khá giống với mã Base64, ta tiếp tục decode thêm lần nữa nma lần này là giải mã Base64![image](https://hackmd.io/_uploads/Hk_F3DCgyg.png) Vậy là dự đoán của em đã đúng và thu về được flag TAS{simple_XOR_w1th_bas364} --- <h1 style=text-align:center>Reversing but not reversing (Easy) </h1> * Lời giải : Flag : TAS{s1mple_byt3s_rev3rsing} Giải nén tệp Reversing but not reversing.zip em có được 1 thư mục chưa 2 tệp gồm 1 tệp Description và 1 tệp pepe.pn![image](https://hackmd.io/_uploads/rJ7F6wCx1g.png) ![image](https://hackmd.io/_uploads/HydIEu0xke.png) Dựa vào thông tin Description và thông báo của ảnh thì mục dích của bài chính là về PNG signature . Mở tool Bless và chọn file pepesad.png ta được thông tin ![image](https://hackmd.io/_uploads/rJUXyKClJx.png)![image](https://hackmd.io/_uploads/S1dsgt0xyx.png) Cả 8 byte PNG sinature lẫn IHDR đều đã sai , cả IEND cũng đã sai , chúng ta sẽ cần sửa lại 1 chút 8byte FNG Signature : `47 4E 50 89 0A 1A 0A 0D --> 89 50 4E 47 0D 0A 1A 0A` 8byte IHDR : `0D 00 00 00 52 44 48 49 --> 00 00 00 0D 49 48 44 52` 8byte IEND : `44 4E 45 44 82 60 42 82 --> 49 45 4E 44 AE 4x 60 82` Sau đó ta quay trở lại kiểm tra tệp pepesad.png và ta có được ![pepe_sad](https://hackmd.io/_uploads/rJPVOKCe1g.png) Vậy là ta có được ảnh 1 con pepe so sad và Flag : TAS{s1mple_byt3s_rev3rsing} --- <h1 style=text-align:center>JPG2BIN (Very easy)</h1> * Lời giải : Flag :TAS{b1n4ry_t00_3asy_m4n!!!?} Giải nén file jpg2bin.zip em có được 2 tệp Description và jpg2bin đều là tệp txt ![image](https://hackmd.io/_uploads/r13jtF0eJx.png)![image](https://hackmd.io/_uploads/HJ1TY90g1e.png) ở tệp jpg2bin.txt bao gồm vô số các mã nhị phân và theo Description thì công việc của ta có thể là chuyển file nhị phân này về dạng jpg Đưa toàn bộ mã nhị phân lên cyberchef để mã hóa , sau đó ta lưu về dưới dạng jpg!![image](https://hackmd.io/_uploads/rk71qq0xyx.png) và ta được ảnh jpg2bin.jpg ![jpg2bin](https://hackmd.io/_uploads/S1b7cqAxyx.jpg) Ta có được thông tin CJB{k1w4ah_c00_3jbh_v4w!!!?} Như ta biết Flag sẽ có dạng TAS{......} nên chuỗi ký tự trên có thể là flag đã được mã hóa . Đem CJB lên cyberchef thử với giải mã bằng ROT ( là biến thể của mã Ceasar phương thức mã hóa bằng cách dịch chuyển các ký tự bằng chữ cái 1 số vị trí nhất định). Với ROT17 ta đã chuyển đc CJB thành TAS vậy dự đoán của em đã đúng ![image](https://hackmd.io/_uploads/H1tfh5Aeyl.png) Tiếp tục với phần còn lại ![image](https://hackmd.io/_uploads/HkLS35Axkl.png) Và ta đã thu được flag TAS{b1n4ry_t00_3asy_m4n!!!?} --- <h1 style=text-align:center>Do you hear me ? (Very easy)</h1> * Lời giải : Flag : TAS{D0_y0u_h3ar_M3_kzbS$} Giải nén tệp do you hear me.zip em có được 2 tệp tin 1 là tệp challenge.wav và 1 tệp Description![image](https://hackmd.io/_uploads/BkugpcCl1e.png) Với hint là dùng audacity ta sẽ lên audacity để xem phân tích tệp âm thanh ta có gì . Đưa tệp tên và chỉnh sang dạng spectrogram ta có được ![image](https://hackmd.io/_uploads/r1qRboRe1g.png) Vậy ta đã có được Flag TAS{D0_y0u_h3ar_M3_kzbS$} --- <h1 style=text-align:center>Options : Combine (medium)</h1> * Lời giải : Flag : Sau khi giải nén file combine.zip ra em được 2 tệp 1 tệp Description và 1 tệp TAS_{thisisfakeflag}.png nhưng không mở được khả năng cao đã bị hỏng và cần phải sửa . Ở tệp Description.txt em có được![image](https://hackmd.io/_uploads/BkvoXjAlkx.png) Vậy đã rõ ta cần sửa File signature để có thể xem được tệp png rồi sau đó dùng stegseek để crack password Đưa file lên web https://www.nayuki.io/page/png-file-chunk-inspectorđể ktra xem bị lỗi những gì ![image](https://hackmd.io/_uploads/BJDf9iClJl.png) vậy nó đang sai phần PNG Signature dẫn tới kh nhận diện đc file Đưa file png lên HxD![image](https://hackmd.io/_uploads/rJWg4iCg1g.png) ở đây ta thấy file thiếu cả IHDR nhưng ta sẽ sửa 8 byte đầu trước sửa lại 89 50 50 4B 4E 03 47 04 --->89 50 4E 47 0D 0A 1A 0A ![image](https://hackmd.io/_uploads/Bk9tcoAxkg.png) tiếp tục check lỗi ở web vì ch xem ảnh được ![image](https://hackmd.io/_uploads/SJpkoo0lkx.png) Vậy chúng ta sẽ sửa IHDR , IDAT và IEND![image](https://hackmd.io/_uploads/HkiXoiCg1l.png) check lần nữa xem có cần sửa 4 byte trước IHDR không![image](https://hackmd.io/_uploads/H1ntoiClkl.png) vậy bây h chỉ cần thêm IDAT và IEND thôi , tiếp tục vào HxD để sửa![image](https://hackmd.io/_uploads/r18iTjRgJe.png) em compare giữa 2 file ảnh png để tìm vị trí do không biết đúng chưa nên tiếp tục đưa lên web check https://www.nayuki.io/page/png-file-chunk-inspector#google_vignette https://medium.com/@0xwan/png-structure-for-beginner-8363ce2a9f73