Dăm ba cách hack sập 1 website nào đó – Phần 1

Đã bao giờ bạn thắc mắc làm sao hacker có thể hack sập 1 website chưa? Hack gồm những bước nào, tìm hiểu trang web ra sao? Làm sao để không bị phát hiện v..v.

Trong bài viết này, mình sẽ chia sẻ kĩ hơn về qui trình, về những biện pháp mà hacker sử dụng để truy cập và … hack sập một trang web nhé. Mặc dù không cool ngầu như trong phim đâu, nhưng cũng rất hay ho thú vị đấy!

Anh em làm dev không quan tâm về hack cũng nên đọc, đề biết cách phòng chống website mình không bị hacker tấn công nhé!

 

Note: Bài này do là vlog nên sẽ đi sâu hơn về kĩ thuật một chút so với vlog nhé. Bạn nào đã xem vlog cũng nên đọc, vì mình sẽ nói kĩ hơn về các tool hay dùng!

Đôi lời cảnh báo trước khi hack

  • Nội dung bài viết mang tính chất học thuật, tham khảo. Phụ nữ dưới 18 tuổi và trẻ em có thai không nên làm theo, mọi hậu quả mình không chịu trách nhiệm.
  • Bản thân việc hack là không phạm pháp. Tuy nhiên sử dụng kĩ thuật hack để tấn công mạng, đánh cắp dữ liệu, sửa đổi thông tin v…v đều là hành động phạm pháp, khả năng ngồi nhà đá khá cao, các bạn nên cẩn thận suy nghĩ trước khi làm!
  • Nếu không cẩn thận, bạn rất dễ bị lộ IP khi hack. Các tổ chức điều tra, nhà nước có quyền yêu cầu ISP (nhà mạng) cung cấp thông tin về tên tuổi, địa chỉ, chủ của IP đó. Xác suất bạn bị … nắm đầu rất cao nếu không cẩn thận.
  • Sử dụng VPN, Proxy … có thể giảm khả năng bị lộ IP. Tuy nhiên, cũng đã có trường hợp chính quyền yêu cầu nhà cung cấp VPN/proxy cung cấp log cho họ, nên vẫn có thể bị lộ nếu xui.
Số lượng hacker ngồi nhà đá trước giờ không ít đâu nha!

Ok viết vậy để rũ bỏ trách nhiệm thôi, chứ mình nghĩ bạn đọc của Code Dạo toàn là những con người sống có đạo đức, không đi hack lung tung đâu nà.

Đa phần những tool giới thiệu trong bài viết đều có trên Kali Linux. Các bạn có thể tải máy ảo về cài rồi nghịch nhé.

Bước 1 – Tìm hiểu đối tượng cần tấn công

Để hack thành công một trang web, bước đầu tiên cần làm cũng giống như tán gái vậy: tìm hiểu đối tượng cần tấn công.

Với việc tán gái, bạn phải tìm hiểu tên tuổi, trường học, sở thích … của người ta mới tán được. Với việc hack 1 trang web, bạn cũng nên tìm hiểu những điều sau:

  • Công nghệ dùng build web đó: Tra xem web được code bằng công nghệ gì (Web viết bằng PHP hay C#, dùng server gì, phiên bản bao nhiêu)
  • IP thật của trang web: Từ IP này, ta có thể truy ra server trang web nằm ở đâu, nhà cung cấp nào
  • Dựa theo IP, scan server thật của web để xem nó dùng hệ điều hành nào, web server phiên bản gì, trên server có gì (mall server, database v…v), có những port nào mở
  • Scan những URL liên quan: Các trang web thường có những trang admin/login/resource/backup. Nhiều khi các trang này không được bảo mật kĩ, có sơ hở để ta tấn công
  • Dùng tool để scan sơ những lỗ hổng bảo mật hay gặp của web

Trong quá trình tìm hiểu này, bạn nên viết lại những thứ thú vị mà mình tìm hiểu được để sau này tra cho dễ. Một số tool thường được dùng ở giai đoạn này là:

  • Nmap – Scan các port đang mở, xem các service nào đang chạy, version của các service đó
  • Buidwith/WapPalyzer – Tra xem trang web được viết bằng công nghệ gì, chạy trên server nào
  • TheHaverster/DNS Dumspter – Truy cập DNS history, mò ngược ra IP, subdomain của 1 trang web
  • Dirbuster/gobuster – Scan các url, domain của 1 trang web
  • BurpSuite/Nikto/Nessus – Scan các lỗ hổng bảo mật thường gặp
Đa phần những tool này đều có trên Kali Linux nha

 

Sau khi đã tìm hiểu được đối tượng muốn tấn công, bạn có thể áp dụng 1 hay nhiều cách dưới đây để bắt đầu tấn công nhé.

Cách 1 – Report trang web

Cách này khá đơn giản: Report trực tiếp trang web cho nhà cung cấp hosting, cung cấp service, yêu cầu họ gỡ bỏ trang web. (Làm sao để biết web đó nằm ở hosting nào thì bạn xem lại bước trên).

Ưu điểm của cách này là khá dễ dàng, không cần nhiều kiến thức kĩ thuật. Xác suất thành công lại khá cao nếu như web của bạn report là web spam, vi phạm bản quyền, lừa đảo, chứa nội dung phạm pháp, bạo lực v…v

Nhược điểm là đôi khi cách này hơi lâu, vì phải chờ bên cung cấp họ duyệt, và cũng chưa chắc thành công nếu nội dung web là hợp pháp. Chưa kể, chủ web có thể dùng Cloudflare để ẩn IP thật, chuyển trang web qua nhà cung cấp khác an toàn hơn, hoặc tự host.

Cách này cũng chỉ có thể đánh sập chứ không thể nào lấy dữ liệu, làm hư web hoặc tra ra chủ trang web được.

Cách 2 – Tấn công  lỗ hỗng của web

Cách này tức là lợi dung lỗ hổng của trang web để chiếm quyền truy cập, upload shell, chạy script để phá hoại, chôm dữ liệu.

Cách này đòi hỏi các bạn phải có kiến thức về lập trình và bảo mật, biết cách 1 trang web hoạt động, biết những lỗ hỗng bảo mật hay gặp (XSS, SQL Injection ….) mới có hướng tấn công.

Nếu quan tâm, bạn có thể đọc cuốn Bảo Mật Nhập Môn của Code Dạo, tìm hiểu thêm về OWASP nhé!

Trên hacksplaining.com có giới thiệu và ví dụ cụ thể về các lỗ hổng dạng này nhé!

Ưu điểm của cách này là… rất hiệu quả. Nếu thành công, các bạn có thể truy cập được toàn bộ dữ liệu, chiếm quyền trên web server, muốn xoá sạch dữ liệu hay sập web cũng hoàn toàn có thể.

Nhược điểm của cách này là … kha khó, đòi hỏi nhiều kiến thức bảo mật, và mất nhiều thời gian mò mẫm. Chưa kể, không phải web nào cũng có lỗ hổng bảo mật, có khi tìm hoài cũng không ra.

Các tool hay dùng và kiến thức cần biết:

  • Metasploit – Chứa rất nhiều payload và code để tấn công một phiên bản phần mềm nào đó
  • Searchsploit – Tương tự như Metasploit, nhưng khó dùng hơn và nhiều code hơn
  • Google – Sau khi biết được công nghệ web đó dùng (vd Apache 2.2), ta có thể Google Apache 2.2 exploit để tìm các lỗ hổng, cách tấn công
  • BurpSuite/Fiddler/Postman để chỉnh sửa request gửi lên/response nhận về từ server
Các bạn nên tìm hiểu về Metasplot và Searchsplot, 2 tool được giới hacker hay dùng

Tạm kết

Ban đầu mình định viết hết trong 1 bài mà có vẻ dài quá rồi nên tách làm 2 phần vậy. Ở phần sau, mình sẽ giới thiệu tiếp một số cách hack sập 1 web site, những việc nên làm sau khi hack, nhiều channel/tài nguyên về bảo mật nhé!

6 thoughts on “Dăm ba cách hack sập 1 website nào đó – Phần 1”

  1. Cháu chào chú, cháu năm nay lớp 11 và đang định bắt đầu học một ngôn ngữ lập trình nào đó, vì nó là sở thích, với cả kiến thức thì cũng không sợ bị thừa. Nhưng cháu đang phân vần gữa việc học C và HTML. Theo chú cháu nên học cái nào ạ.

    Like

  2. nếu viết web này bằng nodejs thì a dùng lib gì để hiển thị ảnh với content ạ, kiểu nó xen kẽ lẫn nhau

    Like

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 )

Google photo

You are commenting using your Google 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