[Phần 1] Hacking Team bị hack như thế nào?
[Phần 1] Hacking Team bị hack như thế nào?
Chào 500 anh em trong Forum Trong những ngày nghỉ hè rảnh rỗi này, chả biết làm gì, một mình bên cái laptop, đang tìm tòi lục lại mấy bài viết cũ thì mình lại vớ ngay món này https://whitehat.vn/forum/thao...ck-nhu-the-nao của bác Wtf, sau một hồi đọc qua thì mình thấy tài liệu này hay phết các bác ạ, có rất nhiều tri thức quý giá nên là quyết định đầu tư vài ngày lục lọi, phân tích mong là có thể học được một phần nào skills của tác giả
Bài “review” sau khi cho Hacking Team ăn hành này dài phết đấy! Nên mình quyết định chia làm hai phần rồi post nên đây không lại sợ anh em bội thực với lại em cũng biết dài quá thì chả ma nào thèm đọc đâu ahii che giấu thông tin bản thân, sử dụng các server này để thực hiện những hành động gây chú ý như quét cổng, download database, kiểu như “mượn dao giết người” :/
[/LIST]
=> Tác giả cũng cho biết thêm để chuẩn bị cho vụ tấn công này, ông ra đã phải sử dụng một server mới, domain mới, đăng ký email mới, sử dụng địa chỉ bitcoin mới, sử dụng các công cụ sẵn có phổ biến hoặc viết các tools dành riêng cho cuộc tấn công, thậm chí phải thực hiên một số tác vụ theo những cách khác so với thông thường để không để lại manh mối nào.
2. Tiến hành thu thập thông tin về mục tiêu
Đây là bước bắt buộc đối với bất kỳ cuộc tấn công nào. Biết người biết ta trăm trận trăm thắng mà
a) Thu thập thông tin về công nghệ
Một số tools không thể bỏ qua khi tiến hành thu thập thông tin về mục tiêu:
theHarvester: https://github.com/laramies/theHarvester
recon-ng: https://bitbucket.org/LaNMaSteR53/recon-ng
"via della moscova 13" site:domaintools.com
Zmap: https://zmap.io/
Masscan: https://github.com/robertdavidgraham/masscan
Việc quét này sẽ dễ dàng bị các IDS phát hiện tuy nhiên tác giả đã ngay lập tức trấn an “you don't have to worry since the whole internet is being scanned constantly”
Bonus một số tool dùng để thu thập các thông tin cơ bản của một website (công nghệ, loại server, version-CMS, IP …):
http://www.morningstarsecurity.com/research/whatweb
b) Social information
Đây là cách tiếp cận thông tin về đối tượng nhưng không hoàn toàn là về kỹ thuật nữa mà mục tiêu sẽ là tiếp cận những con người đang tương tác với hệ thống đó. Ở đây chính là các nhân viên của Hacking Team. Lỗ hổng chỉ cần đến từ một mắt xích có thể là phần mềm nhưng cũng hoàn toàn có thể là một cá nhân trong hệ thống, một password yếu, một tài liệu mật được lưu plaintext, một trojan trong máy tính cá nhân là đủ để có thể mở toang cánh cửa xâm nhập vào cả hệ thống lớn. Vì vậy thông tin về các nhân viên, vai trò của họ, địa chỉ liên lạc, hệ điểu hành, trình duyệt mà họ dùng… sẽ cho bạn nhiều cơ hội tiếp cận hệ thống hơn bạn nghĩ. Một số công cụ không thể bỏ qua trong việc thu thập các dữ liệu này đó là:
https://www.elevenpaths.com/es/labst...a-2/index.html
3. Tìm hướng xâm nhập vào hệ thống mạng nội bộ
Ở đây tác giả đã liệt kê ba cách thông dụng, mình thấy khá đầy đủ khi muốn có mặt trong hệ thống mạng của một tổ chức khác
a) Social Engineering
Phương pháp này tập trung chủ yếu và việc khai thác điểm yếu từ phía con người từ đó lợi dụng để ăn cắp thông tin quan trọng, cài đặt mã độc nên máy tính cá nhân, leo thang chiếm quyền điểu khiển, nghiễm nhiên gia nhập vào hệ thống mạng nội bộ từ xa. Tải các file cài đặt không rõ nguồn gốc, click vào một đường link chứa mã độc, hay bị bắt cài một “extension” cho trình duyệt khi truy cập một web lạ là những hình thức dễ thấy nhất của kiểu tấn công này.
Tuy nhiên đời không như là mơ, thành viên của Hacking Team đều thuộc hạng lão làng trong lĩnh vực này nên tác giả đã không chọn cách “múa rìu qua mắt thợ” mà chỉ nêu ra cho anh em thưởng thức mà thôi
b) Buying Access
Ai cũng biết rằng trong một công ty lớn thì lượng người truy cập internet đặc biệt là dân văn phòng là rất lớn đồng thời với đó là nguy cơ chỉ cần một trong số các nhân viên đó mất cảnh giác (Social engineering chả hạn) thì trong mạng nội bộ của họ tồn tại những “bots” lúc nào không hay. Bản thân tác giả cũng khẳng định “Almost all of the Fortune 500, with their huge networks, have somebots already inside”. Như vậy muốn có được một vị trí trong mạng nội bộ của một công ty thì một phương án đơn giản là mua lại những con bots đó từ những người đã phát tán chúng (việc phát tán này diễn ra hàng giờ, với những botnet lên tới hàng trăm ngàn máy tham gia, thậm chí các tác giả còn đua nhau xem ai có mạng botnet rộng lớn hơn :’( ). Một ý tưởng kiếm $$$ cũ mà mới cho những ai chưa biết J (đùa thôi, mình không có ý cổ súy đâu nhé :v )
Lại phải tuy nhiên lẫn nữa, mục tiêu lần này là HackingTeam một trong những công ty bảo mật hàng đầu với con số nhân việc chỉ vỏn vẹn vài chục nhưng lại toàn các “experts”. Nên phương án này có vẻ không khả thi dù nó tốn ít công sức hơn rất nhiều so với cách mà tác giả sử dụng dưới đây
c) Khai thác lỗ hổng công nghệ
Đây là cách khó khăn nhất nhưng mà lại là cách mà khó có cơ quan tổ chức nào tìm được cách phòng tránh hữu hiệu được. Vì việc nâng cấp công nghệ cho trang thiết bị, dịch vụ khó có thể thực hiện được ngay, huống hồ ngay cả khi đã áp dụng những phần mềm mới cập nhật, hay các thiết bị phần cứng mới nhất thì trên đó vẫn có thể đang tồn tại các lỗ hổng 0-day.
Sau quá trình thu thập thông tin tác giả đã có được các thông tin như sau:
https://docs.google.com/presentation...mDA2z9zzHpon8A
4. Chuẩn bị sẵn sang các tool để khai phá dữ liệu khi đã thâm nhập mạng nội bộ của đối phương
Để chuẩn bị cho “chuyến đi” như vậy cần phải rà soát lại toàn bộ các “đồ” mình sẽ dụng, chế thêm các món mới phục vụ cho các mục đích đặc biệt, dành cho các mục tiêu đặc biệt. Đặc biệt lưu ý của tác giả ở đây đó là “Using the exploit just once” và sau đó để lại một backdoor để remote tới thiết bị nhằm tránh đề lại dấu vết, nạn nhân không dễ để tìm kiếm nguồn gốc lỗ hổng, như vậy ta vẫn có thể tiến hành các cuộc xâm nhập sau nếu có lỡ bị phát hiện.
Tác giả cũng có liệt kê một số tools sau:
Bây giờ là phần gay cấn nhất, khi tác giả đã khai thác 0day thành công và ở trong mạng nội bộ của Hacking Team.
Đầu tiên tác giả chỉ ngồi yên và lắng nghe traffic mạng sử dụng responder.py với tùy chọn –A để lắng nghe trên các port mà không gửi phản hồi để có được cái nhìn tổng quan về “miền đất hứa” :v. Tiếp đó là sử dụng nmap để rà soát các dịch vụ đang chạy trong network. Một số thứ hay ho bắt đầu từ đây:
“NoSQL, or rather NoAuthentication, has been a huge gift to the hacker
community” – xin được trích lại nguyên văn của tác giả …
Đến đoạn gay cấn rồi đây tuy nhiên bài viết đã khá dài và đảm bảo được nội dung do mình đã chia ra từ đầu. Vì vậy có lẽ mình sẽ tạm dừng “phím” tại đây. Xin hẹn gặp lại anh em ở bài viết tiếp theo vào tuần sau
Chào 500 anh em trong Forum Trong những ngày nghỉ hè rảnh rỗi này, chả biết làm gì, một mình bên cái laptop, đang tìm tòi lục lại mấy bài viết cũ thì mình lại vớ ngay món này https://whitehat.vn/forum/thao...ck-nhu-the-nao của bác Wtf, sau một hồi đọc qua thì mình thấy tài liệu này hay phết các bác ạ, có rất nhiều tri thức quý giá nên là quyết định đầu tư vài ngày lục lọi, phân tích mong là có thể học được một phần nào skills của tác giả
Bài “review” sau khi cho Hacking Team ăn hành này dài phết đấy! Nên mình quyết định chia làm hai phần rồi post nên đây không lại sợ anh em bội thực với lại em cũng biết dài quá thì chả ma nào thèm đọc đâu ahii che giấu thông tin bản thân, sử dụng các server này để thực hiện những hành động gây chú ý như quét cổng, download database, kiểu như “mượn dao giết người” :/
[/LIST]
=> Tác giả cũng cho biết thêm để chuẩn bị cho vụ tấn công này, ông ra đã phải sử dụng một server mới, domain mới, đăng ký email mới, sử dụng địa chỉ bitcoin mới, sử dụng các công cụ sẵn có phổ biến hoặc viết các tools dành riêng cho cuộc tấn công, thậm chí phải thực hiên một số tác vụ theo những cách khác so với thông thường để không để lại manh mối nào.
2. Tiến hành thu thập thông tin về mục tiêu
Đây là bước bắt buộc đối với bất kỳ cuộc tấn công nào. Biết người biết ta trăm trận trăm thắng mà
a) Thu thập thông tin về công nghệ
Một số tools không thể bỏ qua khi tiến hành thu thập thông tin về mục tiêu:
- Google: đương nhiên rồi “cái gì khó thì hỏi gu gồ”, đối với giới hacker thì google còn hơn cả thế thậm chí đã có cả một cuốn sách hướng dẫn việc sử dụng Google phục vụ cho pentest “Google Hacking for Penetration Testers”. Để mà nói về các “mánh khóe” khai thác thông tin từ google thì có lẽ mình sẽ gặp lại anh em ở một series khác
- Subdomain Enumeration: tập trung đục đẽo vào các server public của một công ty qua đó tìm cách xâm nhập mạng nội bộ là con đường phổ biến. Nhưng làm sao để biết dải IP mà một công ty sử dụng, không phải lúc nào các thông tin này cũng công khai. Thông qua subdomain là một giải pháp cho việc này. Một số tools phổ biến để liệt kê subdomain của một website đó được tác giả nhắc tới:
theHarvester: https://github.com/laramies/theHarvester
recon-ng: https://bitbucket.org/LaNMaSteR53/recon-ng
- Whois lookups and reverse lookups: đây là các công cụ online phục vụ cho việc tìm kiếm thông tin về một tên miền, dải IP của một công ty, kết hợp với “google-dork” ta có thể dễ dàng lọc được thông tin. Đây là hai ví dụ của tác giả khi tìm kiếm thông tin về dải IP của hacking team dựa vào địa chỉ ở Milan (Ý) của công ty này:
"via della moscova 13" site:domaintools.com
- Port scanning and fingerprinting: Một số công cụ hữu ích trong việc quét cổng và xác định dịch vụ đang hoạt động trong một mạng cũng như trên một host được được tác giả gợi ý đó là:
Zmap: https://zmap.io/
Masscan: https://github.com/robertdavidgraham/masscan
Việc quét này sẽ dễ dàng bị các IDS phát hiện tuy nhiên tác giả đã ngay lập tức trấn an “you don't have to worry since the whole internet is being scanned constantly”
Bonus một số tool dùng để thu thập các thông tin cơ bản của một website (công nghệ, loại server, version-CMS, IP …):
http://www.morningstarsecurity.com/research/whatweb
b) Social information
Đây là cách tiếp cận thông tin về đối tượng nhưng không hoàn toàn là về kỹ thuật nữa mà mục tiêu sẽ là tiếp cận những con người đang tương tác với hệ thống đó. Ở đây chính là các nhân viên của Hacking Team. Lỗ hổng chỉ cần đến từ một mắt xích có thể là phần mềm nhưng cũng hoàn toàn có thể là một cá nhân trong hệ thống, một password yếu, một tài liệu mật được lưu plaintext, một trojan trong máy tính cá nhân là đủ để có thể mở toang cánh cửa xâm nhập vào cả hệ thống lớn. Vì vậy thông tin về các nhân viên, vai trò của họ, địa chỉ liên lạc, hệ điểu hành, trình duyệt mà họ dùng… sẽ cho bạn nhiều cơ hội tiếp cận hệ thống hơn bạn nghĩ. Một số công cụ không thể bỏ qua trong việc thu thập các dữ liệu này đó là:
- Google: cái này thì có lẽ mình không cần nói thêm
- theHarvester: tool dùng để thu thập các thông tin của một nhân viên trong một cty dựa vào việc lấy thông tin từ các máy tìm kiếm như google, shodan, baidu, yahoo.
- LinkedIn: Đây là mạng xã hội dành riêng cho những nhân viên văn phòng, nơi họ post profile để tiện cho các nhà tuyển dụng.
- Data.com: tương tự như linkedin, là một trang mạng chuyên dành cho việc tuyển dụng.
- Các thông tin được các công ty public như một phần trong việc giới thiệu về công ty mình (một số công cụ chuyên dụng extract data từ các website công ty là metagoofil, FOCA)
https://www.elevenpaths.com/es/labst...a-2/index.html
3. Tìm hướng xâm nhập vào hệ thống mạng nội bộ
Ở đây tác giả đã liệt kê ba cách thông dụng, mình thấy khá đầy đủ khi muốn có mặt trong hệ thống mạng của một tổ chức khác
a) Social Engineering
Phương pháp này tập trung chủ yếu và việc khai thác điểm yếu từ phía con người từ đó lợi dụng để ăn cắp thông tin quan trọng, cài đặt mã độc nên máy tính cá nhân, leo thang chiếm quyền điểu khiển, nghiễm nhiên gia nhập vào hệ thống mạng nội bộ từ xa. Tải các file cài đặt không rõ nguồn gốc, click vào một đường link chứa mã độc, hay bị bắt cài một “extension” cho trình duyệt khi truy cập một web lạ là những hình thức dễ thấy nhất của kiểu tấn công này.
Tuy nhiên đời không như là mơ, thành viên của Hacking Team đều thuộc hạng lão làng trong lĩnh vực này nên tác giả đã không chọn cách “múa rìu qua mắt thợ” mà chỉ nêu ra cho anh em thưởng thức mà thôi
b) Buying Access
Ai cũng biết rằng trong một công ty lớn thì lượng người truy cập internet đặc biệt là dân văn phòng là rất lớn đồng thời với đó là nguy cơ chỉ cần một trong số các nhân viên đó mất cảnh giác (Social engineering chả hạn) thì trong mạng nội bộ của họ tồn tại những “bots” lúc nào không hay. Bản thân tác giả cũng khẳng định “Almost all of the Fortune 500, with their huge networks, have somebots already inside”. Như vậy muốn có được một vị trí trong mạng nội bộ của một công ty thì một phương án đơn giản là mua lại những con bots đó từ những người đã phát tán chúng (việc phát tán này diễn ra hàng giờ, với những botnet lên tới hàng trăm ngàn máy tham gia, thậm chí các tác giả còn đua nhau xem ai có mạng botnet rộng lớn hơn :’( ). Một ý tưởng kiếm $$$ cũ mà mới cho những ai chưa biết J (đùa thôi, mình không có ý cổ súy đâu nhé :v )
Lại phải tuy nhiên lẫn nữa, mục tiêu lần này là HackingTeam một trong những công ty bảo mật hàng đầu với con số nhân việc chỉ vỏn vẹn vài chục nhưng lại toàn các “experts”. Nên phương án này có vẻ không khả thi dù nó tốn ít công sức hơn rất nhiều so với cách mà tác giả sử dụng dưới đây
c) Khai thác lỗ hổng công nghệ
Đây là cách khó khăn nhất nhưng mà lại là cách mà khó có cơ quan tổ chức nào tìm được cách phòng tránh hữu hiệu được. Vì việc nâng cấp công nghệ cho trang thiết bị, dịch vụ khó có thể thực hiện được ngay, huống hồ ngay cả khi đã áp dụng những phần mềm mới cập nhật, hay các thiết bị phần cứng mới nhất thì trên đó vẫn có thể đang tồn tại các lỗ hổng 0-day.
Sau quá trình thu thập thông tin tác giả đã có được các thông tin như sau:
- Dải IP public: 93.62.139.32 - 93.62.139.47
- Main website được xây dựng dựa trên Joomla
- Các thông tin liên quan tới mailserver, routers, ứng dụng VPN, ứng dụng lọc spam
https://docs.google.com/presentation...mDA2z9zzHpon8A
4. Chuẩn bị sẵn sang các tool để khai phá dữ liệu khi đã thâm nhập mạng nội bộ của đối phương
Để chuẩn bị cho “chuyến đi” như vậy cần phải rà soát lại toàn bộ các “đồ” mình sẽ dụng, chế thêm các món mới phục vụ cho các mục đích đặc biệt, dành cho các mục tiêu đặc biệt. Đặc biệt lưu ý của tác giả ở đây đó là “Using the exploit just once” và sau đó để lại một backdoor để remote tới thiết bị nhằm tránh đề lại dấu vết, nạn nhân không dễ để tìm kiếm nguồn gốc lỗ hổng, như vậy ta vẫn có thể tiến hành các cuộc xâm nhập sau nếu có lỡ bị phát hiện.
Tác giả cũng có liệt kê một số tools sau:
- Busybox: gói các câu lệnh Unix mà hệ thống nhúng không hỗ trợ (vì hệ điều hành trên một thiết bị nhúng rất nhỏ gọn và chỉ phục vụ một số ít các lệnh)
- Nmap: công cụ quét cổng và dịch vụ
- Responder.py: công cụ nổi tiếng trong việc lắng nghe sau đó giả mạo các gói tin phản hồi tương thích được với hàng loạt giao thức khác nhau (HTTP, SMB, MS SQL, FTP , LDAP, SMTP, POP), rất phù hợp với tấn công MiMD
- Python: dùng để thông dịch các tool viết bằng python mà tác giả sử dụng
- Dsniff, tcpdump: công cụ nghe nén traffic mạng
- Socat: Dùng để chạy backdoor trên thiết bị
- a SOCKS proxy server, tgcd sẽ được nói rõ hơn trong phần sau để tránh mơ hồ
Bây giờ là phần gay cấn nhất, khi tác giả đã khai thác 0day thành công và ở trong mạng nội bộ của Hacking Team.
Đầu tiên tác giả chỉ ngồi yên và lắng nghe traffic mạng sử dụng responder.py với tùy chọn –A để lắng nghe trên các port mà không gửi phản hồi để có được cái nhìn tổng quan về “miền đất hứa” :v. Tiếp đó là sử dụng nmap để rà soát các dịch vụ đang chạy trong network. Một số thứ hay ho bắt đầu từ đây:
“NoSQL, or rather NoAuthentication, has been a huge gift to the hacker
community” – xin được trích lại nguyên văn của tác giả …
Đến đoạn gay cấn rồi đây tuy nhiên bài viết đã khá dài và đảm bảo được nội dung do mình đã chia ra từ đầu. Vì vậy có lẽ mình sẽ tạm dừng “phím” tại đây. Xin hẹn gặp lại anh em ở bài viết tiếp theo vào tuần sau
Chỉnh sửa lần cuối bởi người điều hành: