Forensic 4 – Log Mining

Log là một dữ liệu quan trọng trong quá trình điều tra số, hầu như tất cả dấu vết của một cuộc tấn công đều được lưu lại tại đây.

Log Mining hay Log Forensics là thuật ngữ để chỉ về một cuộc điều tra dựa trên Log.

Mặc dù chứa rất nhiều thông tin có ích, nhưng việc phân tích Log lại không hề đơn giản. Dữ liệu lớn, nhiều file riêng lẻ, mỗi loại có một cấu trúc khác nhau và có thể bị xóa, sửa đổi là những bất lợi khi làm việc với Log.

Việc phân tích Log có thể sử dụng một số công cụ như:

  • Apache Log Viewer(chuyên dùng phân tích log Apache)
  • Log Parse(chuyên dùng phân tích các loại log của Microsoft như IIS, NCSA…)
  • Logwatch(monitor log trên linux)
  • Web Log Expert
  • Splunk(monitor, phân tích big data, các log dung lượng lớn, mất phí)

….

Ngoài ra notepad hay các script tự viết cũng là những công cụ hữu ích để đọc log.

Case-Study: Một máy chủ linux bị nghi ngờ xâm nhập, toàn bộ log đã được backup ra tại đây. Tìm hiểu chi tiết về cuộc tấn công này.

Toàn bộ log ở đây đều trên linux, để hiểu hơn về các loại log trong môi trường này bạn nên xem qua ở đây:

https://help.ubuntu.com/community/LinuxLogFiles

1 Hệ thống có dấu hiệu bị xâm nhập không? Và nếu có thì phương pháp tấn công là gì ?

Kiểm tra file auth.log(đây là log xác thực của hệ thống trên linux, có thể tìm thấy tại /var/log/auth.log), chúng ta sẽ thấy sự bất thường:

Mã:

Apr 19 05:26:04 app-1 sshd[7369]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=58.17.30.49  user=root

Apr 19 05:26:06 app-1 sshd[7369]: Failed password for root from 58.17.30.49 port 53236 ssh2

Apr 19 05:26:08 app-1 sshd[7371]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=58.17.30.49  user=root

Apr 19 05:26:10 app-1 sshd[7371]: Failed password for root from 58.17.30.49 port 53453 ssh2

Apr 19 05:26:12 app-1 sshd[7373]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=58.17.30.49  user=root

Apr 19 05:26:15 app-1 sshd[7373]: Failed password for root from 58.17.30.49 port 53655 ssh2

Apr 19 05:26:17 app-1 sshd[7375]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=58.17.30.49  user=root

Trong 1 giây có hàng loạt request yêu cầu đăng nhập bị thất bại, chứng tỏ kẻ tấn công đang tìm cách “đoán”(bruteforce) mật khẩu để đăng nhập hệ thống thông qua SSH.

2 Có bao nhiêu IP thực hiện tấn công ? Bao nhiêu trong đó tấn công thành công ?

Khoanh vùng các IP thực hiện việc brute force phía trên, có thể xác định được 28 IP tấn công tất cả, trong đó có 6 IP đã brute force thành công.

Mã:

Apr 19 05:42:27 app-1 sshd[9031]: Accepted password for root from 219.150.161.20 port 40877 ssh2

Apr 19 10:45:36 app-1 sshd[28030]: Accepted password for root from 222.66.204.246 port 48208 ssh2

Apr 19 22:37:24 app-1 sshd[2012]: Accepted password for root from 190.166.87.164 port 50753 ssh2

Lưu ý là tôi chỉ liệt kê 1 phần của log.

Danh sách các IP đã thành công:

  • 219.150.161.20
  • 222.66.204.246
  • 121.11.66.70
  • 222.169.224.197
  • 122.226.202.12
  • 61.168.227.12

Một điểm khá thú vị là 2 IP 121.11.66.70 và 222.66.204.246 vẫn thực hiện brute force sau khi đã attack thành công.

Công việc phân tích này có thể đơn giản hóa bằng cách viết các script để thực hiện một cách tự động.

3 Chuyện gì xảy ra sau khi hệ thống bị xâm nhập?

Thời điểm đầu tiên mà log ghi nhận sự xâm nhập thành công là vào Apr 19 05:41:44 từ địa chỉ 219.150.161.20.

Quan sát các đoạn log khác từ sau thời điểm này, chúng ta thấy:

  • Từ auth.log, có một số user được tạo mới như packet, dhg, messagebus, fido, wind3str0y. Search log với từ khóa useradd để thấy kết quả
  • Ứng dụng được cài thêm như nmap, psybnc, eggdrop, exim mail… Cái này kiểm tra qua log apt và dpkg, đây là nơi ghi lại log cài, setting ứng dụng.
  • Mở cổng inbound 2424, 53, 113. Xem ở auth.log

Mã:

Apr 24 20:03:06 app-1 sudo:     root : TTY=pts/2 ; PWD=/etc ; USER=root ; COMMAND=/sbin/iptables -A INPUT -p ssh -dport 2424 -j ACCEPT

Apr 24 20:03:44 app-1 sudo:     root : TTY=pts/2 ; PWD=/etc ; USER=root ; COMMAND=/sbin/iptables -A INPUT -p tcp -dport 53 -j ACCEPT

Apr 24 20:04:13 app-1 sudo:     root : TTY=pts/2 ; PWD=/etc ; USER=root ; COMMAND=/sbin/iptables -A INPUT -p udp -dport 53 -j ACCEPT

Apr 24 20:06:22 app-1 sudo:     root : TTY=pts/2 ; PWD=/etc ; USER=root ; COMMAND=/sbin/iptables -A INPUT -p tcp –dport ssh -j ACCEPT

Apr 24 20:11:00 app-1 sudo:     root : TTY=pts/2 ; PWD=/etc ; USER=root ; COMMAND=/sbin/iptables -A INPUT -p tcp –dport 53 -j ACCEPT

Apr 24 20:11:08 app-1 sudo:     root : TTY=pts/2 ; PWD=/etc ; USER=root ; COMMAND=/sbin/iptables -A INPUT -p tcp –dport 113 -j ACCEPT

4 Server này còn có những vấn đề gì khác ?

  • Rõ ràng là SSH cho phép truy cập tài khoản root, mật khẩu yếu dẫn đến việc bị bruteforce
  • Từ daemon.log thấy:

Mã:

Mar 18 10:18:42 app-1 /etc/mysql/debian-start[7566]: WARNING: mysql.user contains 2 root accounts without password!

2 tài khoản root không đặt mật khẩu, Đây rõ ràng là một vấn đề an ninh nghiêm trọng, do lỗi cấu hình của quản trị viên

  • Log access của web cho thấy có 1 số request nhờ server thành 1 proxy, nhưng đã bị chặn.

Mã:

221.192.199.35 – – [19/Apr/2010:09:23:37 -0700] “GET http://www.wantsfly.com/prx2.php?hash=FABB83

Nguồn WhiteHat.vn

Xem thêm:

 

Chia sẻ bài viết



0943 23 00 99
Bản đồ