Writeup - RSA return (ROCA: Tấn công khôi phục các khóa RSA)

tmnt53

VIP Members
25/04/2015
98
132 bài viết
Writeup - RSA return (ROCA: Tấn công khôi phục các khóa RSA)
Năm nay 2018, EasyCTF IV có một bài Crypto hay, áp dụng lỗ hổng ROCA mới được phát hiện trên hệ mã hóa RSA. Đã có bài viết chi tiết về lỗ hổng ROCA trên Whitehat: https://whitehat.vn/threads/lo-hong...oa-rsa-ca-nhan-tren-hang-trieu-thiet-bi.9680/
Tool neca được sử dụng có thể phá mã RSA 512bit trong khoảng nửa tiếng.

Đề bài:
===========================================================================
n = 9637828843823500407917687664441327784714605952794831018467094508166140790258515855681653788687192363262499178812675284846293988948568322307302995971433129
e = 65537
c = 744372384092422293657230440929981477879274068697788092531354927993093987582083018137886004402518974542009040817374858469786477527000745005045012289929736
===========================================================================

Cách làm:
Để giải bài này, ta phải phân tích n ra p và q. Tuy nhiên đây là số 512 bit, vượt tầm các tool phổ biến như yafu (phân tích được n với kích thước 256 bit thôi).
Khi liên hệ đến lỗ hổng ROCA mới đây, ta sử dụng công cụ roca-detect để xác định xem n có bị nguy cơ trước lỗ hổng này không.
Tool: https://github.com/crocs-muni/roca
Để kiểm tra được, ta phải tạo ra file PEM public key tạo từ n và e.
Sử dụng script sau để tạo file PEM rsareturn.pub:
upload_2018-2-28_17-8-27.png

Detect:
upload_2018-2-28_16-36-59.png

=> Có khả năng có lỗ hổng Roca
Sử dụng tool neca (https://gitlab.com/jix/neca) để thực hiện decrypt:
upload_2018-2-28_16-40-10.png


Sau hơn nửa tiếng, ta đã có được p và q:
p = 121588253559534573498320028934517990374721243335397811413129137253981502266611
q = 79266117915777331935558561759105375936182700866258172021902853781249206532339
=> Ta sử dụng script sau để giải mã cipher text:
upload_2018-2-28_17-9-56.png

upload_2018-2-28_16-56-21.png


Flag: easyctf{4b8xofjwvy4rqkbuba}

Link tham khảo:
+ Writeup gốc: https://ctftime.org/writeup/8805
+ Cấu trúc file PEM public key: https://www.ietf.org/rfc/rfc2313.txt
+ Tạo file PEM từ public key: https://crypto.stackexchange.com/questions/25498/how-to-create-a-pem-file-for-storing-an-rsa-key
+ Giải mã RSA từ p, q, e: https://crypto.stackexchange.com/questions/19444/rsa-given-q-p-and-e
 
Chỉnh sửa lần cuối:
sao em thử lại theo mẫu mà đến phần
"
import binascii
print("data: "+binascii.unhexlify(hex(pt)))
..."
là bị báo lỗi không in đc data ra nhỉ??? em là newbie nên còn gà mờ mong mn 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
sao em thử lại theo mẫu mà đến phần
"
import binascii
print("data: "+binascii.unhexlify(hex(pt)))
..."
là bị báo lỗi không in đc data ra nhỉ??? em là newbie nên còn gà mờ mong mn chỉ ạ
Bác nên làm bài mic 2019 của whitehat ctf nhé! Nó cũng có lổ hỗng này bày này đã lâu r nên có thể thiếu tool
 
Comment
Bác nên làm bài mic 2019 của whitehat ctf nhé! Nó cũng có lổ hỗng này bày này đã lâu r nên có thể thiếu tool
Bác cho em xin link luôn được không ạ??? Em tìm rồi nhưng không có thấy ._.
 
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
  • Thích
Reactions: newbie29
Comment
dạ em mới tìm hiểu về CTF vì đc thầy giao thuyết trình về CTF CRYPTO em có chúc vấn đề khi chạy file. cho em hỏi bị như nào vậy ạ.
em mới tinh luôn ạ !
 
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
dạ em mới tìm hiểu về CTF vì đc thầy giao thuyết trình về CTF CRYPTO em có chúc vấn đề khi chạy file. cho em hỏi bị như nào vậy ạ.
em mới tinh luôn ạ !
Bạn xem lại thử code của bạn dòng 16 xem.
 
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
Thẻ
crypto lỗ hổng roca rsa writeup
Bên trên