Bạn hỏi: Khác biệt giữa sách Sec+ VN & nước ngoài? Có nên đọc sách “cao siêu”? Lập trình cho pentesters và nguồn học?

Chào mừng bạn đã đến với bài viết tiếp theo trong chuyên mục Hỏi Đáp Tự Học Cybersecurity hôm nay. Trong bài hôm nay chúng ta sẽ giải đáp 2 thắc mắc sau đây.


Câu hỏi 1: Sách Sec+ VN và nước ngoài có gì khác nhau? Có nên đọc sách “cao siêu”? Có nên đầu tư thời gian học các khóa học của người VN?

Bạn nickname Tên thật có câu hỏi như sau:

Cho em hỏi về sách security + ạ:

1 )Các cuốn sách S+ của Việt Nam và nước ngoài có khác nhau lớn gì không ạ .

2 ) Em đọc sách Security là để phục vụ cho việc học pentest cho nên có cần phải đọc những cuốn sách “cao siêu” về security không ạ ?

3 ) Nếu sợ đọc những cuốn sách nước ngoài mà không hiểu thì đọc sách của VN xuất bản thì có đáp ứng được kiến thức học pentest không ạ ? Em có thấy vài giáo trình với lại khóa học của người VN làm về Security thì có nên đầu tư thời gian vào cái đó không ạ ?

Trả lời:

1 – Các cuốn sách S+ của Việt Nam và nước ngoài có khác nhau lớn gì không ạ.

Theo những gì mà mình có tra cứu nhanh trên Google thì hiện tại, Việt Nam chưa có nhà xuất bản nào mua bản quyền, tiến hành dịch sách và sau đó xuất bản tài liệu luyện thi Sec+ cả. Những bản sách luyện thi Sec+ tiếng Việt hiện tại có thể là do các cá nhân hoặc một số trung tâm dạy Cybersecurity tự dịch; và việc liệu có sự khác biệt giữa tài liệu dịch và tài liệu gốc hay không nó nằm ở cá nhân của người dịch cuốn sách đó có tự ý thêm bớt gì từ nội dung gốc hay không. Hay nói cách khác, bạn chẳng có cách nào kiểm chứng được nội dung được dịch cả.

Nếu bạn muốn mua sách luyện Sec+ bằng tiếng Việt, bạn nên hỏi trực tiếp người bán, dựa vào bình luận/review những người đã mua sách cũng như tra xem nội dung được đề cập có phải là Sec+ mã thi SY0-501 hay không. SY0-501 là version mới nhất của Sec+ hiện nay.

2 – Em đọc sách Security là để phục vụ cho việc học pentest cho nên có cần phải đọc những cuốn sách “cao siêu” về security không ạ ?

Nếu nói bạn đọc sách Sec+ để học Pentest, thì nó giống như bạn đang tìm đọc một cuốn sách tổng hợp kiến thức tối thiểu về toàn thể ngành kinh tế để học làm kế toán vậy. Nó vẫn có lợi nhưng lợi ích không nhiều. Cá nhân mình chỉ khuyên bạn đọc Sec+ khi bạn chưa biết bạn muốn làm về lĩnh vực nào trong Cybersecurity, vì Sec+ cung cấp cái nhìn toàn diện về toàn ngành Cybersecurity rất tốt, từ đó giúp bạn xác định xem mình muốn làm về cái gì. Còn nếu bạn đã xác định muốn học Pentest thì bạn nên nhảy lên học Pentest+ thì hơn.

Về việc đọc những cuốn sách “cao siêu”, bình thường khi mình chọn sách học, nếu đó là lĩnh vực mà mình đã biết thì mình sẽ chọn một quyển sách hơi nâng cao một xíu, còn nếu là lĩnh vực mình chưa biết thì mình sẽ chọn những cuốn dễ đọc, kiến thức căn bản cho người mới bắt đầu. Vì mình nhận thức rõ nếu khả năng của mình chỉ ở tầm dưới CCNA mà mình lại đi đọc sách của CCIE thì trừ khi mình thuộc dạng thiên tài học 1 hiểu 10, còn không thì chỉ phí thời gian mà thôi.

Nói cách khác, mình ưu tiên việc chọn sách đúng trình độ hơn là đọc những cuốn vượt quá xa trình độ của mình. Mình xác định việc đó bằng cách khi mình đọc sách, mình sẽ đọc kỹ phần mục lục và lời giới thiệu đầu cũng như xem qua một vài chương mà mình thích. Nếu như trong một chương có đến hơn 1 nửa mình đọc mà chẳng hiểu gì cả, khi Google những kiến thức đó thì nó lại dẫn đến một mảng kiến thức lớn khác mà mình chẳng biết gì về nó, thì mình có thể tạm kết luận rằng cuốn sách đó đang ở hơi quá tầm với đối với mình. Mình sẽ tập trung học và hoàn thiện mảng kiến thức lớn đã tìm được trước khi quay trở lại đọc tiếp cuốn sách. Nếu bạn muốn một lộ trình sách để học Pentest thì theo cá nhân mình sẽ là:

  1. Pentest+
  2. Linux Basics for Hackers: Getting Started with Networking, Scripting, and Security in Kali
  3. CEH hoặc Penetration Testing: A Hands-On Introduction to Hacking
  4. OSCP

3 – Nếu sợ đọc những cuốn sách nước ngoài mà không hiểu thì đọc sách của VN xuất bản thì có đáp ứng được kiến thức học pentest không ạ ? Em có thấy vài giáo trình với lại khóa học của người VN làm về Security thì có nên đầu tư thời gian vào cái đó không ạ ?

Cũng theo cá nhân mình tìm hiểu nhanh trên Google thì ngoại trừ những bảng sách được dịch cá nhân ra thì chưa có nhà xuất bản nào ở VN dịch sách về Cybersecurity hay Pentest cả. Nên việc bạn có thể tìm được cùng 1 đầu sách mà có cả tiếng Anh lẫn Việt theo mình nghĩ cũng sẽ khá khó khăn. Nhưng mình thật sự khuyên bạn cố gắng vượt qua nỗi sợ đọc sách tiếng Anh vì đây là trở ngại của không chỉ riêng bạn mà là của tất cả những người học IT nói chung và Security nói riêng khi tiếng Anh không phải là tiếng mẹ đẻ.

Không đọc được sách tiếng Anh, bạn sẽ rất khó nâng cao kỹ năng của mình cũng như không thể tra cứu, tiếp cận những trang, nguồn học Cybersecurity hay mà chủ yếu được viết bằng tiếng Anh. Chưa kể tất cả các kỳ thi với bằng cấp chất lượng trong ngành Cybersecurity hiện tại đều chưa có tiếng Việt. Nhưng nếu bạn có thể tìm được một quyển sách có cả 2 thứ tiếng thì đọc sách tiếng Việt cũng có thể giúp bạn hiểu được kiến thức mà bạn đọc tiếng Anh không hiểu.

Việc chọn sách bằng tiếng Việt nó có một vấn đề đó là đôi khi các trung tâm sẽ lấy từ nhiều nguồn khác nhau tổng hợp lại và dịch để làm thành tài liệu riêng của trung tâm họ. Hoặc họ sẽ chỉ dịch những sách mà họ có thể dùng được cho mục đích cá nhân của họ. Nên nếu bạn hỏi mình liệu có nên đầu tư tiền bạc và thời gian vào đó không thì cá nhân mình không trả lời được vì mỗi trung tâm có cách hoạt động riêng của họ. Chất lượng thật hư ra sao mình cũng không nắm rõ được nên mình xin phép không có bình luận.

Tóm lại, nếu bạn muốn chắc ăn nhất, học chuẩn nhất để đi thi lấy chứng chỉ, thì mình nghĩ chỉ có cách lựa chọn các tài liệu tiếng Anh mà thôi. Mình nghĩ nếu bạn chịu khó dùng sách với Google dịch và từ điển, dù chậm một chút nhưng vẫn sẽ có hiệu quả và chắc chắn về nguồn học hơn.

Câu hỏi 2: Pentester cần biết những ngôn ngữ lập trình nào? Nguồn học lập trình và luyện các kỹ năng liên quan đến Pentest.

Bạn có nick name jd có câu hỏi sau:

Em có một số câu hỏi như sau, mong các anh trả lời giúp em ạ.

1 – Ad cho em hỏi học Pentest thì cần biết những ngôn ngữ lập trình nào?

2 – Anh có thể cho em xin nguồn học lập trình được không?

3 – Ngoài TryHackMe thì còn những website nào có thể luyện các kỹ năng liên quan đến Pentest?

Trả lời:

1 – Ad cho em hỏi học Pentest thì cần biết những ngôn ngữ lập trình nào?

Theo những gì mình tìm hiểu thì, pentester cần biết tối thiểu những ngôn ngữ sau:

  1. Bash Linux, Power Shell, Command Prompt
  2. Python, Perl, Ruby
  3. HTML, CSS, JavaScript, PHP,
  4. SQL commands, noSQL commands, Oracle commands
  5. C/C++, Assembly

