1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo bài thực hành học phần thực tập cơ sở bài thực hành 1 6 phân tích log hệ thống

17 3 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phân Tích Log Hệ Thống
Tác giả Nguyễn Anh Vũ
Người hướng dẫn PGS. TS. Hoàng Xuân Dậu
Trường học Học viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành An Toàn Thông Tin
Thể loại Báo cáo bài thực hành học phần thực tập cơ sở
Năm xuất bản 2024-2025
Thành phố Hồ Chí Minh
Định dạng
Số trang 17
Dung lượng 2,5 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mục đích Mục đích của bài thực hành 1.6 là giúp sinh viên nắm được công cụ và cách phân tích log hệ thống, bao gồm: Phân tích log sử dụng grep/gawk trong Linux Phân tích log sử dụng fin

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA AN TOÀN THÔNG TIN

BÁO CÁO BÀI THỰC HÀNH HỌC PHẦN: THỰC TẬP CƠ SỞ

MÃ HỌC PHẦN: INT13147

BÀI THỰC HÀNH 1.6 PHÂN TÍCH LOG HỆ THỐNG

Sinh viên thực hiện:

B22DCAT316 – Nguyễn Anh Vũ

Giảng viên hướng dẫn: PGS TS Hoàng Xuân Dậu

HỌC KỲ 2 NĂM HỌC 2024-2025

Trang 2

MỤC LỤC

MỤC LỤC 2

DANH MỤC CÁC HÌNH VẼ 3

CHƯƠNG 1 GIỚI THIỆU CHUNG VỀ BÀI THỰC HÀNH 4

1.1 Mục đích 4

1.2 Tìm hiểu lý thuyết 4

1.2.1 Lệnh grep 4

1.2.2 Lệnh gawk 5

1.2.3 Lệnh find 5

1.2.4 Tệp /var/log/secure 6

1.2.5 Tệp access_log 6

CHƯƠNG 2 NỘI DUNG THỰC HÀNH 8

2.1 Chuẩn bị môi trường 8

2.2 Các bước thực hiện 9

2.2.1 Phân tích logs bằng grep 9

2.2.2 Phân tích logs sử dụng gawk 12

2.2.3 Phân tích log sử dụng find trong Windows 15

TÀI LIỆU THAM KHẢO 17

Trang 3

DANH MỤC CÁC HÌNH VẼ

Hình 1 – Topo mạng 8

Hình 2 – Kali Linux trong Internal Network 8

Hình 3 – Ubuntu trong Internal Network 9

Hình 4 – Windows Server trong External Network 9

Hình 5 – Kali Linux trong External Network 9

Hình 6 – Cài đặt dịch vụ Apache Server 10

Hình 7 - Quét cổng dịch vụ Apache Server sử dụng nmap trên máy Kali Linux 10

Hình 8 - Truy cập vào địa chỉ web Apache Server 11

Hình 9 - Sao chép website và tìm kiếm từ khóa 11

Hình 10 - Xem file access_log trên máy Ubuntu 12

Hình 11 - Lọc kết quả bằng grep trên file Apache log 12

Hình 12 – Cài đặt dịch vụ SSH và công cụ gawk trên Ubuntu 13

Hình 13 – Sử dụng SSH để kết nối từ máy Kali Attack đến máy Ubuntu Victim 13

Hình 14 – Tạo user mới và đổi mật khẩu 14

Hình 15 – Xem file log trên máy Ubuntu Victim 14

Hình 16 – Kiểm tra nhanh ai đã tạo tài khoản trên hệ thống 14

Hình 17 – Lệnh gawk để kiểm tra ai đã tạo tài khoản mới trên hệ thống 15

Hình 18 - Mở xHydra và cấu hình địa chỉ target, cổng và giao thức 15

Hình 19 - Cấu hình tài khoản và password list để tiến hành tấn công mật khẩu 16

Hình 20 – Lỗi … 16

Trang 4

CHƯƠNG 1 GIỚI THIỆU CHUNG VỀ BÀI THỰC HÀNH

1.1 Mục đích

Mục đích của bài thực hành 1.6 là giúp sinh viên nắm được công cụ và cách phân tích log hệ thống, bao gồm:

Phân tích log sử dụng grep/gawk trong Linux

Phân tích log sử dụng find trong Windows

Tìm hiểu về Windows Event Viewer và auditing

Phân tích event log trong Windows

1.2 Tìm hiểu lý thuyết

1.2.1 Lệnh grep

Lệnh grep (Global Regular Expression Print) là một công cụ mạnh mẽ trong Linux, được sử dụng để tìm kiếm một chuỗi hoặc mẫu (pattern) trong tệp hoặc đầu vào từ dòng lệnh Grep hỗ trợ tìm kiếm văn bản thuần túy cũng như biểu thức chính quy (regex), giúp người dùng lọc và trích xuất dữ liệu một cách hiệu quả

Grep ban đầu được tạo ra như một thử nghiệm Ken Thompson viết grep vào năm 1973 chỉ để hỗ trợ việc tìm kiếm mẫu văn bản trong chương trình ed (một trình soạn thảo văn bản cổ điển) Không ngờ, nó trở thành công cụ không thể thiếu trong Linux

Cú pháp cơ bản:

grep [TÙY CHỌN] "chuỗi_cần_tìm" tên_tệp

Ví dụ:

- Tìm kiếm chuỗi "error" trong tệp logfile.txt:

grep "error" logfile.txt

- Tìm kiếm từ "password" trong tệp config.txt, không phân biệt chữ hoa/thường:

grep -i "password" config.txt

- Tìm kiếm từ chính xác "error" trong tệp log.txt:

grep -w "error" log.txt

- Tìm kiếm chuỗi "failed" trong toàn bộ thư mục và thư mục con:

grep -r "failed" /var/log/

- Hiển thị 3 dòng trước và sau dòng chứa từ "critical":

grep -C 3 "critical" system.log

- Chỉ hiển thị tên tệp có chứa từ "success":

Trang 5

grep -l "success" *.log

- Hiển thị kết quả tìm kiếm với phần khớp được tô màu:

grep color=auto "warning" log.txt

1.2.2 Lệnh gawk

Lệnh gawk (GNU Awk) là một công cụ xử lý văn bản mạnh mẽ trong Linux, giúp thao tác và trích xuất dữ liệu từ tệp văn bản theo từng dòng Nó đặc biệt hữu ích khi làm việc với dữ liệu có cấu trúc như tệp nhật ký (log files), CSV, TSV hoặc các tệp có định dạng cột Gawk (GNU Awk) không chỉ mạnh trong xử lý văn bản dạng cột mà còn có thể hoạt động như một ngôn ngữ lập trình thực sự Nó hỗ trợ biến, vòng lặp, điều kiện, và

cả mảng

Cú pháp cơ bản:

gawk 'mệnh_đề' tên_tệp

Ví dụ:

- In toàn bộ nội dung tệp data.txt:

gawk '{print}' data.txt

- In cột đầu tiên của tệp users.txt:

gawk '{print $1}' users.txt

- Tính tổng giá trị ở cột thứ hai trong tệp sales.txt:

gawk '{sum += $2} END {print sum}' sales.txt

- Lọc ra các dòng chứa từ "error" trong tệp log.txt:

gawk '/error/ {print}' log.txt

1.2.3 Lệnh find

Lệnh find trong Linux được sử dụng để tìm kiếm tệp và thư mục dựa trên nhiều tiêu chí như tên, kích thước, thời gian chỉnh sửa hoặc quyền truy cập Đây là một công cụ hữu ích khi quản lý hệ thống tệp lớn

Ngoài ra, lệnh find còn hỗ trợ nhiều chức năng mở rộng như tự động xóa tệp cũ, tìm tệp

bị lỗi quyền, hoặc dò tìm mã độc

Cú pháp cơ bản:

find đường_dẫn [tùy_chọn] [điều_kiện]

Ví dụ:

- Tìm tất cả các tệp txt trong thư mục /home/user:

find /home/user -name "*.txt"

Trang 6

- Tìm các tệp lớn hơn 100MB trong thư mục /var/log:

find /var/log -size +100M

- Tìm các tệp được chỉnh sửa trong vòng 7 ngày qua:

find /home -mtime -7

- Tìm các tệp có quyền 777:

find /etc -perm 777

1.2.4 Tệp /var/log/secure

Tệp /var/log/secure trong Linux ghi lại các sự kiện liên quan đến bảo mật, như đăng nhập

SSH, xác thực người dùng, thay đổi quyền sudo

Các cú pháp thường gặp trong tệp /var/log/secure:

- Ghi nhận các lần đăng nhập SSH:

