Chủ Nhật, 12 tháng 6, 2011

10 kỹ thuật tấn công

     CÁC KĨ THUẬT TẤN CÔNG
         Môn: Ứng dụng truyền thông & an ninh thông tin (Đề tài 12a)
         Thành viên (nhóm 5)
         Cao Nguyễn Trung Sang – 07520494
         Nguyễn Cảnh Hà – 07520102
         Hoàng Ngọc Tùng – 07520402
         Hoàng Công Nguyện - 07520487
         Nội dung
[1]        Network Reconnaissance
[2]        Mapping the Network
[3]        Sweeping the Network
[4]        Scanning the Network
[5]        Vulnerability Scanning
[6]        Gaining Control Over the System
[7]        Recording Keystrokes
[8]        Cracking Encrypted Passwords
[9]        Revealing Hidden Paswords
[10]      Gaining Unauthorized Access

     [1] Network Reconnaissance


         Giới thiệu
         Network reconnaissance là thuật ngữ để  kiểm tra các lỗ hổng dễ bị tấn công trong 1 máy tính.
         Có thể do người quản lý tiến hành hoặc có thể là tiền thân của một cuộc tấn công từ bên ngoài.

         Cần phải xác định:
      Loại Network nào mà Hacker muốn tấn công?
      Và Hacker sẽ tấn công Network này như thế nào?

         Một số khái niệm về hoạt động thăm dò Network:
      Xác định mục tiêu
      Phân tích mục tiêu
      Phân tích gói tin
      Google Hacking
         Xác định mục tiêu
         Là một quá trình yêu cầu kiến thức cao. Có nhiều công cụ rất mạnh để hỗ trợ nhưng công cụ tốt nhất vẫn là bộ não.

         Trước khi tiến hành thăm dò, Hacker cần xác định:
      Tổ chức, cá nhân / cái gì mà Hacker sẽ hack?
      Tại sao phải Hack?
      Hacker sẽ tìm kiếm gì nếu đạt được truy cập?

         Một trong những khu vực chính dễ trở thành mục tiêu là những forum, diễn đàn, nhóm gọi chung là newsgroup. Đó là nơi mà những nội dung, thông tin hữu dụng cho mọi người được admin cung cấp. Vì vậy nên cảnh giác không đưa ra nhiều thông tin hoặc địa chỉ IP thực lên newsgroup ngay cả khi nó được kiểm duyệt kỹ càng.

         Xác định mục tiêu
         Ngay cả khi những thông tin trên newgroup không hữu dụng, Hacker có thể thu thập những mua bán, sát nhập,… để tìm ra lỗ hổng.

         Ví dụ: Một công ty lớn mua lại công ty nhỏ khác cần phải kết nối giữa các công ty. Như vậy, bảo mật sẽ bị nới lỏng hơn để đảm bảo các nhân viên ở các công ty có thể giao dịch, liên lạc thông suốt. Hacker sẽ tấn công các công ty nhỏ hơn với hi vọng bảo mật ở đó kém hơn. Khi thu thập được dữ liệu, dữ liệu đó sẽ được so sánh với công ty lớn để có thể đạt được quyền truy cập vào công ty lớn.
         Phân tích mục tiêu
         Những thông tin đăng ký Website của công ty thường dễ dàng tìm thấy, nó chứa đựng những thông tin, dữ liệu rất quan trọng của công ty. Có thể là địa chỉ vật lý, tên của người quản lý DNS, tên người quản trị mạng, số điện thoại và số fax của công ty, địa chỉ email của admin, DNS server, ISP công ty dùng, những tên miền công ty sở hữu, dải địa chỉ IP công ty đăng ký,…

         Phân tích gói tin
         Thông qua hành động gửi email, hacker có thể phân tích những chi tiết  như tên mail server, địa chỉ IP private người dùng trong công ty dẫn tới có thể xác định được dải địa chỉ IP được dùng trong công ty. Những gói tin khác có thể tiết lộ địa chỉ IP public cũng như tên của Router.

         Thông thường, những website nhỏ của công ty kém bảo mật hơn, và có thể trở thành điểm bắt đầu của cuộc tấn công. Nếu 1 công ty có vài Website và tất cả đều hoạt động, tất cả cần được bảo mật, không chỉ bảo mật 1 Website chính.
         Google Hacking
         Google Hacking là sử dụng Google tìm kiếm dựa vào những thông tin khóa từ những công ty khác nhau.

         Một số kỹ thuật sử dụng google:
      site:: tìm kiếm với việc chỉ định rõ website hoặc domain.
      filetype:: Tìm kiếm thông tin trong kiểu file mà mình mong muốn.
       link:: Tìm kiếm những site nào có chứa liên kết đến domain mà mình chỉ định.
       cache:: Tìm kiếm trong cache của google.
      intitle: Nó sẽ tìm kiếm phần Title của document.
      inurl: Nó sẽ tìm kiếm trong phạm vi url.

         Mục đích sử dụng chính của Google Hacking là một tổ chức để lộ thông tin  bảo mật của 1 điểm yếu xác định nào đó trong mạng.

         [2] Mapping the Network

         Mapping the Network
         Với mục tiêu mạng đã được xác định, tiếp theo Hacker cần hoàn thành là sơ đồ mạng. Điều này có nghĩa là nhận dạng mô hình mạng và bao nhiêu nút mạng dựa vào địa chỉ IP và vị trí của chúng trong mạng.

         Có một số công cụ bảo mật mạng chuyên nghiệp để quản lý mạng. Một vài công cụ miễn phí trong khi một số khác phải trả phí. Công cụ mà nhiều Hacker sử dụng là Traceroute.

         Tracert là công cụ dòng lệnh nền tảng Windows dùng để xác định đường đi từ nguồn tới đích. Tracert tìm đường tới đích bằng cách gửi các thông báo Echo Request ICMP tới từng đích. Sau mỗi lần gặp một đích, giá trị Time to Live (TTL) sẽ được tăng lên cho tới khi gặp đúng đích cần đến. Đường đi được xác định từ quá trình này.
         Tracerroute
         Xác định đường đi tời Google.com.vn (74.125.71.99) qua tối đa 30 hop.
         [3] Sweeping the Network

         Sweeping the Network
         Khi sơ đồ mạng cơ bản được hoàn thành, Hacker cần tìm hiểu chi tiết hơn các nút trong mạng đích:
      Xác định hệ thống có đang "sống" hay không.
      Kiểm tra các port nào đang mở.
      Xác định những dịch vụ nào đang chạy tương ứng với các port đang mở.
      Xác định hệ điều hành và phiên bản của nó.
      Kiểm tra lỗi của những dịch vụ đang chạy.
      Xây dựng sơ đồ những host bị lỗi.
         Sweeping the Network
         Xác định những host trong hệ thống đang sống hay chết rất quan trọng vì có thể Hacker ngừng tấn công khi xác định hệ thống đã chết. Việc xác định hệ thống có sống hay không có thể sử dụng kỹ thuật Ping Sweep.

         Bản chất của quá trình này là gửi hàng loạt ICMP Echo Request đến 1 dải địa chỉ host mà hacker đang muốn tấn công và mong đợi  ICMP Reply. Dựa vào danh sách những host đáp ứng có thể xác định dải địa chỉ IP đang được dùng trong mạng.
         [4] Scanning the Network

         Port Scanning
         Là phương pháp chính dùng để phát hiện mục tiêu khi Admin tắt ICMP ở firewall.
         Một số phương thức để thực hiện scan port:
      TCP connect scan
      TCP SYN scan
      TCP ACK scan
         Phân loại port scanning theo tiêu chuẩn RFC 793:
      TCP FIN scan
      TCP Null scan
      TCP Xmas Tree scan


         Công cụ Netstat
         Hiển thị trạng thái của các kết nối TCP/IP  hiện tại.

         Cung cấp thông tin của mọi kết nối và các cổng đang lắng nghe, các ứng dụng sử dụng trong quá trình kết nối.

         Công cụ Netstat
         Cú pháp sử dụng: NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval]

         Các tùy chọn:
-a hiển thị tất cả các kết nối và các cổng đang lắng nghe.
-e hiển thị các thông kê về Enthernet.
-n hiển thị địa chỉ và số cổng dưới định dạng số.
-s hiển thị trạng thái của từng giao thức.
-p protocol hiển thị các kết nối giao thức được chỉ tên TCP hoặc UDP.
-r hiển thị nội của bảng lộ trình.
- ...
         Công cụ Netstat
         Ví dụ: để hiển thị tất cả các địa chỉ đang kết nối và các cổng đang lắng nghe ta dùng lệnh: netstat -a
         Công cụ SuperScan
         Là công cụ scan port mạnh mẽ, miễn phí dùng cho Windows.

         Bên cạnh đó còn có nhiều công cụ mạng bổ sung như ping, traceroute, HTML HEAD, Whois…
         Sử dụng SuperScan
         Trong tab Scan: nhập dải địa chỉ IP cần scan bằng cách nhập địa chỉ IP bắt đầu và địa chỉ IP kết thúc.
         Thiết lập các tùy chọn cần thiết trong tab Host and Service Discovery.
         Bắt đầu scan.
         [5] Vulnerability Scanning

         Công cụ Nessus
         Là phần mềm mã nguồn mở phổ biến nhất thế giới dùng để quyét các lỗ hổng bảo mật.

         Quét và báo cáo chi tiết thông tin về lỗ hổng phát hiện được.

         Hoạt động scan lỗ hổng dựa trên các plugin.
         Khởi động Nessus
          Hoạt động theo mô hình Client – Server
          Với Nessus 4, Client được sử dụng bằng trình duyệt Web, có thể truy cập vào Nessus Server ở bất kì máy tính con nào.
         Nessus Policies
         Tạo các Policy thích hợp để kiểm tra các hệ thống cụ thể
         Configuring Nessus Scan
          Thiết lập các tùy chọn để quét cho hệ thống.
          Chọn các Policy thích hợp.
          Chọn các phân vùng mạng.
         Xem các Nessus Report
          Nessus báo cáo chi tiết về các lỗ hổng tìm được sau khi scan.
          Các lỗi bảo mật được phân loại theo 3 mức độ: Low, Medium, Hight.

         [5] Gaining Control Over
the System

         Công cụ Netcat
         Có thể kết nối tới bất kì máy tính nào đang lắng nghe.

         Không phải cung cấp bất kì chứng thực nào.
         Cú pháp của Netcat
         Chế độ kết nối : nc [-tùy_chọn] tên_máy cổng1[-cổng2] 

         Chế độ lắng nghe: nc -l -p cổng [-tùy_chọn] [tên_máy] [cổng] 
         Các tùy chọn của Netcat
-d:        Netcat sẽ chạy ở chế độ steath(không hiển thị trên thanh Taskbar)
-e:        prog thi hành chương trình prog
-h:        gọi hướng dẫn
-i:         trì hoãn mili giây trước khi gởi một dòng dữ liệu đi
-l:         đặt Netcat vào chế độ lắng nghe để chờ các kết nối đến
-L:       buộc Netcat "cố" lắng nghe. Nó sẽ lắng nghe trở lại sau mỗi khi ngắt một kết nối.
-n:        chỉ dùng địa chỉ IP ở dạng số
-o:        file ghi nhật kí vào file
-p:        port chỉ định cổng port
-r:         yêu cầu Netcat chọn cổng ngẫu nhiên(random)
- ...
         Sử dụng Netcat
         Quét cổng: để quét các cổng TCP (400-500) của host 10.70.23.164 ta gõ lệnh sau:
             nc -v -z 10.70.23.164 400-500
         Sử dụng Netcat
         Kết nối 2 máy tính Windows:
      Trên máy tính cần kết nối, khới tạo chế độ lắng nghe bằng lệnh: nc -nvv -l -p 2020 -e cmd.exe
      Trên một máy tính khác, để kết nối ta dùng lệnh:
                  nc -nvv 172.16.84.2 2020
      Lúc này ta có thể toàn quyền sử dụng chương trình cmd trên máy tính cần kết nối đến.
         [7] Recording Keystrokes

         Recording Keystrokes
         Đây là phương pháp ghi nhận lại các thao tác bàn phím. Các chương trình này ( Key logger ) sẽ ghi lại các thao tác trên bàn phím và ghi lại dưới dạng file log các phím đã được nhấn. Nó có thể ghi lại các phím ấn hay thậm chí là chụp ảnh màn hình ( screenshot ) hay là quay phim lại các thao tác diễn ra trên màn hình.

         Phân loại:  có 2 loại:
- Key logger phần mềm: là các chương trình chạy trên Hệ Điều Hành, có thể chạy ngầm hoặc là công khai.
- Key logger phần cứng: các thiết bị phần cứng được gắn thêm vào máy tính để ghi nhận các hoạt động bàn phím.

         Một số phần mềm Keylogger

         Một số phần mềm Keylogger

         Key logger hardware
         Key logger hardware

         Xét mức độ nguy hiểm
         Nhiễm vào máy không qua cài đặt/Cài đặt vào máy cực nhanh (quick install)?
         Có thuộc tính ẩn/giấu trên trình quản lí tiến trình (process manager) và trình cài đặt và gỡ bỏ chương trình (Add or Remove Program)?
         Theo dõi không thông báo/PC bị nhiễm khó tự phát hiện?
         Có thêm chức năng Capturescreen hoặc ghi lại thao tác chuột?
         Khó tháo gỡ?
         Có khả năng lây nhiễm, chống tắt (kill process)?
       Thành phần của một Key Logger
1. Chương trình điều khiển (Control Program): dùng để theo điều phối hoạt động, tinh chỉnh các thiết lập, xem các tập tin nhật ký cho Keylogger. Phần này là phần được giấu kỹ nhất của keylogger, thông thường chỉ có thể gọi ra bằng một tổ hợp phím tắt đặc biệt.

2. Tập tin hook, hoặc là một chương trình monitor dùng để ghi nhận lại các thao tác bàn phím, capture screen (đây là phần quan trọng nhất).

3. Tập tin nhật ký (log), nơi chứa đựng/ghi lại toàn bộ những gì hook ghi nhận được. Một loại log file.

          Ngoài ra, tùy theo loại có thể có thêm phần chương trình bảo vệ (guard, protect), chương trình thông báo (report)…
       Phương pháp phòng tránh
         Tránh:
- Dùng bàn phím ảo
- Sử dụng Copy ‘n’ Paste cho các thông tin quan trọng.
Type ‘n’ Click.

         Diệt:
- Dùng các phần mềm chuyên dụng: Keylogger Killer, AntiLogger, Ad-Aware SE, Malwarebytes Anti-Malware…
- Dùng các phần mềm Anti-virus được tích hợp diệt Spyware: các bộ Kaspersky, Avast, AVG, Avira…
         [8] Cracking
