Học làm hacker

Để trở thành hacker cần phải học gì, cần có những hiểu biết cơ bản gì, hack như thế nào ? Thật sự nó quá khó để vấn đáp, ngay cả nếu hỏi một hacker chuyên nghiệp, vì họ không có trình độ sư phạm, một câu vấn đáp không hề giúp bạn trở thành hacker, nó là cả một quy trình tích góp kỹ năng và kiến thức và kinh nghiệm tay nghề. Để không bị chửi hay ném đá, bài viết này mình chỉ san sẻ và vấn đáp câu hỏi “ Làm thế nào để hack một website ”, câu hỏi mà mình nhận được quá nhiều sau khi đăng bài viết “ tôi đã hack Chợ Tốt như thế nào ? ” .

hacker

Trước hết phải xác lập rằng bạn không phải đang đọc bài viết của một hacker, mà chỉ là một thằng coder quèn bỏ học ĐH long dong code dạo, cá kiếm ít cơm cháo sống qua ngày. Mình trọn vẹn không học về bảo mật thông tin thông tin, cũng không kiếm tiền ở nghành nghề dịch vụ này, chỉ chịu khó tìm tòi nghiên cứu và điều tra, thi thoảng check những lỗi rất-thông-thường của các website và báo lỗi cho họ. Điển hình là báo lỗi cho Chợ Tốt, mạng lưới hệ thống quản trị thông tin hành chính tỉnh X tăng trưởng bởi VNPT …

Cái mình nhận được từ những ngày nghiên cứu, nghịch ngợm “như một hacker” là một góc nhìn rất mới lạ, thú vị, giúp ích rất nhiều cho công việc lập trình của mình.

Bạn đang đọc: Học làm hacker

Hacker phải biết lập trình

Mình nói thật, không biết lập trình thì bỏ đi, không có hack hiếc gì cả, có một câu nói rất hay rằng “ Before you break the rules you have to learn the rules ”, trước khi làm gì đó với một website, bạn phải biết website nó hoạt động giải trí như thế nào, được tạo ra như thế nào. Trước khi tán con bé hàng xóm, cũng phải biết nó thích gì, hay đi đâu, nó có hay xem porn không, nhà có giàu không … Hãy học lập trình thật tốt, bạn sẽ tự biết hack một cách rất tự nhiên thôi .

Tôi không biết lập trình, tôi chỉ muốn thử hack một cái gì đó, để thử cảm xúc được làm hacker có được không ?

Có, cho vui thì được, hiện có rất nhiều tools, hướng dẫn trên Google để bạn hoàn toàn có thể tự mình hack, để đặt avatar mặt nạ anonymous cho ngầu để tán gái, chỉ cần bạn có một đam mê tò mò và niềm tin học hỏi. Nhưng dù gì thì gì, hack vẫn là một hành vi phạm tội, và bạn sẽ không tiến xa được với cách tiếp cận này đâu. Mình đã gặp rất nhiều bạn Sky’s vì xem nhiều phim hacker mà sinh ra ảo tưởng, hừng hực trên con đường “ điều tra và nghiên cứu bảo mật thông tin ” mà tuyệt vọng, chán nản bất mãn với đời =)) Cứ thử học một khóa lập trình đi, rồi bạn sẽ thấy mong ước trở thành hacker của mình nó ngớ ngẩn đến mức nào .

Hack rất tốn thời gian và công sức

Có thể bạn đã xem ở bộ phim nào đó cảnh một hacker tay lướt trên bàn phím, trên màn hình hiển thị hiện rất nhiều dòng chữ chạy loạn xạ trên màn hình hiển thị đen và chỉ vài giây sau hiện lên dòng chữ xanh “ Access granted “. Hay một chàng trai đẹp trai vài phút đã hoàn toàn có thể hack được mạng lưới hệ thống giao thông vận tải sau đó chơi luôn cả một cái vệ tinh .
Ngoài đời trọn vẹn không giống như thế đâu, cũng không phải khi nào cũng có sẵn một cái vệ tinh trên đầu bạn. Hack tốn thời hạn và công sức của con người hơn thế rất nhiềuuuuu. Bạn phải theo dõi tích lũy thông tin, xem từng request, nghiên cứu và phân tích từng cái url, đọc từng mẩu code, viết code để triển khai cái gì đó … hoàn toàn có thể lê dài cả ngày thậm chí còn cả tuần và hơn thế nữa. Cũng không phải cái gì cũng hoàn toàn có thể hack được, có những cái cần phải có thiết bị tương hỗ ở gần tiềm năng … tóm lại là căng thẳng mệt mỏi hơn bạn tưởng tượng rất là nhiều .

Làm thế nào để hack một website?

Lảm nhảm khá nhiều mới đến chủ đề chính, chúng ta sẽ tìm hiểu cách một website bị hack như thế nào. Tất nhiên đây chỉ là dưới góc độ cá nhân, vì như ở trên đã nói, mình chỉ là dạng tay mơ, không phải các bước của một hacker chuyên nghiệp, để các bạn đọc chơi cho vui.

Thu thập thông tin

Khi đã có “ ý đồ đen tối ” với một website đơn cử, tiên phong check info server xem website đó viết bằng gì, tài liệu sẽ được gửi nhận ra sao, cơ sở tài liệu ở đâu, giao thức liên lạc, mã hóa bằng gì, đang dùng hosting của dịch vụ nào hay dùng VPS – Server riêng, server đó đang chạy hệ quản lý và điều hành gì, version mấy …. thử xem robots.txt xem họ có giấu giếm cái gì không, thử google xem nó có error nào mà google vô tình tích lũy được không .
Nó đang dùng mã nguồn nào, nếu là dùng mã nguồn mở ( wordpress, joomla, drupal … ) thì check luôn version của mã nguồn đó nếu hoàn toàn có thể. Họ có dùng https không, dùng theme hay plugin nào phụ thêm không ? Tên miền của nhà sản xuất nào, ai là gia chủ tên miền, có các sub-domain nào … vân vân và mây mây, Tóm lại là tích lũy càng nhiều thông tin càng tốt .

Tìm kiếm bug đã tồn tại trên mã nguồn, hệ điều hành của website

Với các thông tin đã tích lũy được, bạn khởi đầu Google các lỗi còn sống sót đã được công bố. Web họ dùng centos 6.4, wordpress 4.3 và vài theme với plugin nữa, hãy google ngay xem phiên bản này có lỗi gì không, nếu có thì giải pháp tiến công của họ như thế nào ?
Đa số các mã nguồn mở nổi tiếng thì rất ít bug và được hội đồng vá rất sớm sau khi được công bố, tuy nhiên các website thường thì không chịu khó theo dõi và update các bản vá này. Ngoài ra, họ sử dụng rất nhiều theme, plugin, addon chưa được kiểm định, do vậy năng lực dính lỗi khá cao. Khi đã tìm ra lỗi thì dễ rồi :))

Local attack

Từ thông tin server ở bước 1, bạn khởi đầu check những site nằm trên cùng server này, để xem hoàn toàn có thể “ làm ăn ” được gì từ những site này không. Nếu suôn sẻ hack được một site trên cùng server, up shell để local sang website tiềm năng, có những forum hacking, UG có một đội ngũ chuyên up shell cho thành viên, hoàn toàn có thể vào đó để xin link shell 🙂

Các shared-host lúc nhúc hàng trăm web trên cùng một server có thể dễ dàng hơn trong việc local và dễ dàng mua được một gói host nhỏ nằm cùng server với mục tiêu để hành động.

Tìm kiếm những lỗ hổng từ website

Nếu source code của website là tự viết, không dùng mã nguồn mở, và các bước trên có vẻ như không hiệu suất cao, bạn mở màn check những lỗi, những sơ hở mà lập trình viên vô tình tạo ra. Cái này thì vô vàn, và cần có kinh nghiệm tay nghề. Bắt đầu từ cách website hoạt động giải trí, bạn kiểm tra các file javascript, kiểm tra các ajax request … xem trình duyệt gửi nhận thông tin gì, nếu biến hóa tài liệu input thì chuyện gì sẽ xảy ra. Dễ dàng nhất là check theo top các lỗi bảo mật thông tin web OWASP đã được công bố .

Vẫn có những con đường khác

Thực tế thì vẫn có những con đường khác, cái này thì tùy từng website mà có cách ứng biến tương thích tùy thuộc vào hiểu biết của bạn về website đó. Một website thường không đứng độc lập, nó hoàn toàn có thể tương tác với mạng lưới hệ thống thanh toán giao dịch bên ngoài, là api tài liệu cho ứng dụng mobile … và vẫn có những sơ hở khác sống sót. Bản thân mình đã từng hack bằng cách dịch ngược file apk của một mạng lưới hệ thống và đọc code của nó, gửi mail cho nhân viên cấp dưới cty đó có đính kèm malware, tận dụng sơ hở của mạng lưới hệ thống DNS … Hoặc có một cách hack khác rất thông dụng, đó là social engineering, khai thác lỗi từ chính yếu tố con người, chat chit, gọi điện, gửi email lừa lọc :)) nó đặc biệt hiệu quả khi phối hợp với giải pháp kỹ thuật đã nói ở trên. Riêng cái này mình chưa làm do không có tài chém gió :))

Kết luận

Hack cần tư duy lập trình tốt và sự phát minh sáng tạo, tìm hiểu và khám phá về bảo mật thông tin thông tin, Những mánh khóe, thủ pháp mà hacker sử dụng có ích giúp bạn lập trình tốt hơn. Tất cả các lập trình viên nên tạo thói quen “ đa nghi ”, đứng dưới góc nhìn của hacker để lập trình tốt hơn để kiến thiết xây dựng một ứng dụng bảo đảm an toàn .

Alternate Text Gọi ngay