Quy trình điều tra số trên Linux Phần 2
Bài viết về điều tra số trên Linux phần 1 đã hướng dẫn các bạn cách Tạo và lưu trữ ảnh của bộ nhớ trong (RAM), bài viết phần này Chuyên gia an ninh mạng Nguyễn Việt Anh và Nguyễn Quốc Hoàn của Securitybox sẽ hướng dẫn các bạn cách Theo dõi và phân tích các kết nối mạng đang diễn ra, ...
Bài viết về điều tra số trên Linux phần 1 đã hướng dẫn các bạn cách Tạo và lưu trữ ảnh của bộ nhớ trong (RAM), bài viết phần này Chuyên gia an ninh mạng Nguyễn Việt Anh và Nguyễn Quốc Hoàn của Securitybox sẽ hướng dẫn các bạn cách Theo dõi và phân tích các kết nối mạng đang diễn ra, cách Kiểm tra dữ liệu hệ thống và Lập tài liệu về cấu hình ngày và giờ hệ thống.
Theo dõi và phân tích các kết nối mạng đang diễn ra
Công việc chính của quá trình này là thu thập và phân tích trạng thái cấu hình các giao diện mạng, các kết nối đang diễn ra thông qua các gói tin được truyền qua các thiết bị đầu cuối, từ đó phát hiện dịch vụ độc hại, truy vết máy chủ điều khiển mã độc, cảnh báo các dấu hiệu bất thường trong hệ thống mạng. Công đoạn này đặc biệt quan trọng trong điều tra sự cố DoS, DDoS, APT hoặc lây nhiễm mã độc. Các công cụ phổ biến dùng để theo dõi và phân tích kết nối mạng trên Linux gồm:
– Wireshark, NetworkMiner bắt và phân tích gói tin với giao diện đồ họa
– Tcpdump phân tích gói tin với giao diện console
– p0f dùng để phát hiện hệ điều hành
– netcat debug kết nối, đóng vai trò cả client và server
– Snort phát hiện xâm nhập – Nmap, tcpxtract, ssldump, nslookup, maxmind… và nhiều công cụ khác
Sử dụng công cụ Wireshark lắng nghe kết nối, bắt và phân tích gói tin trong cuộc điều tra nghi ngờ một máy tính bị tấn công từ xa, phát hiện kết nối sử dụng dịch vụ Local Security Authority Subsystem Service – LSASS qua hàm DsRoleUpgradeDownlevelServer, là một hàm trong thư viện NETAPI32.dll. LSASS từng bị dính lỗi bảo mật với hàm DsRoleUpgradeDownlevelServer(), chi tiết lỗi được công bố tại CVE2003 0533(http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2003-0533)
Ngoài ra, Linux cung cấp nhiều lệnh kiểm tra cấu hình mạng rất hữu ích như: – Kiểm tra các giao diện mạng, danh sách known host và máy chủ DNS: ifconfig, /etc/hosts, /etc/network/interfaces,… – Kiểm tra bảng định tuyến: netstat -rn – Kiểm tra bảng ARP: arp -a – Theo dõi các kết nối mạng đang diễn ra: netstat -anpo, kết hợp grep – Các socket đang mở: sudo lsof -i -P -n
Kiểm tra dữ liệu hệ thống
Các dữ liệu hệ thống có thể kể đến như:
– Phiên bản nhân hệ điều hành – Hostname
– Danh sách người dùng hệ thống và những phiên đăng nhập gần nhất
– Các kết nối, các handles,…
– Các tập tin ẩn trong cấu hình người dùng
– Tập tin SSH know_host
– Nội dung thư mục /tmp, C:WindowsTemp
– Các chương trình được lập lịch, autorun, cron,…
– Danh sách phân vùng ổ đĩa và bản ghi MBR
– Thông tin hệ thống tập tin
– Lịch sử trình duyệt web
– Nội dung thư mục Trash (Linux), Recycle-bin (Windows)
– Danh sách giao diện mạng, danh sách phần cứng
– Bảng ARP, bảng routes
– Nội dung thư mục Network Shares
– Các giá trị khóa registry
Các dữ liệu kể trên có thể chứa manh mối hữu ích trong quá trình điều tra, tùy vào từng tình huống sự cố cụ thể. Ta có thể thu thập dữ liệu hệ thống và quản lý chúng một cách dễ dàng trên cả Linux và Windows bằng công cụ FastIR (Fast Incident Response).
Lập tài liệu về cấu hình ngày và giờ hệ thống
Cấu hình ngày giờ hệ thống là thông tin quan trọng dùng để đối chiếu với thông tin thời gian file log, thời gian truy cập và sửa đổi tập tin, thời gian đăng nhập của một user hoặc bất kỳ sự kiện nào khác mà ta phân tích được về sau. Trên Linux, để khai thác thông tin cấu hình ngày và giờ hệ thống, ta sử dụng các lệnh date, uptime,…
Trên Windows, để khai thác thông tin tương tự, ta sử dụng lệnh systeminfo kết hợp lệnh find.
Đón đọc thêm nhiều bài viết từ chuyên gia an ninh mạng Nguyễn Việt Anh tại BLOG SECURITY