ݺߣ

ݺߣShare a Scribd company logo
GETTING CERTIFIED AS AN ENTHICAL HACKER
NỘI DUNG
Foundation
Cryptography
Ethical Hacking Testing Methodology
Web Application Architecture
Malware
Network Design
Thực nghiệm
1. Foundation
1.1 Security triad
Security triad Model
 Tính bí mật (Confidentiality): Thông tin chỉ được cung cấp
cho những người có thẩm quyền.
 Tính toàn vẹn (Integrity): Đảm bảo thông tin không bị thay
đổi một cách trái phép hoặc thay đổi không như ý muốn.
 Tính sẵn sàng (Availability): Thông tin có thể được truy
xuất bởi người dùng hợp lệ bất cứ khi nào họ muốn.
 Tính xác thực (Authenticity): Kiểm tra tính chân thực của danh tính được xác lập trong quá trình định danh.
 Tính chống chối bỏ (Non-repudiaton): Chứng minh rằng dữ liệu được gửi đi từ nguồn gốc đó.
1. Foundation
1.2 Communication Model
OSI model (Open System Interconnection Reference Model)
Nguyên tắc hoạt động
- Các lớp dưới cung cấp dịch vụ trực tiếp cho các lớp ngay phía
trên nó.
- Các lớp ngang hàng trên hai host tương tác trực tiếp với nhau.
Tuy nhiên, dữ liệu trao đổi giữa hai máy ngang hàng này để đi
đến được nhau phải thông qua hoạt động của các lớp bên dưới nó
- Đóng gói và giải đóng gói (Encapsulation và De encapsulation)
1. Foundation
1.2 Communication Model
OSI model (Open System Interconnection Reference Model)
Quá trình De-encapsulation khi đi từ lớp dưới lên lớp trên
Quy trình Encapsulation khi đi từ lớp trên xuống lớp dưới
1. Foundation
1.2 Communication Model
TCP/IP architecture
1. Foundation
1.3 Protocol
Internet Protocol (IP)
Internet Protocol (Giao thức Internet) là một giao thức, hoặc
một tập hợp các quy tắc, để định tuyến và định địa chỉ các gói
dữ liệu để chúng có thể di chuyển qua các mạng và đến đúng
đich
Cấu trúc gói tin IP
Cấu trúc gói tin IP
Gồm 2 phần là Header và Data
- Header chứa thông tin quản lý của gói
- Data là phần dữ liệu cần truyền tải được đóng gói
trong gói tin IP.
1. Foundation
1.3 Protocol
Transmission Control Protocol (TCP)
- Giao thức truyền tải hướng kết nối (phải thiết lập kết nối
trước khi truyền dữ liệu)
- Sử dụng TCP, các ứng dụng trên các máy chủ được nối mạng
có thể tạo các kết nối với nhau, mà qua đó chúng có thể trao
đổi dữ liệu hoặc các gói tin.
- Giao thức này đảm bảo chuyển giao dữ liệu tới nơi nhận một
cách đáng tin cậy và đúng thứ tự.
Cấu trúc gói tin TCP
1. Foundation
1.3 Protocol
Transmission Control Protocol (TCP)
Hoạt động của giao thức
TCP yêu cầu thiết lập kết nối trước khi bắt đầu gửi dữ liệu và kết
thúc kết nối khi việc gửi dữ liệu hoàn tất. Cụ thể, các kết nối TCP có
ba pha:
 Thiết lập kết nối
 Truyền dữ liệu
 Kết thúc kết nối
Quá trình bắt đầu kết nối TCP
 Truyền dữ liệu
- Truyền dữ liệu không lỗi (do có cơ chế sửa lỗi/truyền lại)
- Truyền các gói dữ liệu theo đúng thứ tự
- Truyền lại các gói dữ liệu mất trên đường truyền
- Loại bỏ các gói dữ liệu trùng lặp
- Cơ chế hạn chế tắc nghẽn đường truyền
 ISN (Initial Sequence Number)
 Chọn ngẫu nhiên
 Đánh dấu các khối dữ liệu gửi từ mỗi máy tính
 Sau mỗi byte được truyền đi, số này được tăng lên  có thể sắp xếp lại khi tới đích bất kể tới theo thứ tự nào
Trên lý thuyết, mỗi byte gửi đi đều có một số thứ tự và khi nhận được thì máy tính nhận gửi lại tin báo nhận (ACK).
Trong thực tế thì chỉ có byte dữ liệu đầu tiên được gán số thứ tự trong trường số thứ tự của gói tin và bên nhận sẽ gửi tin báo
nhận bằng cách gửi số thứ tự của byte đang chờ.
Số thứ tự và tin báo nhận giải quyết được vấn đề về lặp gói tin, truyền lại những gói bị hỏng/mất và các gói tin đến sai
thứ tự.
 Kết thúc kết nối
- Quá trình bắt tay 4 bước và chiều của kết nối kết thúc độc
lập với nhau
- Khi một bên muốn kết thúc  gửi đi một gói tin FIN và bên
kia gửi lại tin báo nhận ACK. Vì vậy, một quá trình kết thúc
tiêu biểu sẽ có 2 cặp gói tin trao đổi.
1. Foundation
1.3 Protocol
Transmission Control Protocol (TCP)
Quá trình đóng kết nối TCP
1. Foundation
1.3 Protocol
User Datagram Protocol (UDP)
- UDP là giao thức truyền tải hướng không kết nối
- Dùng UDP, chương trình trên mạng máy tính có thể gửi những dữ liệu ngắn
được gọi là datagram tới máy khác.
• Không thiết lập kết nối:
• Gói tin độc lập: dữ liệu được chia thành các gói tin riêng lẻ và mỗi gói tin được
đóng gói độc lập
• Không đảm bảo độ tin cậy: các gói tin có thể bị mất, trùng lặp hoặc đến không
đúng thứ tự  UDP không sử dụng cơ chế xác nhận, khôi phục sau lỗi và kiểm
soát luồng.
 UDP nhanh và hiệu quả hơn đối với các mục tiêu như kích thước nhỏ và yêu
cầu khắt khe về thời gian. Do bản chất không trạng thái của nó nên nó hữu
dụng đối với việc trả lời các truy vấn nhỏ với số lượng lớn người yêu cầu.
Cấu trúc gói tin UDP
2. Cryptography
2.1 Symmetric encryption
Là những hệ mật sử dụng chung 1 khóa trong quá trình mã hóa và giải mã. Do đó khóa phải được giữ bí mật tuyệt đối.
Hệ mật sẽ bao gồm:
 Bản rõ (Plaintext – M)
 Bản mã (Ciphertext – C)
 Khóa (Key – Ks): là giá trị ngẫu nhiên và bí mật được chia sẻ
giữa các bên trao đổi thông tin và được tạo ra từ:
o Bên thứ 3 được tin cậy tạo và phân phối tới bên gửi và bên
nhận
o Bên gửi tạo ra và chuyển cho bên nhận
 Mã hóa (Encrypt – E): C = E(Ks, M)
 Giải mã (Decryption – D): M = D(Ks, C) = D(Ks, E(Ks, M)) Cơ chế hoạt động hệ mật khóa đối xứng
2. Cryptography
2.2 Giao thức trao đổi khoá Diffie-Hellman
Giả sử A và B muốn liên lạc sử dụng hệ mật khóa bí mật. Để thỏa thuận một khóa K chung cho cả 2
bên qua kênh không an toàn mà không ai khác có thể biết được, có thể dùng thủ tục thỏa thuận
khóa Diffie-Hellman.
1. Chọn trước số nguyên tố p thích hợp và phần tử sinh 𝛼 của Z*p
(2 <= 𝛼 <= p-2)
- Công khai giá trị p và 𝛼
2. A chọn số nguyên tố bí mật x, 1 <= x <= p-2 và gửi cho B thông báo :
𝛽𝐴 = 𝛼x mod p
B chọn số nguyên tố bí mật y, 1 <= y <= p-2 và gửi cho A thông báo:
𝛽𝐵 = 𝛼y mod p
3. B thu được 𝛽𝐴 và tính khóa chung K: K = (𝛽𝐴)𝑦 = (𝛼𝑥)𝑦 mod p
A thu được 𝛽𝐵 và tính khóa chung K: K = (𝛽𝐵)𝑥
= (𝛼𝑦
)𝑥
mod p
2. Cryptography
2.3 Asymmetric encryption
Sử dụng 1 cặp khóa có tên là public key (Kp) và private key (Ks).
Cơ chế hoạt động hệ mật khóa bất đối xứng
Hệ mật sẽ bao gồm:
 Bản rõ (Plaintext – M)
 Bản mật (Ciphertext – C)
 Khóa: có một cặp khóa:
o Khóa công khai (Kp): công khai cho tất cả mọi người
biết (kể cả hacker)
o Khóa riêng (Ks): giữ bí mật, không chia sẻ cho bất kỳ
ai.
 Mã hóa (Encrypt – E): C = E(Kp, M)
 Giải mã (Decrypt – D): M = D(Ks, C) = D(Ks, E(Kp, M))
2. Cryptography
2.4 Hybrid cryptosystem
Mô hình hệ thống mã hóa lai
- Bên gửi tạo ra một khóa bí mật dùng để mã hóa dữ liệu. Khóa
này được gọi là Session Key.
- Session Key này lại được mã hóa bằng khóa công khai của bên
nhận dữ liệu.
- Dữ liệu mã hóa cùng với Session Key đã mã hóa được gửi đi
tới bên nhận.
- Bên nhận dùng khóa riêng để giải mã Session Key và có được
Session Key ban đầu.
- Dùng Session Key sau khi giải mã để giải mã dữ liệu.
2. Cryptography
2.4 Cryptographic Hash
Dữ liệu có đầu vào bất kỳ  H  Bản tóm lược có độ dài cố định.
Các tính chất:
 Kháng tiền ảnh: từ H(x) không thể tìm ra được x
 Kháng tiền ảnh thứ hai: cho trước x, không thể tìm được x’ sao cho
H(x) = H(x’)
 Kháng va chạm: không thể tìm được cặp (x, y) sao cho H(x) = H(y)
Ứng dụng của hàm băm:
- Tạo mã xác thực (lược đồ HMAC)
- Xác thực thực thể (cơ chế thách đố - giải đố)
- Dẫn xuất khóa
Họ hàm băm: MD4, MD5; SHA1, SHA224, SHA256, SHA512
2. Cryptography
2.5 Chữ ký số
- Sử dụng mật mã khóa công khai
- Ký: s = E(Ks, msg)
- Gửi đi: s, msg
- Kiểm tra: msg = D(Kp, s)
Thường thì thông điệp msg có giá trị lớn
 thay bằng giá trị băm.
Chữ ký số không đảm bảo tính bí mật, chỉ
mang tính xác minh.
Hệ thống chữ ký số: bộ 5 (P, A, K, S, V)
 P: là một tập hữu hạn các thông báo có thể
 A: là một tập hữu hạn các chữ ký có thể
 K: là một tập hữu hạn các khóa, mỗi khóa k thuộc K gồm 2 thành
phần k = (ks, kv) – ks: khóa bí mật dùng để ký, kv: khóa công khai
để kiểm tra chữ ký.
 Với mỗi k = (ks, kv) trong S có một thuật toán ký sigk: PA, và
trong V có một thuật toán kiểm tra chữ ký verk: PxA  {đúng, sai}
thỏa mãn điều kiện sau với mọi thông báo x thuộc P và chữ ký y
thuộc A:
verkv(x, y) = đúng  y = sigks(x)
2. Cryptography
2.5 Chứng thực khoá công khai
CA: Trung tâm chứng thực khóa công khai tin cậy
- Quá trình tạo chứng thư số:
 Thực thể đăng ký khóa công khai với CA
 CA tạo chứng thư số gắn thực thể với khóa công khai
 CA ký vào chứng thư số
- Sử dụng chứng thư số:
 Sử dụng khóa công khai của CA để kiểm tra chứng thư số cần xác thực
 Nếu đúng thì có thì có thể tin chứng thư số đó do CA phát hành, và có thể sử dụng khóa công
khai lấy ra từ chứng thư số.
3. Ethical Hacking Testing Methodology
3.1 Các giai đoạn trong quá trình Pentest
3. Ethical Hacking Testing Methodology
3.1 Các giai đoạn trong quá trình Pentest
1. Reconnaissance
- Thăm dò (Reconnaissance) – là bước chuẩn bị trong đó kẻ tấn công cố gắng thu thập thông tin
nhiều nhất có thể về mục tiêu.
- Thông tin thu thập có thể bao gồm các thông tin về cơ qaun, tổ chức, nhân viên cho tới các
thông tin về mạng, hệ thống…
- Sử dụng kỹ năng ONIST (Open-Source Intelligence) để tổng hợp thông tin về mục tiêu đang
được nhắm tới
• Passive reconnaissance: là việc thu thập thông tin mà không cần tương tác trực tiếp với mục
tiêu
• Ví dụ: tìm kiếm thông tin trên các phương tiện truyền thông công cộng.
• Active reconnaissance: là việc thu thập thông tin có sự tương tác trực tiếp với mục tiêu
• Ví dụ: gọi điện, gửi email, …
3. Ethical Hacking Testing Methodology
3.1 Các giai đoạn trong quá trình Pentest
2. Scanning
- Pre-attack phase: tiến hành dò quét mạng để thu thập các thông tin chi tiết về hệ thống dựa trên các
thông tin đã nhận được trước đó trong quá trình thăm dò.
- Port Scanner: quá trình này giúp phát hiện các cổng dịch vụ đang lắng nghe, dò quét lỗ hổng, xác định
các thiết bị phòng thủ (FW, IDPS, Proxy, …) nếu có.
- Extract Information: trích xuất các thông tin như địa chỉ IP của các máy, cổng dịch vụ và trạng thái, hệ
điều hành, phiên bản dịch vụ, … để chuẩn bị thực hiện tấn công.
3. Analysis
- Kiểm tra dữ liệu thu được trong các bước thu thập thông tin, scanning và ghi chú lại.
3. Ethical Hacking Testing Methodology
3.1 Các giai đoạn trong quá trình Pentest
4. Exploitation
- Giai đoạn tấn công
- Người kiểm thử cố gắng giành quyền truy cập vào hệ thống mục tiêu giống như cách mà một hacker thực sự,
độc hại sẽ làm thông qua việc khai thác các lỗ hổng tiềm tàng.
- Ở giai đoạn này, sau khi người kiểm thử xâm nhập được vào hệ thống, sẽ sử dụng hệ điều hành chạy trên hệ
thống đích, các cổng mở và những dịch vụ phục vụ trên các cổng này cũng như những phương thức khai thác
có thể được áp dụng tuỳ theo phiên bản của chúng.
- Việc này đòi hỏi chuyên môn và kinh nghiệm nghiêm túc để có thể sử dụng thành công và linh hoạt các
phương thức khai thác hiện có, không làm hỏng hệ thống và không để lại bất kỳ dấu vết nào trong quá trình
tiếp quản hệ thống. Do đó, giai đoạn kiểm thử thâm nhập này là bước quan trọng nhất.
3. Ethical Hacking Testing Methodology
3.1 Các giai đoạn trong quá trình Pentest
5. Post Exploitation
- Nếu một hacker mũ trắng truy cập được vào hệ thống, họ thường đăng nhập vào hệ thống với tư
cách là người dùng có thẩm quyền thấp. Ở giai đoạn này, người kiểm thử thâm nhập cần có quyền
admin, khai thác các lỗ hổng trong hệ điều hành hoặc môi trường mạng.
- Sau đó, họ sẽ nhắm đến việc chiếm giữ các thiết bị khác trong môi trường mạng bằng các đặc
quyền bổ sung mà họ đã đạt được và cuối cùng là những đặc quyền người dùng cấp cao nhất như
quản trị viên domain hoặc quản trị viên cơ sở dữ liệu.
3. Ethical Hacking Testing Methodology
3.1 Các giai đoạn trong quá trình Pentest
6. Reporting
- Khi quá trình kiểm thử thâm nhập được hoàn thành, người kiểm thử thâm nhập phải trình bày các lỗ
hổng bảo mật mà họ đã phát hiện trong hệ thống đích, những bước tiếp theo và cách họ có thể khai thác
các lỗ hổng này cho tổ chức bằng một báo cáo chi tiết. Điều này phải bao gồm các thông tin như ảnh chụp
màn hình, code mẫu, giai đoạn tấn công và nguyên nhân lỗ hổng này có thể xảy ra.
- Báo cáo cuối cùng cũng phải bao gồm đề xuất giải pháp về cách thu hẹp từng lỗ hổng bảo mật. Độ nhạy
và tính độc lập của các thử nghiệm thâm nhập vẫn còn là một bí ẩn. Hacker mũ trắng không bao giờ được
chia sẻ thông tin bí mật thu được ở giai đoạn này và không bao giờ được lạm dụng thông tin này bằng
cách cung cấp thông tin sai lệch, vì điều đó thường là bất hợp pháp.
3. Ethical Hacking Testing Methodology
3.2 Sử dụng Nmap cơ bản
Quét một địa chỉ IP hoặc một máy chủ
- Thực hiện quét một địa chỉ IPv4 để tìm hiểu tất cả các cổng,
dịch vụ và địa chỉ MAC mở trên hệ thống như sau:
3. Ethical Hacking Testing Methodology
3.2 Sử dụng Nmap cơ bản
Sử dụng tuỳ chọn –v để cung cấp thông tin chi tiết về máy chủ:
3. Ethical Hacking Testing Methodology
3.2 Sử dụng Nmap cơ bản
Có thể quét nhiều máy chủ cùng lúc bằng cách sử dụng nhiều địa chỉ IP để quét trong một lần:
3. Ethical Hacking Testing Methodology
3.2 Sử dụng Nmap cơ bản
Quét danh sách máy chủ được lưu trữ trong tệp
- Khi có nhiều máy chủ để quét và tất cả các địa chỉ máy chủ được ghi trong một tệp:
- Sau khi tạo xong tệp có chứa đầy đủ tên máy chủ và địa chỉ IP cần quét, thực hiện chạy lệnh sau để quét:
3. Ethical Hacking Testing Methodology
3.2 Sử dụng Nmap cơ bản
Quét một dải địa chỉ IP
3. Ethical Hacking Testing Methodology
3.2 Sử dụng Nmap cơ bản
Quét thông tin hệ điều hành và traceroute
Để xem hệ điều hành của máy chủ và traceroute, sử dụng lệnh nmap với tuỳ chọn –A như hình bên dưới:
3. Ethical Hacking Testing Methodology
3.2 Sử dụng Nmap cơ bản
Hiển thị cổng và tuyến đường đi của máy chủ
Có thể tìm hiểu cổng máy chủ và thông tin tuyến đường đi của máy chủ bằng nmap cùng với tuỳ chọn --iflist như bên dưới:
3. Ethical Hacking Testing Methodology
3.2 Sử dụng Nmap cơ bản
Quét cổng cụ thể
Có thể chỉ định các cổng muốn nmap với tuỳ chọn –p
Tấn công phi điện tử
Kẻ tấn công không cần sở hữu hiểu biết về kỹ thuật để bẻ khóa mật khẩu, vì thế kỹ
thuật này được gọi là “tấn công phi điện tử”
1. Nhìn trộm 2. Kỹ nghệ xã hội 3. Tìm kiếm thùng rác
Tấn công trực tuyến
chủ động
Kẻ tấn công thực hiện tấn công bẻ khóa mật khẩu bằng cách kết nối trực tiếp với
máy nạn nhân
1.Tấn công từ điển, Brute Force 2. Hash Injection, Phishing
3.Trojan/Spyware/Keyloggers 4. Đoán mật khẩu
Tấn công trực tuyến
bị động
Kẻ tấn công thực hiện bẻ khóa mật khẩu mà không cần kết nối với bên ủy quyền
1. Wire sniffing 2. Man-in-the-Middle Attack
3. Tìm kiếm thùng rác
Tấn công ngoại tuyến
Kẻ tấn công sao chép tệp tin mật khẩu của mục tiêu và sau đó cố gắng bẻ khóa mật
khẩu hệ thống của họ ở một địa điểm khác
1. Tấn công Rainbow Table (Tiền tính toán Hash) 2. Tấn công mạng phân tán
3. Ethical Hacking Testing Methodology
3.3 Cracking Password
3. Ethical Hacking Testing Methodology
3.3 Cracking Password
Password Cracking with John the Ripper
- Công cụ bẻ khoá mật khẩu được viết bằng C
- Kiểm tra độ chắc chắn của mật khẩu chống lại các cuộc tấn công Brute Force
- Chương trình này có khả năng phá vỡ MD5, SHA1 và nhiều hàm băm khác được sử dụng rộng rãi trong thế giới máy
tính.
 Tấn công từ điển
