Skip to content

Thích Thủ Thuật

  • Sample Page

Thích Thủ Thuật

  • Home » 
  • Thủ Thuật Máy Tính » 
  • Khám Phá Thế Giới Ngầm Tấn Công Mạng qua Honeypot SSH: Những Sự Thật Đáng Sợ

Khám Phá Thế Giới Ngầm Tấn Công Mạng qua Honeypot SSH: Những Sự Thật Đáng Sợ

By Administrator Tháng 8 22, 2025 0
Honeypot SSH Cowrie mô phỏng giao diện kết nối SSH thông thường
Table of Contents

Trong vài tháng gần đây, tôi đã dành thời gian mày mò với các giải pháp mạng, bao gồm việc thiết lập bộ định tuyến OPNsense của riêng mình và triển khai Proxmox trên một số máy. Tôi thực sự yêu thích công việc này, và từ góc độ của một người đam mê bảo mật, một số dữ liệu tôi có thể thấy trong OPNsense cực kỳ thú vị. Thông qua các công cụ như CrowdSec, tôi đã thấy các công cụ quét cổng tự động bị chặn, điều này khiến tôi xem xét kỹ hơn về mạng gia đình và an ninh tổng thể. Đó là lý do tại sao tôi quyết định thiết lập một honeypot SSH để cố gắng hình dung những gì những kẻ tấn công làm khi chúng có quyền truy cập vào một hệ thống, và kết quả thực sự đáng sợ.

Nếu bạn không phải là một chuyên gia và không biết rõ mình đang làm gì, tôi không khuyến nghị bạn tự thiết lập honeypot, và chắc chắn không nên triển khai nó trên mạng gia đình. Tôi đã triển khai một máy ảo Ubuntu tối giản chạy trên một máy chủ riêng biệt, không chứa bất kỳ dữ liệu nào khác, và thiết lập một công cụ có tên là Cowrie. Cowrie là một honeypot SSH sẽ mô phỏng một kết nối SSH thực, hoàn chỉnh với các phản hồi cho các lệnh trông có vẻ hợp lệ. Nó cũng có thể chấp nhận truyền tệp, để các script và tệp độc hại khác có thể được chặn và phân tích bởi một nhà nghiên cứu bảo mật. Chúng ta sẽ cùng tìm hiểu một số khía cạnh đó trong bài viết này.

Tôi đã sử dụng kho lưu trữ GitHub này để cấu hình Cowrie với cơ sở dữ liệu ElasticSearch (mặc dù tôi cần sửa đổi script cài đặt), và điều chỉnh bảng điều khiển Kibana để hiển thị thông tin mà tôi muốn xem. Dữ liệu được hiển thị ở đây đặc biệt quan trọng không chỉ vì nó ghi lại các nỗ lực tấn công theo thời gian thực từ những kẻ muốn tự động xâm nhập vào các dịch vụ tự lưu trữ (self-hosted) bị phơi bày ra internet, mà nó còn cho thấy những gì có thể xảy ra khi bạn không sử dụng mật khẩu an toàn. Gần như tất cả các nỗ lực này đều sử dụng mật khẩu nằm trong danh sách các mật khẩu phổ biến nhất, nhưng một kẻ tấn công nhắm mục tiêu cụ thể vào bạn cũng có thể cố gắng điều chỉnh các nỗ lực của chúng để phù hợp với thông tin cá nhân của bạn.

Cowrie – Honeypot SSH đa năng mà bạn kiểm soát mọi khía cạnh

Hoạt động giống như một kết nối SSH thông thường

Cowrie là một honeypot SSH và Telnet, được thiết kế để ghi lại các tương tác. Nó được viết bằng Python và mô phỏng một hệ thống Unix, mặc dù nó cũng có thể hoạt động như một proxy đến một máy thật nếu bạn muốn. Nó hoàn toàn có thể tùy chỉnh, vì vậy bạn có thể thay đổi banner đăng nhập, các thông tin đăng nhập được chấp nhận, hệ thống tệp và nhiều thứ khác nữa. Hơn nữa, không chỉ các tương tác được ghi lại, mà các tệp được truyền cũng được lưu cục bộ vào máy để có thể phân tích sau này.

