[WhiteHat Contest 12] Writeup

whf

Super Moderator
Thành viên BQT
06/07/2013
796
1.303 bài viết
[WhiteHat Contest 12] Writeup
Đây là topic tổng hợp các bài writeup tại cuộc thi WhiteHat Contest 12 vừa qua, anh em cùng tham gia đóng góp chia sẻ nhé. :)

Crypto002 (100 điểm) - đây có thể xem là bài dễ nhất tại WhiteHat Contest 12 lần này, theo thống kê của BTC đây là bài có số lượng đội giải thành công nhiều nhất (58 đội). :">

Đề:

Mã:
http://material.wargame.whitehat.vn/contests/12/Crypto002_d5b2f9562920e074f3475174bc9ad4bf2409de90.zip
http://bakmaterial.wargame.whitehat.vn:8121/contests/12/Crypto002_d5b2f9562920e074f3475174bc9ad4bf2409de90.zip

Đề cho là một file cipher.txt với dạng mã octal:

Mã:
053 053 053 053 053 040 053 053 053 133 055 040 076 053 053 053 053 040 053 053 053 053 074 040 135 076 053 053 053 040 053 053 053 053 053 040 053 053 053 056 053 040 053 053 056 074 053 040 053 053 133 055 076 040 053 053 053 074 135 040 076 053 056 074 053 040 053 053 053 133 055 015 012 076 055 055 055 055 040 074 135 076 055 055 040 056 053 053 053 053 040 053 053 053 056 056 040 053 053 053 053 053 040 053 056 074 053 053 040 053 053 053 133 055 040 076 055 055 055 055 040 055 074 135 076 055 040 055 055 055 055 055 040 055 055 056 074 053 040 053 053 053 133 055 015 012 076 053 053 053 053 040 074 135 076 053 053 040 053 053 053 056 053 040 053 053 053 053 053 040 053 056 055 055 055 040 055 055 055 055 055 040 056 056 053 053 053 040 053 053 053 053 056 040 074 053 053 053 133 040 055 076 053 053 053 040 074 135 076 053 053 040 053 056 055 055 055 015 012 055 055 056 055 055 040 055 055 055 055 056 040 055 056 053 053 053 040 053 056 074 053 053 040 053 053 053 133 055 040 076 055 055 055 055 040 055 074 135 076 055 040 055 055 055 055 056 040 074 053 053 053 053 040 053 053 133 055 076 040 053 053 053 053 053 040 053 074 135 076 056 015 012 074 053 053 053 053 040 133 055 076 055 055 040 055 055 074 135 076 040 056 074 053 053 053 040 133 055 076 053 053 040 053 074 135 076 053 040 053 056 074 053 053 040 053 133 055 076 055 040 055 055 074 135 076 040 055 055 055 055 055 040 056 056 074 053 053 040 053 133 055 076 053 015 012 053 053 074 135 076 040 053 053 056 074 053 040 053 053 053 053 133 040 055 076 055 055 055 040 055 055 074 135 076 040 055 056 074 053 053 040 053 053 133 055 076 040 053 053 053 053 074 040 135 076 053 053 053 040 056 055 056 074 053 040 053 053 053 133 055 040 076 055 055 055 055 015 012 074 135 076 055 055 040 055 056 074 053 053 040 053 053 053 133 055 040 076 053 053 053 053 040 053 074 135 076 053 040 053 053 053 056 055 040 055 055 055 055 055 040 055 056 074 053 053 040 053 133 055 076 053 040 053 053 074 135 076 040 053 053 053 056 074 040 053 053 053 133 055 015 012 076 055 055 055 074 040 135 076 055 055 055 040 056 074 053 053 053 040 053 133 055 076 053 040 053 053 053 074 135 040 076 056 074 053 053 040 053 053 053 053 133 040 055 076 055 055 055 040 055 055 055 074 135 040 076 055 056 074 053 040 053 053 053 133 055 040 076 053 053 053 053 015 012 074 135 076 056 074 040 053 053 053 133 055 040 076 053 053 053 074 040 135 076 053 053 053 040 053 053 056 074 053 040 053 053 053 053 133 040 055 076 055 055 055 040 055 055 074 135 076 040 055 055 055 055 056 040 074 053 053 053 053 040 133 055 076 053 053 040 053 053 074 135 076 015 012 053 053 053 053 053 040 056 053 053 053 056 040 055 055 055 055 055 040 056 074 053 053 053 040 053 133 055 076 055 040 055 055 055 074 135 040 076 055 055 055 055 040 055 056 055 055 056 040 074 053 053 053 053 040 053 053 133 055 076 040 053 053 053 053 053 040 053 074 135 076 053 015 012 053 056 055 055 055 040 055 055 056 053 056 040 074 053 053 053 053 040 053 133 055 076 055 040 055 055 055 055 074 040 135 076 055 055 055 040 055 055 055 055 055 040 055 056 074 053 053 040 053 053 133 055 076 040 053 053 053 053 074 040 135 076 053 053 053 040 053 053 053 053 056 015 012 056 074 053 053 053 040 133 055 076 053 053 040 053 074 135 076 053 040 053 053 053 056 074 040 053 053 053 053 053 040 133 055 076 055 055 040 055 055 055 074 135 040 076 055 055 055 055 040 055 055 055 055 055 040 055 056 074 053 053 040 053 053 053 053 133 040 055 076 053 053 053 015 012 053 053 053 074 135 040 076 056 074 053 053 040 053 053 133 055 076 040 055 055 055 055 074 040 135 076 056 074 053 040 053 053 133 055 076 040 053 053 053 074 135 040 076 053 053 053 056 040 074 053 053 053 053 040 133 055 076 055 055 040 055 055 074 135 076 040 056 055 056 053 053 015 012 053 053 053 056 055 040 055 055 055 055 056 040 074 053 053 053 053 040 133 055 076 053 053 040 053 053 074 135 076 040 056 053 053 053 053 040 056 074 053 053 053 040 133 055 076 055 055 040 055 074 135 076 055 040 055 055 055 056 053 040 053 053 053 053 053 040 053 053 056 055 055 015 012 055 055 055 055 055 040 056 074 053 053 053 040 133 055 076 053 053 040 053 074 135 076 053 040 053 053 056 055 055 040 055 055 055 055 055 040 055 055 056 055 055 040 055 056 074 053 053 040 053 133 055 076 053 040 053 053 074 135 076 040 053 053 053 053 053 040 056 074 053 053 053 015 012 053 133 055 076 055 040 055 055 055 074 135 040 076 055 055 055 056 040 074 053 053 053 053 040 133 055 076 055 055 040 055 055 074 135 076 040 055 055 055 056 074 040 053 053 053 053 053 040 133 055 076 053 053 040 053 053 053 074 135 040 076 053 053 056 074 040 053 053 053 053 053 015 012 133 055 076 055 055 040 055 055 055 074 135 040 076 055 055 056 074 040 053 053 053 053 053 040 133 055 076 053 053 040 053 053 053 074 135 040 076 053 053 053 056 040 053 053 056 055 055 040 055 055 055 055 056 040 053 053 056 055 055 040 055 055 056 053 053 040 053 053 053 053 053 015 012 053 053 056 053 053 040 053 053 053 053 053 040 053 056 074 053 053 040 053 053 053 053 133 040 055 076 055 055 055 040 055 055 055 074 135 040 076 055 055 055 056 040 074 053 053 053 053 040 053 133 055 076 053 040 053 053 053 053 074 040 135 076 053 053 053 040 053 053 053 053 053 015 012 053 053 056 055 055 040 055 055 055 055 055 040 056 053 053 053 053 040 056 074 053 053 053 040 053 053 133 055 076 040 055 055 055 055 055 040 074 135 076 055 055 040 055 055 055 055 056 040 074 053 053 053 053 040 133 055 076 053 053 040 053 053 074 135 076 040 053 053 056 074 053 015 012 053 053 053 133 055 040 076 055 055 055 055 040 074 135 076 055 055 040 055 056 053 056 074 040 053 053 053 053 133 040 055 076 053 053 053 040 053 074 135 076 053 040 053 053 053 053 053 040 053 056 074 053 053 040 053 053 133 055 076 040 053 053 053 053 074 040 135 076 056 074 053 015 012 053 053 133 055 076 040 055 055 055 074 135 040 076 055 055 056 053 040 053 053 053 053 053 040 053 056 074 053 053 040 053 133 055 076 055 040 055 055 074 135 076 040 055 055 055 055 055 040 056 055 056 074 053 040 053 053 053 133 055 040 076 055 055 055 055 040 074 135 076 055 055 015 012 055 056 074 053 053 040 053 053 053 133 055 040 076 053 053 053 053 040 053 074 135 076 053 040 053 053 053 053 053 040 056 055 055 055 055 040 055 055 055 056 074 040 053 053 053 133 055 040 076 053 053 053 074 040 135 076 053 053 053 040 056 074 053 053 053 040 133 055 076 055 055 015 012 055 074 135 076 055 040 055 055 055 055 056 040 074 053 053 053 053 040 133 055 076 055 055 040 055 055 074 135 076 040 055 055 055 055 055 040 056 074 053 053 053 040 053 133 055 076 053 040 053 053 053 074 135 040 076 053 053 053 053 040 053 053 056 055 055 040 055 055 055 055 056 015 012 055 055 056 074 053 040 053 053 133 055 076 040 053 053 053 074 135 040 076 053 053 056 074 040 053 053 053 133 055 040 076 055 055 055 074 040 135 076 055 055 056 040 074 053 053 053 133 040 055 076 053 053 053 040 074 135 076 053 053 040 056 055 055 056 074 040 053 053 053 133 055 015 012 076 055 055 055 074 040 135 076 055 055 056 040 074 053 053 053 053 040 133 055 076 053 053 040 053 053 074 135 076 040 053 053 053 053 053 040 053 053 053 056 074 040 053 053 053 053 133 040 055 076 055 055 055 040 055 074 135 076 055 040 055 055 055 055 056 040 074 053 053 053 053 015 012 133 055 076 055 055 040 055 055 074 135 076 040 055 055 056 074 053 040 053 053 133 055 076 040 053 053 053 074 135 040 076 053 053 056 056 040 056 074

Chuyển từ mã Octal sang ASCII ta được:

Mã:
+++++ +++[- >++++ ++++< ]>+++ +++++ +++.+ ++. ++++.---- -- .++++ +++.. +++++ +.---- -- ----- --.++++ ++ +++.+ +++++ +.--- ----- ..+++ ++++. +++ ++ +.--- --.-- ----. -.+++ +.---- -- ----.  +++++ +. -- -- .++ ++ +.- -- ----- ..+ ++ ++.--- -- -. ++++< ]>+++ .-.---- -- -.++++ ++ +++.- ----- -.+ ++ +++.< +++[- >---< ]>--- .+ +++.--- ----.++++ .< +++[- >+++< ]>+++ ++.--- -- ----. ++ ++ +++++ .+++. ----- .- ------- -.--.  +++++ ++ +.--- --.+. - ----< ]>--- ----- -. ++++< ]>+++ ++++. .++ ++ +++.< +++++ [->-- ------- ----- -.+++ +++. ----< ]>. ++++++. -- -- .-.++ +++.- ----. ++ ++ .++++ .-- -- ---.+ +++++ ++.-- ----- .++ ++ ++.-- ----- --.-- -.+ ++ +++++ .- ------. -- -- ---.< +++++ [->++ +++++.< +++++ [->-- -----.< +++++ [->++ ++++++. ++.-- ----. ++.-- --.++ +++++ ++.++ +++++ +.--- ------. + ++++< ]>+++ +++++ ++.-- ----- .++++ . ----- -- ----. ++ ++ ++.---- -- -.+.< ++++[ ->+++ ++ +++++ +. ++++< ]>. -----.+ +++++ +.- -- ----- .-.---- -- -.++++ ++ +++++ .---- ---.< +++[- >+++< ]>+++ .-- -- ----. -- -- ----- .+ +++++++ ++.-- ----. --. +++++.< +++[- >---< ]>--. +++ ++ .--.< +++[- >---< ]>--. ++ ++ +++++ +++.< ++++[ ->--- -- ----. -- -- --. +++++.. .<

Đó là một đoạn mã chương trình viết bằng ngôn ngữ lập trình Brainfuck (tìm hiểu thêm tại https://vi.wikipedia.org/wiki/Brainfuck).

Vào trang https://www.splitbrain.org/_static/ook/ và abc...xyz ta được chuỗi base32:

Mã:
KNXFMMS2GNFFMYTNMQ3WGRDDO5HG4QJVJZ5ES6KNI42XST2IIV3WGSCBGBRVIQJVMJXE2M2NPJLHQY2UNR3E23JZOVHG4SLXJ5KECNCNLAYD2===

Decode chuỗi base32 trên ta được một chuỗi base64:
Mã:
SnV2Z3JVbmd7cDcwNnA5NzIyMG5yOHEwcHA0cTA5bnM3MzVxcTlvMm9uNnIwOTA4MX0=

Decode chuỗi base64 trên ta được:
Mã:
JuvgrUng{p706p97220nr8q0pp4q09ns735qq9o2on6r09081}

Cuối cùng text > ROT13 ta được flag:

Mã:
WhiteHat{c706c97220ae8d0cc4d09af735dd9b2ba6e09081}
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Có một bài không đội nào giải được [-X
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
sunny;n59581 đã viết:
Có một bài không đội nào giải được [-X

Em biết có 1 đội giải được bài đó nhé. :-"
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
whf;n59595 đã viết:
Em biết có 1 đội giải được bài đó nhé. :-"

Đừng nói là ban tổ chức chứ
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
whf;n59607 đã viết:
Chỉ được cái đoán đúng >:)

Bạn sai rồi,

Chắc gì BTC giải được. Nếu chắc giải được thì chỉ có người ra đề thôi (chúng ta đang nói về có một bài không đội nào giải được ở cuộc thi CTF Whithat Contest 12 vừa rồi).

BTC chỉ làm nhiệm vụ đưa đề thi vào hệ thống thi thôi. Với những cuộc thi CTF lớn như thế này thì BTC phải "đặt hàng" đề từ nhiều nguồn khác nhau bạn ạ. BTC chỉ chắc giải được các bài mà người của BTC ra thôi.

Cũng có trường hợp đề bị lỗi nên không đội nào giải được.

Vậy để chứng tỏ rằng việc ra đề là OK thì BTC hoặc Tác giả đề phải sớm post Writeup (của bài không đội nào giaỉ được) ra cho mọi người xem.

Bây giờ chỉ còn chờ câu trả lời củ BTC thôi các bạn nhé.
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
không có đội nào có hứng thú viết writeup à thế này ban tổ chức phải tự viết rồi =))
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Đúng là Contest 12 có sự tham gia ra đề của các trường Đại học trọng điểm về đào tạo CNTT tại Việt Nam, đây là một điểm mới nhằm xây dựng cộng đồng An ninh mạng Việt Nam của WhiteHat.

Về bài For300 không đội nào giải được hay tất cả các bài thi nói chung, sau khi tiếp nhận đề BTC đều có quy trình phản biện (giao cho các nhóm độc lập, đảm bảo không đánh đố ...) sau đó sẽ chọn đề chính thức từ kho đề của BTC. (Contest 12 có 22 bài thi, bài For300 là của Bkav ra đề).

Các bài Writeup, sau khi để các đội thi và thành viên đóng góp, bài nào còn thiếu BTC sẽ bổ sung để các bạn thành viên tham khảo, trao đổi thảo luận, điều này đã có trong checklist tổ chức, bạn eddydn hoàn toàn yên tâm nhé!!
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Của bạn đây [-X[-X[-X
Capture.PNG

 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
[h=4]Misc002 (300 điểm) - 12 đội đã giải thành công bài này.[/h] Đề:
Mã:
Decrypt this messager:

http://material.wargame.whitehat.vn/contests/12/Misc002_6a7c920a8e07237050411971d035beb7e1447ddd.rar

http://bakmaterial.wargame.whitehat.vn:8121/contests/12/Misc002_6a7c920a8e07237050411971d035beb7e1447ddd.rar

Flag = WhiteHat{SHA1(key)}

Đề bài cho ta file key.gif và thư mục cipher_text có 13 file .png đánh số từ 1-13.

Để giải bài này chúng ta có một số cách như sau:

Cách 1: Dựa vào file key.gif chúng ta sẽ tìm ra nguyên lí hoạt động của từng thiết bị rồi sau đó áp dụng cho các từng trường hợp trong 13 file .png :-"

Cách 2: Truy cập vào http://www.hoodamath.com/games/electricbox2.html sau đó chọn level creator và dựng lại các trường hợp trong 13 file .png đã cho và xem kết quả. :p
2016-10-01_110738.png

2016-10-01_110809.png


Cách 3: xin vào một đội nào đấy rồi xin flag. :">
...

Ví dụ với file 1.PNG sau khi áp dụng nguyên lí hoạt động các thiết bị ở file key.gif chúng có được kết quả như hình sau:

2016-10-01_103259.png

Ảnh minh họa khi vào http://www.hoodamath.com/games/electricbox2.html dựng lại cho dễ nhìn.​

Với trạng thái bóng đèn sáng = 1, đèn tắt = 0, và dựa vào vị trí các bóng đèn ta được dãy: 1010100

Vào trang http://www.neurophys.wisc.edu/comp/docs/ascii/#table để tra cứu ta được 1010100T

Áp dụng tương tự với 12 trường hợp còn lại.

Tương ứng với 13 trường hợp chúng ta giải ra là "Th0mas_3dison"

Flag:
Mã:
WhiteHat{a140702fa7d6c30f97e026bccc51c4787522f611}
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Pwn001

Exploit:
Mã:
from socket import *
from struct import *

p = lambda x : pack("
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
[For001]
Trong file Find_something.zip có một số ảnh, file pdf và một file desktop.ini ẩn (thực ra là một file zip nhưng nó đã bị mã hoá ~:>)
14899399511.png


Xem tiếp file pdf và so sánh với một số file khác trên mạng thấy dấu "Digital Signature" khá là lạ :-". Dùng Wondershare PDFelement để tách các object trong file sẽ thấy một cái password
14899399512.png



Giải nén file với pasword này được một đống ảnh "có vẻ" không liên quan.
14899399513.png



Tuy nhiên các file này đều có đoạn hex đầu tiên khá giống nhau, và chịu khó kéo xuống 1 chút, ta sẽ thấy:
14899399513.png


Đây là đoạn mở đầu của một file ảnh khác, thử xoá đoạn hex dư thừa ở đầu các file ảnh này chúng ta sẽ được
14899399513.png


Flag: Whitehat{SHA1(FLAG-IS-SEE-ME-IN-HERE)} @};-1.png

2.png

3.png

3.png

3.png
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
[Re002]
Đưa file vào IDA chúng ta thấy chương trình sẽ kiểm tra độ dài của xâu đầu vào (45 ký tự) và khi nhập 45 ký tự bất kỳ chương trình sẽ sinh ra 1 số file trong thư mục "TEMP"
14899399511.png

14899399512.png



Sau khi tạo các file. Chương rình load resource từ zlib123.dll và sử dụng hàm compress cho đoạn text nhập vào
14899399512.png


Đoạn mã sau đó được đưa vào WhiteHat2.exe. Phân tích tĩnh WhiteHat2.exe
14899399512.png


Chương trình dùng AES để mã hóa đoạn text truyền vào. Đoạn text đầu vào được chia làm 3 mảng và đưa vào mã hóa AES với cùng 1 key. Sau đó được so sánh với 1 mảng khác. Nếu đúng thì ghi ra file result.txt là True
14899399512.png


Sau khi uncompress ta được chuỗi đầu vào "a6f3(5fao27ksarh5*gf52f32f45@g89ks03gj^wsfew2"
Flag = WhietHat{SHA1(a6f3(5fao27ksarh5*gf52f32f45@g89ks03gj^wsfew2)}=D>

1.png

2.png

2.png

2.png

2.png
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Bên trên