Học thử nghiệm thâm nhập với Metasploitable 3

DDos

VIP Members
22/10/2013
524
2.191 bài viết
Học thử nghiệm thâm nhập với Metasploitable 3
Thử nghiệm thâm nhập (Penetration Testing) là một quá trình đánh giá, kiểm tra mức độ bảo mật của một hệ thống. Quá trình này bao gồm các nguyên tắc, thủ tục và phương pháp được thực hiện trong bất kỳ đánh giá mức độ bảo mật hệ thống. Từ quá trình đánh giá này, sẽ giúp những quản trị viên xác định và khắc phục các lỗ hổng có thể tồn tại trên hệ thống và đưa ra các biện pháp khắc phục nhằm tránh những hậu quả có thể xảy với các tổ chức doanh nghiệp.

Metasploitable3.jpeg

Metasploitable 3 là một máy ảo Windows Server 2008R2 bao gồm các lỗ hổng. Mục đích của Metasploitable 3 được tạo ra là để giúp cho việc học tập, nghiên cứu về thử ngiệm thâm nhập một cách dễ dàng hơn. Các lỗ hổng tồn tại trên Metasploitable 3 bao gồm:
  • GlassFish
  • Apache Struts
  • Tomcat
  • Jenkins
  • IIS FTP
  • IIS HTTP
  • psexec
  • SSH
  • WinRM
  • chinese caidao
  • ManageEngine
  • ElasticSearch
  • Apache Axis2
  • WebDAV
  • SNMP
  • MySQL
  • JMX
  • Wordpress
  • SMB
  • Remote Desktop
  • PHPMyAdmin
Các bạn có thể tự build cho mình riêng một bản Metasploitable 3 theo hướng dẫn này.
Nếu các bạn không thể tự build, thì mình đã build sẵn. Các bạn có thể tải về tại đây.

Mình sẽ thường xuyên cập nhật các hướng dẫn làm sao để khai thác hệ thống (thông qua metasploitable 3) tại topic này.
 
Chỉnh sửa lần cuối bởi người điều hành:
Nmap- Một vài công nghệ cho phép tránh sự phát hiện Firewall trong quá trình scan

Nếu bạn là một người thử nghiệm xâm nhận, bạn sẽ cần phải thu thập thông tin về hệ thống như một bước rất quan trọng trong quá trình thử nghiệm xâm nhập. Hệ thống thường được đặt đằng sau một firewall, để block lưu lượng mạng đáng ngờ. Do đó, bạn cần biết cách để tránh sự phát hiện của tường lửa để thu thập những thông tin cần thiết.

Nmap cung cấp cho chúng ta rất nhiều tùy chọn cho việc tránh sự phát hiện của tường lửa.

Fragment Packets

Công nghệ này các hiệu quả trong trong những ngày đầu, tuy nhiên bạn vẫn có thể sử dụng nó nếu như bạn tìm thấy một tường lửa không được cấu hình phù hợp. Nmap cung cấp khả năng này để fragment các gói tin trong quá trình scanning với tùy chọn -f do đó bạn có thể vượt qua sự kiểm soát các gói tin đáng ngờ của tường lửa.

149089296622.png


Trong hình dưới đây, bạn có thể nhìn thấy Nmap đang gửi gói tin có kích cỡ 8 bytes khi bạn thực hiện scan với tùy chọn -f


149089296612.png



Specify a specific MTU


Nmap cung cấp tùy chọn này tới người sử dụng để cài đặt một MTU (Maximum Transmission Unit) xác định tới gói tin. Nó là tương tự như công nghệ packet fragmentation mà đã diễn tả ở trên. Trong quá trình scan, nmap sẽ tạo ra các gói tin với kích cỡ dựa trên số mà bạn cài đặt. Trong ví dụ này, mình sẽ cài đặt tham số sau tùy chọn -mtu là 24, lúc này nmap sẽ tạo ra gói tin với kích cỡ là 24 bytes gây ra một sự nhầm lẫn đối với tường lửa. Bạn có thể sử dụng tùy chọn -mtu với lệnh: -mtu number target

149089296631.png


Use Decoy addresses

Trong công nghệ này, bạn có thể đưa Nmap để giả mạo các gói tin từ máy khác. Trong files log của tường lửa, không chỉ có một địa chỉ IP mà còn có rất nhiều địa chỉ IP giả mạo, do đó tưởng lửa rất khó để xác định IP nào đến từ máy đang scan để block. Có hai tùy chọn mà bạn có thể sử dụng trong công nghệ này:
+ nmap -D RND:10 target - nmap sẽ đưa ra một số lượng IP giả mạo ngẫu nhiên
+ namp -D decoy1,decoy2,decoy3... - bạn sẽ cài đặt một số lượng địa chỉ IP xác định

14908929660.png


Trong hình dưới đây, bạn có thể nhìn thấy trong file log của tường lửa tồn tại 3 địa chỉ IP khác nhau, chỉ có một địa chỉ IP là thực còn lại là các IP giả mạo.

149089296601.png


Bạn cần nhớ rằng, máy mà bạn sẽ sử dụng như một sự giả mạo phải đang trực tuyến để công nghệ này làm việc. Nếu sử dụng quá nhiều sự giả mạo có thể gây ra quá tải cho mạng.

Idle Zombie scan

Công nghệ này cho phép bạn sử dụng máy khách trên mạng mà nó đang không làm việc "idle" để thực hiện scan. Lợi thế của công nghệ này là nó rất kín đáo bởi vì file log của tường lửa sẽ ghi địa chỉ IP của Zombie. Tuy nhiên, để có một kết quả thuận lợi bạn phải tìm được nhiều máy mà nó đang không làm việc trên mạng.

Metasploit framework có tùy chọn scan mà có thể giúp bạn khám phá các máy mà nó đang không làm việc trên mạng và nó có thể được sử dụng trong khi thực hiện loại scan này.

14908929668.png


Như bạn có thể thấy ở hình trên, việc scan đã khám phá ra hai IP 192.168.1.67 và 192.168.1.69 đang không làm việc trên mạng, và đó là cơ hội để bạn thực hiện công nghệ quét này. Để thực hiện một Idle Zombie scan bạn sử dụng lệnh nmap -sl Zombie IP target IP

14908929667.png


Bạn có thể thấy hiệu quả của việc thực hiện công nghệ này bằng cách kiểm tra file log của tường lửa. Như bạn có thể thấy file log ghi lại địa chỉ IP của máy Zombie (SRC = 192.168.1.69) mà không phải địa chỉ IP thực của chúng ta đang thực hiện scan.

1490892966log-files-idle-scan.png


Source port number specification

Một lỗi phổ biến mà khá nhiều người quản trị đang làm khi cấu hình tường lửa đó là cài đặt một cấu hình nào đó mà nó cho phép các lưu lượng tới từ một số cổng xác định. Tùy chọn -source-port của Nmap có thể được sử dụng để khai thác việc cấu hình sai này. Các cổng phổ biến mà bạn có thể sử dụng cho công nghệ này là 20,53 và 67.

149089296611.png


Append Random Data

Nhiều tường lửa đang thực hiện việc kiểm tra các gói tin bằng việc xem xét kích cỡ của gói tin để xác định việc quét cổng tiềm ẩn. Đó là bởi vì rất nhiều công cụ scan đang gửi các gói tin có kích cỡ xác định. Để tránh khỏi điều sự phát hiện tường lửa, bạn có thể sử dụng lệnh -data-length để thêm dữ liệu và gửi các gói tin với nhiều kích cỡ khác nhau so với kích cỡ mặc định của các gói tin. Trong hình dưới đây, bạn có thể thay đổi kích cỡ của gói tin bằng cách thêm 25 bytes vào chúng.

14908929666.png


Kích cỡ của các gói tin mà Nmap gửi tới mục tiêu là 58 bytes như bạn có thể nhìn thấy trong hình dưới đây.

14908929665.png


Với lệnh -data-length 25 bạn có thể thay đổi giá trị tới 83 để tránh xa sự phát hiện của tường lửa.

14908929664.png


Scan with Random Order

Trong công nghệ này, bạn có thể quét một số lượng máy ngẫu nhiên. Lệnh mà bạn sử dụng trong trường hợp này là -randomize-hosts. Công nghệ này được kết hợp với tùy chọn làm chậm thời gian (slow timing) có thể hiệu quả khi bạn không muốn bị cảnh báo bởi tường lửa.

14908929663.png


MAC Address Spoofing

Công nghệ này khác hiệu quả đặc biệt nếu có cấu hình lọc địa chỉ MAC bởi người quản trị để cho phép chỉ lưu lượng mạng tới từ địa chỉ MAC được cho phép. Do đó, bạn cần phải xác định được địa chỉ MAC nào bạn cần để cài đặt sẽ mang lại kết quả.

Tùy chọn -spoof-mac có khả năng chọn một địa chỉ MAC từ một nhà sản xuất xác định, để ngọn một địa chỉ MAC ngẫu nhiên hoặc cài đặt một địa chỉ MAC xác định nào đó mà bạn chọn. Lợi thế của công nghệ này là nó làm cho quá trình quét của bạn khó bị phát hiện hơn bởi địa chỉ MAC thực của bạn sẽ không xuất hiện trong file log của tường lửa.

149089296621.png


Send Bad Checksums

Checksums được sử dụng bởi giao thức TCP/IP để đảm báo tính toàn vẹn của dữ liệu. Tuy nhiên việc gửi các gói tin với checksums không đúng có thể giúp bạn khám phá thông tin từ hệ thống mà nó không được cấu hình phù hợp hoặc để tránh sự phát hiện của tường lửa.

Bạn sử dụng lệnh nmap -badsum IP để gửi các gói tin với checksums xấu tới mục tiêu của bạn. Hình dưới đây, bạn không nhận được bất kỳ kết quả nào. Nó có nghĩa rằng hệ thông đã được cấu hình phù hợp.

14908929661.png


Trong Metasploitable3, chế độ tường lửa trên đã được kích hoạt sẵn nhằm ngăn chặn tấn công có thể có. Áp dụng các kỹ thuật nói trên, trong video dưới mình sẽ demo cách để vượt qua tường lửa nhằm thu thập thông tin về các dịch vụ đang chạy trên webserver

 
Comment
Brute force ssh service

Chúng ta đã các định được các service đang chạy trên máy chủ Windows Server thông qua việc sử dụng Nmap.

ssh.png


Bạn có thể thấy rằng ssh đang mở và chạy ở cổng số 22.
SSH là một chương trình tương tác giữa máy chủ và máy khách có sử dụng cơ chế mã hoá đủ mạnh nhằm ngăn chặn các hiện tượng nghe trộm, đánh cắp thông tin trên đường truyền. Các chương trình trước đây: telnet, rlogin không sử dụng phương pháp mã hoá. Vì thế bất cứ ai cũng có thể nghe trộm thậm chí đọc được toàn bộ nội dung của phiên làm việc bằng cách sử dụng một số công cụ đơn giản. Sử dụng SSH là biện pháp hữu hiệu bảo mật dữ liệu trên đường truyền từ hệ thống này đến hệ thống khác.


Nếu quản trị viên, không có biện pháp bảo vệ nhằm ngăn chặn các lỗ hổng trong ssh, kẻ tấn công hoàn toàn có thể khai thác và thực thi câu lệnh thông qua giao thức này.

Mình sẽ thực hiện cách đơn giản nhất đó là brute force. Chi tiết, mình demo qua video dưới đây


 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  • Thích
Reactions: namcan
Comment
AD ơi link down Metasploitable 3 bị hỏng rồi, AD up lại cho em xin với.
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
AD ơi cho mình hỏi nếu mình dùng Metasploitable 2 Linux thì mình có thế cài đặt Snort trên đó được không? Cảm ơn AD.
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  • Thích
Reactions: VladimirTrinh95
Comment
Thẻ
metasploitable 3 penetration testing thử nghiệm thâm nhập
Bên trên