Logo CyberJutsu
Về chúng tôi
Học thử

5 Kịch Bản Pentest Thực Tế: Góc Nhìn Từ Hai Phía Của Cuộc Chiến

Technical Writer
Penetration Testing
5 Kịch Bản Pentest Thực Tế: Góc Nhìn Từ Hai Phía Của Cuộc Chiến
Pentest không chỉ là việc tìm lỗ hổng; đó là cuộc chiến trí tuệ giữa kẻ tấn công và người phòng thủ. Bài viết này mở ra góc nhìn đa chiều từ cả hai phía, giúp bạn hiểu sâu hơn về thế giới kiểm thử xâm nhập qua những kịch bản thực tiễn nhất.

Mục lục

  1. Giới thiệu: Pentest không chỉ là "kiểm tra an ninh"
  2. Kịch bản 1: Ứng dụng web của ngân hàng
  3. Kịch bản 2: Mạng doanh nghiệp và Active Directory
  4. Kịch bản 3: Social Engineering - Tấn công con người
  5. Kịch bản 4: Cloud Infrastructure - Bảo mật đám mây
  6. Kịch bản 5: Mobile Application - Ứng dụng di động
  7. Kết luận: Cân bằng giữa tấn công và phòng thủ
  8. References và tài nguyên học tập

Giới thiệu: Pentest không chỉ là "kiểm tra an ninh"

Bạn có biết rằng một cuộc pentest chuyên nghiệp thường chỉ dành khoảng 30% thời gian cho việc "hack", còn 70% thời gian còn lại là cho ghi chép và báo cáo? Đây là một trong những sự thật thú vị về lĩnh vực pentest mà nhiều người chưa từng biết đến.

Penetration Testing (Pentest) - Kiểm thử xâm nhập - là quá trình mô phỏng các cuộc tấn công có chủ đích để đánh giá bảo mật của một hệ thống. Không giống như việc quét lỗ hổng tự động, pentest đòi hỏi pentester phải thủ công khai thác các lỗ hổng, sử dụng đa dạng kỹ thuật (kể cả kỹ thuật xã hội) để tìm cách xâm nhập hệ thống.

Trước khi đi sâu vào các kịch bản, hãy làm rõ sự khác biệt giữa ba khái niệm thường bị nhầm lẫn:

Pentest vs Red Team vs Bug Bounty

Pentest Red Team Bug Bounty Mục đích Tìm lỗ hổng toàn diện Kiểm tra khả năng phát hiện và phản ứng Tìm lỗ hổng cụ thể để nhận thưởng Thời gian Ngắn hạn (2-4 tuần) Dài hạn (nhiều tháng) Liên tục Phạm vi Hạn chế, rõ ràng Toàn diện Chỉ các hệ thống được cho phép Người thực hiện Đội pentest chuyên nghiệp Chuyên gia tấn công nâng cao Các nhà nghiên cứu độc lập Báo cáo Báo cáo chi tiết, đầy đủ Phương pháp tấn công và phản ứng Từng lỗ hổng riêng lẻ

"Pentest giống như một cuộc kiểm tra sức khỏe tổng quát, Red Team như một cuộc diễn tập khủng bố, còn Bug Bounty như một cuộc thi săn tìm kho báu." - Nguyễn Tấn Phú, Senior Penetration Tester tại CyberJutsu.

Giờ đây, chúng ta hãy khám phá năm kịch bản pentest thực tế và học hỏi từ cả hai góc độ - tấn công và phòng thủ.

Kịch bản 1: Ứng dụng web của ngân hàng

Góc nhìn Pentester: Tìm thấy gì, khai thác như thế nào

Mục tiêu: Ứng dụng web ngân hàng cung cấp dịch vụ internet banking và quản lý tài khoản.

Phương pháp:

  • Trinh sát (Reconnaissance): Pentester bắt đầu bằng việc thu thập thông tin công khai về ứng dụng, bao gồm các subdomain, công nghệ sử dụng thông qua các header HTTP, và xác định các endpoint API.
  • Quét lỗ hổng: Sử dụng Burp Suite để phân tích các request và response, tìm kiếm các lỗ hổng tiềm ẩn trong luồng xử lý.
  • Phát hiện chính: Pentester tìm thấy một lỗ hổng Business Logic trong chức năng chuyển tiền. Khi một giao dịch được tạo, hệ thống kiểm tra số dư trước khi khởi tạo chuyển tiền, nhưng không khóa tài khoản trong quá trình này. Điều này cho phép người dùng tạo nhiều giao dịch cùng lúc, mỗi giao dịch đều được kiểm tra là có đủ tiền, trước khi bất kỳ giao dịch nào hoàn tất.
  • Khai thác: Bằng cách gửi nhiều request chuyển tiền song song (race condition), pentester có thể chuyển tổng số tiền lớn hơn số dư thực tế có trong tài khoản. Ví dụ, với số dư 10,000 VNĐ, pentester tạo 5 giao dịch chuyển 10,000 VNĐ cùng lúc, dẫn đến chuyển thành công 50,000 VNĐ.
  • Báo cáo: Pentester đánh giá lỗ hổng này ở mức Nghiêm trọng (Critical) vì nó cho phép trực tiếp mất tiền và ảnh hưởng đến tài sản khách hàng.
"Lỗ hổng Race Condition trong các ứng dụng tài chính có thể dẫn đến thiệt hại thực sự. Mọi xử lý liên quan đến tài chính cần được thiết kế với nguyên tắc nguyên tử (atomic operations) và cơ chế khóa phù hợp." - Kinh nghiệm từ một pentester chuyên banking.

Góc nhìn Defender: Làm sao phát hiện và phòng thủ

Chiến lược phòng thủ:

  • Thiết kế giao dịch nguyên tử: Sử dụng transactions trong cơ sở dữ liệu để đảm bảo tính toàn vẹn dữ liệu.
  • Khóa pessimistic: Thực hiện khóa tài khoản ngay khi bắt đầu giao dịch để ngăn chặn các giao dịch song song.
  • Giám sát bất thường: Triển khai hệ thống phát hiện hành vi bất thường (anomaly detection) để nhận diện các mẫu giao dịch không bình thường, như nhiều request đồng thời từ cùng một tài khoản.
  • Giới hạn tần suất (Rate limiting): Hạn chế số lượng giao dịch có thể thực hiện trong một khoảng thời gian nhất định.
  • Kiểm tra hai giai đoạn: Kiểm tra số dư hai lần - trước khi bắt đầu và ngay trước khi hoàn thành giao dịch.

Phát hiện tấn công:

Đội Blue Team có thể phát hiện các dấu hiệu tấn công race condition bằng cách theo dõi:

  • Nhiều request giao dịch từ cùng một tài khoản trong khoảng thời gian ngắn
  • Các giao dịch đồng thời với giá trị gần bằng số dư hiện có
  • Metadata của request (thời gian, IP, thông tin phiên) có dấu hiệu bất thường

Bài học rút ra cho cả hai phía

  • Cho Pentester: Lỗ hổng logic kinh doanh thường không thể phát hiện bằng công cụ quét tự động. Hiểu sâu về luồng xử lý và tư duy sáng tạo là chìa khóa để tìm ra những lỗ hổng này.
  • Cho Defender: Luôn thiết kế hệ thống tài chính với giả định rằng người dùng sẽ cố gắng lạm dụng bất kỳ lỗ hổng nào. Sử dụng các nguyên tắc ACID (Atomicity, Consistency, Isolation, Durability) trong giao dịch cơ sở dữ liệu để đảm bảo tính nhất quán.
  • Cho cả hai: Không chỉ tập trung vào các lỗ hổng kỹ thuật phổ biến (như SQL Injection, XSS) mà còn phải chú ý đến lỗ hổng trong logic nghiệp vụ, điều này đòi hỏi hiểu biết sâu về quy trình kinh doanh.

Kịch bản 2: Mạng doanh nghiệp và Active Directory

Góc nhìn Pentester: Kỹ thuật lateral movement và privilege escalation

Mục tiêu: Kiểm tra an ninh hạ tầng mạng nội bộ và hệ thống Active Directory của một doanh nghiệp vừa.

Phương pháp:

  • Xâm nhập ban đầu: Thông qua một chiến dịch phishing có chủ đích, pentester đã thành công trong việc lừa một nhân viên IT cài đặt phần mềm độc hại. Điều này cung cấp quyền truy cập ban đầu vào máy trạm của nhân viên với quyền người dùng thông thường.
  • Thu thập thông tin nội bộ: Pentester sử dụng "Living Off The Land" (sử dụng công cụ có sẵn trên hệ thống) như PowerShell và WMI để duy trì hoạt động mà không để lại dấu vết đáng ngờ. Công cụ BloodHound được triển khai để phân tích cấu trúc Active Directory và tìm đường leo thang đặc quyền.
  • Phát hiện chính: BloodHound cho thấy tài khoản nhân viên IT là thành viên của nhóm "Workstation Administrators", và một số máy trạm trong mạng có các tài khoản Domain Admin đăng nhập định kỳ (các buổi bảo trì).
  • Lateral Movement (Di chuyển ngang): Pentester di chuyển từ máy này sang máy khác trong mạng bằng cách:
    • Khai thác đặc quyền quản trị máy trạm để thu thập thông tin đăng nhập từ bộ nhớ (sử dụng Mimikatz)
    • Sử dụng kỹ thuật Pass-the-Hash để xác thực vào các máy khác mà không cần mật khẩu thực sự
    • Thiết lập backdoor ẩn trên nhiều máy trạm để duy trì quyền truy cập
  • Privilege Escalation (Leo thang đặc quyền): Cuối cùng, pentester đã chờ đợi một quản trị viên miền đăng nhập vào một trong những máy trạm đã bị kiểm soát. Khi điều này xảy ra, pentester sử dụng kỹ thuật token impersonation để đánh cắp quyền truy cập và đạt được quyền Domain Admin.
  • Chứng minh tác động: Với quyền Domain Admin, pentester có thể truy cập toàn bộ hệ thống, bao gồm các máy chủ file, database, email, và thậm chí là backups. Để chứng minh tác động, pentester đã trích xuất một mẫu dữ liệu nhạy cảm và tạo một tài khoản admin ẩn làm bằng chứng.
"Trong các cuộc kiểm thử Active Directory, kiên nhẫn là chìa khóa. Không phải lúc nào bạn cũng tìm thấy lỗ hổng ngay lập tức - đôi khi bạn phải chờ đợi hàng ngày để bắt đúng thời điểm khi nhân viên IT đăng nhập với đặc quyền cao." - Chia sẻ từ một Red Teamer.

Góc nhìn Defender: Phân đoạn mạng và giám sát bất thường

Chiến lược phòng thủ:

  • Triển khai Tier Model: Áp dụng mô hình phân tầng Active Directory (Tier Model) để ngăn chặn khả năng leo thang đặc quyền:
    • Tier 0: Domain Controllers và các tài sản quan trọng
    • Tier 1: Máy chủ ứng dụng
    • Tier 2: Máy trạm người dùng
    • Không bao giờ đăng nhập tài khoản Tier cao vào Tier thấp hơn
  • Giám sát hành vi: Triển khai EDR (Endpoint Detection and Response) để phát hiện các hoạt động đáng ngờ như:
    • Thực thi PowerShell với các tham số đáng ngờ
    • Truy cập vào các thành phần nhạy cảm của hệ điều hành
    • Kết nối bất thường giữa các máy trạm
  • Quản lý đặc quyền: Áp dụng nguyên tắc đặc quyền tối thiểu (Principle of Least Privilege) và sử dụng các giải pháp PAM (Privileged Access Management) để cấp quyền tạm thời khi cần.
  • Phòng chống Pass-the-Hash: Triển khai các biện pháp như:
    • Credential Guard trên Windows 10/11
    • LAPS (Local Administrator Password Solution) để đảm bảo mỗi máy có mật khẩu quản trị viên địa phương khác nhau
    • Hạn chế việc đăng nhập của quản trị viên miền vào máy trạm thông thường

Phát hiện tấn công:

Blue Team có thể phát hiện các dấu hiệu của cuộc tấn công thông qua:

  • Các cảnh báo EDR về lệnh PowerShell bất thường
  • Đăng nhập vào máy trạm ngoài giờ làm việc hoặc từ các vị trí không thường xuyên
  • Các tiến trình truy cập LSASS.exe (thường được Mimikatz nhắm đến)
  • Các hoạt động thu thập thông tin Active Directory không thường xuyên (BloodHound leaves traces)

Công cụ nào mà cả pentester và defender đều nên biết

Dù bạn đứng ở phía nào của cuộc chiến, những công cụ sau đều rất quan trọng để hiểu:

  • BloodHound: Công cụ phân tích và trực quan hóa Active Directory. Pentester sử dụng nó để tìm đường leo thang, trong khi defender sử dụng nó để phát hiện cấu hình sai và đường tấn công tiềm năng.
  • Mimikatz: Công cụ thu thập thông tin xác thực từ bộ nhớ. Pentester sử dụng để đánh cắp token và hash, defender cần hiểu cách nó hoạt động để tạo biện pháp phòng ngừa.
  • Sysmon: Công cụ ghi log hệ thống nâng cao. Defender sử dụng để theo dõi hoạt động đáng ngờ, pentester cần biết cách nó hoạt động để tránh bị phát hiện.
  • PowerShell Empire/Covenant: Framework sau khai thác (post-exploitation). Pentester sử dụng cho C2 (Command & Control), defender cần hiểu để phát hiện dấu hiệu của chúng.
  • Elastic Stack/Splunk: Hệ thống phân tích log. Defender sử dụng để tổng hợp và phân tích log, pentester nên hiểu để biết những gì đang được giám sát.
"Bảo mật tốt nhất đến từ việc hiểu cả hai phía của cuộc chiến. Một Blue Teamer giỏi phải biết cách Red Team hoạt động, và ngược lại. Đó là lý do tại sao chúng tôi dạy cả hai kỹ năng trong các khóa học của mình." - Trích lời Nguyễn Mạnh Luật, CEO CyberJutsu.

Kịch bản 3: Social Engineering - Tấn công con người

Góc nhìn Pentester: Chiêu thức phishing và kỹ thuật tâm lý

Mục tiêu: Đánh giá nhận thức bảo mật của nhân viên và khả năng nhận biết các cuộc tấn công kỹ thuật xã hội.

Phương pháp:

  • Thu thập thông tin OSINT: Pentester bắt đầu bằng việc thu thập thông tin công khai về công ty và nhân viên thông qua:
    • LinkedIn, Facebook và các mạng xã hội khác
    • Website công ty, blog, thông cáo báo chí
    • Thông tin từ các sự kiện công ty và hình ảnh được chia sẻ
  • Thiết kế chiến dịch phishing có chủ đích: Dựa trên dữ liệu thu thập, pentester tạo một chiến dịch email nhắm mục tiêu cụ thể:
    • Giả mạo email từ CEO (làm giống chữ ký thật) về việc thưởng cuối năm
    • Tạo website giả mạo hệ thống nội bộ với domain gần giống domain công ty (typosquatting)
    • Tùy chỉnh email cho từng bộ phận (HR, Finance, IT) với nội dung phù hợp với công việc của họ
  • Kỹ thuật tâm lý sử dụng:
    • Tạo cảm giác khẩn cấp (Urgency): "Cần xác nhận thông tin trước 5h chiều nay"
    • Kích thích lòng tham (Greed): "Xác nhận thông tin để nhận thưởng đặc biệt"
    • Tạo cảm giác sợ bỏ lỡ (FOMO): "Chỉ 50 người đầu tiên xác nhận sẽ được nhận quà"
    • Tạo cảm giác e sợ (Fear): "Không xác nhận sẽ bị loại khỏi danh sách nhận thưởng"
  • Phương pháp triển khai:
    • Sử dụng GoPhish để quản lý chiến dịch và theo dõi kết quả
    • Gửi email vào thời điểm nhạy cảm (trước giờ nghỉ trưa, cuối ngày làm việc)
    • Theo dõi ai click vào link, ai nhập thông tin đăng nhập, và ai tải/mở file đính kèm
  • Kết quả: Một thống kê thú vị từ chiến dịch phishing này cho thấy:
    • 72% nhân viên mở email
    • 43% click vào link trong email
    • 24% nhập thông tin đăng nhập vào trang giả mạo
    • 12% tải xuống và mở file đính kèm (giả lập malware)
"Con người vẫn là mắt xích yếu nhất trong chuỗi bảo mật. Một email được thiết kế tốt có thể đánh lừa ngay cả những nhân viên đã được đào tạo về bảo mật. Đó là lý do tại sao chúng tôi luôn bao gồm Social Engineering trong các cuộc pentest toàn diện." - Chia sẻ từ một chuyên gia Social Engineering.

Góc nhìn Defender: Đào tạo nhận thức và ngăn chặn

Chiến lược phòng thủ:

  • Đào tạo nhận thức bảo mật: Xây dựng chương trình đào tạo toàn diện:
    • Đào tạo định kỳ (không chỉ một lần)
    • Mô phỏng các tình huống thực tế
    • Tập trung vào cách nhận biết các dấu hiệu email lừa đảo
    • Hướng dẫn quy trình báo cáo email đáng ngờ
  • Các biện pháp kỹ thuật để ngăn chặn phishing:
    • Triển khai SPF, DKIM, và DMARC để ngăn email giả mạo
    • Sử dụng các giải pháp anti-phishing (Microsoft Defender for Office 365, Proofpoint, Mimecast)
    • Bật cảnh báo "External Email" cho tất cả email từ bên ngoài
    • Kiểm tra các domain tương tự và đăng ký trước để ngăn typosquatting
  • Chính sách và quy trình:
    • Thiết lập quy trình xác minh cho các yêu cầu nhạy cảm (chuyển tiền, thay đổi thông tin)
    • Tạo kênh liên lạc thay thế để xác nhận các yêu cầu quan trọng (gọi điện, SMS)
    • Thưởng cho nhân viên báo cáo email đáng ngờ
    • Giới hạn thông tin công khai về cấu trúc công ty trên website và mạng xã hội
  • Giám sát và phản ứng:
    • Theo dõi các nỗ lực phishing đến tổ chức
    • Phản ứng nhanh khi phát hiện chiến dịch phishing (block domain, reset mật khẩu)
    • Thường xuyên tự phishing nhân viên để đánh giá hiệu quả đào tạo

Thống kê thú vị: Tỷ lệ nhân viên mắc lừa trong các cuộc pentest

Dựa trên dữ liệu từ nhiều cuộc pentest social engineering, chúng tôi đã tổng hợp một số thống kê đáng chú ý:

  • Trung bình 20-30% nhân viên sẽ click vào link phishing ngay cả sau khi được đào tạo
  • Nhân viên cấp cao thường là mục tiêu dễ bị tấn công hơn (45% so với 27% nhân viên thông thường)
  • Các email giả mạo IT Support có tỷ lệ thành công cao nhất (53%)
  • 72% các cuộc tấn công thành công xảy ra vào thứ Hai hoặc thứ Sáu
  • Sau mỗi chiến dịch đào tạo, tỷ lệ click giảm 30%, nhưng sẽ tăng trở lại sau 4-6 tháng nếu không có đào tạo tiếp theo
"Mỗi nhân viên đều có tiềm năng trở thành lá chắn hoặc lỗ hổng cho tổ chức. Việc đào tạo không chỉ nên nói 'đừng click vào link lạ' mà phải giúp họ hiểu tại sao và làm thế nào để nhận biết các mối đe dọa trong thực tế hàng ngày." - Góc nhìn từ chuyên gia đào tạo bảo mật.

Kịch bản 4: Cloud Infrastructure - Bảo mật đám mây

Góc nhìn Pentester: Khai thác cấu hình sai và lỗi thiết kế

Mục tiêu: Đánh giá bảo mật cơ sở hạ tầng đám mây của công ty trên nền tảng AWS/Azure.

Phương pháp:

  • Reconnaissance đám mây: Pentester bắt đầu bằng việc tìm kiếm các tài nguyên đám mây công khai:
    • Các S3 bucket/Azure Blob storage có thể truy cập công khai
    • Subdomain trỏ đến dịch vụ đám mây
    • Tìm kiếm thông tin đăng nhập bị rò rỉ trong GitHub, Pastebin
  • Phát hiện lỗ hổng IAM: Kiểm tra cấu hình Identity and Access Management (IAM):
    • Quyền hạn quá rộng (overprivileged roles)
    • Thiếu nguyên tắc chia nhỏ quyền
    • Không có chính sách đặt mật khẩu mạnh hoặc MFA
  • Phát hiện chính: Pentester tìm thấy một instance EC2 với IAM role cho phép liệt kê tất cả S3 bucket. Nghiêm trọng hơn, instance này có một lỗ hổng SSRF (Server-Side Request Forgery) trong ứng dụng web đang chạy, cho phép pentester truy vấn metadata service và lấy được temporary credentials của IAM role.
  • Khai thác chuỗi: Bằng cách khai thác lỗ hổng SSRF và role IAM cấu hình sai, pentester đã:
    • Truy cập metadata service thông qua SSRF
    • Lấy được IAM credentials
    • Liệt kê và truy cập tất cả S3 bucket
    • Phát hiện bucket chứa backup database có thông tin nhạy cảm
    • Download backup và trích xuất dữ liệu người dùng
  • Kết quả: Cuộc tấn công chứng minh một chuỗi khai thác từ một lỗ hổng web đến rò rỉ dữ liệu nhạy cảm, hoàn toàn do cấu hình cloud không đúng cách.
"Cloud không tự bảo mật - nó chỉ bảo mật nếu bạn cấu hình nó đúng cách. Chúng tôi thường thấy các tổ chức triển khai cloud với 'cùng một kiểu suy nghĩ' như mạng on-premise, dẫn đến các lỗ hổng độc đáo cho môi trường đám mây." - Nhận xét từ một Cloud Security Specialist.

Góc nhìn Defender: Làm sao để hardening cloud resources

Chiến lược phòng thủ:

  • Áp dụng Cloud Security Posture Management (CSPM):
    • Sử dụng công cụ như AWS Config, Azure Security Center để giám sát cấu hình liên tục
    • Thiết lập cảnh báo cho các vi phạm cấu hình
    • Tự động khắc phục các lỗi cấu hình phổ biến
  • Thiết kế IAM an toàn:
    • Triển khai nguyên tắc đặc quyền tối thiểu
    • Sử dụng các role có phạm vi hẹp và cụ thể
    • Bắt buộc MFA cho tất cả người dùng, đặc biệt là các tài khoản quản trị
    • Sử dụng temporary credentials và giới hạn thời gian sử dụng
  • Bảo vệ tài nguyên lưu trữ:
    • Mã hóa tất cả dữ liệu nhạy cảm trong S3/Blob storage
    • Vô hiệu hóa truy cập công khai và sử dụng Bucket Policies/ACLs
    • Triển khai logging cho tất cả thao tác truy cập
    • Sử dụng versioning để phòng chống ransomware
  • Giám sát bảo mật đám mây:
    • Triển khai CloudTrail/Azure Activity Logs để theo dõi mọi thao tác
    • Tích hợp logs vào SIEM để phân tích tập trung
    • Thiết lập alerts cho các hành động nhạy cảm
    • Sử dụng các công cụ như GuardDuty (AWS) để phát hiện hành vi bất thường

Cách phát hiện và ngăn chặn tấn công:

  • Giám sát và hạn chế truy cập đến metadata service (chặn SSRF)
  • Định kỳ kiểm tra và rà soát IAM permissions
  • Cấu hình Network Security Groups/Security Groups để hạn chế truy cập
  • Sử dụng VPC Endpoints/Private Link để tránh đi qua Internet công cộng

Fun fact: Đâu là nguồn gốc lỗ hổng cloud phổ biến nhất?

Bạn có biết rằng 90% lỗ hổng bảo mật đám mây đến từ cấu hình sai của người dùng, không phải từ nhà cung cấp dịch vụ cloud? Theo báo cáo của Gartner, đến năm 2025, 99% các sự cố bảo mật đám mây sẽ là lỗi của khách hàng, không phải nhà cung cấp.

Top 5 lỗi cấu hình cloud phổ biến nhất:

  • Quyền hạn quá rộng (Excessive permissions)
  • Lưu trữ dữ liệu công khai (Public storage)
  • Không mã hóa dữ liệu (Unencrypted data)
  • Không sử dụng MFA (Lack of MFA)
  • Không giám sát đầy đủ (Inadequate monitoring)

Kịch bản 5: Mobile Application - Ứng dụng di động

Góc nhìn Pentester: Reverse engineering và API hacking

Mục tiêu: Đánh giá bảo mật của ứng dụng di động ngân hàng trên cả Android và iOS.

Phương pháp:

  • Phân tích tĩnh ứng dụng:
    • Sử dụng các công cụ như JADX (Android) và Hopper (iOS) để dịch ngược mã ứng dụng
    • Kiểm tra các hardcoded keys, credentials, URLs
    • Phân tích AndroidManifest.xml để tìm các thành phần export
  • Phân tích động ứng dụng:
    • Thiết lập proxy (Burp Suite) để bắt lưu lượng API
    • Bypass SSL pinning sử dụng Frida hoặc Objection
    • Hook vào các hàm quan trọng để theo dõi luồng dữ liệu
  • Phát hiện chính: Thông qua phân tích, pentester phát hiện:
    • API backend không kiểm tra đúng đắn access token khi gọi API lấy thông tin tài khoản
    • Có thể thay đổi user_id trong request để xem thông tin của người dùng khác
    • Token không bị vô hiệu hóa khi logout, có thể sử dụng lại
  • Khai thác API: Pentester tạo một script để tự động thay đổi user_id và thu thập thông tin tài khoản của tất cả người dùng.
  • Các lỗ hổng client-side bổ sung:
    • Dữ liệu nhạy cảm (số thẻ tín dụng, lịch sử giao dịch) được lưu trong shared preferences không mã hóa
    • Ứng dụng không phát hiện thiết bị đã root/jailbreak
    • Screenshot không bị chặn khi ứng dụng hiển thị thông tin nhạy cảm
"Mobile pentest là sự kết hợp giữa reverse engineering, network interception và application logic testing. Không giống như web, bạn không thể ngay lập tức thấy mọi thứ đang diễn ra - phần lớn công việc là 'mở khóa' ứng dụng để xem nó thực sự làm gì." - Chia sẻ từ một Mobile Security Specialist.

Góc nhìn Defender: Secure coding và API protection

Chiến lược phòng thủ:

  • Secure mobile coding practices:
    • Triển khai mã hóa dữ liệu nhạy cảm lưu trữ trên thiết bị (sử dụng Android Keystore, iOS Keychain)
    • Triển khai phát hiện thiết bị đã root/jailbreak
    • Ngăn chặn screenshot trong các màn hình nhạy cảm
    • Sử dụng biện pháp chống gỡ rối (anti-tampering)
  • API Security:
    • Sử dụng OAuth 2.0 với phạm vi (scope) phù hợp
    • Xác thực đúng đắn mọi request API (cả token và quyền)
    • Implement rate limiting để ngăn chặn brute force
    • Vô hiệu hóa token khi logout
    • Sử dụng UUID cho user_id thay vì số tuần tự
  • Bảo vệ truyền thông:
    • Triển khai SSL pinning đúng cách
    • Sử dụng TLS 1.3 cho mọi kết nối
    • Tránh gửi thông tin nhạy cảm qua các parameter URL
  • Secure Development Lifecycle:
    • Thực hiện đánh giá bảo mật trước khi phát hành
    • Sử dụng các công cụ SAST (Static Application Security Testing) và DAST
    • Thường xuyên cập nhật các thư viện để vá lỗ hổng

Cách phát hiện và ngăn chặn tấn công:

  • Giám sát các mẫu truy cập API bất thường (nhiều user_id từ cùng một nguồn)
  • Phát hiện việc cố gắng bypass SSL pinning
  • Theo dõi nỗ lực brute force API endpoints
  • Đánh dấu và giám sát các thiết bị có dấu hiệu của root/jailbreak

Lộ trình học tập cho cả hai vai trò

Dù bạn muốn trở thành pentester mobile hay muốn bảo vệ ứng dụng di động, đây là lộ trình học tập được đề xuất:

Cho Pentester Mobile:

  • Nắm vững kiến thức về nền tảng Android/iOS
  • Học reverse engineering cơ bản (đọc Java bytecode/Objective-C/Swift)
  • Thành thạo các công cụ:
    • Frida, Objection
    • Burp Suite Mobile Assistant
    • JADX, apktool, Hopper
  • Hiểu về kiến trúc ứng dụng mobile và các vector tấn công phổ biến

Cho Mobile App Defender:

  • Học OWASP Mobile Top 10
  • Thực hành secure coding cho mobile
  • Hiểu cách bảo vệ dữ liệu trên thiết bị
  • Thiết kế API an toàn
  • Triển khai các biện pháp anti-tampering và anti-reversing
"Cả hai bên đều cần hiểu bên kia đang làm gì. Một developer không hiểu cách pentester khai thác ứng dụng sẽ không bao giờ viết được code an toàn thực sự. Ngược lại, một pentester không hiểu hệ sinh thái mobile sẽ bỏ lỡ nhiều lỗ hổng quan trọng." - Trích lời Hoàng Nguyễn Kim Duy, Expert tại CyberJutsu.

Kết luận: Cân bằng giữa tấn công và phòng thủ

Qua năm kịch bản pentest thực tế, chúng ta có thể thấy bảo mật là một cuộc chiến không ngừng giữa kẻ tấn công và người bảo vệ. Bên nào cũng cần học hỏi từ bên kia để nâng cao kỹ năng của mình.

Một thực tế đáng chú ý là chi phí của một cuộc pentest chuyên nghiệp thường chỉ bằng 1-5% chi phí khắc phục một vụ vi phạm dữ liệu. Đây là một con số cho thấy giá trị to lớn của việc đầu tư vào pentest để phát hiện và khắc phục lỗ hổng trước khi chúng bị khai thác.

Từ góc độ tổ chức, sự cân bằng giữa tấn công và phòng thủ là cần thiết - một tổ chức hiệu quả cần cả Red Team lẫn Blue Team làm việc cùng nhau. Thậm chí cách tiếp cận Purple Team (kết hợp cả hai) đang ngày càng phổ biến, nơi các kỹ năng tấn công và phòng thủ được chia sẻ liên tục để cùng nhau nâng cao khả năng bảo mật.

Nếu bạn mong muốn phát triển kỹ năng Red Team chuyên nghiệp, khóa học Red Team 2025 của CyberJutsu là lựa chọn lý tưởng. Với 70 giờ thực hành và hướng dẫn từ các chuyên gia hàng đầu như Nguyễn Mạnh Luật (cựu kỹ sư bảo mật của Microsoft MSRC và Tencent), bạn sẽ được học các kỹ thuật tấn công nâng cao, từ khai thác lỗ hổng đến post-exploitation và lateral movement trong môi trường thực tế. Khóa học không chỉ dạy cách sử dụng công cụ mà còn giúp bạn hiểu sâu về bản chất các lỗ hổng, xây dựng tư duy hacker chuyên nghiệp.

"Không có hệ thống nào an toàn tuyệt đối, nhưng có những hệ thống đủ an toàn để không trở thành mục tiêu hấp dẫn. Mục đích của pentest không phải để đạt đến sự hoàn hảo, mà là để liên tục cải thiện, khắc phục những lỗ hổng nghiêm trọng nhất trước." - Nguyễn Mạnh Luật, CEO CyberJutsu.

References và tài nguyên học tập

Sách và tài liệu tham khảo

  • "Penetration Testing: A Hands-On Introduction to Hacking" - Georgia Weidman
  • "The Web Application Hacker's Handbook" - Dafydd Stuttard & Marcus Pinto
  • "Mobile Application Hacking Handbook" - Dominic Chell
  • "Cloud Security and Pentesting" - Matt Johansen & Justin Seitz

Khóa học và đào tạo

Công cụ và tài nguyên

  • Burp Suite: https://portswigger.net/burp
  • Metasploit Framework: https://www.metasploit.com/
  • BloodHound: https://github.com/BloodHoundAD/BloodHound
  • OWASP Mobile Security Testing Guide: https://owasp.org/www-project-mobile-security-testing-guide/

Các lỗ hổng và tham khảo

  • MITRE ATT&CK Framework: https://attack.mitre.org/
  • OWASP Top 10: https://owasp.org/www-project-top-ten/
  • Reddit r/cybersecurity - Your daily toolbox as a pentester
  • CyberJutsu Academy & Báo Tổ Quốc – Khảo sát lương ATTT 2022
  • Security Stack Exchange - Is Pentesting now all about running Tools?

Albert Einstein

"Education is not the learning of facts,
but the training of the mind to think"


CÔNG TY CỔ PHẦN CYBER JUTSU

Số 3 Nguyễn Xuân Ôn, Phường 2, Quận Bình Thạnh, TP Hồ Chí Minh

Mã số thuế: 0314377455

Hotline: 0906622416

Phản ánh chất lượng dịch vụ: 0906622416

Email liên hệ: contact@cyberjutsu.io

Chịu trách nhiệm nội dung: Nguyễn Mạnh Luật

Khóa học

Web Penetration Testing

Red Team - Exploit 101

1DAY ANALYSIS

Lộ trình học tập

Road Map

Tất cả khóa học

Cộng đồng

Blog

Videos

Cảm nhận học viên

Hall of Fame

Kiểm tra kiến thức

Liên hệ

Chính sách

Lớp học Live Online

Flipped Classroom

Chương trình giới thiệu

Xem tất cả chính sách

Copyright © 2025 CyberJutsu JSC. All Rights Reserved.