it-swarm-vi.com

Làm thế nào để tin tặc lợi dụng các cổng mở làm véc tơ cho một cuộc tấn công?

Đó là kiến ​​thức phổ biến, và do đó, một thông lệ phổ biến, để đóng các cổng mở trên bất kỳ máy nào được kết nối với internet.

Ví dụ, nếu một chương trình điển hình sử dụng cổng xyz làm kênh liên lạc và có một lỗ hổng trong chương trình đó, có thể bị khai thác qua cổng đó, tại sao cuộc tấn công tương tự lại thành công thông qua, giả sử, cổng 80?

Do chương trình giả của chúng tôi sử dụng cổng 888 TCP và nó có một lỗ hổng có thể bị khai thác, tại sao lỗ hổng đó không thể được khai thác thông qua cổng 80 TCP (là HTTP và được mở trên hầu hết máy nào)?

Có phải cổng 80 trên máy chủ web chỉ nghe một loại TCP gói không? Chỉ chấp nhận một loại gói nhất định?

Tại sao tin tặc không thể tạo ra một gói TCP với một chuỗi độc hại, gói gọn trong gói HTTP và do đó tấn công máy chủ web?

16
Franko

Dịch vụ nghe cổng. Các máy chủ web (một dịch vụ) lắng nghe cổng 80, nhưng đó chỉ là một tiêu chuẩn, không phải là một quy tắc cứng. Bạn có thể cấu hình bất kỳ dịch vụ nào để nghe trên bất kỳ cổng nào. Đây không phải là về 'các gói đặc biệt' mà là về 'quay số đúng cổng' để có được dịch vụ bạn muốn.

Nếu chương trình giả của bạn có một lỗ hổng, thì nó có thể bị tấn công trên cổng mà nó được gán cho. Bạn không thể tấn công một chương trình trên các cổng mà nó không nghe. Nếu bạn cố tấn công nó trên một cổng khác (như cổng 80 trong ví dụ của bạn), chương trình của bạn sẽ không đạt được.

Câu hỏi cuối cùng của bạn là một điều kỳ lạ: "Tại sao tin tặc không thể tạo ra một gói TCP với một chuỗi độc hại, gói gọn trong gói HTTP và do đó tấn công máy chủ web ? "Đó IS tin tặc làm gì. Nhưng họ nhắm mục tiêu vào cổng dịch vụ mà họ muốn đánh. Nhưng có lẽ bạn có thể tinh chỉnh câu hỏi đó dựa trên thông tin tôi đã cung cấp.

Vì vậy, tại sao đóng cổng? Bởi vì bạn muốn giảm số lượng dịch vụ có khả năng bị tổn thương mà bạn tiếp xúc với Internet.

11
schroeder

"Chặn các cổng" chỉ là một cách gần đúng để nói rõ những gì chúng ta thực sự muốn làm, đó là chặn truy cập vào một số dịch vụ.

Một hệ điều hành mới được cài đặt thường có một số thứ chạy tự động, một số trong đó là các dịch vụ có một phần mạng. Bất kỳ lỗ hổng khai thác mạng nào trong một dịch vụ như vậy là một cánh cửa truy cập tiềm năng cho kẻ tấn công. Tuy nhiên, hiếm khi có liên quan rằng tất cả các dịch vụ như vậy có thể được truy cập bởi mọi người trên toàn Internet. Ví dụ, đối với một máy được coi là máy chủ Web, thông thường mọi người trên trái đất đều có thể cố gắng truy cập dịch vụ "Web" cụ thể (đó là chức năng của nó) và thông thường dịch vụ SSH cũng mở ( để quản trị viên máy chủ có thể quản trị máy chủ); tuy nhiên, không có sử dụng dịch vụ chia sẻ tệp cho máy chủ đó cũng được mở rộng rãi.

Chặn quyền truy cập vào một cổng nhất định có thể được thực hiện trên tường lửa và được coi là hiệu quả về thời gian hơn so với việc cố gắng thuyết phục HĐH không chạy một dịch vụ nhất định và không khởi động lại hoặc phát minh ra các dịch vụ mới vào dịp phần mềm cập nhật. Vì vậy, thông thường sẽ chặn tất cả cổng ngoại trừ những cổng được biết là tương ứng với các dịch vụ có thể truy cập trên toàn thế giới (ví dụ: 80 và 22, tương ứng cho Web và SSH).

5
Tom Leek