Honeypot SSH Cowrie mô phỏng giao diện kết nối SSH thông thườngHoneypot SSH Cowrie mô phỏng giao diện kết nối SSH thông thường

Cowrie có thể chạy trong môi trường container (chẳng hạn như với Podman hoặc Docker), hoặc nó có thể chạy như một ứng dụng thông thường sử dụng Python. Mục đích của nó là khiến người kết nối với honeypot không biết rằng đó là một honeypot. Nó phản hồi các lệnh bằng các phản hồi hợp lý, bao gồm cả các lệnh được thiết kế để in thông tin hệ thống. Như chúng ta sẽ thấy, có rất nhiều lệnh như vậy, và một số hành động được thực hiện bởi những người kết nối với honeypot của tôi rất đáng chú ý.

Tôi đã triển khai phiên bản Cowrie của mình vào ngày 23 tháng 4 năm 2025, và tất cả dữ liệu được thảo luận trong bài viết này đã được thu thập kể từ đó. Có tổng cộng 29.282 tương tác duy nhất, với ngày hoạt động tích cực nhất là ngày 1 tháng 5 năm 2025, ghi lại tổng cộng 7.438 tương tác duy nhất. Một “tương tác” được định nghĩa là bất kỳ hành động riêng lẻ nào, chẳng hạn như một lần cố gắng đăng nhập, một lệnh được thực thi hoặc một máy khách bị ngắt kết nối. Có 447 địa chỉ IP duy nhất được xác định trong tập dữ liệu sau khi lọc bỏ địa chỉ IP của chính tôi khi tôi đang thử nghiệm.

Tên người dùng và mật khẩu được sử dụng phổ biến nhất

Các “nghi phạm” quen thuộc

Trước hết, chúng ta sẽ xem xét các tên người dùng và mật khẩu được sử dụng nhiều nhất. Không có gì đáng ngạc nhiên, “root” là người dùng bị tấn công nhiều nhất, chiếm hơn một phần sáu tổng số nỗ lực. Điều này hợp lý, vì người dùng root là người dùng có đặc quyền cao nhất trên hệ thống dựa trên Linux. Với quyền truy cập root, kẻ tấn công kiểm soát toàn bộ hệ thống của bạn và có thể truy cập mọi tệp hiện có. Nó về cơ bản là “chén thánh” của kẻ tấn công, đó là lý do tại sao khuyến nghị sử dụng khóa SSH (SSH keys) để truy cập từ xa nói chung. Hơn nữa, nếu bạn không cần bật người dùng root, tốt hơn hết là nên tắt hoàn toàn người dùng root và thay vào đó dựa vào các lệnh sudo để có được các đặc quyền nâng cao khi bạn cần chúng từ tài khoản của riêng mình.

Biểu đồ thống kê các tên người dùng phổ biến nhất bị tấn công trên honeypot SSH CowrieBiểu đồ thống kê các tên người dùng phổ biến nhất bị tấn công trên honeypot SSH Cowrie

Nhìn vào các tên người dùng được sử dụng phổ biến khác, hầu hết chúng đều không gây ngạc nhiên. “admin” và “user” rất hợp lý, cũng như “support”. Điều thú vị là “ubnt” là tên người dùng mặc định trên hầu hết các sản phẩm của Ubiquiti, và tên người dùng đó là một trong những tên người dùng được thử nhiều hơn trong tập dữ liệu của tôi. “usario” là tiếng Tây Ban Nha của “user”, và “oracle”, “ubuntu”, và “pi” đều khá dễ hiểu. Hầu hết các tên người dùng khác được thử ở đây dường như chủ yếu tấn công các dịch vụ cụ thể, chẳng hạn như “hadoop”, “ec2-user”, và “nginx”, để kể tên một vài cái. Cuối cùng, cũng có các tham chiếu đến tên tiền điện tử, cho thấy một số kẻ tấn công có thể đang tìm kiếm các ví tiền điện tử liên quan đến các hoạt động khai thác.