Encrypted Passwords

         Cracking Encrypted Passwords
         Phương pháp này dựa trên việc phá, giải mã các mật mã đã được mã hóa. Có 2 phần mền tiêu biểu thuộc phương pháp tấn công này:
      LCP: trong môi trường Windows
      John the Ripper: trong môi trường Linux

         Đặc điểm:
      Được cài đặt trên máy chủ ( host ).
      Được quyền thực thi trên host.
      Khá mất thời gian với các password dài và phức tạp.


         Công cụ LCP
         LCP được thiết kế để khôi phục password. Nó có thể khôi phục từ các máy local cho tới remote, local SAM file. Nguyên tắc hoạt động dựa trên từ điển, brute force và hybrid.

         Công cụ John the Ripper
         Được sử dụng trên nền Linux. Có các phương pháp dò tìm password trong thư mục /etc/shadow và /etc/passwd tương tự như LCP.
         [9]Revealing Hidden Paswords

         Revealing Hidden Paswords
         Password dùng để bảo vệ các dữ liệu riêng, để ngăn chặn người khác tiếp cận các ứng dụng đặc biệt là điều cần thiết, thậm chí trong một số trường hợp còn là điều bắt buộc.

         Nói chung những chương trình trong Windows, password dưới dạng các dấu hoa thị (*).

         Nhưng nếu bạn quên password thì sẽ như thế nào? Tình trạng quên password càng dễ xảy ra hơn với những ứng dụng mà thỉnh thoảng bạn mới đụng đến.
         Revealing Hidden Paswords
         Hãy liên tưởng đến việc ta cởi bỏ khăn trải bàn để lộ ra mặt bàn bên dưới. Mật khẩu cũng vậy, vấn đề nằm ở việc loại bỏ hình thù chứa đựng nó. Công cụ được sử dụng để làm điều này có tên gọi là Snadboy’s Revelation.

         Revealing Hidden Paswords
         Snadboy’s Revelation sẽ hiện ra mật khẩu thật
         [10] Gaining
Unauthorized Access

         Gaining Unauthorized Access
         Truy cập bất hợp pháp là sự truy cập không quyền vào hệ thống máy tính hoặc mạng máy tính nhằm phá hủy chương trình hệ thống và dữ liệu, đánh cắp thông tin, làm tắc nghẽn quá trình hoạt động của mạng.

         Thủ đoạn truy cập bất hợp pháp thường gặp:
      Đánh cắp dữ liệu, khai thác trộm thông tin trên các đường nối mạng máy tính
      Đánh cắp thời gian sử dụng dịch vụ mạng
         Gaining Unauthorized Access

         Có 2 phương thức chính :
      Leo thang đặc quyền
      Đạt được quyền không ưu tiên
         1. Leo thang đặc quyền
         Có 2 loại :
      Leo thang đặc quyền ngang : Với tư cách là user1 àchiếm quyền của user2 hay các user khác.

      Leo thang đặc quyền dọc : Với quyền của user bình thường à“làm cách nào đó” để có quyền hạn cao hơn, có thể là admin. 
         2. Đạt được quyền không ưu tiên
         Được coi là một trong những bước quan trọng khi Attacker đột nhập vào các hệ thống.

         Giả sử bạn chiếm được quyền và đăng nhập vào hệ thống Win NT . Nhưng user bạn lấy được không có quyền tương đương như nhóm Administrators mà thuộc nhóm có quyền thấp hơn . Như vậy ta không có quyền làm nhiều thao tác như Admin . Vậy phải làm gì ?
         2. Đạt được quyền không ưu tiên
         Nếu đột nhập tìm ra một tài khoản không phải là admin, chúng ta chỉ có thể gắng định danh thêm thông tin để giành được quyền ưu tiên cao hơn.

         Bằng cách lục sùng càng nhiều thông tin hệ thống càng tốt, chúng ta có khả định danh khả năng truy cập các thư mục quan trọng như : %systemroot%/system32 và %systemroot%.

         Chúng ta còn phải tính đến khả năng truy cập Registry. Việc này thường gọi là tiến trình thu thập thông tin.
         2. Đạt được quyền không ưu tiên
         Tuy nhiên việc làm này có thể thay thế bằng công cụ có tên gọi là GetAdmin. (Download tại http://www.packetstormsecurity.org)

         Hạn chế của GetAdmin là nó phải chạy cục bộ trên hệ đích. Do hầu hết người dùng không thể đăng nhập cục bộ vào một hệ phục vụ NT theo ngầm định, nên nó chỉ thực sự hữu ích để lừa đảo các thành viên của nhóm Operators lập sẵn ( Account , Backup , Server ... ) và tài khoản Internet ngầm định.


Không có nhận xét nào:

Đăng nhận xét