- Cho phép bẻ khóa mật khẩu bằng từ điển
- Nếu người dùng tải một hoặc nhiều bộ từ điển mật khẩu từ Internet dung lượng vài chục GB thì công cụ sẽ
phụ trách test từng key này để tìm cách bẻ khóa mật khẩu
- Tạo mã băm của mỗi mật khẩu  so sánh mã băm mà người dùng muốn phá vỡ
 Tấn công Brute Force
- Thử nghiệm tất cả các tổ hợp chữ cái, số và ký hiệu của một key có độ dài nhất định
- Phương pháp này là chậm nhất vì nó sẽ kiểm tra tất cả các kết hợp và có thể mất hàng giờ, hàng ngày, thậm
chí hàng năm để bẻ khóa mật khẩu đến một độ dài nhất định.
3. Ethical Hacking Testing Methodology
3.4 Metasploit
Bản chất của Metasploit chính là một kho chứa các đoạn code được viết bằng Ruby nhằm mục đích kiểm tra bảo mật của hệ
thống hoặc ứng dụng. Các đoạn code này có thể dùng để tấn công, xâm nhập, leo thang đặc quyền, thu thập dữ liệu, quét lỗi,
chuyển dữ liệu giữa máy tấn công và máy nạn nhân, v.v. trên nhiều nền tảng khác nhau.
Thành phần:
Hỗ trợ giao diện người dùng với 2 dạng:
 Console interface: đây là giao diện sử dụng các dòng lệnh để cấu hình, kiểm tra  do vậy tốc độ nhanh hơn và mềm dẻo
hơn. Sử dụng file msfconsole.bat.
 Web interface: Giao tiếp với người dùng thông qua giao diện web. Sử dụng file msfweb.bat.
Enviroment:
 Global Environment: Được thực thi thông qua 2 câu lệnh setg và unsetg, những tùy chọn được gán ở đây sẽ mang tính
toàn cục, được đưa vào tất cả các module khai thác.
 Temporary Environment: Được thực thi thông qua 2 câu lệnh set và unset, environment này chỉ được đưa vào module
khai thác đang load hiện tại, không ảnh hưởng đến các module khai thác khác.
4. Web Application Architecture
4.1 Kiến trúc ứng dụng web
 Trình khách (trình duyệt): IE, Firefox, Google
Chrome, …
 Trình chủ: Apache, IIS, …
 Cơ sở dữ liệu: SQL server, MySQL, …
 Tường lửa: lớp rào chắn bên ngoài một hệ thống
mạng, có vai trò kiểm soát luồng thông tin giữa các
máy tính.
 Proxy: xác định những yêu cầu từ trình khách và
quyết định đáp ứng yêu cầu hay không. Proxy đóng
vai trò cầu nối trung gian giữa máy chủ và máy
khách.
4. Web Application Architecture
4.2 Một số hình thức tấn công web phổ biến
Tấn công thu thập thông tin
 Tấn công quét cổng
 Tấn công dò quét thư mục
 Thu thập thông tin từ Internet
Tấn công dựa trên lỗi cấu hình
Các tập tin cấu hình, ứng dụng luôn luôn tồn tại các lỗ
hổng chưa được khám phá hoặc các lỗ hổng cũ.
Một trong số các tấn công điển hình là: Misconfiguration
Attack và zero-day Attack.
Tấn công quá trình xác thực
 Tấn công dò quét mật khẩu
 Tấn công từ điển
 SQL injection
Tấn công phiên làm việc
 Session Hijacking
 Brute Force Session ID
 Session Fixation Attack
Tấn công lợi dụng thiếu sót trong việc kiểm tra dữ liệu đầu
vào hợp lệ
 Chèn mã lệnh thực thi trên trình duyệt: Cross-Site Scripting
 Tiêm mã truy vấn vào cơ sở dữ liệu: SQL Injection
 Thêm câu lệnh hệ thống: OS Command Injection
 Vượt đường dẫn: Path traversal
 Tràn bộ đệm: Buffer Over Flow
5. Malware
Malware (hay phần mềm độc hại) là thuật ngữ mô tả các chương trình hoặc mã độc có khả năng cản trở hoạt động bình thường
của hệ thống bằng cách xâm nhập, kiểm soát, làm hỏng hoặc vô hiệu hoá hệ thống mạng, máy tính, các thiết bị di động,
Phân loại mã độc
5. Malware
1
Ransomware
4
The hybrid
attack
3
Spyware
2
Adware
6. Network Design
7. Thực hiện scan và mô phỏng một số cuộc tấn công
7.1 Sử dụng công cụ BurpSuit
a. SQL Injection
<username>' OR 1=1--
'OR ''='
<username>'--
'OR 1=1- -
'or 'a' = 'a
'' or ''a''=''a
') or ('a'='a
'' or 1=1--
7. Thực hiện scan và mô phỏng một số cuộc tấn công
7.1 Sử dụng công cụ BurpSuit
a. SQL Injection
- Thực hiện đăng nhập với username và password bất kỳ
7. Thực hiện scan và mô phỏng một số cuộc tấn công
7.1 Sử dụng công cụ BurpSuit
a. SQL Injection
7. Thực hiện scan và mô phỏng một số cuộc tấn công
7.1 Sử dụng công cụ BurpSuit
a. SQL Injection
7. Thực hiện scan và mô phỏng một số cuộc tấn công
7.1 Sử dụng công cụ BurpSuit
a. SQL Injection
7. Thực hiện scan và mô phỏng một số cuộc tấn công
7.1 Sử dụng công cụ BurpSuit
a. XSS
7. Thực hiện scan và mô phỏng một số cuộc tấn công
7.1 Sử dụng công cụ BurpSuit
a. XSS
<SCRIPT>alert('XSS');</SCRIPT>
<IMG SRC=/slideshow/bao-cao-getting-certificated-as-an-pptx/270598808/&
<IMG
SRC=''
http://np9.upanh.com/b3.s30.d2/75b5d01fec
6c8b0e20416cfb65901add_48010539.vhbgr
oup.png''>
<SCRIPT>document.write(''<SCRI'');</SC
RIPT>
7. Thực hiện scan và mô phỏng một số cuộc tấn công
7.1 Sử dụng công cụ BurpSuit
a. XSS
7. Thực hiện scan và mô phỏng một số cuộc tấn công
7.1 Sử dụng công cụ BurpSuit
a. XSS
7. Thực hiện scan và mô phỏng một số cuộc tấn công
7.1 Sử dụng công cụ OWASP ZAP
a. Scan
7. Thực hiện scan và mô phỏng một số cuộc tấn công
7.1 Sử dụng công cụ OWASP ZAP
a. Scan
7. Thực hiện scan và mô phỏng một số cuộc tấn công
7.1 Sử dụng công cụ OWASP ZAP
a. Scan
7. Thực hiện scan và mô phỏng một số cuộc tấn công
7.1 Sử dụng công cụ OWASP ZAP
a. Scan
 Include in Context
o Để thực hiện kiểm thử xâm nhập ở chế độ
Protected, cần include URL cần được kiểm tra vào
trong Context
o Click chuột phải vào URL  Include in Context
 New Context, màn hình session property sẽ
xuất hiện
o Chọn vào URL và nhấn OK
o Khi được include in context, 1 vòng tròn đỏ được
hiển thị trong cá icon của URL
7. Thực hiện scan và mô phỏng một số cuộc tấn công
7.1 Sử dụng công cụ OWASP ZAP
a. Scan
 Thực hiện quét: Chuột phải URL  Attack  Active Scan
7. Thực hiện scan và mô phỏng một số cuộc tấn công
7.1 Sử dụng công cụ OWASP ZAP
a. Scan
Đọc kết quả
7. Thực hiện scan và mô phỏng một số cuộc tấn công
7.1 Sử dụng công cụ OWASP ZAP
a. Scan
Thực hiện login vào trang web
7. Thực hiện scan và mô phỏng một số cuộc tấn công
7.1 Sử dụng công cụ OWASP ZAP
a. Scan
 Repeater
o Chuột phải vào POST:userinfo.php()(pass, uname)  Open/Resend with Request Editor…
o Sau đó, có thể resend lại bằng 1 user hoặc password mới
7. Thực hiện scan và mô phỏng một số cuộc tấn công
7.1 Sử dụng công cụ OWASP ZAP
b. Fuzzing
- Thực hiện login vào trang web mục tiêu, thu được Request POST:userinfo.php()(pass, uname) trên ZAP
- Nhấp chuột phải vào request này  Attack  Fuzz
7. Thực hiện scan và mô phỏng một số cuộc tấn công
7.1 Sử dụng công cụ OWASP ZAP
b. Fuzzing
Thực hiện đánh dấu position muốn tấn công (2 giá trị username/password: nga và 12345)  Add  Load file
dữ liệu đầu vào cho 2 trường username và password
7. Thực hiện scan và mô phỏng một số cuộc tấn công
7.1 Sử dụng công cụ OWASP ZAP
b. Fuzzing
7. Thực hiện scan và mô phỏng một số cuộc tấn công
7.1 Sử dụng công cụ OWASP ZAP
b. Fuzzing
7. Thực hiện scan và mô phỏng một số cuộc tấn công
7.1 Sử dụng công cụ OWASP ZAP
b. Fuzzing
7. Thực hiện scan và mô phỏng một số cuộc tấn công
7.1 Sử dụng công cụ OWASP ZAP
b. Fuzzing
7. Thực hiện scan và mô phỏng một số cuộc tấn công
7.1 Sử dụng công cụ OWASP ZAP
b. Fuzzing
7. Thực hiện scan và mô phỏng một số cuộc tấn công
7.1 Sử dụng công cụ OWASP ZAP
b. Fuzzing
Báo cáo getting certificated as an .pptx

More Related Content

Similar to Báo cáo getting certificated as an .pptx (20)

HẠ TẦNG KHÓA CÔNG KHAI(PKI)
HẠ TẦNG KHÓA CÔNG KHAI(PKI)HẠ TẦNG KHÓA CÔNG KHAI(PKI)
HẠ TẦNG KHÓA CÔNG KHAI(PKI)
ducmanhkthd
վểu+ận+ԳٴDz
վểu+ận+ԳٴDzվểu+ận+ԳٴDz
վểu+ận+ԳٴDz
Bùi Quân
Cau hoi an ninh internet version 3 (1)
Cau hoi an ninh internet version 3 (1)Cau hoi an ninh internet version 3 (1)
Cau hoi an ninh internet version 3 (1)
Hiếu Hiếu
Bai giang atbmtt
Bai giang atbmtt Bai giang atbmtt
Bai giang atbmtt
Hà Vũ
Computer_NetWork_Chapter07_TransportLayer.pdf
Computer_NetWork_Chapter07_TransportLayer.pdfComputer_NetWork_Chapter07_TransportLayer.pdf
Computer_NetWork_Chapter07_TransportLayer.pdf
12A13TrnMinhHiu
Anninhmangk13mtt
Anninhmangk13mttAnninhmangk13mtt
Anninhmangk13mtt
tuants
Báo cáo thực tập - Đàm Văn Sáng
Báo cáo thực tập  - Đàm Văn SángBáo cáo thực tập  - Đàm Văn Sáng
Báo cáo thực tập - Đàm Văn Sáng
Đàm Văn Sáng
BÀI GIẢNG An ninh mạng máy tính.pdf
BÀI GIẢNG An ninh mạng máy tính.pdfBÀI GIẢNG An ninh mạng máy tính.pdf
BÀI GIẢNG An ninh mạng máy tính.pdf
NuioKila
TRUNG_CHU_KY_SO.docx
TRUNG_CHU_KY_SO.docxTRUNG_CHU_KY_SO.docx
TRUNG_CHU_KY_SO.docx
leanh121
Tổng hợp các tài liệu cryptography thuat toan ma hoa
Tổng hợp các tài liệu cryptography  thuat toan ma hoaTổng hợp các tài liệu cryptography  thuat toan ma hoa
Tổng hợp các tài liệu cryptography thuat toan ma hoa
Hoi Nguyen
Bảo mật nội bộ và an toàn ip
Bảo mật nội bộ và an toàn ipBảo mật nội bộ và an toàn ip
Bảo mật nội bộ và an toàn ip
NgcHng148
Mo hinh osi compatibility mode
Mo hinh osi compatibility modeMo hinh osi compatibility mode
Mo hinh osi compatibility mode
24071983
GTATTT-Chap 6.pdf
GTATTT-Chap 6.pdfGTATTT-Chap 6.pdf
GTATTT-Chap 6.pdf
HiPhm110
thi tốt nghiệp môn chính trị
thi tốt nghiệp môn chính trịthi tốt nghiệp môn chính trị
thi tốt nghiệp môn chính trị
chauminhtricntt
Giới thiệu về Mạng riêng ảo Vitual Private Network
Giới thiệu về Mạng riêng ảo Vitual Private NetworkGiới thiệu về Mạng riêng ảo Vitual Private Network
Giới thiệu về Mạng riêng ảo Vitual Private Network
tuanhiep8
Copy (2) of khái niệm về thương mại điện tử
Copy (2) of khái niệm về thương mại điện tửCopy (2) of khái niệm về thương mại điện tử
Copy (2) of khái niệm về thương mại điện tử
Lợn Tex
Khái niệm về thương mại điện tử
Khái niệm về thương mại điện tửKhái niệm về thương mại điện tử
Khái niệm về thương mại điện tử
Lợn Tex
HẠ TẦNG KHÓA CÔNG KHAI(PKI)
HẠ TẦNG KHÓA CÔNG KHAI(PKI)HẠ TẦNG KHÓA CÔNG KHAI(PKI)
HẠ TẦNG KHÓA CÔNG KHAI(PKI)
ducmanhkthd
Cau hoi an ninh internet version 3 (1)
Cau hoi an ninh internet version 3 (1)Cau hoi an ninh internet version 3 (1)
Cau hoi an ninh internet version 3 (1)
Hiếu Hiếu
Bai giang atbmtt
Bai giang atbmtt Bai giang atbmtt
Bai giang atbmtt
Hà Vũ
Computer_NetWork_Chapter07_TransportLayer.pdf
Computer_NetWork_Chapter07_TransportLayer.pdfComputer_NetWork_Chapter07_TransportLayer.pdf
Computer_NetWork_Chapter07_TransportLayer.pdf
12A13TrnMinhHiu
Anninhmangk13mtt
Anninhmangk13mttAnninhmangk13mtt
Anninhmangk13mtt
tuants
Báo cáo thực tập - Đàm Văn Sáng
Báo cáo thực tập  - Đàm Văn SángBáo cáo thực tập  - Đàm Văn Sáng
Báo cáo thực tập - Đàm Văn Sáng
Đàm Văn Sáng
BÀI GIẢNG An ninh mạng máy tính.pdf
BÀI GIẢNG An ninh mạng máy tính.pdfBÀI GIẢNG An ninh mạng máy tính.pdf
BÀI GIẢNG An ninh mạng máy tính.pdf
NuioKila
TRUNG_CHU_KY_SO.docx
TRUNG_CHU_KY_SO.docxTRUNG_CHU_KY_SO.docx
TRUNG_CHU_KY_SO.docx
leanh121
Tổng hợp các tài liệu cryptography thuat toan ma hoa
Tổng hợp các tài liệu cryptography  thuat toan ma hoaTổng hợp các tài liệu cryptography  thuat toan ma hoa
Tổng hợp các tài liệu cryptography thuat toan ma hoa
Hoi Nguyen
Bảo mật nội bộ và an toàn ip
Bảo mật nội bộ và an toàn ipBảo mật nội bộ và an toàn ip
Bảo mật nội bộ và an toàn ip
NgcHng148
Mo hinh osi compatibility mode
Mo hinh osi compatibility modeMo hinh osi compatibility mode
Mo hinh osi compatibility mode
24071983
GTATTT-Chap 6.pdf
GTATTT-Chap 6.pdfGTATTT-Chap 6.pdf
GTATTT-Chap 6.pdf
HiPhm110
thi tốt nghiệp môn chính trị
thi tốt nghiệp môn chính trịthi tốt nghiệp môn chính trị
thi tốt nghiệp môn chính trị
chauminhtricntt
Giới thiệu về Mạng riêng ảo Vitual Private Network
Giới thiệu về Mạng riêng ảo Vitual Private NetworkGiới thiệu về Mạng riêng ảo Vitual Private Network
Giới thiệu về Mạng riêng ảo Vitual Private Network
tuanhiep8
Copy (2) of khái niệm về thương mại điện tử
Copy (2) of khái niệm về thương mại điện tửCopy (2) of khái niệm về thương mại điện tử
Copy (2) of khái niệm về thương mại điện tử
Lợn Tex
Khái niệm về thương mại điện tử
Khái niệm về thương mại điện tửKhái niệm về thương mại điện tử
Khái niệm về thương mại điện tử
Lợn Tex