Thống kê các mật khẩu yếu, phổ biến nhất mà kẻ tấn công sử dụng trên honeypot SSHThống kê các mật khẩu yếu, phổ biến nhất mà kẻ tấn công sử dụng trên honeypot SSH

Tiếp theo là các mật khẩu, và không có mật khẩu nào trong số này gây ngạc nhiên. Đây là những mật khẩu bạn sẽ tìm thấy trong danh sách mật khẩu phổ biến, ngoại trừ một số mật khẩu cụ thể như “raspberryraspberry993311”. Mật khẩu này dường như được sử dụng bởi một loại worm, theo một nhà nghiên cứu, nó sẽ báo cáo đến một máy chủ IRC, thay đổi mật khẩu thành mật khẩu đó, và sau đó quét các thiết bị nạn nhân tiềm năng khác. Một số kẻ tấn công có thể sử dụng mật khẩu này trong các nỗ lực của chúng để giành quyền kiểm soát một thiết bị từ một kẻ tấn công khác, trong khi những kẻ đã triển khai nó có thể sử dụng mật khẩu này như một cách để biết liệu chúng đã từng truy cập vào hệ thống này trong quá khứ hay chưa.

Không có nhiều điều để nói ở đây; những mật khẩu này rất tệ và đại diện cho những nỗ lực đầu tiên của tin tặc khi cố gắng truy cập vào một hệ thống. Nếu bạn đang sử dụng một trong những mật khẩu này (hoặc bất kỳ mật khẩu phổ biến nào khác), bạn nên thay đổi nó ngay lập lập tức. Đặc biệt đối với quyền truy cập SSH vào máy chủ của bạn, bạn nên sử dụng khóa SSH hoặc, ít nhất, đảm bảo rằng bạn sử dụng một mật khẩu mạnh. Giống như trường hợp cố gắng đăng nhập bằng mật khẩu “raspberryraspberry993311”, chúng ta cũng có thể nhận được thông tin từ các mật khẩu khác đã được thử. Một mật khẩu, “0l0ctyQh243O63uD”, đã được thử nhiều lần và dường như được sử dụng bởi NoaBot dựa trên Mirai, theo Akamai Security.

Các lệnh được thực thi thường xuyên nhất

Những bất ngờ thú vị

Không có gì ngạc nhiên khi lệnh được sử dụng phổ biến nhất là “uname -s -v -n -r -m”. Lệnh này in tên kernel, phiên bản kernel (ngày xây dựng và các thông tin khác), tên máy chủ nút mạng, phiên bản phát hành kernel và tên phần cứng của máy. Lệnh này có thể được sử dụng để xác định một honeypot, nhưng nó cũng được sử dụng để xác định loại phần cứng mà kẻ tấn công đã kết nối nói chung. Nhiều kẻ đã ngắt kết nối ngay sau khi chạy lệnh này, cho thấy rằng đó không phải là thứ chúng đang tìm kiếm.

Biểu đồ các lệnh được thực thi thường xuyên nhất bởi kẻ tấn công trên honeypot SSH CowrieBiểu đồ các lệnh được thực thi thường xuyên nhất bởi kẻ tấn công trên honeypot SSH Cowrie

Điều thú vị là Telegram cũng được nhắm mục tiêu cụ thể. Cả lệnh “locate D877F783D5D3EF8Cs” và các lệnh Telegram đều có liên quan, với “D877F783D5D3EF8Cs” chứa ID người dùng và khóa mã hóa để liên lạc giữa máy khách và máy chủ Telegram. Các lệnh khác được chạy để thu thập thông tin về khả năng của hệ thống, trong khi các lệnh khác được sử dụng để thực thi các script và ứng dụng đã được tải xuống. Tất nhiên, những tệp này thực sự không thể được thực thi, vì các tệp đã bị Cowrie chặn và đặt bên ngoài container để xem xét sau.

Hầu hết các lệnh khác thường xuyên xuất hiện liên quan đến nỗ lực thực thi các tệp đó, bao gồm cố gắng cấp quyền thực thi cho chúng, và các lệnh “scp -t” để nhận một tệp và đặt nó vào thư mục /tmp.

Phân tích một trong số các tệp tin nhận được

Ghidra – Công cụ phân tích mã độc hiệu quả

Tổng cộng có 18 mục được chuyển đến honeypot của tôi trong suốt thời gian thu thập dữ liệu, với các tệp có kích thước từ 1 KB khiêm tốn đến gần 30 MB. Tôi đã xem xét một trong số chúng để xem nó bắt đầu thực thi như thế nào, vì kỹ thuật đảo ngược phần mềm có thể mất rất nhiều thời gian. Thông thường, tốt nhất là nên phân tích phần mềm độc hại trong máy ảo, và tôi đang sử dụng Ghidra cho quá trình này. Trong ảnh chụp màn hình bên dưới, chúng ta có thể thấy một trong các tệp thu được từ honeypot, được mở trong Ghidra. Ghidra là một công cụ miễn phí và mã nguồn mở, được Cơ quan An ninh Quốc gia Hoa Kỳ phát hành và được sử dụng để đảo ngược kỹ thuật phần mềm. Điều này, kết hợp với một công cụ khác như radare2, có thể cung cấp cái nhìn sâu sắc hấp dẫn về cách một phần mềm hoạt động.

Giao diện phần mềm phân tích mã độc Ghidra hiển thị code từ tệp tin độc hại thu được từ honeypotGiao diện phần mềm phân tích mã độc Ghidra hiển thị code từ tệp tin độc hại thu được từ honeypot

Trong ảnh chụp màn hình trên, tôi đã theo dõi bản đồ chức năng từ điểm vào của ứng dụng (nơi nó bắt đầu thực thi) để hiểu cách dữ liệu di chuyển qua nó. Đây là một trong những chức năng sớm nhất thực sự làm được điều gì đó, và do đó, có vẻ là một ứng cử viên tốt để phân tích. Trong phần được đánh dấu, chúng ta có thể thấy rằng đây có thể là một kiểm tra cho một thứ gì đó được phân tách bằng dấu chấm.

cVar1 = *pcVar7;
while ((byte)(cVar1 - 0x30U) unaff_EBX = pcVar7 + 1; uVar4 = (int)cVar1 - 0x30; cVar1 = pcVar7[1];
while ((byte)(cVar1 - 0x30U) unaff_EBX = unaff_EBX + 1; uVar4 = cVar1 + -0x30 + uVar4 * 10; cVar1 = *unaff_EBX; }
iVar3 = iVar3 + 1; uVar8 = uVar8 if (cVar1 != '.') break; pcVar7 = unaff_EBX + 1; cVar1 = *pcVar7;}

Đoạn mã này đọc ký tự đầu tiên trong cVar1, được lấy từ một tham chiếu con trỏ đến pcVar1. pcVar1 có thể chứa phiên bản kernel, và chúng ta sẽ tìm hiểu lý do sau. Sau đó, nó kiểm tra xem đó có phải là một chữ số hay không (vì ‘0’ = 0x30), vì vậy vòng lặp này chỉ tiếp tục nếu ký tự là ‘0’-‘9’. Sau đó, nó khởi tạo uVar4 thành giá trị của chữ số hiện tại và di chuyển đến ký tự tiếp theo. Vòng lặp while lồng nhau thứ hai phân tích một số có nhiều chữ số khi nó lặp đi lặp lại nhân giá trị trước đó với 10 và thêm chữ số tiếp theo, xử lý các octet nhiều chữ số. Sau đó, nó dịch chuyển giá trị uVar8 hiện có sang trái 8 bit và thêm octet vừa được phân tích, đưa nó vào một đơn vị duy nhất. Cuối cùng, khi nó đạt đến dấu ‘.’, nó di chuyển đến octet tiếp theo, thoát khỏi vòng lặp khi không còn gì nữa.

Phân tích mã nguồn trong Ghidra cho thấy mã độc kiểm tra phiên bản kernel của hệ thốngPhân tích mã nguồn trong Ghidra cho thấy mã độc kiểm tra phiên bản kernel của hệ thống

Khối tiếp theo này khá thú vị, nhưng đây là nơi tôi sẽ dừng phân tích này, vì đây là một cái nhìn tổng quan nhanh về những gì bạn có thể làm với một honeypot và dữ liệu bạn thu thập. Mã này bắt đầu bằng cách đảo ngược tất cả các bit trong uVar8, giá trị đã được phân tích mà chúng ta đã nói trước đó, và sau đó dịch phải nó 31 bit. Điều này kiểm tra xem giá trị gốc có phải là không phải tất cả là 1 (0xFFFFFFFF) hay 0, xử lý các giá trị đó như các trường hợp đặc biệt. Nếu kết quả dịch chuyển là 0, mã sẽ bỏ qua logic sắp tới hoàn toàn và thay vào đó cố gắng đọc phiên bản kernel bằng cách truy cập /proc/sys/kernel/osrelease. Nếu nó khác 0, nghĩa là nó là một giá trị “bình thường”, nó sẽ vào một vòng lặp sử dụng uVar8 cùng với một giá trị toàn cục được gọi là DAT_080d7e64. Sau đó, nó tạo một giá trị 64 bit từ hai giá trị 32 bit đó (uVar9), có thể được sử dụng làm trạng thái ghép hoặc mã định danh duy nhất. Nếu DAT_080d7e64 toàn cục không phải là 0, mã sẽ so sánh hai phần của giá trị 64 bit. Dựa trên điều đó, nó quyết định có nên cập nhật giá trị toàn cục với giá trị vừa được phân tích hay giữ giá trị trước đó.

Khi tất cả những điều đó đã được thực hiện, nó sẽ kiểm tra xem giá trị (hoặc một giá trị được lấy từ nó) có nhỏ hơn một ngưỡng cụ thể hay không: 0x20609. Nếu có, mã sẽ in thông báo “FATAL: kernel too old” và nhảy đến một hàm có lẽ sẽ dừng thực thi. Toàn bộ hàm này dùng để phân tích phiên bản kernel của hệ thống và đưa ra lỗi nếu phiên bản quá cũ. Ngưỡng đó tương ứng với phiên bản Linux kernel 2.6.9, được phát hành vào năm 2004.

Internet ẩn chứa vô vàn nguy hiểm

Hãy luôn cẩn trọng!

Như bạn có thể thấy xuyên suốt bài viết này, internet là một nơi khá đáng sợ. Có rất nhiều công cụ quét tự động đang cố gắng tìm kiếm nạn nhân, và nhiều trong số chúng đã thành công. Trong trường hợp này, không có thiệt hại nào, nhưng trên một máy chủ thực sự, hậu quả có thể là thảm khốc. Rõ ràng là những kẻ xấu này có thể làm bất cứ điều gì khi chúng có quyền truy cập, từ đánh cắp thông tin đăng nhập và ví tiền điện tử đến triển khai phần mềm độc hại nhằm lây lan sang các thiết bị khác.

Bảng điều khiển Kibana hiển thị tổng quan dữ liệu thu thập được từ honeypot SSH CowrieBảng điều khiển Kibana hiển thị tổng quan dữ liệu thu thập được từ honeypot SSH Cowrie

