Dấu hiệu nhận biết và quá trình thực hiệnKhi chúng ta cài đặt bất kì một phần mềm nào đó vào trong máy tính thìchúng ta đều có thể nhận biết thông qua file registry, và vào trong đường d
Trang 1Attacker – Kali Linux 2016
20.0.0.30/8
1.1.2 Cài đặt mô hình
1.1.2.1 Cài đặt OSSEC Server
Tạm thời tắt tường lửa và SELinux:
service iptables stop
vim /etc/selinux/config # sửa dòng: SELINUX=disabled
mkdir ~/ossec_src
http://www.ossec.net/files/ossec-hids-2.8.1.tar.gz sau đó đưa vào thư mục ~/ossec_src
Cài đặt và khởi động các dịch vụ cần thiết:
yum install -y httpd httpd-devel php php-cgi php-devel mysql
mysql-server mysql-devel
service httpd start
service mysqld start
Giải nén, cài đặt và khởi động OSSEC:
cd ~/ossec_src
Trang 2mysql> create database ossec;
mysql> grant all privileges on ossec.* to tuananh@20.0.0.254 identified by "123456";
mysql> flush privileges;
mysql> show tables from ossec;
mysql> use ossec;
mysql> select * from server;
Kết quả:
Trang 3Cài đặt web interface cho OSSEC:
Trang 41.1.2.2 Cài đặt OSSEC Agent tại Client
Tải về và cài đặt OSSEC Windows Agent tại địa chỉ:
win32-2.9.2-2154.exe
https://updates.atomicorp.com/channels/atomic/windows/ossec-agent-Để khai báo một agent mới, tại server chạy các lệnh:
/var/ossec/bin/manage_agents
Trang 5Tiếp tục tạo key cho client:
Trang 6Copy key vừa tạo được dán vào OSSEC Agent Manager trên máy Client:
Trang 7Kiểm tra tại server:
/var/ossec/bin/ossec-control restart
/var/ossec/bin/list_agents -a
1.1.2.3 Cài đặt OSSEC Agent tại Web Server
Tạm thời dừng dịch vụ firewalld và iptables, và tắt SELinux
ntsysv
iptables -F
vim /etc/selinux/config # sửa dòng: SELINUX=disabled
Trang 8Tai OSSEC tai dia chi: http://www.ossec.net/files/ossec-hids-2.8.1.tar.gz
Sau đó đưa vào ~/ossec_src
Trang 9Copy key qua Web Server:
Trang 10Một phần mềm được cài đặt vào máy tính cốt yếu do hai điều: thứ nhất
là do nhân viên tại máy Client tự ý cài đặt phần mềm, thứ hai là do khi cácmáy Client lướt web thì có những trang quảng cáo, hay những trang web độchại có chức năng tự cài đặt phần mềm vào máy tính chúng ta khi chúng tatruy cập vào trang web đó
Nguy cơ khi cái đặt các soft đó chính là máy client sẽ bị nhiễm mã độc
có trong phần mềm được cài Và nguy cơ lớn nhất khi cài đặt phần mềm đó
là malware, chúng thậm chí có thể giả mạo cả dịch vụ phần mềm và khi máycập nhật, thay vì các bản vá và phần mềm bảo mật thì malware lại được tải
về và cài đặt lên hệ thống
Trang 111.2.1.2 Dấu hiệu nhận biết và quá trình thực hiện
Khi chúng ta cài đặt bất kì một phần mềm nào đó vào trong máy tính thìchúng ta đều có thể nhận biết thông qua file registry, và vào trong đường dẫnsau để phát hiện
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Ta vào đường dẫn sao để đến file win_audit :
C:\Program Files (x86)\ossec-agent\shared
Ta tiến hành cấu hình file win_audit_rcl, thêm vào cuối file:
[Software Installed] [any] []
r:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
Uninstall;
Trang 12Tiến hành cài 1 phần mềm Ví dụ: Yahoo
Sau khi cài đặt xong thì vào kiểm tra trong server
cd /var/ossec/logs/alerts/2017/Dec/
cat ossec-alerts-12.log
Đã xuất hiện ở mức cảnh báo với cấp độ 5:
Rule phát hiện nằm ở file: /var/ossec/rules/msauth_rules.xml
Trang 131.2.2 Phát hiện tấn công SQL vào Web Server
Nhóm sử dụng công cụ DVWA để thực hành Truy cập vào địa chỉ:http://20.0.0.50/dvwa Tiến hành submit chuỗi sau để Demo tấn công SQLInjection:
%' or 0=0 union select null, version() #
Kiểm tra tại file log của OSSEC server:
cd /var/ossec/logs/alerts/2017/Dec
tail -f ossec-alerts-13.log
Kết quả tại file log:
Trang 14Kiểm tra tại web interface:
1.2.3 Phát hiện backdoor tại Web Server
Nhóm dùng công cụ Social Engineering Toolkit trên Attacker để thực
nghiệm
Trang 15Kết quả sẽ tạo ra file x86_powershell_injection.txt Đổi tên file nàythành x86_powershell_injection.bat và copy vào máy client:
Trang 16Lập tức OSSEC phát hiện ra đây là trojan và tiến hành xóa bỏ file này.Kết quả khi kiểm tra file log:
Kết quả tại web interface:
1.2.4 Phát hiện tấn công SSH Brute Force
Thực nghiệm tất công trên máy Attacker với công cụ hydra:
hydra -l root -P /root/Desktop/pass.txt -t 6 ssh://20.0.0.100 -V
Trang 17Kết quả tại web interface:
Rule phát hiện nằm ở file: /var/ossec/rules/sshd_rules.xml
Trang 181.3 Kiểm tra tính toàn vẹn của hệ thống
1.3.1 Cơ bản về tiến trình syscheck của OSSEC
Syscheck là tên một tiến trình của OSSEC Nó sẽ được gọi sau mộtkhoảng thời gian nhất định và làm nhiệm vụ kiểm tra xem có bất kỳ file cáccấu hình hay các mục registry đối với Windows bị thay đổi hay không, nếu
có sẽ xuất ra báo cáo về những sự thay đổi này
Cơ chế hoạt động của syscheck rất đơn giản, khi OSSEC vừa được càiđặt vào hệ thống, nó sẽ dò tìm và lưu lại checksum của tất cả các file nằmtrong các folder quan trọng ( được định sẵn ở file cấu hình của OSSEC ) Từ
đó, mỗi lần syscheck hoạt động, nó sẽ kiểm tra checksum của các file hệthống và so sánh với checksum ban đầu của chúng, nếu như checksum bịthay đổi, syscheck sẽ báo cáo về sự thay đổi này, nếu như xuất hiện một filemới, sự xuất hiện này cũng sẽ được báo cáo
1.3.2 Vì sao kiểm tra tính toàn vẹn?
Có nhiều kiểu tấn công và nhiều hướng tấn công khác nhau, nhưng đa sốchúng đều mang điểm chung: để lại dấu vết và luôn luôn thay đổi hệ thốngtheo một cách nào đó Có thể đưa ra một vài ví dụ: virus sẽ thay đổi nộidung một số file nhất định, rootkit sẽ thay đổi kernel của hệ điều hành haymột số kiểu tấn công SQL Injection sẽ tạo một cơ sở dữ liệu tạm và lưunhững giá trị cần thiết vào đó
Như vậy, chỉ cần phát hiện ra sự thay đổi của các file hệ thống, chúng ta
sẽ phát hiện ra nguy cơ của một cuộc tấn công và từ đó ngăn chặn kịp thời
1.3.3 Cấu hình OSSEC kiểm tra tính toàn vẹn
Cấu trúc phần syscheck của file cấu hình OSSEC sẽ có nội dung tương
tự như thế này:
Trang 19Với giá trị frequency mặc định là 79200 giây, tức là cứ sau 22 tiếng sẽtiến hành kiểm tra tính toàn vẹn một lần Tiếp theo, các đường dẫn đượckiểm tra bao gồm /etc, /usr/bin/,… tất cả đều là các đường dẫn quan trọngcủa hệ điều hành Linux Cuối cùng là các đường dẫn không cần kiểm tra,syscheck sẽ bỏ qua các file thuộc đường dẫn này trong quá trình thực thi củanó.
Để có thể phát hiện kịp thời khi có sự thay đổi của một file hệ thống nào
đó, hay sự xuất hiện của file mới trong folder hệ thống, chúng ta cần phảicấu hình OSSEC để thông báo thời gian thực Mở file cấu hình OSSEC ởđường dẫn /var/ossec/etc/ossec.conf và thêm vào dòng sau ngay dưới dòngtùy chỉnh giá trị frequency của phần syscheck:
<alert_new_files>yes</alert_new_files>
Thêm những dòng sau vào /var/ossec/rules/local_rules.xml:
<rule id="554" level="10" overwrite="yes">
<category>ossec</category>
Trang 20<decoded_as>syscheck_new_entry</decoded_as>
<description>File added to the system.</description>
<group>syscheck,</group>
</rule>
Tiếp theo, cấu hình báo cáo thời gian thực về nội dung thay đổi của file:
<directories realtime="yes" report_changes="yes" check_all="yes">/etc,/usr/bin,/usr/sbin</directories>
<directories realtime="yes" report_changes="yes" check_all="yes">/bin,/sbin</directories>
Lưu ý: sự Mặc định, OSSEC chỉ cảnh báo khi file thay đổi 3 lần Lần thứ 4 trở điOSSEC sẽ bỏ qua không cảnh báo Để cấu hình luôn luôn cảnh báo khi có sựthay đổi file, thêm dòng sau (thêm vào trong thẻ <syscheck>):
<auto_ignore>no</auto_ignore>
Sau khi đã hoàn thành việc cấu hình, phần syscheck của file ossec.conf
sẽ có nội dung tương tự như sau:
Khởi động lại OSSEC với câu lệnh sau:
/var/ossec/bin/ossec-control restart
Trang 21Sau khi OSSEC khởi động lại, quá trình chuẩn bị dữ liệu cho tiến trìnhsyscheck sẽ diễn ra trong khoảng 15-20 phút tùy theo cấu hình máy Tronglog của OSSEC sẽ thông báo về quá trình chuẩn bị này như sau:
Các tiến trình ossec đang chạy:
Và sau khi OSSEC đã chuẩn bị xong và bắt đầu giám sát file theo thờigian thực, nó sẽ thông báo trên log:
Thử chỉnh sửa một số file trong các đường dẫn được giám sát bởiOSSEC: