Bước đầu tiên trong một cuộc tấn công có chủ đích – hoặc kiểm tra thâm nhập của Red Team – là thu thập các thông tin giá trị về mục tiêu. Mặc dù có nhiều cách và phương tiện để thực hiện điều này một cách bí mật, nhưng việc thu thập thông tin tình báo thường bắt đầu bằng việc thu thập thông tin từ các nguồn công khai, được gọi chung là tình báo nguồn mở hoặc OSINT. Hiện nay có vô số cách OSINT có thể thu thập hợp pháp nhờ mạng xã hội và sự phổ biến của các hoạt động trực tuyến, đây có thể là tất cả những gì cần thiết để cung cấp cho kẻ tấn công mọi thứ họ cần để lập hồ sơ về một tổ chức hoặc cá nhân.
Trong bài viết này, mình sẽ giúp bạn tìm hiểu tất cả về OSINT và cách bạn có thể học cách sử dụng các công cụ OSINT để hiểu rõ hơn cách thu thập thông tin của hacker.
OSINT là gì?
Nếu bạn đã nghe tên này rồi nhưng còn băn khoăn không biết nó nghĩa là gì, thì OSINT là viết tắt của từ open source intelligence, dùng để chỉ bất kỳ thông tin nào có thể được thu thập hợp pháp từ các nguồn công khai, miễn phí về một cá nhân hoặc tổ chức. Trên thực tế, điều đó có nghĩa là thông tin được tìm thấy trên internet, nhưng về mặt kỹ thuật, bất kỳ thông tin công khai nào đều thuộc OSINT cho dù đó là sách hoặc báo cáo, bài viết trên báo chí hay tuyên bố trong thông cáo báo chí.
OSINT cũng bao gồm thông tin có thể được tìm thấy trong các loại phương tiện khác nhau. Mặc dù chúng ta thường nghĩ nó dựa trên văn bản, thông tin trong hình ảnh, video, hội thảo trên web, bài phát biểu và hội nghị đều thuộc OSINT.
OSINT được sử dụng để làm gì?
Bằng cách thu thập các nguồn thông tin có sẵn công khai về một mục tiêu cụ thể, kẻ tấn công – hoặc người kiểm tra thâm nhập có thể lập hồ sơ về một đối tượng để hiểu rõ hơn về các đặc điểm của họ và thu hẹp các lĩnh vực cần tìm kiếm. Kẻ tấn công có thể sử dụng thông tin có được để xây dựng kế hoạch tấn công. Các cuộc tấn công mạng có mục tiêu, giống như các cuộc tấn công quân sự, bắt đầu bằng trinh sát và giai đoạn đầu tiên của trinh sát kỹ thuật số là thu thập thông tin thụ động mà không gây ảnh hưởng đến mục tiêu.
Thu thập OSINT về bản thân hoặc doanh nghiệp của chính bạn cũng là một cách để kiểm tra xem bạn đang bị lộ lọt những thông tin nào từ các nguồn công khai. Khi bạn biết thông tin nào có thể thu thập được từ các nguồn công khai, bạn có thể sử dụng chúng để giúp bạn hoặc nhóm bảo mật của bạn phát triển các chiến lược phòng thủ tốt hơn. Thông tin công khai của bạn có thể suy ra những lỗ hổng nào? Các cách mà kẻ tấn công có thể sử dụng?
OSINT Framework là gì?
Thu thập thông tin từ nhiều nguồn khác nhau là một công việc rất tốn thời gian, nhưng có rất nhiều công cụ có thể giúp việc thu thập thông tin trở nên đơn giản hơn. Mặc dù bạn có thể đã nghe nói về các công cụ như Shodan và các tool quét port như Nmap và Zenmap, nhưng các công cụ đó chưa phải đầy đủ nhất. May mắn thay, bản thân các nhà nghiên cứu bảo mật đã ghi lại các công cụ có sẵn. Hoặc sử dụng các công cụ OSINT miễn phí đã được AnonnyViet giới thiệu.
Một nơi khá tốt để bắt đầu là OSINT Framework do Justin Nordine tổng hợp lại. Framework cung cấp các phương án cho một loạt các nhiệm vụ từ thu thập địa chỉ email đến tìm kiếm trên mạng xã hội hoặc dark web.
Trong nhiều bài viết về các công cụ OSINT, bạn sẽ thấy một hoặc hai tool có sẵn trong Kali Linux, chẳng hạn như theHarvester hoặc Maltego, nhưng để biết tổng quan đầy đủ về các công cụ OSINT có sẵn trong Kali, hãy xem danh sách công cụ Kali , trang này cung cấp cho bạn cả những công cụ và ví dụ về cách sử dụng chúng.
Những công cụ như Nmap và Recon-ng đều là các công cụ yêu thích của hacker. Công cụ Nmap cho phép bạn tìm thông tin hệ thống thông qua địa chỉ IP như cổng đang mở, có bị lỗ hổng bảo mật không, thiết bị đang sử dụng IP đó…
Recon-Ng là một công cụ được viết bằng Python bởi Tim Tomes để trinh sát web. Bạn có thể sử dụng nó để làm những việc như liệt kê các tên miền phụ bằng một tên miền nhất định, nhưng có hàng tá mô-đun cho phép bạn kết nối với những thứ như công cụ tìm kiếm trên internet Shodan, Github, Jigsaw, Virustotal và những thứ khác, khi bạn thêm API keys. Các module được phân loại theo các nhóm như module Recon, Reporting và Discovery.
Các công cụ OSINT, kỹ thuật và tài nguyên khác
Tất nhiên, một trong những công cụ tốt nhất để sử dụng trong việc thu thập thông tin tình báo là các công cụ tìm kiếm như Google, Bing, v.v. Trên thực tế, có hàng tá công cụ tìm kiếm và một số chúng có thể trả lại kết quả tốt hơn những công cụ khác cho các loại truy vấn cụ thể. Vấn đề là, làm thế nào bạn có thể truy vấn nhiều công cụ này một cách hiệu quả?
Một công cụ tuyệt vời giải quyết vấn đề này và làm cho các truy vấn web hiệu quả hơn là Searx. Searx là công cụ metasearch cho phép bạn ẩn danh và đồng thời thu thập kết quả từ hơn 70 dịch vụ tìm kiếm. Searx miễn phí và bạn thậm chí có thể lưu trữ phiên bản của riêng mình để đảm bảo quyền riêng tư tối đa. Người dùng không được theo dõi cũng như không được lập hồ sơ và cookie bị tắt theo mặc định. Searx cũng có thể được sử dụng trên Tor để ẩn danh trực tuyến.
Nhiều phiên bản công khai của Searx được mod lại dành cho những bạn không muốn dùng nền tảng có sẵn. Xem Searx wiki để biết thêm danh sách.
Một nơi tuyệt vời để cập nhật bất cứ thông tin gì trên Internet là theo dõi mọi người là Twitter. Tuy nhiên, theo dõi mọi thứ trên Twitter có thể khó khăn. May mắn thay, cũng có một công cụ OSINT cho việc đó, được gọi là Twint.
Twint là một công cụ thu thập thông tin Twitter được viết bằng Python giúp bạn dễ dàng thu thập và tìm kiếm thông tin trên Twitter một cách ẩn danh mà không cần đăng ký Twitter hoặc sử dụng khóa API như cách bạn phải làm với các công cụ như Recon-ng. Với Twint, không cần xác thực hoặc sử dụng API nào cả. Chỉ cần cài đặt công cụ và bắt đầu thôi. Bạn có thể tìm kiếm theo người dùng, vị trí địa lý và phạm vi thời gian, ddây chỉ là một số tùy chọn của Twint.
Vậy làm sao sử dụng Twint để giúp bạn theo kịp những công nghệ mới phát triển trong OSINT? Vì Twint cho phép bạn chỉ định tùy chọn, vậy nên bạn có thể tìm các bài tweet mới được gắn thẻ #OSINT hàng ngày. Bạn có thể tự động hóa tập lệnh đó và gửi kết quả vào cơ sở dữ liệu để xem một cách thuận tiện hơn bằng cách sử dụng tùy chọn --database
của Twint để lưu với định dạng SQLite.
twint -s '#osint' --since 2019-07-17
Đã có 58 bài đăng kể từ ngày 17 tháng 7 năm 2019.
Một công cụ tuyệt vời khác mà bạn có thể sử dụng để thu thập thông tin công khai là Metagoofil. Công cụ này sử dụng công cụ tìm kiếm của Google để truy xuất các tệp PDF, Tài liệu Word, Powerpoint và Excel công khai từ một tên miền nhất định. Sau đó, nó có thể tự động trích xuất dữ liệu từ các tài liệu này để tạo ra một báo cáo liệt kê thông tin như tên người dùng, phiên bản phần mềm, máy chủ và tên máy.
Kết luận
Trong bài viết này, mình đã giới thiệu khái niệm cơ bản nhất về OSINT và lý do tại sao nó hữu ích. Mình đã cung cấp cho bạn các công cụ và hướng dẫn cách sử dụng chúng. Cả các trang web tìm hiểu về OSINT nữa.
Đối với bất kỳ ai tham gia vào lĩnh vực an ninh mạng, hiểu cách thu thập thông tin OSINT là một kỹ năng quan trọng. Cho dù bạn đang bảo vệ mạng doanh nghiệp hay đang kiểm tra điểm yếu của mạng, bạn càng có nhiều thông tin thì bạn càng có khả năng nhìn thấy các lỗ hổng tốt hơn. Trang bị kiến thức đó, giúp bạn có thể tiếp tục phát triển các chiến lược phòng thủ tốt hơn.