Cách đọc và nhận biết gói tin pcap từ các cuộc tấn công mạng

Thảo luận trong 'Infrastructure security' bắt đầu bởi nǝıH, 18/06/20, 03:06 PM.

  1. nǝıH

    nǝıH Moderator Thành viên BQT

    Tham gia: 23/03/20, 11:03 PM
    Bài viết: 24
    Đã được thích: 17
    Điểm thành tích:
    3
    Trong các cuộc tấn công có chủ đích thì bước đầu tiên kẻ tấn công sẽ thực hiện việc thu thập thông tin về hệ thống mạng máy tính mà chúng định khai thác ví dụ như cổng đóng và mở, thông tin hệ điều hành, các dịch vụ đang sử dụng,…. Bằng cách rà quét (scan) vào hệ thống mạng của nạn nhân. Từ đó hacker sẽ có thể tìm và khai thác vào các lỗ hổng đang tồn tại trên hệ thống. Hay việc kẻ tấn công tìm cách cài các phần mềm độc hại vào một hệ thống máy tính nào đó cũng là một phần của các cuộc tấn công APT. Vậy làm thế nào chúng ta có thể nhận biết được các cuộc tấn công như vậy để đưa ra các biện pháp phòng tránh kịp thời.

    Có rất nhiều hình thức scan và mỗi hình thức scan lại có các gói tin pcap khác nhau. Sau đây mình sẽ đi lần lượt các hình thức scan và cách nhận biết các cuộc tấn công thông qua các gói tin pcap. Ở đây mình sử dụng một phần mềm quen thuộc để đọc gói tin là “Wireshark”:

    1. TCP half open scan: là một cuộc tấn công thăm dò. Trong đó, kẻ tấn công sẽ cố gắng lấy thông tin các cổng được mở trên hệ thống của nạn nhân. Bằng cách gửi một gói tin [SYN] để yêu cầu thiết lập kết nối tới một cổng ngẫu nhiên. Nếu cổng được mở, nó sẽ trả lại bằng gói tin [SYN + ACK], còn nếu cổng không mở nó sẽ trả lại gói tin [RST].
    - Để hiển thị tất cả các gói chứa yêu cầu SYN và loại phản hồi SYN. Mở file “Ioc_TCPHalfScanAttempt.pcapng”, trong filter nhập: “tcp.flags.syn == 1”
    1-tcp-half-scan.PNG
    2-tcp-half-scan.PNG
    Ở đây ta có thể thấy IP 10.10.10.55 gửi rất nhiều gói tin [SYN] đến các cổng của IP 10.10.10.12 sau đó có cổng 49152 gửi trả lại gói tin [SYN, ACK] -> máy chủ có IP 10.10.10.12 mở cổng 49152. Còn những cổng không mở sẽ trả lại gói tin [RST, ACK] (có màu đỏ như trong hình)​

    - Các cổng mở của máy đích trả lời bằng gói tin [SYN + ACK]. Để xem các gói [SYN + ACK] trong filter nhập “tcp.flags.syn == 1 and tcp.flags.ack == 1”
    2.1.PNG
    Có thể thấy các cổng 139,135,21,80, ... đã trả lời bằng gói tin [SYN + ACK] suy ra, các cổng này đang mở trên hệ thống đích.

    2. TCP Null Scan: kẻ tấn công gửi các gói tin TCP không có flag (None). Nếu cổng mở sẽ không trả lời gói tin đó, còn cổng đóng sẽ trả lại bằng gói tin [RST]
    - Mở file “Ioc_TCPNullScanAttempt.pcapng”. Để hiển thị các gói chứa yêu cầu Null trong phần filter nhập “tcp.flags==0x00”
    3-tcp-null-scan.PNG

    4-tcp-null-scan.PNG
    Ta thấy, IP 10.10.10.55 gửi các gói tin null đến các cổng của IP 10.10.10.12 nếu cổng nào trả lời bằng gói tin [RST, ACK] thì cổng đó đang bị đóng, còn lại là các cổng mở

    3. TCP SYN/FIN scan: gần giống null scan, kẻ tấn công sẽ gửi các gói tin trong đó có 2 flag là [SYN] và [FIN]. Nếu cổng mở sẽ không trả lời và cổng đóng sẽ trả lời với gói tin [RST]
    - Mở file “Ioc_TCPSYNFINScanAttempt.pcapng”. Để hiển thị tất cả các gói chứa flag là SYN và FIN trong filter nhập: “tcp.flags==0x003”
    5-tcp-synfin-scan.PNG

    5.1-tcp-synfin-scan.PNG
    Ta thấy IP 10.10.10.15 gửi rất nhiều request có flag là [FIN, SYN] đến IP 10.10.10.12 và các cổng đóng sẽ trả lời lại bằng các gói tin [RST, ACK] (màu đen như trong hình).

    4. ARP sweep: là hình thức tấn công để lấy thông tin của các máy trong cùng một mạng. Kẻ tấn công sẽ gửi đi nhiều gói tin ARP yêu cầu địa chỉ MAC của tất cả các máy.
    - Mở file “Ioc_SweepAttempt.pcapng” trong filter tìm “arp”. Có thể thấy máy có IP 10.10.10.55 gửi rất nhiều gói tin ARP đến các IP khác nhau trong giải mạng để yêu cầu địa chỉ MAC.
    6-arp.PNG

    5. IP Protocol Scan: là một hình thức scan giao thức IP:
    a. Kẻ tấn công gửi gói tin IP không có header thích hợp đến máy chủ nạn nhân.
    - Nếu hacker nhận được thông báo lỗi ICMP là: giao thức không thể truy cập (protocol unreachable) với mã lỗi là type=3 và code=2 điều đó có nghĩa là giao thức đang không được sử dụng.
    - Nếu nhận được thông báo cổng không thể truy cập (port unreachable) với mã lỗi là type=3 và code=3 có nghĩa là giao thức đang được sử dụng
    - Một số trường hợp thông báo ICMP có type=3 và code=0,1,3,9,10,13 có nghĩa là cổng có thể được mở, nhưng gói đã được lọc bởi tường lửa và bị hủy, do đó không nhận được phản hồi (các tài liệu nước ngoài sẽ ghi là giao thức đang bị filtered (bị lọc))
    - Trong trường hợp các giao thức TCP, UDP, ICMP, SCTP, IGMP có bất kỳ phản hồi nào thì chúng đều được coi là mở. Ngay cả sau khi gói tin gửi lại mà một giao thức không có bất kỳ phản hồi nào, nó được công nhận là mở hoặc filtered.​
    b. Để hiển request và reply ICMP, trong file “Ioc_IPProtocolScanAttempt.pcapng" nhập “icmp.type == 8 or icmp.type == 0”
    7-icmp.PNG
    6. OS Fingerprinting: là một kỹ thuật sử dụng để nhận dạng các thông tin của hệ điều hành đang chạy trên máy nạn nhân. Bằng cách thu thập thông tin về hệ điều hành đang chạy, tin tặc có thể xác định được điểm yếu và những lỗi, bug hệ điều hành có thể có.
    - Mở file “Ioc_OSFingerprintingAttempt.pcapng” trong filter tìm “(tcp.flags==0x02)&&(tcp.window_size<1025)”
    7-1 OSFinger.PNG
    Sự tồn tại của các gói tin này được coi là của một hành động lấy thông tin của hệ điều hành.

    7. Bruteforce: cụ thể ở đây là thực hiện trên máy chủ FTP. Kẻ tấn công thực hiện thử tài khoản và mật khẩu nhiều lần để có được quyền truy cập vào máy chủ FTP. Đối với mọi lần thử thất bại, gói chứa mã phản hồi 220 được ghi lại bởi Wireshark.
    - Mở file “Ioc_BruteforceAttempt.pcapng” trong filter tìm “ftp.response.code==220”
    8-bruteforce.PNG
    Có thể thấy tất cả các lần thử đăng nhập vào máy chủ FTP đều thất bại . Một số lượng lớn các lần đăng nhập thất bại có thể coi là hành vi bruteforce.

    8. Pony malware: là một phần mềm lấy cắp thông tin. Nó hoạt động như một trình tải xuống cho các phần mềm độc hại khác
    - Để phát hiện phần mềm độc hại của Pony malware, mở file “Ioc_Ponymalware.pcapng” tìm “http.request.method == "POST"
    9-ponymalware.PNG
    Các tên tệp như: cp.php, gate.php và cfg.bin thường được sử dụng bởi phần mềm độc hại như Zeus. Ở đây ta thấy nhiều yêu cầu được gửi tới “/bdk/gate.php” nên nó có thể là tập tin độc hại
    - Giả sử muốn điều tra thêm về request POST của file /bdk/gate.php, nhấp chuột phải vào bất kỳ request POST của bdk/gate.php và chọn Follow-> TCP Stream để phân tích lưu lượng HTTP. Kiểm tra User-agent trong header của yêu cầu, bạn sẽ thấy User-agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/7.0; SLCC2; .NET…). Đây là User-agent chủ yếu được sử dụng bởi Botnet.​
    10-ponymalware.PNG
    - Hoặc ở đây chúng ta kiểm tra host là: rinmisupher.com trên VirusTotal (VirusTotal là một trang web phân tích các tệp và URL để phát hiện virus, worm, phần mềm độc hại và Trojan,... bằng cách sử dụng phần mềm quét antivirus và các dịch vụ blacklist.)
    11-ponymalware.PNG
    - Để phân tích thêm traffic bạn có thể up file "Ioc_Ponymalware.pcapng" lên trang Packettotal.com
    12-ponymalware.PNG

    Còn rất nhiều các hình thức và cách nhận biết các cuộc tấn công khác. Trên đây mình chỉ lấy một vài hình thức tấn công cơ bản và phổ biến trong bước thu thập thông tin hệ thống của một cuộc tấn công APT.
    Mọi người có bất kỳ góp ý hay câu hỏi nào thì cứ comment ở dưới.
    Link của các file pcap ở đây nhé
     
    Chỉnh sửa cuối: 05/08/20, 04:08 PM
    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
    nktung, whf and TuanMinh like this.
Tags: