Đã lâu lắm rồi rồi mình chả viết blog/writeup cái gì. Một phần có làm thì cũng chỉ là sharing nội bộ trong công ty, tổ chức vì viết linh ta linh tinh trên internet sợ bị ăn chửi quá. Nhưng mà dở một cái là mình lại động viên members trong team là cứ viết blog đi, coi như take note rồi sau này có đi phỏng vấn chỗ khác thì còn có cái xạo quần :D Cơ mà đâu ai ngờ, mấy con gà do mình đào tạo lên nó giãy đành đạch bật lại “Anh có viết cái beep gì đâu mà tụi em viết”. Chợt nhận ra rằng, mình phải làm gương cho tụi nó! Chưa biết viết gì méo biết nhưng cứ viết trước đã, rồi chắc blog sẽ cải thiện dần dần.
Như tiêu đề, bài mở đầu sẽ là bài lùa gà, hướng dẫn và chỉ ra những yếu tố cần thiết để bác bạn beginner có thể tiếp cận với chiếc role “Re-searcher” trong lĩnh vực Security này, bởi đây cũng là một trong những công việc mình yêu thích và có kinh nghiệm guide các bạn trong team mình trước đây.
I. Vậy làm Security Re-Searcher là gì?
RE-Searcher là một người tìm kiếm đi tìm kiếm lại PoC (mã khai thác) trên internet đó các bạn. :>
Thực ra đó chỉ là một kiểu chơi chữ cà khịa mà mọi người hay thấy trên tweeter khi ai đó public mã khai thác, blog của những lỗ hổng mới để họ đi cào bug bounty mà thôi.
Còn theo mình, Security Researcher thì cũng là một Security Engnieer bình thường và họ có kỹ năng, kiến thức và định hướng đầu tư thời gian trong việc nghiên cứu chuyên sâu nhiều hơn. Còn nghiên cứu về gì? Có thể là về tìm kiếm lỗ hổng bảo mật, kỹ thuật tấn công trên các ứng dụng, framework, protocol nâng cao hơn… .rất rất nhiều thứ trong lĩnh vực bảo mật này.Thường thì mình hay đánh đồng là mấy anh em hay đi tìm 0day, 1day, nday… là Security Researcher nhưng thực sự chính xác, cụ thể hơn thì họ đang là một Vulnerability Security Researcher.
( Trong series này mình sẽ nói về Vulnerability Security Research nên nếu chỗ nào mình nói làm research, hay security researcher mà không nhắc đầy đủ thì các bạn tự hiểu nhé vì nó dài quá)
II. Những yếu tố giúp bạn trở thành Security Researcher?
Trước tiên là bạn phải làm trong lĩnh vực ATTT đã, rồi sau đó chúng ta sẽ bàn về các yếu tố sau:
Yếu tố chủ quan:
Yếu tố khách quan:
III. Lợi ích của làm Research?
Khó khăn là vậy, nhưng làm research cũng giống với các mảng khác, nó sẽ mang lại cho bạn những thứ như:
IV. Lộ trình để trở thành Security Researcher.
Thực tế thì các bọn có thể coi đây là 1 option để đi theo nếu chưa xác định được mình nên bắt đầu như thế nào, bởi giáo án này đã được apply cho team mình và cũng có một vài output nhất định.
(Ở mục này, mình nghĩ viết dưới dạng một checklist không giải thích dài dòng có lẽ sẽ tiếp cận với mọi người tốt hơn, nên mình đã làm vậy_)
Code ứng dụng lỗi -> tự khai thác!Ví dụ, bạn muốn khai thác lỗ hổng bảo mật các nền tảng đang được viết bằng Java, thì hãy học code nó, code một cái project gì đó nhỏ thôi cũng được, như là một cái website bán hàng, hay booking khách sạn…blablaVà khi code, hãy tự tạo ra vulnerability trong đó, frontend thì code sao cho ra XSS, backend thì code các tính năng tồn tại các lỗ hổng server side như ssrf, command ịnection, java deserialzation…Sau khi hoàn thành, hãy tự khai thác nó.Dành 1 2 tháng để làm chuyện này! Nghe có vẻ nhàm chán nhưng tin mình đi, nó thực sự thực sự mang lại value rất nhiều cho bạn trong quá trình sau này đó.
2. Dựng lại n-day
→ Dựa vào blog/wu đã có để phân tích.→ Tuy nhiên hãy “Đặt câu hỏi tại sao” tác giả nó tìm được bug ở đây, suy nghĩ như mindset đang tìm bug.→ Sau khi phân tích xong, mỗi CVE nó sẽ ra 1 cái “pattern” function lỗi hay hên nữa thì “var” vào vulnerability function gần đó.→ Có thể search lại trong code của product đó -> ra được cái 0day khác tương tự .
3. Dựng lại 1 day ( lỗ hổng chưa có PoC)
→ Phân tích description, phân tích bản patch ( diff patch)→ Tìm hiểu sản phẩm đó, sử dụng để biết các tính năng. → Dựa vào bản patch để có thể suy đoán hoặc trace code để tìm ra tính năng bị lỗi.→ Đủ khả năng thì viết exploit. Không đủ -> hóng writeup để cải thiện thêm.
+ Sau khi có payload -> đi cào+ Hoặc tương tự nday -> search pattern kiếm 0day trên production đó.
4. Kiếm 0day
Tổng hợp từ bước thứ 2 và 3:
→ Reproduce 1day, nday kiếm parttern hoặc vô tình “var” phải điểm G bị lỗi khác.→ Sử dụng tool để tìm ra điểm bị lỗi ( sink).→ Hoặc kết hợp cả blackbox và source code review để kiếm bug.
+ Sau khi có exploit-> đi cào.
Đây cũng chỉ là góc nhìn cũng như kinh nghiệm cá nhân của mình, nếu bạn thấy nó có thể giúp được bạn phần nào thì xin 1 cái clap để động lực mình viết tiếp những bài khác nhé. Chắc những bài sau mình sẽ viết về TipAndTrick trong quá trình reproduce các lỗ hổng thôi. Cheers.
======================Update: Phân tích n-day: https://sonnguy3n.medium.com/series-re-search-reproduce-n-day-with-cve-2019-0227-expired-domain-to-remote-code-execution-in-41ef512992c3
Phân tích 1-day:https://medium.com/@sonnguy3n/series-re-search-reproduce-1-day-with-only-static-source-code-review-3350de7656a9
Link nội dung: https://superkids.edu.vn/giay-danh-dach-la-gi-a12996.html