Như mọi khi, hãy luôn cảnh giác khi nói đến an ninh mạng. Sử dụng mật khẩu phù hợp, đừng để lộ các thiết bị ra internet khi không cần thiết, và tuân thủ các nguyên tắc thông thường khi duyệt web. Đây là một máy chủ mà tôi đã chạy trong hơn một tuần, và kết quả thật đáng sợ dù không gây ngạc nhiên. Hãy tưởng tượng vô số thiết bị ngoài kia đã bị xâm nhập mà chủ sở hữu không hề hay biết? Các script này được thiết kế để tự ẩn mình, vì vậy trong trường hợp của tôi, nếu máy chủ của tôi đã bị xâm nhập, tôi sẽ cần chủ động tìm kiếm nó để phát hiện ra.

Hãy chia sẻ ý kiến của bạn về các mối đe dọa an ninh mạng và cách bạn bảo vệ hệ thống của mình trong phần bình luận bên dưới!

Share
facebookShare on FacebooktwitterShare on TwitterpinterestShare on Pinterest
linkedinShare on LinkedinvkShare on VkredditShare on ReddittumblrShare on TumblrviadeoShare on ViadeobufferShare on BufferpocketShare on PocketwhatsappShare on WhatsappviberShare on ViberemailShare on EmailskypeShare on SkypediggShare on DiggmyspaceShare on MyspacebloggerShare on Blogger YahooMailShare on Yahoo mailtelegramShare on TelegramMessengerShare on Facebook Messenger gmailShare on GmailamazonShare on AmazonSMSShare on SMS
Post navigation
Previous post

Top 10 Tựa Game Hay Dưới 64GB Đáng Trải Nghiệm Nhất Mọi Thời Đại

Next post

Top 5 Tựa Game Giống Stardew Valley Sắp Ra Mắt Bạn Không Thể Bỏ Lỡ

Administrator

Related Posts

Categories Thủ Thuật Máy Tính Khám Phá Thế Giới Ngầm Tấn Công Mạng qua Honeypot SSH: Những Sự Thật Đáng Sợ

Lexar NM790 SSD 2TB: Nâng Cấp Hiệu Năng Vượt Trội Với Giá Tốt Nhất Năm

Categories Thủ Thuật Máy Tính Khám Phá Thế Giới Ngầm Tấn Công Mạng qua Honeypot SSH: Những Sự Thật Đáng Sợ

Khám Phá Màn Hình Samsung Odyssey G9 G95SD: Cơ Hội Sở Hữu Màn Hình QD-OLED Chơi Game Tối Ưu Với Giá Giảm Sốc

Categories Thủ Thuật Máy Tính Khám Phá Thế Giới Ngầm Tấn Công Mạng qua Honeypot SSH: Những Sự Thật Đáng Sợ

Tối Ưu Mạng Gia Đình: Vì Sao Tường Lửa Phần Cứng Là Bước Đi Tiếp Theo Bạn Cần?

Leave a Comment Hủy

Recent Posts

  • Top Game Kinh Dị Co-op Hay Nhất: Kinh Hoàng Hơn Khi Có Bạn!
  • Oblivion Remastered: Thử Thách Ma Cà Rồng Khắc Nghiệt Đốt Cháy Người Chơi
  • Lexar NM790 SSD 2TB: Nâng Cấp Hiệu Năng Vượt Trội Với Giá Tốt Nhất Năm
  • Khám Phá Màn Hình Samsung Odyssey G9 G95SD: Cơ Hội Sở Hữu Màn Hình QD-OLED Chơi Game Tối Ưu Với Giá Giảm Sốc
  • 5 Tựa Game Bị “Hype” Quá Mức Nhưng Thất Bại Thảm Hại Trong Lịch Sử Công Nghệ

Recent Comments

Không có bình luận nào để hiển thị.
Copyright © 2025 Thích Thủ Thuật - Powered by Nevothemes.
Offcanvas
Offcanvas

  • Lost your password ?