Báo cáo getting certificated as an .pptx

  • 1. GETTING CERTIFIED AS AN ENTHICAL HACKER
  • 2. NỘI DUNG Foundation Cryptography Ethical Hacking Testing Methodology Web Application Architecture Malware Network Design Thực nghiệm
  • 3. 1. Foundation 1.1 Security triad Security triad Model  Tính bí mật (Confidentiality): Thông tin chỉ được cung cấp cho những người có thẩm quyền.  Tính toàn vẹn (Integrity): Đảm bảo thông tin không bị thay đổi một cách trái phép hoặc thay đổi không như ý muốn.  Tính sẵn sàng (Availability): Thông tin có thể được truy xuất bởi người dùng hợp lệ bất cứ khi nào họ muốn.  Tính xác thực (Authenticity): Kiểm tra tính chân thực của danh tính được xác lập trong quá trình định danh.  Tính chống chối bỏ (Non-repudiaton): Chứng minh rằng dữ liệu được gửi đi từ nguồn gốc đó.
  • 4. 1. Foundation 1.2 Communication Model OSI model (Open System Interconnection Reference Model) Nguyên tắc hoạt động - Các lớp dưới cung cấp dịch vụ trực tiếp cho các lớp ngay phía trên nó. - Các lớp ngang hàng trên hai host tương tác trực tiếp với nhau. Tuy nhiên, dữ liệu trao đổi giữa hai máy ngang hàng này để đi đến được nhau phải thông qua hoạt động của các lớp bên dưới nó - Đóng gói và giải đóng gói (Encapsulation và De encapsulation)
  • 5. 1. Foundation 1.2 Communication Model OSI model (Open System Interconnection Reference Model) Quá trình De-encapsulation khi đi từ lớp dưới lên lớp trên Quy trình Encapsulation khi đi từ lớp trên xuống lớp dưới
  • 6. 1. Foundation 1.2 Communication Model TCP/IP architecture
  • 7. 1. Foundation 1.3 Protocol Internet Protocol (IP) Internet Protocol (Giao thức Internet) là một giao thức, hoặc một tập hợp các quy tắc, để định tuyến và định địa chỉ các gói dữ liệu để chúng có thể di chuyển qua các mạng và đến đúng đich Cấu trúc gói tin IP Cấu trúc gói tin IP Gồm 2 phần là Header và Data - Header chứa thông tin quản lý của gói - Data là phần dữ liệu cần truyền tải được đóng gói trong gói tin IP.
  • 8. 1. Foundation 1.3 Protocol Transmission Control Protocol (TCP) - Giao thức truyền tải hướng kết nối (phải thiết lập kết nối trước khi truyền dữ liệu) - Sử dụng TCP, các ứng dụng trên các máy chủ được nối mạng có thể tạo các kết nối với nhau, mà qua đó chúng có thể trao đổi dữ liệu hoặc các gói tin. - Giao thức này đảm bảo chuyển giao dữ liệu tới nơi nhận một cách đáng tin cậy và đúng thứ tự. Cấu trúc gói tin TCP
  • 9. 1. Foundation 1.3 Protocol Transmission Control Protocol (TCP) Hoạt động của giao thức TCP yêu cầu thiết lập kết nối trước khi bắt đầu gửi dữ liệu và kết thúc kết nối khi việc gửi dữ liệu hoàn tất. Cụ thể, các kết nối TCP có ba pha:  Thiết lập kết nối  Truyền dữ liệu  Kết thúc kết nối Quá trình bắt đầu kết nối TCP
  • 10.  Truyền dữ liệu - Truyền dữ liệu không lỗi (do có cơ chế sửa lỗi/truyền lại) - Truyền các gói dữ liệu theo đúng thứ tự - Truyền lại các gói dữ liệu mất trên đường truyền - Loại bỏ các gói dữ liệu trùng lặp - Cơ chế hạn chế tắc nghẽn đường truyền  ISN (Initial Sequence Number)  Chọn ngẫu nhiên  Đánh dấu các khối dữ liệu gửi từ mỗi máy tính  Sau mỗi byte được truyền đi, số này được tăng lên  có thể sắp xếp lại khi tới đích bất kể tới theo thứ tự nào Trên lý thuyết, mỗi byte gửi đi đều có một số thứ tự và khi nhận được thì máy tính nhận gửi lại tin báo nhận (ACK). Trong thực tế thì chỉ có byte dữ liệu đầu tiên được gán số thứ tự trong trường số thứ tự của gói tin và bên nhận sẽ gửi tin báo nhận bằng cách gửi số thứ tự của byte đang chờ. Số thứ tự và tin báo nhận giải quyết được vấn đề về lặp gói tin, truyền lại những gói bị hỏng/mất và các gói tin đến sai thứ tự.
  • 11.  Kết thúc kết nối - Quá trình bắt tay 4 bước và chiều của kết nối kết thúc độc lập với nhau - Khi một bên muốn kết thúc  gửi đi một gói tin FIN và bên kia gửi lại tin báo nhận ACK. Vì vậy, một quá trình kết thúc tiêu biểu sẽ có 2 cặp gói tin trao đổi. 1. Foundation 1.3 Protocol Transmission Control Protocol (TCP) Quá trình đóng kết nối TCP
  • 12. 1. Foundation 1.3 Protocol User Datagram Protocol (UDP) - UDP là giao thức truyền tải hướng không kết nối - Dùng UDP, chương trình trên mạng máy tính có thể gửi những dữ liệu ngắn được gọi là datagram tới máy khác. • Không thiết lập kết nối: • Gói tin độc lập: dữ liệu được chia thành các gói tin riêng lẻ và mỗi gói tin được đóng gói độc lập • Không đảm bảo độ tin cậy: các gói tin có thể bị mất, trùng lặp hoặc đến không đúng thứ tự  UDP không sử dụng cơ chế xác nhận, khôi phục sau lỗi và kiểm soát luồng.  UDP nhanh và hiệu quả hơn đối với các mục tiêu như kích thước nhỏ và yêu cầu khắt khe về thời gian. Do bản chất không trạng thái của nó nên nó hữu dụng đối với việc trả lời các truy vấn nhỏ với số lượng lớn người yêu cầu. Cấu trúc gói tin UDP
  • 13. 2. Cryptography 2.1 Symmetric encryption Là những hệ mật sử dụng chung 1 khóa trong quá trình mã hóa và giải mã. Do đó khóa phải được giữ bí mật tuyệt đối. Hệ mật sẽ bao gồm:  Bản rõ (Plaintext – M)  Bản mã (Ciphertext – C)  Khóa (Key – Ks): là giá trị ngẫu nhiên và bí mật được chia sẻ giữa các bên trao đổi thông tin và được tạo ra từ: o Bên thứ 3 được tin cậy tạo và phân phối tới bên gửi và bên nhận o Bên gửi tạo ra và chuyển cho bên nhận  Mã hóa (Encrypt – E): C = E(Ks, M)  Giải mã (Decryption – D): M = D(Ks, C) = D(Ks, E(Ks, M)) Cơ chế hoạt động hệ mật khóa đối xứng
  • 14. 2. Cryptography 2.2 Giao thức trao đổi khoá Diffie-Hellman Giả sử A và B muốn liên lạc sử dụng hệ mật khóa bí mật. Để thỏa thuận một khóa K chung cho cả 2 bên qua kênh không an toàn mà không ai khác có thể biết được, có thể dùng thủ tục thỏa thuận khóa Diffie-Hellman. 1. Chọn trước số nguyên tố p thích hợp và phần tử sinh 𝛼 của Z*p (2 <= 𝛼 <= p-2) - Công khai giá trị p và 𝛼 2. A chọn số nguyên tố bí mật x, 1 <= x <= p-2 và gửi cho B thông báo : 𝛽𝐴 = 𝛼x mod p B chọn số nguyên tố bí mật y, 1 <= y <= p-2 và gửi cho A thông báo: 𝛽𝐵 = 𝛼y mod p 3. B thu được 𝛽𝐴 và tính khóa chung K: K = (𝛽𝐴)𝑦 = (𝛼𝑥)𝑦 mod p A thu được 𝛽𝐵 và tính khóa chung K: K = (𝛽𝐵)𝑥 = (𝛼𝑦 )𝑥 mod p
  • 15. 2. Cryptography 2.3 Asymmetric encryption Sử dụng 1 cặp khóa có tên là public key (Kp) và private key (Ks). Cơ chế hoạt động hệ mật khóa bất đối xứng Hệ mật sẽ bao gồm:  Bản rõ (Plaintext – M)  Bản mật (Ciphertext – C)  Khóa: có một cặp khóa: o Khóa công khai (Kp): công khai cho tất cả mọi người biết (kể cả hacker) o Khóa riêng (Ks): giữ bí mật, không chia sẻ cho bất kỳ ai.  Mã hóa (Encrypt – E): C = E(Kp, M)  Giải mã (Decrypt – D): M = D(Ks, C) = D(Ks, E(Kp, M))
  • 16. 2. Cryptography 2.4 Hybrid cryptosystem Mô hình hệ thống mã hóa lai - Bên gửi tạo ra một khóa bí mật dùng để mã hóa dữ liệu. Khóa này được gọi là Session Key. - Session Key này lại được mã hóa bằng khóa công khai của bên nhận dữ liệu. - Dữ liệu mã hóa cùng với Session Key đã mã hóa được gửi đi tới bên nhận. - Bên nhận dùng khóa riêng để giải mã Session Key và có được Session Key ban đầu. - Dùng Session Key sau khi giải mã để giải mã dữ liệu.
  • 17. 2. Cryptography 2.4 Cryptographic Hash Dữ liệu có đầu vào bất kỳ  H  Bản tóm lược có độ dài cố định. Các tính chất:  Kháng tiền ảnh: từ H(x) không thể tìm ra được x  Kháng tiền ảnh thứ hai: cho trước x, không thể tìm được x’ sao cho H(x) = H(x’)  Kháng va chạm: không thể tìm được cặp (x, y) sao cho H(x) = H(y) Ứng dụng của hàm băm: - Tạo mã xác thực (lược đồ HMAC) - Xác thực thực thể (cơ chế thách đố - giải đố) - Dẫn xuất khóa Họ hàm băm: MD4, MD5; SHA1, SHA224, SHA256, SHA512
  • 18. 2. Cryptography 2.5 Chữ ký số - Sử dụng mật mã khóa công khai - Ký: s = E(Ks, msg) - Gửi đi: s, msg - Kiểm tra: msg = D(Kp, s) Thường thì thông điệp msg có giá trị lớn  thay bằng giá trị băm. Chữ ký số không đảm bảo tính bí mật, chỉ mang tính xác minh. Hệ thống chữ ký số: bộ 5 (P, A, K, S, V)  P: là một tập hữu hạn các thông báo có thể  A: là một tập hữu hạn các chữ ký có thể  K: là một tập hữu hạn các khóa, mỗi khóa k thuộc K gồm 2 thành phần k = (ks, kv) – ks: khóa bí mật dùng để ký, kv: khóa công khai để kiểm tra chữ ký.  Với mỗi k = (ks, kv) trong S có một thuật toán ký sigk: PA, và trong V có một thuật toán kiểm tra chữ ký verk: PxA  {đúng, sai} thỏa mãn điều kiện sau với mọi thông báo x thuộc P và chữ ký y thuộc A: verkv(x, y) = đúng  y = sigks(x)
  • 19. 2. Cryptography 2.5 Chứng thực khoá công khai CA: Trung tâm chứng thực khóa công khai tin cậy - Quá trình tạo chứng thư số:  Thực thể đăng ký khóa công khai với CA  CA tạo chứng thư số gắn thực thể với khóa công khai  CA ký vào chứng thư số - Sử dụng chứng thư số:  Sử dụng khóa công khai của CA để kiểm tra chứng thư số cần xác thực  Nếu đúng thì có thì có thể tin chứng thư số đó do CA phát hành, và có thể sử dụng khóa công khai lấy ra từ chứng thư số.
  • 20. 3. Ethical Hacking Testing Methodology 3.1 Các giai đoạn trong quá trình Pentest
  • 21. 3. Ethical Hacking Testing Methodology 3.1 Các giai đoạn trong quá trình Pentest 1. Reconnaissance - Thăm dò (Reconnaissance) – là bước chuẩn bị trong đó kẻ tấn công cố gắng thu thập thông tin nhiều nhất có thể về mục tiêu. - Thông tin thu thập có thể bao gồm các thông tin về cơ qaun, tổ chức, nhân viên cho tới các thông tin về mạng, hệ thống… - Sử dụng kỹ năng ONIST (Open-Source Intelligence) để tổng hợp thông tin về mục tiêu đang được nhắm tới • Passive reconnaissance: là việc thu thập thông tin mà không cần tương tác trực tiếp với mục tiêu • Ví dụ: tìm kiếm thông tin trên các phương tiện truyền thông công cộng. • Active reconnaissance: là việc thu thập thông tin có sự tương tác trực tiếp với mục tiêu • Ví dụ: gọi điện, gửi email, …
  • 22. 3. Ethical Hacking Testing Methodology 3.1 Các giai đoạn trong quá trình Pentest 2. Scanning - Pre-attack phase: tiến hành dò quét mạng để thu thập các thông tin chi tiết về hệ thống dựa trên các thông tin đã nhận được trước đó trong quá trình thăm dò. - Port Scanner: quá trình này giúp phát hiện các cổng dịch vụ đang lắng nghe, dò quét lỗ hổng, xác định các thiết bị phòng thủ (FW, IDPS, Proxy, …) nếu có. - Extract Information: trích xuất các thông tin như địa chỉ IP của các máy, cổng dịch vụ và trạng thái, hệ điều hành, phiên bản dịch vụ, … để chuẩn bị thực hiện tấn công. 3. Analysis - Kiểm tra dữ liệu thu được trong các bước thu thập thông tin, scanning và ghi chú lại.
  • 23. 3. Ethical Hacking Testing Methodology 3.1 Các giai đoạn trong quá trình Pentest 4. Exploitation - Giai đoạn tấn công - Người kiểm thử cố gắng giành quyền truy cập vào hệ thống mục tiêu giống như cách mà một hacker thực sự, độc hại sẽ làm thông qua việc khai thác các lỗ hổng tiềm tàng. - Ở giai đoạn này, sau khi người kiểm thử xâm nhập được vào hệ thống, sẽ sử dụng hệ điều hành chạy trên hệ thống đích, các cổng mở và những dịch vụ phục vụ trên các cổng này cũng như những phương thức khai thác có thể được áp dụng tuỳ theo phiên bản của chúng. - Việc này đòi hỏi chuyên môn và kinh nghiệm nghiêm túc để có thể sử dụng thành công và linh hoạt các phương thức khai thác hiện có, không làm hỏng hệ thống và không để lại bất kỳ dấu vết nào trong quá trình tiếp quản hệ thống. Do đó, giai đoạn kiểm thử thâm nhập này là bước quan trọng nhất.
  • 24. 3. Ethical Hacking Testing Methodology 3.1 Các giai đoạn trong quá trình Pentest 5. Post Exploitation - Nếu một hacker mũ trắng truy cập được vào hệ thống, họ thường đăng nhập vào hệ thống với tư cách là người dùng có thẩm quyền thấp. Ở giai đoạn này, người kiểm thử thâm nhập cần có quyền admin, khai thác các lỗ hổng trong hệ điều hành hoặc môi trường mạng. - Sau đó, họ sẽ nhắm đến việc chiếm giữ các thiết bị khác trong môi trường mạng bằng các đặc quyền bổ sung mà họ đã đạt được và cuối cùng là những đặc quyền người dùng cấp cao nhất như quản trị viên domain hoặc quản trị viên cơ sở dữ liệu.
  • 25. 3. Ethical Hacking Testing Methodology 3.1 Các giai đoạn trong quá trình Pentest 6. Reporting - Khi quá trình kiểm thử thâm nhập được hoàn thành, người kiểm thử thâm nhập phải trình bày các lỗ hổng bảo mật mà họ đã phát hiện trong hệ thống đích, những bước tiếp theo và cách họ có thể khai thác các lỗ hổng này cho tổ chức bằng một báo cáo chi tiết. Điều này phải bao gồm các thông tin như ảnh chụp màn hình, code mẫu, giai đoạn tấn công và nguyên nhân lỗ hổng này có thể xảy ra. - Báo cáo cuối cùng cũng phải bao gồm đề xuất giải pháp về cách thu hẹp từng lỗ hổng bảo mật. Độ nhạy và tính độc lập của các thử nghiệm thâm nhập vẫn còn là một bí ẩn. Hacker mũ trắng không bao giờ được chia sẻ thông tin bí mật thu được ở giai đoạn này và không bao giờ được lạm dụng thông tin này bằng cách cung cấp thông tin sai lệch, vì điều đó thường là bất hợp pháp.
  • 26. 3. Ethical Hacking Testing Methodology 3.2 Sử dụng Nmap cơ bản Quét một địa chỉ IP hoặc một máy chủ - Thực hiện quét một địa chỉ IPv4 để tìm hiểu tất cả các cổng, dịch vụ và địa chỉ MAC mở trên hệ thống như sau:
  • 27. 3. Ethical Hacking Testing Methodology 3.2 Sử dụng Nmap cơ bản Sử dụng tuỳ chọn –v để cung cấp thông tin chi tiết về máy chủ:
  • 28. 3. Ethical Hacking Testing Methodology 3.2 Sử dụng Nmap cơ bản Có thể quét nhiều máy chủ cùng lúc bằng cách sử dụng nhiều địa chỉ IP để quét trong một lần:
  • 29. 3. Ethical Hacking Testing Methodology 3.2 Sử dụng Nmap cơ bản Quét danh sách máy chủ được lưu trữ trong tệp - Khi có nhiều máy chủ để quét và tất cả các địa chỉ máy chủ được ghi trong một tệp: - Sau khi tạo xong tệp có chứa đầy đủ tên máy chủ và địa chỉ IP cần quét, thực hiện chạy lệnh sau để quét:
  • 30. 3. Ethical Hacking Testing Methodology 3.2 Sử dụng Nmap cơ bản Quét một dải địa chỉ IP
  • 31. 3. Ethical Hacking Testing Methodology 3.2 Sử dụng Nmap cơ bản Quét thông tin hệ điều hành và traceroute Để xem hệ điều hành của máy chủ và traceroute, sử dụng lệnh nmap với tuỳ chọn –A như hình bên dưới:
  • 32. 3. Ethical Hacking Testing Methodology 3.2 Sử dụng Nmap cơ bản Hiển thị cổng và tuyến đường đi của máy chủ Có thể tìm hiểu cổng máy chủ và thông tin tuyến đường đi của máy chủ bằng nmap cùng với tuỳ chọn --iflist như bên dưới:
  • 33. 3. Ethical Hacking Testing Methodology 3.2 Sử dụng Nmap cơ bản Quét cổng cụ thể Có thể chỉ định các cổng muốn nmap với tuỳ chọn –p
  • 34. Tấn công phi điện tử Kẻ tấn công không cần sở hữu hiểu biết về kỹ thuật để bẻ khóa mật khẩu, vì thế kỹ thuật này được gọi là “tấn công phi điện tử” 1. Nhìn trộm 2. Kỹ nghệ xã hội 3. Tìm kiếm thùng rác Tấn công trực tuyến chủ động Kẻ tấn công thực hiện tấn công bẻ khóa mật khẩu bằng cách kết nối trực tiếp với máy nạn nhân 1.Tấn công từ điển, Brute Force 2. Hash Injection, Phishing 3.Trojan/Spyware/Keyloggers 4. Đoán mật khẩu Tấn công trực tuyến bị động Kẻ tấn công thực hiện bẻ khóa mật khẩu mà không cần kết nối với bên ủy quyền 1. Wire sniffing 2. Man-in-the-Middle Attack 3. Tìm kiếm thùng rác Tấn công ngoại tuyến Kẻ tấn công sao chép tệp tin mật khẩu của mục tiêu và sau đó cố gắng bẻ khóa mật khẩu hệ thống của họ ở một địa điểm khác 1. Tấn công Rainbow Table (Tiền tính toán Hash) 2. Tấn công mạng phân tán 3. Ethical Hacking Testing Methodology 3.3 Cracking Password
  • 35. 3. Ethical Hacking Testing Methodology 3.3 Cracking Password Password Cracking with John the Ripper - Công cụ bẻ khoá mật khẩu được viết bằng C - Kiểm tra độ chắc chắn của mật khẩu chống lại các cuộc tấn công Brute Force - Chương trình này có khả năng phá vỡ MD5, SHA1 và nhiều hàm băm khác được sử dụng rộng rãi trong thế giới máy tính.  Tấn công từ điển - Cho phép bẻ khóa mật khẩu bằng từ điển - Nếu người dùng tải một hoặc nhiều bộ từ điển mật khẩu từ Internet dung lượng vài chục GB thì công cụ sẽ phụ trách test từng key này để tìm cách bẻ khóa mật khẩu - Tạo mã băm của mỗi mật khẩu  so sánh mã băm mà người dùng muốn phá vỡ  Tấn công Brute Force - Thử nghiệm tất cả các tổ hợp chữ cái, số và ký hiệu của một key có độ dài nhất định - Phương pháp này là chậm nhất vì nó sẽ kiểm tra tất cả các kết hợp và có thể mất hàng giờ, hàng ngày, thậm chí hàng năm để bẻ khóa mật khẩu đến một độ dài nhất định.
  • 36. 3. Ethical Hacking Testing Methodology 3.4 Metasploit Bản chất của Metasploit chính là một kho chứa các đoạn code được viết bằng Ruby nhằm mục đích kiểm tra bảo mật của hệ thống hoặc ứng dụng. Các đoạn code này có thể dùng để tấn công, xâm nhập, leo thang đặc quyền, thu thập dữ liệu, quét lỗi, chuyển dữ liệu giữa máy tấn công và máy nạn nhân, v.v. trên nhiều nền tảng khác nhau. Thành phần: Hỗ trợ giao diện người dùng với 2 dạng:  Console interface: đây là giao diện sử dụng các dòng lệnh để cấu hình, kiểm tra  do vậy tốc độ nhanh hơn và mềm dẻo hơn. Sử dụng file msfconsole.bat.  Web interface: Giao tiếp với người dùng thông qua giao diện web. Sử dụng file msfweb.bat. Enviroment:  Global Environment: Được thực thi thông qua 2 câu lệnh setg và unsetg, những tùy chọn được gán ở đây sẽ mang tính toàn cục, được đưa vào tất cả các module khai thác.  Temporary Environment: Được thực thi thông qua 2 câu lệnh set và unset, environment này chỉ được đưa vào module khai thác đang load hiện tại, không ảnh hưởng đến các module khai thác khác.
  • 37. 4. Web Application Architecture 4.1 Kiến trúc ứng dụng web  Trình khách (trình duyệt): IE, Firefox, Google Chrome, …  Trình chủ: Apache, IIS, …  Cơ sở dữ liệu: SQL server, MySQL, …  Tường lửa: lớp rào chắn bên ngoài một hệ thống mạng, có vai trò kiểm soát luồng thông tin giữa các máy tính.  Proxy: xác định những yêu cầu từ trình khách và quyết định đáp ứng yêu cầu hay không. Proxy đóng vai trò cầu nối trung gian giữa máy chủ và máy khách.
  • 38. 4. Web Application Architecture 4.2 Một số hình thức tấn công web phổ biến Tấn công thu thập thông tin  Tấn công quét cổng  Tấn công dò quét thư mục  Thu thập thông tin từ Internet Tấn công dựa trên lỗi cấu hình Các tập tin cấu hình, ứng dụng luôn luôn tồn tại các lỗ hổng chưa được khám phá hoặc các lỗ hổng cũ. Một trong số các tấn công điển hình là: Misconfiguration Attack và zero-day Attack. Tấn công quá trình xác thực  Tấn công dò quét mật khẩu  Tấn công từ điển  SQL injection Tấn công phiên làm việc  Session Hijacking  Brute Force Session ID  Session Fixation Attack Tấn công lợi dụng thiếu sót trong việc kiểm tra dữ liệu đầu vào hợp lệ  Chèn mã lệnh thực thi trên trình duyệt: Cross-Site Scripting  Tiêm mã truy vấn vào cơ sở dữ liệu: SQL Injection  Thêm câu lệnh hệ thống: OS Command Injection  Vượt đường dẫn: Path traversal  Tràn bộ đệm: Buffer Over Flow
  • 39. 5. Malware Malware (hay phần mềm độc hại) là thuật ngữ mô tả các chương trình hoặc mã độc có khả năng cản trở hoạt động bình thường của hệ thống bằng cách xâm nhập, kiểm soát, làm hỏng hoặc vô hiệu hoá hệ thống mạng, máy tính, các thiết bị di động, Phân loại mã độc
  • 42. 7. Thực hiện scan và mô phỏng một số cuộc tấn công 7.1 Sử dụng công cụ BurpSuit a. SQL Injection <username>' OR 1=1-- 'OR ''=' <username>'-- 'OR 1=1- - 'or 'a' = 'a '' or ''a''=''a ') or ('a'='a '' or 1=1--
  • 43. 7. Thực hiện scan và mô phỏng một số cuộc tấn công 7.1 Sử dụng công cụ BurpSuit a. SQL Injection - Thực hiện đăng nhập với username và password bất kỳ
  • 44. 7. Thực hiện scan và mô phỏng một số cuộc tấn công 7.1 Sử dụng công cụ BurpSuit a. SQL Injection
  • 45. 7. Thực hiện scan và mô phỏng một số cuộc tấn công 7.1 Sử dụng công cụ BurpSuit a. SQL Injection
  • 46. 7. Thực hiện scan và mô phỏng một số cuộc tấn công 7.1 Sử dụng công cụ BurpSuit a. SQL Injection
  • 47. 7. Thực hiện scan và mô phỏng một số cuộc tấn công 7.1 Sử dụng công cụ BurpSuit a. XSS
  • 48. 7. Thực hiện scan và mô phỏng một số cuộc tấn công 7.1 Sử dụng công cụ BurpSuit a. XSS <SCRIPT>alert('XSS');</SCRIPT> <IMG SRC=/slideshow/bao-cao-getting-certificated-as-an-pptx/270598808/& <IMG SRC='' http://np9.upanh.com/b3.s30.d2/75b5d01fec 6c8b0e20416cfb65901add_48010539.vhbgr oup.png''> <SCRIPT>document.write(''<SCRI'');</SC RIPT>
  • 49. 7. Thực hiện scan và mô phỏng một số cuộc tấn công 7.1 Sử dụng công cụ BurpSuit a. XSS
  • 50. 7. Thực hiện scan và mô phỏng một số cuộc tấn công 7.1 Sử dụng công cụ BurpSuit a. XSS
  • 51. 7. Thực hiện scan và mô phỏng một số cuộc tấn công 7.1 Sử dụng công cụ OWASP ZAP a. Scan
  • 52. 7. Thực hiện scan và mô phỏng một số cuộc tấn công 7.1 Sử dụng công cụ OWASP ZAP a. Scan
  • 53. 7. Thực hiện scan và mô phỏng một số cuộc tấn công 7.1 Sử dụng công cụ OWASP ZAP a. Scan
  • 54. 7. Thực hiện scan và mô phỏng một số cuộc tấn công 7.1 Sử dụng công cụ OWASP ZAP a. Scan  Include in Context o Để thực hiện kiểm thử xâm nhập ở chế độ Protected, cần include URL cần được kiểm tra vào trong Context o Click chuột phải vào URL  Include in Context  New Context, màn hình session property sẽ xuất hiện o Chọn vào URL và nhấn OK o Khi được include in context, 1 vòng tròn đỏ được hiển thị trong cá icon của URL
  • 55. 7. Thực hiện scan và mô phỏng một số cuộc tấn công 7.1 Sử dụng công cụ OWASP ZAP a. Scan  Thực hiện quét: Chuột phải URL  Attack  Active Scan
  • 56. 7. Thực hiện scan và mô phỏng một số cuộc tấn công 7.1 Sử dụng công cụ OWASP ZAP a. Scan Đọc kết quả
  • 57. 7. Thực hiện scan và mô phỏng một số cuộc tấn công 7.1 Sử dụng công cụ OWASP ZAP a. Scan Thực hiện login vào trang web
  • 58. 7. Thực hiện scan và mô phỏng một số cuộc tấn công 7.1 Sử dụng công cụ OWASP ZAP a. Scan  Repeater o Chuột phải vào POST:userinfo.php()(pass, uname)  Open/Resend with Request Editor… o Sau đó, có thể resend lại bằng 1 user hoặc password mới
  • 59. 7. Thực hiện scan và mô phỏng một số cuộc tấn công 7.1 Sử dụng công cụ OWASP ZAP b. Fuzzing - Thực hiện login vào trang web mục tiêu, thu được Request POST:userinfo.php()(pass, uname) trên ZAP - Nhấp chuột phải vào request này  Attack  Fuzz
  • 60. 7. Thực hiện scan và mô phỏng một số cuộc tấn công 7.1 Sử dụng công cụ OWASP ZAP b. Fuzzing Thực hiện đánh dấu position muốn tấn công (2 giá trị username/password: nga và 12345)  Add  Load file dữ liệu đầu vào cho 2 trường username và password
  • 61. 7. Thực hiện scan và mô phỏng một số cuộc tấn công 7.1 Sử dụng công cụ OWASP ZAP b. Fuzzing
  • 62. 7. Thực hiện scan và mô phỏng một số cuộc tấn công 7.1 Sử dụng công cụ OWASP ZAP b. Fuzzing
  • 63. 7. Thực hiện scan và mô phỏng một số cuộc tấn công 7.1 Sử dụng công cụ OWASP ZAP b. Fuzzing
  • 64. 7. Thực hiện scan và mô phỏng một số cuộc tấn công 7.1 Sử dụng công cụ OWASP ZAP b. Fuzzing
  • 65. 7. Thực hiện scan và mô phỏng một số cuộc tấn công 7.1 Sử dụng công cụ OWASP ZAP b. Fuzzing
  • 66. 7. Thực hiện scan và mô phỏng một số cuộc tấn công 7.1 Sử dụng công cụ OWASP ZAP b. Fuzzing

Editor's Notes

  • #35: Tìm kiếm thùng rác (dumpster diving): tìm kiếm thong tin nhạy cảm trong thùng rác, thùng đựng tài liệu in bỏ và bàn làm việc để tìm kiếm giấy nhớ. Hash Injection: Cho phép kẻ tấn công tiêm một mã hash đã bị xâm phạm vào một phiên cục bộ và sử dụng mã hash để xác thực tài nguyên mạng. Tìm và trích xuất log chứa hash tài khoản domain admin Kẻ tấn công sử dụng mã hash đã trích xuất được để đăng nhập vào domain controller. Wire sniffing Kẻ tấn công chạy công cụ packet sniffer trong mạng nội bộ (LAN) để truy cập và ghi lại lưu lượng mạng. Dữ liệu thu thập được có thể chứa thông tin nhạy cảm như là mật khẩu (FTP, login session,…) và email Thông tin đăng nhập được sử dụng để thu được quyền truy nhập trái phép đến hệ thống mục tiêu Tấn công Rainbow Table Rainbow table là một bảng tính toán trước của danh sách các từ như file từ điển hay danh sách brute force và giá trị hash của chúng. So sánh mã hash: chặn bắt mã hash của mật khẩu và so sánh chúng với bảng mã hash tính toán trước, nếu có một kết quả trùng khớp thì mật khẩu sẽ bị bẻ khóa. Tấn công mạng phân tán: kỹ thuật tấn công mạng phân tán (DNA) được sử dùng để khôi phục mật khẩu từ mã hash hoặc file mật khẩu được bảo vệ sử dụng sức mạnh nhàn rỗi của các máy tính thông qua internet để bẻ khóa mật khẩu.