Ở giai đoạn mới bắt đầu ngoại trừ những ngôn ngữ ở số 1, bạn chỉ cần biết ở mức vừa đủ từ số 2 đến số 4. Tức là bạn có thể đọc và hiểu được tối thiểu cách code hoạt động cũng như viết được những phần mềm đơn giản, khoản chừng dưới 20 dòng, hỗ trợ cho việc Pentest. Đây là cấp độ của một OSCPer, cấp độ tối thiểu để có thể làm Pentest tại Canada.

Về sau, khi bạn lên đến vị trí senior, kiến thức của bạn về các ngôn ngữ này đòi buộc phải sâu rộng hơn. Chưa kể có thể bạn còn phải biết thêm những ngôn ngữ khác ví dụ như để Pentest web thì cần thêm Java, C#, NodeJS, v.v.. Với smart devices như IOS hay Android thì cần phải biết thêm Swift, Objective-C, Java, Kotlin, v.v.

Với số 5 (C/C++ và Assembly), đây là những ngôn ngữ ở cấp độ OSCP giúp bạn có thể khai thác lỗi Buffer Overflow (Tràn bộ nhớ) hoặc các lỗi ở cấp Kernel của OS. Kiến thức của những ngôn ngữ này cũng cần được bổ sung theo thời gian.

2 – Anh có thể cho em xin nguồn học lập trình được không?

Một số nguồn miễn phí mà mình hay dùng để học code như:

  1. FreeCodeCamp (Học về HTML, CSS, JavaScript, Python)
  2. SoloLearn (Học đa ngôn ngữ, từ HTML, CSS, JavaScript, Pythonv3, SQL, v.v.)
  3. TutorialPoint (Một trang có thể gọi là bách khoa toàn thư về IT, với không chỉ kiến thức về code mà còn cả OS, Security, v.v.)
  4. W3School (Học Web coding – HTML, CSS, JavaScript, XML, SQL, v.v.)
  5. Programiz (Một trang web học đa ngôn ngữ lập trình khác)
  6. Codewar (Một trang luyện kỹ năng code bằng cách giải thử thách về code khá hay. Cùng một thử thách, bạn có thể giải nó bằng nhiều ngôn ngữ lập trình khác nhau)
  7. Hackerank (Một trang luyện kỹ năng code khác)

Ở Việt Nam thì mình có biết đến các bạn ở KTeam, họ có một website với các bài giảng về coding miễn phí. Mặc dù nội dung chưa thật sự phong phú nếu so với các website bên trên, nhưng mình cũng muốn giới thiệu đến các bạn.

  • KTeam (Hiện tại, Kteam đang có các lớp dạy Python, Java, C++, C# v.v.)

Bạn nên lưu ý là những websites trên sẽ chỉ cung cấp cho bạn kiến thức tối thiểu về một ngôn ngữ lập trình nào đó. Do đó, việc học thêm thông qua sách vở là điều cần thiết.

3 – Ngoài TryHackMe thì còn những website nào có thể luyện các kỹ năng liên quan đến Pentest?

Sau đây là một số nguồn miễn phí và trả phí mà mình biết

Pentest – Trả phí:

  1. HackTheBox (Nền tảng luyện Pentest yêu thích của mình. Để có thể tạo được tài khoản, bạn cần phải vượt qua thử thách của HackTheBox để lấy được invitation code)
  2. PG Practice (Nền tảng luyện OSCP chính chủ của Offensive Security)

Pentest – Miễn phí

  1. Overthewire (Các thử thách tương tự với CTF 100, nhưng nội dung có phần đa dạng hơn.)
  2. PortSwigger (Đây là nền tảng dạy và thực hành Pentest web miễn phí từ công ty đã tạo nên phần mềm BurpSuit nổi tiếng)
  3. PicoCTF (Một Website luyện không chỉ Pentest CTF mà còn có Cryptography CTF, Reversing Engineering CTF, v.v.)
  4. Vulnhub (Một nền tảng luyện Linux Pentest)
  5. Hacker101 (Một nền tảng học và luyện Pentest khác)
  6. Rootme (Một nền tảng học và luyện Pentest khác)

Reversing engineering – miễn phí

  1. Crackme (Đây là một nền tảng CTF dành riêng cho việc dịch ngược phần mềm)
  2. Yurichev.comchallenge.re (Yurichev.com là website của một hacker người Nga, anh đã biên soạn một tài liệu khá hay tên Reverse Engineering for Beginners và challenge.re là website thực tập những kỹ năng đã được đề cập trong sách của anh.)
  3. Reversing.kr (Một nền tảng luyện CTF reversing engineering khác)

Traffic/Packet analysic

  1. Malware-Traffic-Analysis (Một nền tảng học và luyện phân tích pcap file)


Cám ơn các bạn và chúc các bạn học tốt

Vincent Nguyễn

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s