HỌC HACKER CƠ BẢN

Chú ý đây là bài viết đóng góp. jualkaosmuslim.com không khuyến khích các bạn trở thành hacker.

Bạn đang xem: Học hacker cơ bản

Hãy tham gia khóa học thực tập lập trình ở jualkaosmuslim.com để có việc làm nghiêm túc

Nếu bạn có ý định trở thành một hacker chuyên nghiệp hoặc đơn giản chỉ làtò mò muốn biết các hacker đang học những gì, thì bài viết này dành cho bạn.

Trước tiên, bạn cần biết rằng hacking nói riêng và an toàn thông tin nói chunglà những công việc cực kìkhó vànặng nhọc. Chúngđòi hỏi tính kiên nhẫn cũng như kiến thức tốt. Nếu bạn không xây dựng một nền tảng vững chắc ngay từ đầu, bạn sẽ không bao giờ đặt chân vào con đường hacking thực thụ.

#1 Lập trình C



C là một ngôn ngữ lập trìnhmạnh mẽ bậc nhất. Thành thạongôn ngữ C là rất cần thiết đối với lập trình viên nói chung và hacker nói riêng.

C là ngôn ngữ lập trình hướng cấu trúc. Với ngôn ngữ C,các tác vụ được chia thành từng phần nhỏ hơn và các phần nhỏ này được hoàn thành bởi một số đoạn mã. Khi học lập trình C, quan trọng nhất là bạn phải sử dụng biến con trỏ một cách thành thạo cũng như hiểu được cơ chế cấp phát bộ nhớ.

Nếu bạnmuốn học C theo cách của hacker, hãy tham khảo cuốn Learn C The Hardway của Zed.A Shaw.

#2 Học thêm các ngôn ngữ lập trình khác



Với Hacker, ngoài C, anh ta vẫn cần thêm các công cụ đắc lực khác. Một trong số các công cụ đó là những ngôn ngữ lập trình bậc cao như Java, Perl, và đặc biệt là Python.

Học thêm các ngôn ngữ lập trình khác ngoài C giúp ích rất nhiều choviệc khai thác cũng như vá lỗ hổng của các ứng dụng.

Java là ngôn ngữ lập trình hướng đối tượngphổ biến nhất thế giới theo bảng xếp hạng Tiobe 2016. Nó được biết đến như là ngôn ngữ ổn định, manh mẽ, linh hoạt cùng với độ bảo mật rất cao. Tìmhiểu mô hình bảo mật áp dụng trong Java là cách nhanh nhất giúp bạn nắm được những nền tảng bảo mật áp dụng trong ngôn ngữ lập trình.

Perl là ngôn ngữ lập trình đa dụng khá linh hoạt, một số tính năng của Perl đưjc lấy ý tưởng từ C. Python nổi tiếng với cú pháp ngắn gọn, dễ học. Tuy cú pháp đơn giản nhưngPython có thể làm được nhiều thứ hơn bạn nghĩ: lập trình web, lập trình big data, viết tool automation,...


Tham khảo các khóa học lập trình online, onlab, và thực tập lập trìnhtại jualkaosmuslim.com

#3 Hệ điều hành UNIX



UNIX là hệ điều hành đa nhiệm và đa người dùng, được thiết kế để mang lại độ tin cậy và bảo mật cho bất kỳ hệ thống nào sử dụng nó.

UNIX được phát triển bởi một nhóm nghiên cứu viên tại AT&T Bell Lab.

Cách tốt nhất để học vềUNIX là cài đặt và chạy nó trên máy tính của chính bạn. Sau đó kiếm một cuốn sách kinh điển về nó, Unix in a nutshell của Arnold Robbinslà một ví dụ.

Sau khi biết cách sử dụng UNIX, bạn nên tìm hiểu sâu về kiến trúc cũng như phần lõi của UNIX. Với mảng này, chúng tôi khuyên bạn nên đọc cuốn "The Design of the UNIX OS" của Maurice J. Bach.

Hiện nay, một số lượng rất rất lớn web server đang chạy các hệ điều hành nhân UNIX. Do đó việc sử dụng thành thạo và hiểu được design của UNIX là một kỹ năng không thể thiếu của lập trình viên nói chung và hacker nói riêng.

