Investigating Web Attacks
Investigating Web Attacks
Investigating Web Attacks
Hà Nội, 2022
MỤC LỤC
Danh Mục Hình Ảnh......................................................................................................3
CHƯƠNG 1. GIỚI THIỆU TỔNG QUAN VỀ ỨNG DỤNG WEB VÀ PHÁP Y ỨNG DỤNG WEB
................................................................................................................................................4
1.3. Dấu hiệu của một cuộc tấn công ứng dụng Web.......................................................8
2.1. Các bước liên quan đến cuộc điều tra các cuộc tấn công Web.................................20
2.2. Điều tra cuộc tấn công Web trên một số nền tảng..................................................23
2.2.1. Windows-Based Servers.......................................................................................................23
2.2.2. IIS Web Server......................................................................................................................25
2.2.3. Apache Web Server..............................................................................................................33
2.4. Một số công cụ giúp điều tra cuộc tấn công Web....................................................44
2.4.1. Web Log Viewers..................................................................................................................44
2.4.2. IP Address Locating Tools.....................................................................................................45
2.4.3. Solar Wind............................................................................................................................46
2.4.4. Splunk...................................................................................................................................48
CHƯƠNG 3. THỰC NGHIỆM QUÁ TRÌNH ĐIỀU TRA MỘT CUỘC TẤN CÔNG WEB..........49
3
CHƯƠNG 1. GIỚI THIỆU TỔNG QUAN VỀ ỨNG DỤNG WEB
VÀ PHÁP Y ỨNG DỤNG WEB
1.1. Giới thiệu về ứng dụng web
Ứng dụng web là các chương trình tồn tại trên một máy chủ trung tâm cho
phép người dùng truy cập một trang web qua Internet, gửi và truy xuất dữ liệu đến
và đi qua một cơ sở dữ liệu. Một ứng dụng web thực hiện một yêu cầu đối với một
máy chủ web. Khi máy chủ đáp ứng yêu cầu, ứng dụng web sẽ tạo ra các tài liệu
phản hồi cho dịch vụ khách / người dùng tốt hơn. Các tài liệu web được tạo bởi các
ứng dụng web có định dạng chuẩn, tức là HTML, CML, v.v., được hỗ trợ bởi tất cả
các loại trình duyệt. Các ứng dụng web hoàn thành nhiệm vụ được yêu cầu bất kể
hệ điều hành và trình duyệt được cài đặt.
Bất chấp lợi thế mà các ứng dụng web sở hữu, chúng có xu hướng trở thành
mồi ngon cho những kẻ tấn công do mã hóa hoặc giám sát bảo mật không đúng
cách. Những kẻ tấn công cố gắng khai thác các lỗ hổng trong mã hóa và giành
quyền truy cập vào nội dung cơ sở dữ liệu, ở đó bằng cách thu thập thông tin nhạy
cảm, chẳng hạn như thông tin xác thực người dùng, chi tiết tài khoản ngân hàng,
v.v. Một số cuộc tấn công được thực hiện trên các ứng dụng web bao gồm SQL
injection, cross- kịch bản trang web, chiếm quyền điều khiển phiên, nội dung cục
bộ và từ xa.
4
Hinh 1 Kiến trúc trong ứng dụng Web
Tất cả các ứng dụng web được thực thi thông qua một ứng dụng khách hỗ
trợ, tức là một trình duyệt web. Các ứng dụng web sử dụng một nhóm các tập lệnh
phía máy khách, chẳng hạn như HTML, JavaScript, v.v., trình bày thông tin và các
tập lệnh phía máy chủ, chẳng hạn như ASP, PHP, v.v., xử lý các tác vụ phần cứng
như lưu trữ và tập hợp dữ liệu cần thiết, được ứng dụng web sử dụng để thực thi.
Trong kiến trúc ứng dụng web được đề cập ở trên, khách hàng sử dụng các
trình duyệt web, thiết bị và dịch vụ web bên ngoài khác nhau với Internet để thực
thi ứng dụng thông qua các ngôn ngữ kịch bản khác nhau. Việc truy cập dữ liệu
được xử lý bởi lớp cơ sở dữ liệu bằng cách sử dụng máy chủ đám mây và máy chủ
cơ sở dữ liệu. Cần lưu ý rằng máy chủ web, máy chủ ứng dụng và máy chủ cơ sở
dữ liệu có thể chạy trên các máy chủ / máy chủ độc lập hoặc cùng một máy chủ.
Kiến trúc ứng dụng web bao gồm bốn lớp:
• Lớp khách hàng hoặc lớp người dùng (Clients or Users Layer)
• Lớp máy chủ web (Web Server Layer)
5
• Tầng kinh doanh (Business Layer)
• Lớp cơ sở dữ liệu (Database Layer)
Lớp máy khách bao gồm tất cả các thiết bị web, ví dụ như điện thoại thông
minh và máy tính cá nhân, tức là người dùng tương tác với một ứng dụng web được
triển khai trên máy chủ web. Người dùng yêu cầu một trang web bằng cách nhập
một URL trong trình duyệt web và yêu cầu truyền đến máy chủ web. Máy chủ web
phản hồi yêu cầu và trình duyệt web hiển thị phản hồi dưới dạng một trang web.
Lớp Máy chủ Web chứa các thành phần phân tích cú pháp yêu cầu (HTTP
Request Parser) đến từ các máy khách và chuyển tiếp phản hồi đến chúng. Nó chứa
tất cả các cơ sở dữ liệu và logic kinh doanh chịu trách nhiệm xây dựng các trang
web và dữ liệu cũ trong đó. Ví dụ: Máy chủ Web IIS, Máy chủ Web Apache, v.v.
Trong một số trường hợp, người dùng truy cập ứng dụng qua lớp trình bày, đóng
vai trò trung gian giữa người dùng và Máy chủ Web. Lớp này bao gồm các thành
phần giao diện người dùng. Lớp trình bày không phải là một yêu cầu tuyệt đối và
lớp khách hàng có thể tương tác trực tiếp với lớp dịch vụ.
Lớp nghiệp vụ là lớp phản hồi cho hoạt động cốt lõi của hệ thống và bao
gồm logic nghiệp vụ và các ứng dụng, chẳng hạn như .NET được các nhà phát triển
sử dụng để xây dựng các trang web tiếp cận với các yêu cầu của khách hàng. Lớp
này cũng chứa một ứng dụng kế thừa, một hệ thống cũ hơn được tích hợp như một
thành phần bên trong hoặc bên ngoài.
Lớp cơ sở dữ liệu bao gồm các dịch vụ đám mây, lớp B2B lưu giữ tất cả các
giao dịch thương mại và Máy chủ cơ sở dữ liệu cung cấp dữ liệu sản xuất của tổ
chức trong một tổ chức có cấu trúc. Ví dụ: MS SQL Server, MySQL server, v.v.
1.2. Pháp y ứng dụng Web
Pháp y ứng dụng web liên quan đến việc kiểm tra pháp y các ứng dụng web
và nội dung của nó (chẳng hạn như nhật ký, thư mục www và tệp cấu hình) để theo
dõi lại cuộc tấn công, xác định nguồn gốc của cuộc tấn công và xác định cách thức
tấn công được lan truyền cùng với các thiết bị được sử dụng (điện thoại di động và
máy tính) và những người có liên quan để thực hiện cuộc tấn công. Các nhà điều
tra kiểm tra nhật ký và tệp cấu hình được liên kết với máy chủ web và máy chủ ứng
6
dụng, tập lệnh phía máy chủ được ứng dụng web sử dụng và nhật ký liên quan đến
các ứng dụng phần mềm và hệ điều hành của bên thứ ba, để có được cái nhìn sâu
sắc về cuộc tấn công.
Các ứng dụng web phục vụ nhiều loại dịch vụ và có thể hỗ trợ nhiều loại
máy chủ khác nhau như IIS, Apache, v.v. Do đó, điều tra viên pháp y phải có kiến
thức tốt về các máy chủ khác nhau để kiểm tra nhật ký và hiểu chúng khi có sự cố
xảy ra.
Các ứng dụng web thường rất quan trọng về tính kinh doanh, do đó gây khó
khăn cho nhân viên điều tra trong việc tạo hình ảnh pháp y của họ và yêu cầu
ngừng hoạt động trang web trong một thời gian để hoàn tất quy trình. Điều này gây
khó khăn cho các nhà điều tra trong việc thu thập dữ liệu biến động bao gồm các
quy trình, kết nối cổng / mạng, nhật ký kết xuất bộ nhớ và nhật ký người dùng
trong thời gian phân tích sự cố.
Các điều tra viên phải có hiểu biết tốt về tất cả các loại máy chủ web và ứng
dụng để hiểu, phân tích và tương quan các định dạng nhật ký khác nhau được thu
thập từ các nguồn tương ứng của họ.
Khi lưu lượng truy cập của các trang web tăng lên, các tệp nhật ký được ghi
lại trong cơ sở dữ liệu tiếp tục tăng. Vì vậy, nó trở nên khó khăn đối với các nhà
điều tra để thu thập và phân tích các bản ghi.
Khi một cuộc tấn công trang web xảy ra, các nhà điều tra cần thu thập các
dấu vân tay kỹ thuật số do kẻ tấn công để lại. Sau đó, họ cần thu thập các trường dữ
liệu sau được liên kết với mỗi yêu cầu HTTP được gửi đến trang web để có được
cái nhìn sâu sắc về cuộc tấn công được thực hiện:
Ngày và giờ gửi yêu cầu
Địa chỉ IP từ nơi yêu cầu bắt đầu
Phương thức HTTP được sử dụng (GET / POST)
URL
Truy vấn RFP
Tập hợp đầy đủ các tiêu đề HTTP
Nội dung Yêu cầu HTTP đầy đủ
7
Nhật ký sự kiện (dữ liệu không thay đổi)
Danh sách tệp và dấu thời gian (dữ liệu không thay đổi)
1.3. Dấu hiệu của một cuộc tấn công ứng dụng Web
Hầu hết các ứng dụng web hạn chế quyền truy cập vào thông tin HTTP,
chẳng hạn như tập hợp đầy đủ các tiêu đề HTTP và nội dung yêu cầu mà không có
tất cả các tiêu đề HTTP sẽ trông giống nhau. Điều này khiến các nhà điều tra không
thể phân biệt các yêu cầu HTTP hợp lệ với các yêu cầu độc hại.
Có các dấu hiệu khác nhau liên quan đến từng loại tấn công. Ví dụ, trong một
cuộc tấn công từ chối dịch vụ (DoS), khách hàng bị từ chối bất kỳ quyền truy cập
nào vào thông tin hoặc dịch vụ có sẵn trên trang web. Trong những trường hợp như
vậy, khách hàng báo cáo sự không khả dụng của các dịch vụ trực tuyến vì kẻ tấn
công ngăn người dùng hợp pháp truy cập các trang web, địa chỉ email và các dịch
vụ khác dựa vào máy tính của nạn nhân.
8
Một dấu hiệu khác của một cuộc tấn công web có thể là chuyển hướng một
trang web (tấn công chuyển hướng một kỹ thuật phổ biến được quan sát nếu có Bộ
công cụ khai thác trên ứng dụng web) đến một trang web không xác định. Khi
người dùng nhập URL vào thanh địa chỉ, họ không thể truy cập trang web và thay
vì truy cập trang web đã nhập, máy chủ chuyển hướng người dùng đến một số trang
web không xác định.
Hiệu suất mạng chậm bất thường và việc khởi động lại máy chủ thường
xuyên cũng cho thấy dấu hiệu của một cuộc tấn công web.
Các bất thường được tìm thấy trong các tệp nhật ký cũng là một dấu hiệu của
các cuộc tấn công web. Thay đổi mật khẩu và tạo tài khoản người dùng mới cũng
cho thấy các nỗ lực tấn công. Có thể có các dấu hiệu khác, chẳng hạn như sự trở lại
của các thông báo lỗi. Ví dụ, một trang thông báo lỗi HTTP 500 cho biết sự xuất
hiện của một cuộc tấn công chèn SQL. Có các thông báo lỗi khác, chẳng hạn như
"Lỗi máy chủ nội bộ" hoặc "sự cố khi xử lý yêu cầu của bạn" cho thấy một cuộc tấn
công web.
9
1.4. Mối nguy của ứng dụng Web
Hầu hết các vi phạm bảo mật xảy ra trong các ứng dụng web thay vì máy
chủ, vì các ứng dụng web có thể chứa mã không an toàn (hoặc lỗi), có thể do mã
hóa không đúng ở giai đoạn phát triển. Do đó, các ứng dụng web dễ gặp phải nhiều
loại mối đe dọa khác nhau, một vài trong số chúng đã được đề cập dưới đây:
Buffer Overflow: Lỗ hổng tràn bộ đệm của một ứng dụng web xảy ra
khi nó không bảo vệ bộ đệm của nó đúng cách và cho phép vượt quá
kích thước tối đa của nó. Do đó, nó ghi đè lên các vị trí bộ nhớ liền kề.
Có nhiều dạng tràn bộ đệm, bao gồm Tràn bộ đệm Heap (Heap Buffer
Overflow) và Tấn công chuỗi định dạng (Format String Attack). Mục
đích của các cuộc tấn công này là làm hỏng ngăn xếp thực thi của ứng
dụng web.
10
Cookie Poisoning: Ngộ độc cookie đề cập đến việc sửa đổi cookie để
bỏ qua các biện pháp bảo mật hoặc thu thập thông tin trái phép. Những
kẻ tấn công bỏ qua quá trình xác thực bằng cách thay đổi định dạng
thông tin có bên trong cookie. Khi những kẻ tấn công giành được
quyền kiểm soát mạng, chúng có thể sửa đổi nội dung của nó, sử dụng
hệ thống để tấn công độc hại hoặc lấy cắp thông tin từ hệ thống của
người dùng.
Insecure Storage: Thông tin nhạy cảm, chẳng hạn như hồ sơ tài khoản,
số thẻ tín dụng, mật khẩu hoặc thông tin xác thực khác thường được
các ứng dụng web lưu trữ trong cơ sở dữ liệu hoặc trên hệ thống fiIe.
Nếu các nhà phát triển mắc bất kỳ lỗi nào trong khi thực thi các kỹ
thuật mã hóa trên một ứng dụng web hoặc bỏ qua các khía cạnh bảo
mật của một số phần của ứng dụng, thông tin nhạy cảm này có thể gặp
rủi ro. Việc lưu trữ không an toàn những dữ liệu đó có thể cho phép kẻ
tấn công có quyền truy cập vào ứng dụng web với tư cách là một
người dùng hợp pháp. Do đó, các nhà điều tra pháp y cần phải hiểu
quá trình lưu trữ dữ liệu.
Information Leakage: Rò rỉ thông tin đề cập đến một nhược điểm
trong ứng dụng web, nơi nó vô tình tiết lộ ion thông tin nhạy cảm cho
người dùng trái phép. Việc rò rỉ thông tin như vậy có thể gây ra tổn
thất lớn cho bất kỳ công ty nào. Do đó, công ty cần sử dụng các cơ chế
cải tiến nội dung phù hợp để bảo vệ tất cả các nguồn dữ liệu hoặc định
dạng thông tin (chẳng hạn như hệ thống hoặc các tài nguyên mạng
khác) khỏi bị rò rỉ thông tin.
Improper Error Handling: Mối đe dọa này phát sinh khi một ứng dụng
web không thể xử lý các lỗi nội bộ đúng cách. Trong trường hợp này,
trang web trả về thông tin, chẳng hạn như kết xuất cơ sở dữ liệu, dấu
vết ngăn xếp và mã lỗi ở dạng lỗi.
Broken Account Management: Nó đề cập đến các chức năng quản lý
tài khoản dễ bị tấn công bao gồm cập nhật tài khoản, khôi phục mật
khẩu bị quên hoặc bị mất hai lần hoặc đặt lại mật khẩu và các chức
11
năng tương tự như vậy, có thể làm suy yếu các chương trình xác thực
hợp lệ.
Directory Traversal: Khi kẻ tấn công khai thác HTTP bằng cách sử
dụng truyền tải thư mục, chúng có quyền truy cập vào các thư mục trái
phép. Sau đó, những kẻ tấn công có thể thực thi các lệnh bên ngoài thư
mục gốc của máy chủ web.
SQL Injection: Trong kiểu tấn công này, kẻ tấn công đưa các lệnh
SQL vào thông qua dữ liệu đầu vào. Sau đó, kẻ tấn công có thể giả
mạo dữ liệu.
Parameter/Form Tampering: Loại tấn công giả mạo này có ý định thao
túng các tham số giao tiếp được trao đổi giữa máy khách và máy chủ
để thực hiện các thay đổi trong dữ liệu ứng dụng, như ID người dùng
và mật khẩu với nhật ký sự kiện, chi phí và số lượng sản phẩm, v.v.
Trong để cải thiện chức năng và khả năng kiểm soát của ứng dụng, hệ
thống thu thập thông tin và lưu trữ trong các trường biểu mẫu ẩn,
cookie hoặc chuỗi truy vấn URL. Man-in the-middle là một trong
những ví dụ của kiểu tấn công này. Tin tặc sử dụng các công cụ như
Webscarab và Paros proxy cho các cuộc tấn công.
DoS - Denial of Service: Tấn công DoS là một phương pháp có ý định
chấm dứt hoạt động của trang web hoặc hoạt động của máy chủ bởi tài
nguyên của nó không thể sử dụng được đối với khách hàng. Ví dụ, một
trang web liên quan đến ngân hàng hoặc dịch vụ email không thể hoạt
động trong vài giờ hoặc thậm chí vài ngày, dẫn đến mất cả thời gian và
tiền bạc.
Log Tampering: Các ứng dụng web duy trì nhật ký để theo dõi các
kiểu sử dụng, chẳng hạn như thông tin xác thực đăng nhập quản trị và
thông tin xác thực đăng nhập người dùng. Những kẻ tấn công thường
chèn, xóa hoặc giả mạo nhật ký ứng dụng web để tham gia vào các
hoạt động độc hại hoặc che giấu danh tính của họ.
Unvalidated Input: Để vượt qua hệ thống bảo mật, những kẻ tấn công
giả mạo URL, yêu cầu HTTP, tiêu đề, trường ẩn, trường biểu mẫu,
12
chuỗi truy vấn, v.v. ID đăng nhập của người dùng và dữ liệu liên quan
khác được lưu trữ trong cookie và điều này trở thành một nguồn tấn
công. Ví dụ về các cuộc tấn công gây ra đầu vào chưa được xác thực
bao gồm chèn SQL, tập lệnh trang web chéo (XSS), tràn bộ đệm, v.v.
Doss Site Scripting: Những kẻ tấn công bỏ qua cơ chế bảo mật ID của
khách hàng và giành được các đặc quyền truy cập; và sau đó đưa các
tập lệnh độc hại vào các trường cụ thể trong các trang web. Những
đoạn mã độc hại này thậm chí có thể viết lại nội dung HTML của một
trang web.
Injection Flaws: Những kẻ tấn công đưa mã độc, lệnh hoặc tập lệnh
vào cổng đầu vào của các ứng dụng web bị lỗi theo cách mà các ứng
dụng diễn giải và chạy với đầu vào độc hại mới được cung cấp, do đó
cho phép chúng trích xuất thông tin nhạy cảm.
Doss Site Request Forgery: Trong phương pháp tấn công này, một
người dùng đã được xác thực được thực hiện để thực hiện các tác vụ
nhất định trên ứng dụng web được chọn bởi kẻ tấn công. Ví dụ: Người
dùng nhấp vào một liên kết cụ thể được gửi qua email hoặc cuộc trò
chuyện.
Broken Access Control: Đây là một phương pháp trong đó kẻ tấn công
xác định một lỗ hổng liên quan đến kiểm soát truy cập và bỏ qua xác
thực, sau đó xâm phạm mạng.
13
Hinh 5 Một số mối nguy cho ứng dụng Web khác
Ratform Exploits: Các nhà phát triển web sử dụng các nền tảng ứng
dụng cụ thể, chẳng hạn như công nghệ Microsoft .Net, Sun Java, IBM
Websphere, v.v., để phát triển các ứng dụng web. Các nền tảng này có
thể chứa các lỗ hổng, chẳng hạn như cấu hình sai ứng dụng, lỗi, v.v.,
có thể hoạt động như các vectơ tấn công để khai thác các ứng dụng
web.
Insecure Direct Object References: Khi các nhà phát triển để lộ các đối
tượng triển khai nội bộ khác nhau như tệp, thư mục, bản ghi cơ sở dữ
liệu hoặc tham chiếu khóa thông qua, nó dẫn đến tham chiếu đối tượng
trực tiếp không an toàn. Ví dụ: nếu số tài khoản ngân hàng là khóa
chính, thì sẽ có khả năng những kẻ tấn công giả mạo ứng dụng và lợi
dụng các tham chiếu đó.
Insufficient Transport Layer Protection: Các nhà phát triển cần phải
thực thi công nghệ bảo mật SSL / TLS để xác thực trang web. Không
thực hiện được, những kẻ tấn công có thể truy cập cookie phiên bằng
14
cách theo dõi luồng mạng. Có thể xảy ra nhiều mối đe dọa khác nhau
như tấn công lừa đảo, đánh cắp tài khoản và tạo tài khoản quản trị viên
sau khi lấy được cookie.
SSL/TLS Downgrade Attack: Tất cả các trình duyệt chính đều dễ bị
tấn công hạ cấp giao thức; một MITM đang hoạt động có thể mô
phỏng các điều kiện thất bại và buộc tất cả các trình duyệt phải hạ cấp
khi cố gắng thương lượng TLS 1.2, khiến chúng trở lại SSL 3. Tại thời
điểm đó, một cuộc tấn công mật mã có thể xảy ra (xem cuộc tấn công
POODLE); tuy nhiên, nó yêu cầu quyền truy cập MTiM.
Failure to Restrict URL Access: Một ứng dụng thường bảo vệ hoặc
bảo vệ chức năng nhạy cảm và ngăn việc hiển thị các liên kết hoặc
URL để bảo vệ. Không thể hạn chế quyền truy cập URL đề cập đến lỗ
hổng trong đó ứng dụng web không thể hạn chế tin tặc truy cập vào
một URL cụ thể. Tại đây, kẻ tấn công cố gắng vượt qua bảo mật trang
web bằng các kỹ thuật, chẳng hạn như duyệt cưỡng bức và truy cập
trái phép vào các trang web cụ thể hoặc các tệp dữ liệu khác có chứa
thông tin nhạy cảm.
Insecure or Improper Cryptographic Storage: Dữ liệu nhạy cảm được
lưu trữ trong cơ sở dữ liệu phải được mã hóa đúng cách bằng mật mã.
Tuy nhiên, một số phương pháp mã hóa mật mã có nhiều lỗ hổng cố
hữu. Do đó, các nhà phát triển nên sử dụng các phương pháp mã hóa
mạnh để phát triển các ứng dụng an toàn. Ngoài ra, họ phải lưu trữ an
toàn các khóa mật mã, để những kẻ tấn công không thể dễ dàng lấy
được và giải mã dữ liệu nhạy cảm.
Cookie Snooping: Kẻ tấn công sử dụng proxy cục bộ giải mã hoặc bẻ
khóa thông tin đăng nhập của người dùng. Khi kẻ tấn công có được
các thông tin đăng nhập văn bản thuần túy này, chúng sẽ đăng nhập
vào hệ thống với tư cách là người dùng hợp pháp và có quyền truy cập
vào thông tin trái phép.
Obfuscation Application: Obfuscation là một kỹ thuật được những kẻ
tấn công sử dụng để tạo ra một số biến thể của mã độc hại, bằng cách
15
gây khó khăn cho các cơ chế bảo mật, chẳng hạn như tường lửa ứng
dụng web, hệ thống phát hiện xâm nhập, v.v., phát hiện ra nó.
Demilitarized Zone (DMC) Protocol Attacks): DMZ là một khu vực
mạng bán tin cậy ngăn cách Internet không đáng tin cậy với mạng nội
bộ đáng tin cậy của công ty. Kẻ tấn công có thể xâm phạm hệ thống
cho phép các giao thức DMZ khác, cũng có thể truy cập vào các hệ
thống nội bộ và DMZ khác. Điều này có thể dẫn đến:
- Ứng dụng web và xâm phạm dữ liệu
- Trang web defacement
- Quyền truy cập vào các hệ thống nội bộ bao gồm bản sao lưu, cơ sở
dữ liệu và mã nguồn
Security Management Exploits: Một số kẻ tấn công nhắm mục tiêu vào
các hệ thống quản lý bảo mật, trên mạng hoặc trên lớp ứng dụng, để
sửa đổi hoặc vô hiệu hóa việc thực thi bảo mật. Kẻ tấn công khai thác
quản lý bảo mật có thể trực tiếp sửa đổi các chính sách bảo vệ, xóa các
chính sách cũ, thêm các chính sách mới và sửa đổi các ứng dụng, dữ
liệu hệ thống và tài nguyên.
Authentication Hijacking: Tất cả các ứng dụng web dựa vào thông tin,
chẳng hạn như mật khẩu và ID người dùng, để nhận dạng người dùng.
Những kẻ tấn công cố gắng chiếm đoạt các thông tin đăng nhập đó
bằng cách sử dụng các kỹ thuật tấn công khác nhau như đánh hơi, kỹ
thuật xã hội, v.v. Khi chúng có được các thông tin xác thực này, chúng
thực hiện các hành vi độc hại khác nhau, bao gồm xâm nhập phiên,
đánh cắp dịch vụ và mạo danh người dùng.
Network Access Attacks: Các cuộc tấn công này có thể ảnh hưởng chủ
yếu đến các ứng dụng web, bao gồm cả mức dịch vụ cơ bản. Chúng
cũng có thể cho phép các cấp độ truy cập mà các phương thức ứng
dụng HTTP tiêu chuẩn không cấp.
Web Services Attacks: Kẻ tấn công có thể xâm nhập vào các ứng dụng
web mục tiêu bằng cách khai thác một ứng dụng được tích hợp với các
16
dịch vụ web dễ bị tấn công. Kẻ tấn công đưa một tập lệnh độc hại vào
một dịch vụ web và có thể tiết lộ và sửa đổi dữ liệu ứng dụng.
Hidden Manipulation: Những kẻ tấn công cố gắng xâm nhập các trang
web thương mại điện tử chủ yếu sử dụng các hình thức tấn công này.
Họ thao tác các trường ẩn và thay đổi dữ liệu được lưu trữ trong đó.
Họ có thể thay thế giá gốc bằng giá tùy chọn và kết thúc giao dịch.
Loại tấn công này đang phải đối mặt với nhiều cửa hàng trực tuyến.
Unvalidated Redirects and Forwards: Những kẻ tấn công dụ nạn nhân
và khiến họ nhấp vào các liên kết chưa được kiểm chứng có vẻ là hợp
pháp. Những chuyển hướng như vậy có thể dẫn đến việc cài đặt phần
mềm độc hại hoặc lừa nạn nhân chia sẻ mật khẩu hoặc thông tin nhạy
cảm khác của họ. Việc chuyển tiếp không an toàn như vậy có thể dẫn
đến việc bỏ qua kiểm soát truy cập, dẫn đến:
- Các cuộc tấn công cố định phiên
- Khai thác quản lý bảo mật
- Không thể hạn chế quyền truy cập URL
- Thực thi fiIe độc hại
Session Fixation Attack: Loại tấn công này hỗ trợ kẻ tấn công chiếm
đoạt phiên người dùng hợp lệ. Kẻ tấn công chiếm quyền điều khiển
phiên được người dùng xác thực với kiến thức trước về phiên ID người
dùng, bằng cách xác thực với một ID phiên đã biết. Trong kiểu tấn
công này, kẻ tấn công đánh lừa người dùng truy cập vào máy chủ web
chính hãng bằng cách sử dụng giá trị ID phiên rõ ràng. Kẻ tấn công giả
định danh tính của nạn nhân và khai thác các thông tin đăng nhập đó
tại máy chủ. Các bước liên quan như sau:
1. Kẻ tấn công truy cập trang web ngân hàng và đăng nhập bằng thông
tin đăng nhập của mình.
2. Máy chủ web đặt ID phiên trên máy của kẻ tấn công.
3. Kẻ tấn công gửi một email chứa liên kết có ID phiên cố định.
4. Người dùng nhấp vào liên kết và được chuyển hướng đến trang web
của ngân hàng.
17
5. Người dùng đăng nhập vào máy chủ bằng thông tin đăng nhập và ID
phiên cố định của mình.
6. Kẻ tấn công đăng nhập vào máy chủ bằng thông tin đăng nhập của
nạn nhân có cùng ID phiên.
CAPTCHA Attacks: Thực hiện kiểm tra (CAPTCHA -Completely
Automated Public Turing test to tell Computers and Humans Apart)
ngăn phần mềm tự động thực hiện các hành động làm suy giảm chất
lượng dịch vụ của một hệ thống nhất định, có thể do lạm dụng hoặc
tiêu tốn tài nguyên. CAPTCHA nhằm mục đích đảm bảo rằng người
dùng ứng dụng là con người và cuối cùng là hỗ trợ ngăn chặn truy cập
trái phép và sử dụng ab. Mỗi triển khai CAPTCHA đều phát huy được
sức mạnh của nó bằng cách tăng độ phức tạp của hệ thống để thực hiện
phân đoạn, tiền xử lý hình ảnh và phân loại.
18
CHƯƠNG 2. TỔNG QUAN VỀ ĐIỀU TRA CUỘC TẤN CÔNG
WEB
Các ứng dụng web đã trở thành một nguồn trao đổi và quản lý thông tin
chính, ở nhiều công ty khác nhau, các cơ quan chính phủ, v.v. Do được sử dụng
rộng rãi, các ứng dụng web đang trở thành mục tiêu chính của những kẻ tấn công.
Các chuyên gia bảo mật thông tin thực hiện các biện pháp bảo mật cụ thể để phát
hiện hoặc ngăn chặn các cuộc tấn công, nhưng họ không thể theo dõi các cuộc tấn
công này; cho phép kẻ tấn công thực hiện các cuộc tấn công mới vào mục tiêu. Đây
là nơi điều tra pháp y giúp giảm thiểu các cuộc tấn công xảy ra trên ứng dụng.
Điều tra pháp y kiểm tra ứng dụng bị ảnh hưởng và theo dõi các dấu hiệu tấn
công. Điều này dẫn đến giảm số lượng các cuộc tấn công nhắm mục tiêu vào ứng
dụng, do đó, cải thiện tính bảo mật của ứng dụng.
19
2.1. Các bước liên quan đến cuộc điều tra các cuộc tấn công Web
12 bước để tiến hành một cuộc điều tra về tấn công Web được tiến hành như
sau:
1. Xác nhận Cuộc tấn công và Xác định Bản chất của nó: Đó là một cuộc tấn
công (DDOS) phân tán hay một cuộc tấn công chỉ nhắm vào bạn? Có ai đó đang cố
gắng tắt hoàn toàn mạng của bạn hoặc cố gắng xâm nhập vào các máy riêng lẻ
không? Kiểm tra Thông tin Bảo mật và Quản lý Sự kiện (SIEM), Syslog hoặc nhật
ký tập trung / từ xa để xác nhận cuộc tấn công.
2.Thu thập dữ liệu biến động: Thu thập dữ liệu không ổn định, chẳng hạn
như quy trình, dịch vụ, cảng và các kết nối mạng, bãi bộ nhớ, người dùng đăng
nhập, v.v.
3.Chụp nhanh hoặc tắt hệ thống: Trong môi trường ảo hóa, hãy chụp ảnh hệ
thống. Trong trường hợp là hệ thống vật lý, hãy tắt máy chủ. Bạn có thể di chuyển
các dịch vụ sang các trang web thay thế dựa trên sự sẵn có của các trang khôi phục
20
ổ đĩa (DR), các bản sao lưu, nhân bản và các yêu cầu về tính liên tục của doanh
nghiệp.
4. Tạo hình ảnh pháp y/Ảnh chụp nhanh gắn kết: Tạo ảnh từng bit của đĩa
cứng hệ thống hoặc gắn ảnh chụp nhanh hệ thống trên một cơ sở hạ tầng ảo khác để
bắt đầu điều tra.
Hinh 7 Các bước điều tra cuộc tấn công web (tiếp)
5. Hiểu quy trình của một ứng dụng: Xem tài liệu ứng dụng và báo cáo thử
nghiệm để hiểu ứng dụng hoạt động bình thường.
6. Phân tích tệp nhật ký: Kiểm tra nhật ký từ máy chủ web, máy chủ ứng
dụng, máy chủ cơ sở dữ liệu, ứng dụng, sự kiện hệ thống cục bộ, v.v. để tìm các
mục đáng ngờ.
7.Thu thập các tập tin cấu hình máy chủ và ứng dụng: Tệp cấu hình ứng
dụng và máy chủ cung cấp thông tin ứng dụng quan trọng, chẳng hạn như liên kết
cơ sở dữ liệu, cấu hình máy chủ ứng dụng, v.v.
21
8. Xác định các Hành động Bất thường: Xác định dữ liệu độc hại từ khoảng
thời gian ngắn, sự thay đổi bất thường trong truy cập web bình thường, liên kết giới
thiệu không phổ biến, các thay đổi giữa phiên đối với các giá trị cookie, v.v.
Hinh 8 Các bước điều tra cuộc tấn công web (tiếp)
9. chứng thực với Firewall và IDS Logs: IDS và tường lửa có thể giám sát
lưu lượng mạng và lưu trữ nhật ký của từng mục nhập. Các nhật ký này có thể giúp
xác định xem nguồn là máy chủ lưu trữ bị xâm phạm trên mạng hay bên thứ ba.
10. Chặn cuộc tấn công: Khi bạn biết cách kẻ tấn công đã xâm nhập vào hệ
thống, bạn có thể chặn cổng hoặc lỗ hổng của IP cụ thể đó để ngăn chặn sự xâm
nhập tiếp theo. Nếu xác định được bất kỳ hệ thống bị xâm nhập nào, hãy ngắt kết
nối chúng khỏi mạng cho đến khi chúng có thể được khử trùng.
11.Tracing Back Attacks IP: Truy xuất nguồn gốc IP tấn công để xác định
thủ phạm của cuộc tấn công. Nói chung là rất khó vì những kẻ tấn công thường sử
dụng proxy và ẩn danh để che giấu danh tính của họ.
22
12. Tài liệu chứng minh đầy đủ: Ghi lại mọi bước của cuộc điều tra vì nó rất
cần thiết cho bất kỳ thủ tục pháp lý nào.
2.2. Điều tra cuộc tấn công Web trên một số nền tảng
2.2.1. Windows-Based Servers
Theo www.netmarketshare.com, hệ điều hành dựa trên Microsoft Windows
chiếm 89,34% thị phần, có nghĩa là các nhà phát triển có thể thích sử dụng các máy
chủ dựa trên Windows để triển khai các ứng dụng web so với các hệ điều hành
khác. Do được sử dụng rộng rãi, các hệ điều hành và ứng dụng web được lưu trữ
trong một số hệ điều hành này trở thành mục tiêu chính của những kẻ tấn công.
Những kẻ tấn công có thể cố gắng khai thác các lỗ hổng có trong máy chủ dựa trên
Windows hoặc các ứng dụng web và truy cập trái phép vào tài nguyên của chúng.
Khi một cuộc tấn công xảy ra trên một ứng dụng web, các nhà điều tra sẽ
kiểm tra cuộc tấn công trên máy chủ của ứng dụng web bằng cách sử dụng một số
công cụ và ứng dụng có sẵn của các máy chạy Windows như minh họa sau:
23
Hinh 10 Điều tra trên Windows-Based Servers (tiếp)
24
Hinh 11 Điều tra trên Windows-Based Servers (tiếp)
25
• Các dịch vụ web như World Wide Web Publishing Service (dịch vụ
WWW)
• Dịch vụ kích hoạt quy trình Windows (WAS)
Trách nhiệm của các thành phần IIS bao gồm:
• Lắng nghe các yêu cầu đến từ máy chủ
• Quản lý các quy trình
• Đọc các tệp cấu hình
IIS phụ thuộc chủ yếu vào một nhóm thư viện liên kết động (DLL) hoạt động
chung với quy trình máy chủ chính (inetinfo.exe) nắm bắt các chức năng khác
nhau, ví dụ: lập chỉ mục nội dung, tập lệnh phía máy chủ, in dựa trên web, v.v. kiến
trúc mở của IIS cho phép kẻ tấn công khai thác web với nội dung độc hại. Nếu
không có các gói dịch vụ hoặc sửa chữa nóng trong máy chủ web IIS, có rất nhiều
khả năng rằng một quá trình IIS inetinfo.exe gọi một lệnh shell. Điều này là đáng lo
ngại, vì không có nhu cầu vốn có cho inetinfo.exe để gọi một dấu nhắc lệnh.
26
Máy chủ IIS có thể trở nên dễ bị tấn công nếu có bất kỳ vấn đề nào về mã
hóa hoặc cấu hình, điều này có thể cho phép những kẻ tấn công khai thác nó nếu
không được giải quyết kịp thời. Khi xảy ra các cuộc tấn công như vậy, các nhà điều
tra pháp y sẽ kiểm tra nhật ký IIS để theo dõi những nỗ lực khai thác máy chủ của
kẻ tấn công. Nhật ký IIS cung cấp thông tin hữu ích về các hoạt động của người
dùng. Thông thường, (các) nhật ký được đặt nằm tại: %\SystemDrive%\inetpub\
logs\LogFiles.
Lưu ý: Vị trí lưu trữ nhật ký có thể thay đổi nếu người quản trị đã thực hiện
cấu hình để ghi và lưu trữ nhật ký ở một số vị trí khác. Tuy nhiên, nói chung, Từ
menu Windows Start của Windows, đi tới Công cụ quản trị (Administrative Tools)
và nhấp vào Trình quản lý Dịch vụ Thông tin Internet (IIS - Internet Information
Services Manager). Mở rộng thư mục của tên máy chủ và nhấp vào thư mục Sites
để tải danh sách các trang web trong ngăn nội dung. Mở cài đặt của nó trong ngăn
nội dung. (Ngoài ra, bạn có thể mở rộng thư mục Sites và nhấp vào tên trang web ở
chế độ xem dạng cây bên trái.) Chọn Logging từ ngăn nội dung để tải cài đặt Ghi
nhật ký. Trong trường Thư mục, bạn sẽ tìm thấy đường dẫn chứa nhật ký của mình.
Điều hướng đến thư mục LogFiles bằng cách đi theo đường dẫn có trong trường
Thư mục.
Trong thư mục LogFiles, bạn sẽ tìm thấy một thư mục con cho mỗi trang
web được định cấu hình có nhãn là W3SVC1, W3SVC2, v.v. Số cuối cùng trong
tên thư mục tương ứng với SitelD. Tìm thư mục phù hợp với ID của trang web.
Mỗi máy chủ ảo có thư mục con riêng cho các tệp nhật ký, được đặt tên là
W3SVCn, trong đó 'n' đại diện cho số lượng của máy chủ ảo. Thư mục con
W3SVCn lưu trữ các tệp nhật ký có tên u exyymmdd.log, trong đó 'yy' đề cập đến
năm, 'mm' đề cập đến một tháng và 'dd' đề cập đến ngày.
IIS log file là định dạng văn bản dựa trên ASCII không tùy chỉnh hoặc cố
định. Định dạng IIS bao gồm các mục cơ bản, chẳng hạn như địa chỉ IP máy khách,
tên người dùng, ngày và giờ, dịch vụ và phiên bản, tên máy chủ và địa chỉ IP, loại
yêu cầu, mục tiêu hoạt động, v.v.
27
Hinh 13 IIS Logs
28
Hinh 14 Điều tra trên IIS Logs
Điều rất quan trọng là duy trì độ tin cậy của các tệp nhật ký IIS vì chúng là
bằng chứng chính được các nhà điều tra pháp y sử dụng để điều tra các cuộc tấn
công web. Trước khi trình bày bằng chứng trước tòa, điều cần thiết là phải trình
bày các lập luận thuyết phục để chứng minh rằng bằng chứng đã nộp (các tệp nhật
ký) là đáng tin cậy và đáng kể. Cần thực hiện các bước để duy trì tính xác thực, độ
chính xác và khả năng truy cập của các tệp nhật ký. Các nhà điều tra thậm chí có
thể tính toán giá trị băm của bằng chứng tại thời điểm thu giữ và gửi nó cùng với
bằng chứng để chứng minh tính toàn vẹn của nó.
29
Hinh 15 Duy trì độ tin cậy của tệp IIS log
Các bản ghi của máy chủ web có khối lượng rất lớn và việc kiểm tra các bản
ghi như vậy sẽ là một công việc tẻ nhạt. Hình dưới đây chứa một số phương pháp
hay nhất để kiểm tra nhật ký.
30
Hinh 16 Phương pháp điều tra tên IIS Logs
Ngoài các phương pháp hay nhất được thảo luận ở trên, các nhà điều tra pháp
y có thể thu hẹp tìm kiếm nhật ký bằng cách thực hiện theo các bước được đề cập
bên dưới:
1. Trong khi điều tra các cuộc tấn công web, giám định viên pháp y có thể
xem qua báo cáo sự cố của nạn nhân để họ có thể thu hẹp tìm kiếm nhật ký.
2. Nhật ký thường được lưu trữ ở định dạng ASCII và mỗi file nhật ký có
tiêu đề cột nằm ở đầu file đó. Các nhà điều tra có thể viết các tập lệnh đơn giản để
kiểm tra và phân tích cú pháp các tệp nhật ký và tìm kiếm thông tin cần thiết, chẳng
hạn như IP nguồn, trạng thái hoặc mã phản hồi, v.v.
3. Sử dụng trình xem nhật ký để xem và kiểm tra nhật ký
4. Nếu điều tra viên nhận thức được những gì họ đang tìm kiếm, họ có thể sử
dụng chữ ký để tìm kiếm các dấu hiệu của hoạt động cụ thể.
31
5. Khi IIS ghi lại nhật ký ở định dạng W3C Extended log file, IIS lưu trữ tất
cả các sự kiện đã ghi ở định dạng GMT, thay vì định dạng múi giờ địa phương cho
hệ thống.
Vì vậy, các nhà điều tra cần xem xét điểm này trong khi kiểm tra nhật ký, vì
IIS tạo file bản ghi mới vào ngày hôm sau lúc nửa đêm theo giờ GMT. IIS ghi lại
nhật ký bằng cách sử dụng UTC, giúp đồng bộ hóa các máy chủ trong nhiều vùng.
Để tính toán UTC, Windows sẽ bù trừ giá trị của đồng hồ hệ thống với múi giờ hệ
thống. Quản trị viên mạng phải đảm bảo cài đặt múi giờ địa phương chính xác để
xác thực UTC. Ngoài ra, quản trị viên cũng nên xác minh quá trình IIS được thiết
lập để cuộn qua các bản ghi sử dụng giờ địa phương. Cài đặt múi giờ của máy chủ
có thể được xác minh bằng cách xem các mục nhập đầu tiên trong nhật ký file. Nếu
máy chủ được đặt thành UTC -06: 00, thì các mục nhật ký đầu tiên sẽ xuất hiện vào
khoảng 18:00 (00:00 - 06:00 = 18:00). Bởi vì UTC không tuân theo thông tin ban
ngày, quản trị viên cũng phải đồng thời xem xét ngày. Ví dụ: UTC -6: 00 sẽ là -5:
00 nửa năm.
Http Quản lý các quy trình tương tác với máy khách và quản lý tất cả các
protocol kết nối trao đổi dữ liệu và kết nối socket giữa máy khách và máy chủ.
Http main - Xử lý quá trình khởi động và thời gian chờ của máy chủ
- Bao gồm vòng lặp máy chủ chính chờ các kết nối và cho phép kết
nối
Http Kiểm soát quy trình từng bước liên quan giữa các mô-đun để hoàn
request thành yêu cầu của khách hàng và chịu trách nhiệm xử lý lỗi.
Http core Không đủ chức năng để đưa vào phục vụ làm tài liệu
alloc Phân bổ các nhóm tài nguyên
Http Đọc và xử lý các tệp cấu hình.
config Sắp xếp tất cả các mô-đun máy chủ gọi trong các giai đoạn xử lý
yêu cầu khác nhau.
33
Hinh 18 Kiến trúc của Apache Web Server
34
%h Địa chỉ IP của Client
%I Tên log từ xa
Trả về một dấu gạch ngang trừ khi có mod ident và IdentityCheck
được bật.
\”%r\” Các phương thức được sử dụng cho phản hồi yêu cầu giữa máy
khách và máy chủ, tài nguyên do máy khách yêu cầu (apache
pb.gif) và giao thức sử dụng (HCP/1.0)
%b kích thước của đối tượng mà máy chủ gửi đến máy khách.
35
Hinh 19 Apache Web Server Logs
Chỉ thị phần trăm đại diện cho mỗi trường trong nhật ký và cho phép máy chủ hiểu
thông tin nhật ký nó phải ghi. Trong đó:
10.10.10.10 (%h): Địa chỉ IP của máy khách/ máy chủ từ xa
-(%I): Thông tin được yêu cầu không có sẵn
jason (%): ID người dùng của người đã gửi yêu cầu
[1T / Auq / 10 16. 00 .1.34 +0300] (% t): Thời gian máy chủ xử lý
xong yêu cầu. +03 UTC đại diện cho Múi giờ Đông Phi.
37
"GET /images/content/bg body l.jpg HTTP/l.0'(\"%r\"): Người dùng
sử dụng yêu cầu GET và truy cập tới đường dẫn /images/content/bg
body 1.jpg. Người dùng sử dụng giao thức HTTP/ 1.0
200 (%> s): Mã trạng thái biểu thị rằng phản hồi đã thành công
1458 (%b): Máy chủ trả về đối tượng có kích thước 1458 byte cho
máy khách
Ví dụ về nhật ký lỗi Apache
Mnn Sep 16 14:25:33.912956 2016: Phần tử đầu tiên trong đầu vào nhật ký
và chứa thời gian (ngày, tháng, ngày, giờ và năm) của nhật ký.
Core:error - mô tả mô-đun tạo ra thông báo. Trong trường hợp này, lõi
Apache đang tạo ra thông báo mô tả mức độ bảo mật (error).
pid 12485:tid 8589745621 - ID tiến trình và ID luồng thực thi tương ứng.
Client 10.10.255.14 - địa chỉ IP người dùng yêu cầu tới.
File does not exist: /images/content/bg_body_1.jpg - hiển thị trạng thái của
tệp mà khách hàng đã yêu cầu. Trong trường hợp này, tệp không tồn tại. Vì
vậy, nó hiển thị một thông báo lỗi cho biết tệp không tồn tại trên máy chủ.
38
Hinh 21 Điều tra lỗ hổng XSS
Với việc triển khai tường lửa, IDS, UPS, phần mềm chống vi-rút, v.v., kẻ tấn
công sẽ khó thực hiện các cuộc tấn công như XSS và SQL injection và vượt qua
các cơ chế bảo mật. Để tránh điều này, những kẻ tấn công thực hiện các kỹ thuật
làm xáo trộn để vượt qua và thực hiện các hoạt động độc hại.
Mã hóa Hex: sử dụng các giá trị hex của các ký tự để vượt qua các cơ
chế bảo mật.
- Câu lệnh XSS: <script>alert(“XSS”)</script>
- Câu lệnh XSS mã hóa: %3cscript%3ealert(“XSS”)%3c/script%3e>
Inline comment: sử dụng các comment nội tuyến ở giữa các chuỗi tấn
công để vượt qua các cơ chế bảo mật.
- Code với comment nội tuyến:
39
Mã hóa ký tự/ mã hóa kép: Một số Tường lửa Ứng dụng Web (WAF) giải mã đầu
vào được mã hóa hex và điều chỉnh nó, ngăn chặn một cuộc tấn công. Để vượt
qua chúng, những kẻ tấn công có thể mã hóa kép đầu vào. Trong những trường
hợp như vậy, một số WAF có thể không giải mã đầu vào lần thứ hai nên kẻ tấn
công có khả năng vượt qua WAF
- Code với mã hóa ký tự:
Trường hợp chuyển đổi: Một số ứng dụng chặn từ khóa SQL chữ
thường. Trong trường hợp đó, kẻ tấn công chuyển đổi code để vượt
qua chúng. Một số tường lửa chứa Bộ lọc Regex: / union \sseIect/g. Vì
vậy, có thể dò tìm mã nghi ngờ được viết bằng chữ thường.
- Code với chuyển đổi:
Thay thế từ khóa: Một số ứng dụng và WAF sử dụng thay thế preg để
loại bỏ tất cả các từ khóa SQL. Do đó, những kẻ tấn công sử dụng kỹ
thuật mã hóa sau để vượt qua các WAF.
- Code sử dụng khoảng trắng
Biểu thức Mô tả
((\%3C)|<) Kiểm tra dấu ngoặc nhọn mở hoặc mã hex tương đương của nó
((\%2F)|\/)* Kiểm tra dấu gạch chéo về phía trước để tìm thẻ đóng hoặc thẻ
tương đương hex của nó
40
[a-z0-9\%] Kiểm tra chuỗi có bên trong thẻ có thể là chuỗi chữ và số hoặc biểu
+ diễn hex của nó
((\%3E)|>) Kiểm tra dấu ngoặc nhọn đóng và mã hex tương đương
2.3.2. SQL Injection
Các sự cố tấn công SQL injection có thể được tìm thấy tại ba vị trí:
Tệp nhật ký IDS: Nhật ký IDS cho phép quản trị viên hệ thống xác
định bất kỳ hành vi xâm nhập thành công nào. Các bản ghi được tạo có
thể giúp xác định các xu hướng và mô hình tấn công hỗ trợ xác định
các lỗ hổng bảo mật có khả năng tấn công nhiều nhất. Ngoài ra, nó
cũng truy xuất thông tin liên quan đến bất kỳ lỗ hổng bảo mật hoặc lỗi
cấu hình chính sách nào có thể xảy ra với bất kỳ máy chủ nào trên
mạng có nguy cơ bị tấn công cao.
Tệp nhật ký máy chủ cơ sở dữ liệu: ghi lại từng thông báo được lưu trữ
trong cơ sở dữ liệu và cho phép chấp nhận lỗi trong trường hợp cơ sở
dữ liệu cần được khôi phục
Tệp nhật ký máy chủ web: Cung cấp cách thức và thời điểm của các
trang và ứng dụng của trang web, cùng với các thông tin liên quan
khác, chẳng hạn như trang nào đang được truy cập, ai và khi nào. Mỗi
máy chủ web tạo tệp nhật ký lưu giữ bản ghi thông tin liên quan đến
quyền truy cập vào một trang HTML cụ thể.
Dấu hiệu tấn công trong file nhật ký có dạng như sau:
41
Hinh 22 Điều tra cuộc tấn công SQL Injection
Sử dụng các biểu thức chính quy để phát hiện các cuộc tấn công SQL
Injection. Các quản trị viên cần viết các biểu thức theo cách mà họ có thể xác định
tất cả các loại siêu dữ liệu được sử dụng trong truy vấn SQL như dấu chấm phẩy,
dấu gạch ngang kép, dấu ngoặc kép, dấu trừ kép, v.v., cũng như tương đương hex.
Sử dụng các biểu thức chính quy này để đóng khung dấu hiệu snort và quy tắc snort
để phát hiện các cuộc tấn công chèn SQL. Quy tắc Snort với các biểu thức chính
quy khác nhau được sử dụng để phát hiện các cuộc tấn công chèn SQL vào ứng
dụng web.
42
Hinh 23 Điều tra cuộc tấn công SQL Injection
Hoặc:
43
2.4. Một số công cụ giúp điều tra cuộc tấn công Web
2.4.1. Web Log Viewers
Trình xem nhật ký web (Web Log Viewers) được chia làm 2 loại chính sau:
Trình phân tích sâu nhật ký (Deep log Analyzer): là một giải pháp
phân tích trang web dành cho các trang web có kích thước vừa và nhỏ.
Nó phân tích hành vi của khách truy cập trang web và nhận được
thống kê sử dụng trang web đầy đủ trong các bước đơn giản.
Tính năng:
- Cung cấp thống kê trang web và bày báo cáo phân tích trang web
với điều hướng tương tác và chế độ xem phân cấp
- Phân tích nhật ký từ các máy chủ web phổ biến, chẳng hạn như IIS
trên Windows, Apache hoặc Nginx trên Unix/Linux,...
- Cho phép xem các báo cáo tổng hợp và so sánh báo cáo trong các
khoảng thời gian khác nhau
Phân tích chuyên gia weblog (Weblog Expert): là trình phân tích nhật
ký truy cập cung cấp thông tin về khách truy cập trang web: thống kê
hoạt động, tệp đã truy cập, đường dẫn qua trang web, thông tin về các
trang giới thiệu, công cụ tìm kiếm, trình duyệt, hệ điều hành, ...
Chương trình tạo báo cáo bao gồm cả thông tin văn bản bảng và biểu
đồ.
Tính năng:
- Cung cấp số liệu thống kê chung, hoạt động và số liệu thống kê
truy cập
44
- Cung cấp thông tin về khách truy cập: máy chủ lưu trữ, tên miền
cấp cao nhất, quốc gia, tiểu bang, thành phố, người dùng đã xác
thực, độ phân giải màn hình, độ sâu màu và ngôn ngữ
- Cung cấp thông tin về lỗi
- Hỗ trợ các báo cáo tùy chỉnh
Một số công cụ có thể sử dụng điều tra bằng Web Log như:
Trình xem nhật ký Apache (Apache Logs Viewer (ALV)): cho phép
xem, giám sát và phân tích nhật ký Apache / IIS / nginx.
AWStats: là một công cụ đồ họa tạo ra các thống kê web, phát trực
tuyến, ftp hoặc máy chủ thư. Trình phân tích nhật ký này hoạt động
như một CGI hoặc từ dòng lệnh và hiển thị tất cả thông tin có thể có
trong nhật ký của bạn.
Máy chủ nhật ký Nagios: Là một Phần mềm quản lý, giám sát và phân
tích nhật ký tập trung. Nó đơn giản hóa quá trình tìm kiếm dữ liệu nhật
ký và thiết lập cảnh báo khi các mối đe dọa tiềm ẩn phát sinh hoặc chỉ
cần truy vấn dữ liệu nhật ký để kiểm tra bất kỳ hệ thống nào. Ở đây,
tất cả dữ liệu nhật ký đều lưu trữ ở một vị trí.
Splunk: giúp thu thập, phân tích và hoạt động dựa trên giá trị chưa
được khai thác của dữ liệu lớn, được tạo ra bởi cơ sở hạ tầng công
nghệ, hệ thống bảo mật và ứng dụng kinh doanh của người dùng —
cung cấp thông tin chi tiết để thúc đẩy hiệu suất hoạt động
Web log Storming: trình phân tích file nhật ký máy chủ web (IIS,
Apache và Nginx) dành cho Windows.
LogCruncher: một công cụ để phân tích và trực quan hóa dữ liệu của
các tệp nhật ký máy chủ web. Nó cho phép người dùng xem và hiểu
cách phân tích trang web dựa trên các chỉ số chính.
GoAccess: trình phân tích nhật ký web thời gian thực mã nguồn mở và
theo dõi tương tác chạy trong thiết bị đầu cuối trong hệ thống unix
hoặc thông qua trình duyệt của bạn. Nó cung cấp số liệu thống kê
HTTP cho quản trị viên hệ thống yêu cầu báo cáo máy chủ trực quan.
45
2.4.2. IP Address Locating Tools
Một số công cụ cho phép định vị địa chỉ ip tiêu biểu có thể kể đến như sau:
SmartWhois: là một tiện ích thông tin mạng cho phép tra cứu tất cả
thông tin có sẵn về địa chỉ IP, tên máy chủ hoặc miền, tên của nhà
cung cấp mạng, quản trị viên và thông tin liên hệ hỗ trợ kỹ thuật. Nó
hỗ trợ tên miền quốc tế hóa (IDN) và cũng hỗ trợ đầy đủ địa chỉ IPv6.
Tính năng:
- Lưu kết quả vào một kho lưu trữ.
- Cho phép xử lý hàng loạt địa chỉ IP hoặc danh sách miền.
- Cho phép lưu vào bộ nhớ đệm các kết quả thu được, phân giải
tên máy chủ và DNS.
- Cung cấp giao diện có thể tùy chỉnh.
ActiveWhois: là công cụ mạng dành cho Windows được sử dụng để
tìm bất kỳ thông tin nào về chủ sở hữu địa chỉ IP hoặc miền Internet,
có thể xác định quốc gia, địa chỉ cá nhân và địa chỉ bưu điện của chủ
sở hữu cũng như người dùng địa chỉ IP và miền. ActiveWhois cũng
cho phép người dùng khám phá các alias DNS.
Tính năng:
- Cho phép khám phá cơ sở dữ liệu tên miền
- Cho phép điều tra tên miền quốc tế
- Whois đang hoạt động cung cấp các liên kết trực tiếp đến các
công ty đăng ký tên miền cho mỗi quốc gia.
- ActiveWhois cũng có thể được sử dụng ở chế độ ngoại tuyến.
- Tất cả các yêu cầu WHOIS đã hoàn thành sẽ được lưu vào đĩa
và có thể được truy xuất ngay lập tức mà không cần kết nối
internet trực tiếp.
- Tính năng NetStat cho phép kiểm tra xem ai đang kết nối với
máy tính của bạn.
46
2.4.3. Solar Wind
Để giúp bảo vệ dữ liệu nhạy cảm và làm giảm nguy cơ mất dữ liệu, người
dùng được khuyên nên sử dụng công nghệ Security Information và Event
Management (SIEM), cụ thể như SolarWinds Log & Event Manager (LEM).
SolarWinds LEM là một sản phẩm SIEM toàn diện, được đóng gói trong một thiết
bị ảo rất dễ sử dụng, một ứng dụng có tất cả trong một. Với chức năng out-of-the-
box, bất cứ ai cũng có thể sử dụng và chạy nó và không cần phải là một chuyên gia
bảo mật! Quan trọng nhất, nó bao gồm tính năng phát triển chuyên biệt để giúp
phòng chống mất mát dữ liệu.
- Log Analysis
- Operating Log Files
- Network Infrastructure Log Files (Syslogd)
- IDS/IPS Log Files
- Endpoint Security: Antivirus (AV) & Malware Log Files
- Endpoint Security: Identity Authentication and Endpoint Protection Log
Files
- Web Server and Application Log Files
- FTP and Content Management Log Files
47
Hinh 24 Giao diện SolarWind
48
Hinh 25 Giao diện một Dashboard Splunk
49
CHƯƠNG 3. THỰC NGHIỆM QUÁ TRÌNH ĐIỀU TRA MỘT
CUỘC TẤN CÔNG WEB
3.1 Tổng quan về mục tiêu và nhiệm vụ
3.1.1 Mục tiêu chung
Mục tiêu là cung cấp kiến thức về theo dõi điều tra tội phạm trong một cuộc
tấn công Web và các vấn đề khác bao gồm:
Phân tích file log access log
Tìm kiếm shell được đẩy lên máy chủ
Phân tích file shell
Truy tìm địa chỉ ip của kẻ tấn công
Sau đấy ta tiến hành lọc địa chỉ web truy cập từ 192.168.113.2 và thấy attacker
thực hiện tấn công traversal path và đang tiến hành file upload lên một đường dẫn
/dvwa/vulnerabilities/upload/ HTTP/1.1
Đồng thời nhận thấy người dùng chạy Get file trong đường dẫn upload
51
Tiến hành đăng nhập OS truy vết vào đường dẫn file, nhận thấy trong folder có file
code.php không nằm trong danh sách file quản trị
Ta có thể tiến hành đưa file lên môi trường thử nghiệm để chạy hoặc mổ nội dung
file để xem kết nối và thấy có kết nối trả ngược địa chỉ 192.168.69.198
Ta tiến hành search log netstats để xem kết nối và nhận thấy có các kết nôi tcp thiết
lập ra ngoài
Sau khi phân tích và phát hiện, ta nhận thấy đây là tấn công nhắm vào website lợi
dụng các lỗ hổng về traversal path và upfile để tiến hành up shell lên server
website.
52
TÀI LIỆU THAM KHẢO
[1]. Tài liệu Computer Hacking Forensic Investigator – CHFI V9
[2]. Giáo trình Phòng chống và điều tra tội phạm máy tính, Học viện kỹ thuật
mật mã
[3] "https://m.antoanthongtin.vn/gp-attm/dieu-tra-so-hanh-trinh-truy-tim-
dau-vet-101016," [Online].
53