Tìm hi u vể ề ý nghĩa của một số lệnh dùng cho quá trình phân tích log: grep, gawk, find, secure, access.log,… • Grep: Tìm các dòng chứa chuỗi được chỉ định.. Khi m t dòng ộ khớp với m
Trang 1HỌ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 TẬP 09
MÔN H C: Ọ THỰ C T ẬP CƠ SỞ
Trang 2Bài 9: Phân tích log h ệ thống
1 Tìm hi u lý thuy t ể ế
a Tìm hi u vể ề ý nghĩa của một số lệnh dùng cho quá trình phân tích log: grep, gawk, find, secure, access.log,…
• Grep: Tìm các dòng chứa chuỗi được chỉ định Là công cụ dòng l nh có ệ khả năng tìm kiếm văn bản phù hợp trong một tệp ho c xu t ra t ặ ấ ừ các lệnh khác Nó được bao gồm theo mặc định trong h u h t các bầ ế ản phân phối Linux và cũng có sẵn cho Windows và macOS Grep là m t ti n ích ộ ệ dòng l nh có th tìm ki m và lệ ể ế ọc văn bản bằng cú pháp biểu thức chính quy ph ổ biến Nó là một công cụ hữu ích để tìm tất cả các lần xu t hiấ ện của c m t tìm ki m trong mụ ừ ế ột tập tin được chọn, l c t p nh t lý hoọ ệ ậ ặc như một phần của t p l nh ho c chu i l nh ậ ệ ặ ổ ệ
• Gawk: là một ngôn ngữ lập trình thông d ch Nó là phiên b n GNU cị ả ủa chương trình Unix awk thường có sẵn, một trình so n th o luạ ả ồng phổ biến khác Chức năng cơ bản của awk là tìm ki m các t p tin cho các dòng ế ậ (hoặc các đơn vị văn bản khác) có chứa các m u nhẫ ất định Khi m t dòng ộ khớp với m t trong các mộ ẫu, awk thực hiện các hành động được chỉ nh đị trên dòng đó awk tiếp tục xử lý các dòng đầu vào theo cách này cho đến khi nó đến cuối tệp đầu vào Các chương trình trong awk khác với các chương trình ở hầu hết các ngôn ng khác, bữ ởi vì các chương trình awk là hướng d u (t c là mô t d u mu n làm viữ liệ ứ ả ữ liệ ố ệc và sau đó phải làm gì khi tìm th y nó) H u h t các ngôn ng khác là th tấ ầ ế ữ ủ ục; người dùng phải
mô t chi ti t tả ế ừng bước mà chương trình phải thực hiện Khi làm vi c vệ ới các ngôn ng ữ thủ ụ t c, vi c mô t rõ ràng d ệ ả ữ liệu mà chương trình của sẽ
xử lý s ẽ khó hơn nhiều Vì lý do này, các chương trình awk thường dễ
đọc và dễ vi t Khi chế ạy awk, người dùng ch nh mỉ đị ột chương trình awk cho awk bi t phế ải làm gì Chương trình bao gồm một loạt các quy t c (nó ắ
Trang 3khi tìm th y m u Nó r t m nh m ấ ẫ ấ ạ ẽ và được thi t k c biế ế đặ ệt để ử lý văn x bản Nó được đặt tên b ng cách vi t t t các ch ằ ế ắ ữ cái đầu tiên c a các tác ủ giả: Aho, Weinberger và Kernighan S dử ụng điển hình c a AWK: o X ủ ử
lý văn bản o Tạo báo cáo văn bản được định dạng o Th c hi n các phép ự ệ toán s h c o Tìm ki m text trong file ố ọ ế
• Find: là một trong nh ng l nh quan trữ ệ ọng nhất và được s dử ụng thường xuyên trong các h ệ điều hành giống như Unix Lệnh Find được sử dụng
để tìm kiếm và định v danh sách các tị ệp và thư mục dựa trên các điều kiện bạn ch nh cho các tỉ đị ệp kh p vớ ới các đối s c n tìm L nh Find có ố ầ ệ thể tìm ki m theo nhiế ều điều kiện khác nhau như theo quyền, người dùng, nhóm, lo i tạ ệp, ngày, kích thước và các điều kiện khác có thể
i các s n d a trên các tiêu chí trong local hay global
• Secure: Ghi lạ ự kiệ ự
group policies Nó ghi l i thông tin v ạ ề kiểm soát truy c p ch ng hậ ẳ ạn như các l n login fail, folder access ầ
• Access.log là tệp nhật ký truy cập Apache, m t trong s các tộ ố ệp nh t ký ậ được tạo b i máy ch Apache HTTP T p nh t ký c ở ủ ệ ậ ụ thể này ch u trách ị nhi m ghi d ệ ữ liệu cho t t c các yêu cấ ả ầu được x lý b i máy ch Apache ử ở ủ
o Có chức năng ghi lại những lần sử dụng, truy c p, yên cậ ầu đến apache server o Được lưu trữ tại /var/log/httpd/access_log (hoặc
/var/log/apache2/access.log)
• Xhydra: o Là một trình bẻ khóa đăng nhập song song hỗ trợ nhiều giao thức để tấn công Các mô-đun mớ ấi r t d thêm vào, bên cễ ạnh đó, nó linh hoạt và rất nhanh o là GUI cho ph n m m b khóa m t kh u có tên là ầ ề ẻ ậ ẩ Hydra Hydra có th ể được s d ng cho c b khóa mử ụ ả ẻ ật kh u ngoẩ ại tuyến
và tr c tuy n o Hydra có th ự ế ể được sử dụng để ẻ b khóa mật kh u, có thẩ ể được s d ng cho nhi u lo i t n công tr c tuy n, bao g m c các cu c tử ụ ề ạ ấ ự ế ồ ả ộ ấn công MySQL, SMB, FTP, MSSQL và HTTP / HTTPS
b Tài li u tham kh o: ệ ả
• grep: https://linuxcommand.org/lc3_man_pages/grep1.html
• gawk: http://www.gnu.org/software/gawk/manual/gawk.html
Trang 4•find:https://docs.microsoft.com/enus/windowsserver/administration/wind owscommands/find
• xhydra:
2.2 Chu n b ẩ ị môi trường:
• Phần mềm VMWare Workstation (ho c các ph n mặ ầ ềm hỗ trợ ảo hóa khác)
• Các file máy ảo VMware và hệ thống mạng đã cài đặt trong bài lab 05 trước đó: máy trạm, máy Kali Linux, máy ch Windows và Linux Chú ý: ủ chỉ cần b t các máy c n s d ng trong bài th c hành ậ ầ ử ụ ự
• Topo mạng như đã cấu hình trong bài 5
Trang 52 Thực hành
2.1 Phân tích log sử dụng grep trong Linux
- Cài đặt Apache trên Linux Victim
Trang 6- Trên máy Kali attack trong mạng Internal, khởi chạy nmap và scan cho địa chỉ 192.168.100.147 (Máy Linux victim) và xem được port 80 đang mở cho Web Server Apache 2.4.41
Trang 7- Trên Kali Attack, truy cập địa chỉ web http://192.168.100.147
- Trên terminal tiến hành sao chép website và tìm kiếm từ khóa
“test”(root@bt:~#curl http://192.168.100.147 | grep test)
Trang 8- Trên máy Linux Internal Victim, vào thư mục chứa access_log, và mở file access.log trên máy nạn nhân, dùng grep để lọc ra kết quả với từ khóa Firefox, curl:
Trang 92.2 Phân tích log sử dụng gawk trong Linux
- Trên máy Kali Attack tiến hành remote vào Linux Victim
Trang 10- Tạo một account mới với tên sinh viên và mật khẩu tùy chọn Sau đó tiến hành thay đổi mật khẩu cho tài khoản vừa tạo
- Trên máy Linux Victim, xem file log bằng lệnh journalctl t sshd –
Trang 11- 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
- Dùng lệnh gawk để in một hoặc nhiều dòng dữ liệu tìm được
Trang 122.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, giao thức ftp và cài đặt Password list, sau đó nhấn Start
Trang 15- xhydra tìm mật khẩu
- Trên máy Windows Server, thực hiện điều hướng đến FTP Logfile (ở đây là C:\inetpub\logs\LogFiles\FTPSVC2)
- Gõ lệnh tìm kiếm kết quả login thành công
(type u_ex240506.log | find “23 ”) 0