Feb 27 10:30:21 server sshd[1234]: Accepted password for user from 192.168.1.10 port

52230 ssh2

- Thử đăng nhập thất bại:

Feb 27 10:32:45 server sshd[2345]: Failed password for root from 192.168.1.20 port

42300 ssh2

- Người dùng sử dụng lệnh sudo:

Feb 27 11:00:12 server sudo: user : TTY=pts/1 ; PWD=/home/user ;

COMMAND=/usr/bin/apt update

Lọc thông tin quan trọng bằng grep:

- Xem tất cả các lần đăng nhập thành công:

grep "Accepted password" /var/log/secure

- Xem tất cả các lần đăng nhập thất bại:

grep "Failed password" /var/log/secure

- Xem các lệnh sudo đã chạy:

grep "sudo" /var/log/secure

1.2.5 Tệp access_log

Tệp access_log trong máy chủ web (như Apache hoặc Nginx) ghi lại toàn bộ yêu cầu

từ trình duyệt đến máy chủ, bao gồm địa chỉ IP, mã phản hồi HTTP, thời gian truy cập

và URL được yêu cầu Access Log không chỉ giúp quản trị viên theo dõi lưu lượng truy

Trang 7

cập mà còn có thể được sử dụng để phân tích tấn công DDoS, kiểm tra bot và tối ưu hóa website

- Xem nội dung tệp access_log:

cat /var/log/apache2/access.log (trên Apache)

cat /var/log/nginx/access.log (trên Nginx)

Ví dụ:

- Xem 10 dòng cuối của access_log:

tail -n 10 /var/log/nginx/access.log

- Tìm tất cả các yêu cầu từ một địa chỉ IP cụ thể:

grep "192.168.1.1" /var/log/apache2/access.log

- Đếm số lượt truy cập vào một trang cụ thể:

grep "/index.html" /var/log/apache2/access.log | wc -l

- Lọc ra tất cả các truy cập có mã phản hồi HTTP 404:

grep " 404 " /var/log/nginx/access.log

Trang 8

CHƯƠNG 2 NỘI DUNG THỰC HÀNH 2.1 Chuẩn bị môi trường

Hình 1 – Topo mạng

Hình 2 – Kali Linux trong Internal Network

Trang 9

Hình 3 – Ubuntu trong Internal Network

Hình 4 – Windows Server trong External Network

Hình 5 – Kali Linux trong External Network

2.2 Các bước thực hiện

2.2.1 Phân tích logs bằng grep

Đầu tiên cài đặt Apache Server trên máy ảo Ubuntu

sudo apt install apache2 -y #Cài đặt

sudo systemctl start apache2 #Khởi động dịch vụ

sudo systemctl enable apache2 #Kích hoạt dịch vụ

sudo systemctl status apache2 #Kiểm tra trạng thái

Trang 10

Hình 6 – Cài đặt dịch vụ Apache Server

Trên máy Kali Linux, Sử dụng nmap / zenmap để quét các cổng dịch vụ đang có trên máy Ubuntu

sudo nmap -sS -sV -T4 192.168.100.147

→ Kết quả cho thấy cổng 80/tcp đang được mở cho dịch vụ Apache httpd 2.4.41 (Ubuntu)

Hình 7 - Quét cổng dịch vụ Apache Server sử dụng nmap trên máy Kali Linux

Truy cập vào địa chỉ web của Apache Server đã được mở theo địa chỉ

http://192.168.100.147

Trang 11

Hình 8 - Truy cập vào địa chỉ web Apache Server

Trên terminal tiến hành sao chép website và tìm kiếm từ khóa “test”

curl http://192.168.100.147 | grep test

Hình 9 - Sao chép website và tìm kiếm từ khóa

Trên máy Ubuntu, tiến hành xem log hệ thống tại thư mục chứa access_log

/var/log/apache2/access.log

cat /var/log/apache2/access.log

Trang 12

Hình 10 - Xem file access_log trên máy Ubuntu

Dựa vào log hệ thống đã ghi lại các lần quét cổng hoặc kiểm tra bảo mật Cụ thể:

→ Các dòng có User-Agent "Mozilla/5.0 (compatible; Nmap Scripting Engine;

https://nmap.org/book/nse.html)" cho thấy có ai đó sử dụng Nmap để quét máy chủ

→ Truy cập từ trình duyệt và curl: Một số truy cập đến từ trình duyệt Firefox 115.0 trên Linux (X11) Có một truy vấn từ công cụ curl/8.0.0, có thể là từ script hoặc API

tự động

→ Địa chỉ IP đáng chú ý: 192.168.100.3 (Địa chỉ ip máy Kali Linux)

Sử dụng grep để lọc ra những thông tin

cat /var/log/apache2/access.log | grep Nmap

Hình 11 - Lọc kết quả bằng grep trên file Apache log

2.2.2 Phân tích logs sử dụng gawk

Trên máy Ubuntu Victim tiến hành cài đặt các dịch vụ:

sudo apt-get install openssh-server

sudo apt install gawk

Trang 13

Hình 12 – Cài đặt dịch vụ SSH và công cụ gawk trên Ubuntu

Máy Ubuntu Victim có tên là nguyenanhvu316@ubuntu vậy thì user sẽ là

nguyenanhvu316, trên máy Kali Linux Attack tiến hành remote vào máy Linux

Internal Victim bằng lệnh ssh nguyenanhvu316@192.168.100.147

Hình 13 – Sử dụng SSH để kết nối từ máy Kali Attack đến máy Ubuntu Victim

Trang 14

Hình 14 – Tạo user mới và đổi mật khẩu

Trên máy Ubuntu Victim, di chuyển đến thư mục /var/log và tiến hành xem file log bằng lệnh

journalctl -t sshd

Hình 15 – Xem file log trên máy Ubuntu Victim

Trên máy Kali Attack, thông qua chế độ remote tiến hành tìm kiếm những người dùng

vừa tạo bằng lệnh grep bằng lệnh: cat /var/log/auth.log | grep useradd

Hình 16 – Kiểm tra nhanh ai đã tạo tài khoản trên hệ thống

Lệnh gawk '/useradd/ {print}' /var/log/auth.log:

gawk: Đây là GNU Awk, một công cụ xử lý văn bản mạnh mẽ để tìm kiếm và thao tác

trên dữ liệu văn bản

'/useradd/ {print}':

/useradd/ → Đây là một biểu thức tìm kiếm (pattern) trong file log, nghĩa là nó sẽ tìm

tất cả các dòng có chứa từ "useradd"

{print} → Khi tìm thấy dòng nào khớp với từ "useradd", lệnh print sẽ in ra toàn bộ

dòng đó

Trang 15

/var/log/auth.log : Đây là file log chứa thông tin về các sự kiện xác thực, bao gồm cả

việc tạo tài khoản người dùng trên hệ thống

Hình 17 – Lệnh gawk để kiểm tra ai đã tạo tài khoản mới trên hệ thống

2.2.3 Phân tích log sử dụng find trong Windows

Trên máy Kali External Attack khởi động xHydra, chọn target là 10.10.19.202 (ip của máy Windows Server), cài đặt giao thức ftp và cài đặt Password list sau đó nhấn Start

và chờ xHydra tìm ra mật khẩu

Hình 18 - Mở xHydra và cấu hình địa chỉ target, cổng và giao thức

Trang 16

Hình 19 - Cấu hình tài khoản và password list để tiến hành tấn công mật khẩu

Hình 20 – Lỗi …

Trang 17

TÀI LIỆU THAM KHẢO

[1] Đinh Trường Duy, Phạm Hoàng Duy, Bài giảng Hệ điều hành Windows và Linux/Unix, Học viện Công Nghệ Bưu Chính Viễn Thông, 2022

[2] Tom Carpenter, Microsoft Windows Server Operating System Essentials, Sybex,

2011

Tài liệu tham khảo các lệnh:

[3] grep: https://linuxcommand.org/lc3_man_pages/grep1.html

[4] grep: https://linuxcommand.org/lc3_man_pages/grep1.html

[5] find:https://docs.microsoft.com/en-us/windows-server/administration/windows- commands/find

[6] xhydra: http://manpages.ubuntu.com/manpages/bionic/man1/hydra.1.html

Ngày đăng: 20/05/2025, 14:31

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Đinh Trường Duy, Phạm Hoàng Duy, Bài giảng Hệ điều hành Windows và Linux/Unix, Học viện Công Nghệ Bưu Chính Viễn Thông, 2022 Sách, tạp chí
Tiêu đề: Bài giảng Hệ điều hành Windows và Linux/Unix
Tác giả: Đinh Trường Duy, Phạm Hoàng Duy
Nhà XB: Học viện Công Nghệ Bưu Chính Viễn Thông
Năm: 2022
[2] Tom Carpenter, Microsoft Windows Server Operating System Essentials, Sybex, 2011.Tài liệu tham khảo các lệnh Sách, tạp chí
Tiêu đề: Microsoft Windows Server Operating System Essentials
Tác giả: Tom Carpenter
Nhà XB: Sybex
Năm: 2011
[5] find:https://docs.microsoft.com/en-us/windows-server/administration/windows- commands/find Sách, tạp chí
Tiêu đề: find: Windows Commands
Tác giả: Microsoft
Nhà XB: Microsoft Documentation
Năm: n.d.
[3] grep: https://linuxcommand.org/lc3_man_pages/grep1.html [4] grep: https://linuxcommand.org/lc3_man_pages/grep1.html Link
[6] xhydra: http://manpages.ubuntu.com/manpages/bionic/man1/hydra.1.html Link

HÌNH ẢNH LIÊN QUAN

Hình 1 – Topo mạng - Báo cáo bài thực hành học phần thực tập cơ sở bài thực hành 1 6 phân tích log hệ thống
Hình 1 – Topo mạng (Trang 8)
Hình 3 – Ubuntu trong Internal Network - Báo cáo bài thực hành học phần thực tập cơ sở bài thực hành 1 6 phân tích log hệ thống
Hình 3 – Ubuntu trong Internal Network (Trang 9)
Hình 6 – Cài đặt dịch vụ Apache Server - Báo cáo bài thực hành học phần thực tập cơ sở bài thực hành 1 6 phân tích log hệ thống
Hình 6 – Cài đặt dịch vụ Apache Server (Trang 10)
Hình 7 - Quét cổng dịch vụ Apache Server sử dụng nmap trên máy Kali Linux - Báo cáo bài thực hành học phần thực tập cơ sở bài thực hành 1 6 phân tích log hệ thống
Hình 7 Quét cổng dịch vụ Apache Server sử dụng nmap trên máy Kali Linux (Trang 10)
Hình 8 - Truy cập vào địa chỉ web Apache Server - Báo cáo bài thực hành học phần thực tập cơ sở bài thực hành 1 6 phân tích log hệ thống
Hình 8 Truy cập vào địa chỉ web Apache Server (Trang 11)
Hình 10 - Xem file access_log trên máy Ubuntu - Báo cáo bài thực hành học phần thực tập cơ sở bài thực hành 1 6 phân tích log hệ thống
Hình 10 Xem file access_log trên máy Ubuntu (Trang 12)
Hình 12 – Cài đặt dịch vụ SSH và công cụ gawk trên Ubuntu - Báo cáo bài thực hành học phần thực tập cơ sở bài thực hành 1 6 phân tích log hệ thống
Hình 12 – Cài đặt dịch vụ SSH và công cụ gawk trên Ubuntu (Trang 13)
Hình 13 – Sử dụng SSH để kết nối từ máy Kali Attack đến máy Ubuntu Victim - Báo cáo bài thực hành học phần thực tập cơ sở bài thực hành 1 6 phân tích log hệ thống
Hình 13 – Sử dụng SSH để kết nối từ máy Kali Attack đến máy Ubuntu Victim (Trang 13)
Hình 15 – Xem file log trên máy Ubuntu Victim - Báo cáo bài thực hành học phần thực tập cơ sở bài thực hành 1 6 phân tích log hệ thống
Hình 15 – Xem file log trên máy Ubuntu Victim (Trang 14)
Hình 14 – Tạo user mới và đổi mật khẩu - Báo cáo bài thực hành học phần thực tập cơ sở bài thực hành 1 6 phân tích log hệ thống
Hình 14 – Tạo user mới và đổi mật khẩu (Trang 14)
Hình 17 – Lệnh gawk để kiểm tra ai đã tạo tài khoản mới trên hệ thống - Báo cáo bài thực hành học phần thực tập cơ sở bài thực hành 1 6 phân tích log hệ thống
Hình 17 – Lệnh gawk để kiểm tra ai đã tạo tài khoản mới trên hệ thống (Trang 15)
Hình 19 - Cấu hình tài khoản và password list để tiến hành tấn công mật khẩu - Báo cáo bài thực hành học phần thực tập cơ sở bài thực hành 1 6 phân tích log hệ thống
Hình 19 Cấu hình tài khoản và password list để tiến hành tấn công mật khẩu (Trang 16)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w