#4 Học thêm một hệ điều hành khác



Ngoài tượng đài UNIX, các hệ điều hành Window cũng là một mục tiêu thú vị để tìm hiểu.

Có 2 lý do để bạn học Window:

Các máy tính cá nhân đều sử dụng window.Hệ điều hành này có rất rất nhiều lỗ hổng.

Việc thực hành khai thác lỗ hổng vừa mang lạicho bạn kỹ năng hacking căn bản, vừa dạy cho bạn biết sự quý giá và tầm quan trọngcủa việc cập nhật Windows nói riêng và các phần mềm khác nói chung.

#5 Mạng máy tính



Để chính thức đặt một chân vào thế giới Hacker, bạn cần thành thạo việc xây dựng, cấu hình, quản lý và khai thác mạng máy tính.

Một số kiến thức căn bản mà bạn cần nắm rõ gồm có: các mô hình mạng OSI, TCP/IP; các bộ giao thức sử dụng ở các tầng khác nhau trong mạng máy tính: TCP, UDP, Telnet, HTTP,... Quá nhiều thứ để liệt kê trong khuôn khổ của bài viết này. Vì vậy,bạn cần một cuốn sách về mạng máy tính. Chúng tôi gợi ý cuốn:Computer Networking: A Top-Down Approach By James F. Kurose and Keith W. Ross.

Xem thêm: Reenactment Là Gì Trong Tiếng Việt? Lạm Bàn Về Cosplay, Cổ Trang Và Hán


Sau khi nắm được kiến thức mạng máy tính căn bản, hãy chuyển qua tìm hiểu các công cụ giám sát và dò quét trên mạng. Chúng tôi recommend một cuốn nữa cho bạn: Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning


#6 Khởi động bằng các tutorial


Kali linux - một công cụ hacking khá phổ biến với nhiều tool đi kèm

Để trở thành Hacker, con đường ngắnnhất là .... bắt tay vào hack.

Tuy nhiên "động chạm" vào các hệ thống lớn không phải là chuyện dễ dàng khi có rất nhiều rào cảncả về mặt pháp lý lẫn chuyên môn đối với newbie. Do đó, con đường tối ưu nhấtlà "tập hack" theo các kịch bản có sẵn.

Lời khuyên của chúng tôi: hãy bắt đầu với Kali Linux - một hệ điều hành kinh điển của nhiềuhacker, được tích hợp hàng trăm công cụ phát hiện, khai thác và tấn công các lỗ hổng bảo mật.

#7 Mật mã học


Nếu bạn muốn tiến thêm một bước nữa trong sự nghiệp hacking, bạn không thể thiếu kiến thức mật mã học.

Nhu cầuche giấu thông tin đã hình thành từ hàng ngàn năm trướcvới mật mã Caesar. Hiện nay, khi thông tin vẫn liên tục được truyền đi trên khoảng cách xa thì mã hóa là phương pháp an toàn duy nhất để bảo vệ thông tin.

Các phương pháp mật mã bảo vệ thông tin đảm bảo mã hóa và giải mã các dữ liệu mật (tính bí mật) và cũng được dùng để khẳng định tính chân thực (xác thực) của nguồn dữ liệu và kiểm soát tính toàn vẹn của dữ liệu.

Việc nắm bắt được đặc tính, ưu nhược điểm của các công cụ mật mã hiện đại như hệ mật đối xứng, bất đối xứng, hàm băm, chữ ký số... là yêu cầu tối thiểu đối với cả hacker mũ đen và mũ trắng.

#8 Thực nghiệm


Các chuyên gia của Tây lông đã thống kê rất chi tiết. Để trở thành chuyên gia của một lĩnh vực bất kỳ, bạn cần giành tối thiểu 10.000 giờ làm việc trong lĩnh vực đó.

Hacking không phải là ngoại lệ.

Việc thực hành liên tục vàđều đặn là một yếu tố tiên quyết giúp bạn tiến tới cảnh giới cao hơn của một hacker.

Để bắt tay thực hành những gì đã học được, có lẽ thứ đầu tiên các bạn cần là một "phòng lab cá nhân" với đầy đủ trang thiết bị cần thiết. Ở mức đơn giản nhất, bạn cần chuẩn bị: máy tính cá nhân - tối thiểu 2 chiếc - cấu hình tương đối, đủ để chạy song song nhiều máy ảo trên đó; đường truyền Internet; các thiết bị mạng: Router, Switch (nếu có)....

Sau khi đã chuẩn bị đủ trang thiết bị và bắt tay vào làm việc, bạn cũng cần lưu ý 5 điều sau:

Luôn backup hệ thống trước khi thử nghiệm bất kỳ thứ gì mới.Khởi đầu một cách nhẹ nhàng, cố gắng hoàn thành các mục tiêu nhỏ trước.Ghi chép lại quá trình hack một cách cẩn thậnKhông giới hạn bản thân nhưng phải biết điểm dừngTự động hóa các công việc lặp đi lặp lại.

#9 Đọc sách của chuyên gia


Không cứ gì hacker,kỹ năng đọc là một trong số các kỹnăngcần thiết chotất cả mọi người

Khi trở thành mộtHacker, bạnluôn phải thu thập thông tin cũng như cập nhật kiến thức và kỹ năng của mình với tần suất nhiều gấp 4-5 lần ngườibình thường. Khi đó,kĩ năngđọc tốt (cụ thể là tốc độ đọc và khả năng cô đọng thông tin) sẽmang lại cho bạn rất nhiều lợi thế trong việc dò quét và nắm bắt thông tin.

Bước đầu, bạn có thể luyện tậpmột số kỹ thuật đọc như Skimming hoặc chunk reading...

#10 Tham gia các cuộc thi


Học đi đôi với hành. Và việctham gia các cuộc thi hacking là cách nhanh nhấtđể tiếp cận và nâng cao khả năng xử lýcác tình huống thực tế. Có khá nhiều công ty tổ chức các cuộc thi hacking, vừa nhằm mục đích kiểm tra lỗ hổng trong một sản phẩm nào đó, vừa nhắm tớiviệc thu hút và phát hiện nhân tài. Tại các sự kiệnkiểu này, có rất nhiều hình thức thi đấu đa dạng như tấn công - phòng thủ, cướp cờ, mật mã học,...

Bạn có thể tham khảodanh sách 13 website thường xuyên tổ chức các cuộc thi hacking tại đây

#11 Lên level bằng việc tự phát hiệncác lỗ hổng


Lỗ hổng là một điểm yếu trong hệ thống, có thể được sử dụng để gây hại cho hệ thống và người sử dụng.

Việc dò quét, phát hiện lỗ hổng cũng là một cách tiếp cận kinh điển nếu bạn muốn tiến sâuvào thế giới bảo mật. Một số lỗ hổng nổi tiếng đến mứcbạn có thể thực hành khai thác chúng ngay bây giờ: lỗ hổng MS 08-067 (dẫn tới việc máy tính bị điều khiển từ xa trái phép), lỗ hổng web server Apache (phiên bản dưới 2.0),....

Tuy nhiên việc đào bới các lỗ hổng cũ không phải là công việc của chuyên gia bảo mật thực thụ (và hacker thực thụ). Trong khi các hacker mũ đencố gắng phát hiện vàkhai thác các lỗ hổng zero-day (lỗ hổng chưa được công bố) thì ở bên kia chiến tuyến, phe mũ trắng cũng tích cực dò quét và và các lỗ hổng kiểu này.

Điều tôi muốn nói ở đây là hãy cố gắng làm quen với việc phát hiện và vá các lỗ hổng mới, bởi công việc này có thể trở thành nguồn thu nhập chính cho bạn.


Lỗ hổng "bèo nhất" của facebook cũng được treo thưởng 500 USD

#12 Đóng góp cho các Open Source Security Project


Chắc chắn bạn đã dùng ít nhất 1 sản phẩm trong danh sách này

Đóng góp cho các dự án nguồn mở sẽ đưa bạn lên một nấc thang nữa trong sự nghiệp. Không phải ai cũng đủ tâm và đủ tầm để làm được điều này. Bằngviệc đóng góp chất xám của mìnhcho những sản phẩm nguồn mở, bạn đã góp một viên gạch đểxây dựng cộng đồng Open Source ngày cànglớn mạnh. Và dĩ nhiên với một cộng đồng lớn mạnh, hoàn toàn có thể thay đổi thế giới.