You are on page 1of 52

MÔ HÌNH MỘT WEB-APP CĂN BẢN

WEB SERVER
DATABASE
Hacker xấu không chỉ pentest xong
và để đó. Mà họ còn sẽ tìm cách "lẻn"
vào mạng nội bộ và trục lợi!

CƠ CHẾ BẢO VỆ

TP
BROWSER HT

USER
Pentester

CYBER KILL CHAIN


Quy trình thể hiện những giai đoạn
tấn công của Hacker đối thủ.

Red Teamer
Red Team
A group of people that step into adversary shoes and then attack the target.
Red Team.
Trong lịch sử, ý tưởng Red Team được ứng dụng ở nhiều lĩnh vực ↓

An ninh sân bay Quân đội Car safety


Thử đem vũ khí lên máy bay, test xem an Red Team đóng vai khủng bố, test xem Khi tai nạn xảy ra, các cơ chế bảo vệ có
ninh sân bay phát hiện không quân đội có phát hiện và xử lý kịp thời bảo vệ được người bên trong không
Nhiệm vụ của đội đặc nhiệm Red Team

MISSION OBJECTIVES
Mô phỏng mối đe dọa trong thế giới thực
- Kiểm soát toàn bộ hệ thống tổ chức
- Đánh cắp bí mật kinh doanh, bảng lương, data breach
- Tạo giao dịch giả, v.v
- Làm những gì mà một hacker xấu có ý định làm

Kiểm tra hiệu quả của hệ thống phòng thủ


- Mất bao lâu để phát hiện (detection) khi cuộc tấn công diễn ra
- Test Quy trình và khả năng phản ứng (response) của tổ chức
→ Giúp nâng cấp hệ thống phòng phòng thủ lên next level
Nhu cầu Red Team các năm gần đây tăng cao?
Đó là vì các hình thức Pentest vẫn chưa thể hiện được hết rủi ro thực sự có thể xảy ra với một tổ chức.
V1i von giống như việc dù có tập phòng chống chữa cháy bao nhiêu lần, thì vẫn không bao giờ lường được hết các tình huống khi có cháy thật!

Các hạn chế của Pentest Các hạn chế của Pentest

Pentester tập trung test vào các hệ Không có cơ hội cho Blue Team rèn Pentester ít khi thực hiện Social
thống được chỉ định, vậy các hệ luyện phòng thủ thực chiến Engineering, trong khi đó hầu hết
thống "bị lãng quên" thì sao? (phát hiện và phản ứng) hacker đối thủ đều dùng
Đối với các kỹ sư, việc tham gia vào Red Team là cơ hội phát triển tay nghề cao hơn và có thu nhập tốt hơn.

Exploit để xác định mức độ nguy hiểm § Tư duy của một hacker Đóng vai kẻ thù (adversary) để tấn công
Tìm nhiều lỗi nhất có thể § Tìm và khai thác lỗ hổng Test khả năng Detection & Response

Blackbox / Graybox / Whitebox Blackbox hoàn toàn!


Tốc chiến, pentest nhanh, tìm hết lỗi
Pentester Red Team Chậm, chắc, tránh 'rút dây động rừng'

Một dự án có thể kéo dài từ vài tuần cho


Một dự án kéo dài trong vài tuần
đến 03+ tháng

Khai thác và tái hiện một lỗ hổng cụ thể Xâu chuỗi lỗi để đánh úp toàn bộ system
Thường chỉ trong phạm vi của: Phạm vi bao quát:
§ Một ứng dụng § Con người, máy tính, server...
§ Một hệ thống Red Team là một level nâng cấp của Pentester § Tiền bạc, dữ liệu, uy tín...
Vì tính chất nhạy cảm của công việc
nên Red Team khi tham gia dự án đều phải kí những hợp đồng
kèm các thỏa thuận NDA bảo mật thông tin và không tiết lộ!
Pentester sử dụng kỹ năng technical để
Active Directory Red Team dùng mọi kỹ thuật, mọi
tìm và khai thác lỗ hổng trên một đối tượng
Nơi quản lý và chứa hết tất cả thông
kịch bản để đạt được mục đích!
tin đăng nhập của cả một tổ chức!
(kiểm soát toàn bộ tổ chức)

GAME OVER!
Red team kiểm soát toàn bộ tổ chức
Server A

đọ
c
giữ lén
a c nộ
ác i d u
de ng
ve m
lop ail
er
xâm nhập vào máy developer
đọc trộm password server

Mail Server

Developer

Server A

Cách 1: Hacking 100%


Cách 2: Social Engineering Exploit liên hoàn, dùng các
Phishing gửi mail thả malware server đã hacked được làm
vào máy các developer bàn đạp tiến tới đích
Red Team rất rộng nên có sự phân nhánh trong 02 trường phái chính!

Thuần kỹ thuật 100% Kỹ thuật + Social Engineering


Tìm và khai thác lỗ hổng Kết hợp với phishing, thả malware
Sử dụng các kỹ thuật hacking nâng cao Hack Wifi, gọi điện thoại...

CyberJutsu sẽ chỉ đề cập đến


trường phái kỹ thuật!
Pentester Senior Pentester Red Team Operator

Kỹ năng mềm (Logic Thinking, Problem-


Solving, Critical Thinking)

OS / Infrastructure

Cryptography

Reconnaissance / Phân tích thông tin

Programming / Scripting

Networking

Web Security

Tư duy chiến lược

Nghệ thuật ẩn mình Không yêu cầu Không yêu cầu

Easy Medium Hard


LEARNING PATH 2023.
§ Trở thành Senior Pentester
§ Trở thành Red Team Operator
§ Tiếp tục phát triển thêm kỹ năng để trở
§ Đủ sức đi thực tập Pentester
thành hacker gắt hơn
§ Hoàn thiện 60% kỹ năng cần có của Pentester

KHÓA HỌC
WEB PENTEST 101 KHÓA HỌC EXPLOIT 101

o POST EXPLOITATION
o ACTIVE DIRECTORY
o RED TEAM... TƯƠNG ĐƯƠNG KHẢ
NĂNG THI VÀ ĐẠT OSCP
WEB PENTEST
CERTIFICATE

BEGINNER KHÓA HỌC EXPLOIT 102


(đã biết lập trình 1-2 năm) (1DAY ANALYSIS)

• PHP
KHÓA HỌC • PYTHON
• JAVA
WEB PENTEST 102 • C#
• … TƯƠNG ĐƯƠNG KHẢ
NĂNG THI VÀ ĐẠT OSWE
HOW TO START?
Bắt đầu như thế nào, có framework nào để tham khảo không?
MITRE ATT&CK framework
"Binh pháp tôn tử" của giới hacking. Một ngôn ngữ chung cho tất cả người trong ngành.
Ghi chép lại các kỹ thuật mà các nhóm tấn công mạng sử dụng trong thực tế

14 chiến lược (tactics) trong một cuộc tấn công Red Team
Trong mỗi chiến lược (tactic)
lại có những techniques và procedure riêng của nó.
Cũng giống với quân sự ở ngoài đời thực.

Do thám địch Ngụy trang Các chiến lược (tactics) đều:


§ Có mục đích riêng
§ Đòi hỏi kỹ năng, tài nguyên khác nhau
§ Quy trình thực hiện khác nhau
§ Vận dụng ở những tình huống khác nhau
§ Các chiến lược có thể dùng xen kẽ, kết hợp lẫn với nhau...

Máy bay ném bom Lính nhảy dù


Server A

Chiến lược

RECONNAISSANCE
§ Mục đích: Do thám, thu thập thông tin trước khi phát động tấn công
§ Phương thức: Active-Passive Recon: OSINT, Scanning, ...
§ Hệ: Thu thập - Tình báo
Chiến lược

Reconnaissance
Server
A

Công đoạn này quyết định khá nhiều vào sự thành công của một dự án!
Tất nhiên trước khi phát động tấn công, một người hacker thực thụ luôn thu thập
thông tin cần thiết cũng như tính toán từng đường đi nước bước của mình.

Chủ đề này CyberJutsu đã


truyền tải qua chủ đề học thử
lần trước. Mời các bạn xem lại

https://www.youtube.com/@CyberJutsuTV/streams
HACKED

Server A

Chiến lược

INITIAL ACCESS
§ Mục đích: Đặt bước chân đầu tiên vào mạng nội bộ của target
§ Phương thức: Vận dụng kỹ năng Pentest (App, Web, System...) để đột nhập
§ Hệ: Exploit - Khai thác
Chiến lược HACK
E D

Initial Access
Server
A

Một trong những cách phổ biến để tiến vào và đặt một chân vào vùng địch đó là
Pentest; tìm và khai thác lỗ hổng trên những cụm máy chủ public-facing.

Chiến lược này đòi hỏi bạn phải có kiến thức và kỹ năng
Pentest căn bản. Nhất là Pentest trên các ứng dụng Web, vì
Web vẫn là một trong những đối tượng dễ khai thác nhất!

Tuy nhiên, CyberJutsu cũng không đề cập phần kỹ thuật này.


Vì nó rất dài, các bạn có học qua kênh Youtube hoặc khóa học
WEB PENTEST của CyberJutsu.

*public-facing: những máy chủ đưa ra ngoài Internet công cộng để người dùng bình thường có thể truy cập
BUỔI HỌC THỬ HÔM NAY CHỈ TẬP TRUNG VÀO QUY TRÌNH RED TEAM
Vì thế, chúng ta sẽ bỏ qua phần giới thiệu chiến lược Initial Access
(Pentest vào các máy chủ public-facing). CyberJutsu tạm thời xem
rằng các bạn tham gia đã có kiến thức Pentest căn bản!
OK LET'S GO
Đóng vai adversary lên kế hoạch quy trình Red
Team tấn công vào Xbank
ĐÓNG VAI ADVERSARY TẤN CÔNG VÀO XBANK
Giả sử Red Team của chúng ta được giao nhiệm vụ

Mục tiêu
Server A File Server
Financial data (bảng lương)

(Public-facing)
careers.xbank.com

Server B

Tài nguyên của XBank


ĐÃ HACK THÀNH CÔNG CAREERS.XBANK.COM
HÀNH ĐỘNG GÌ TIẾP THEO ĐÂY?

Initial Access thành công

Đã hack thành công server


careers, bước một chân vào
Server A File Server
được mạng nội bộ rồi! HACKED

(Public-facing)
careers.xbank.com

Server B

Tài nguyên của XBank


LÊN KẾ HOẠCH TIẾN GẦN ĐẾN MỤC TIÊU!

Nét đứt ám chỉ kế hoạch và ý tưởng tấn công!

Server A File Server


HACKED

(Public-facing)
careers.xbank.com

Server B

Tài nguyên của XBank


Có chiến lược nào dùng để
di chuyển tập kích sang các vùng lân cận khác?
ED
ACK
H

Chiến lược

LATERAL MOVEMENT
§ Mục đích: Di chuyển khắp mạng nội bộ của target
§ Phương thức: Sử dụng máy chủ đã hacked được làm "bàn đạp"
§ Hệ: Di chuyển
Chiến lược

Lateral Movement
lateral: of, at, toward, or from the side or sides
(Tiếng Việt nghĩa là: ngang, cạnh bên...)

Chiến lược Lateral Movement này luôn có một máy chủ


nào đó làm bàn đạp để nhảy sang một máy chủ khác, ví
von hình ảnh giống như bên phải ta thấy
Nhắc lại: Trong mỗi chiến lược (tactic)
đều có những techniques và procedure riêng của nó.

Chiến lược Chiến lược

RECONNAISANCE INITIAL ACCESS

Technique 1 Technique 2 Technique 1 Technique 2


Bên trong chiến lược Lateral Movement có gì?

1. Exploitation of Remote Services (Most used) LATERAL MOVEMENT


2. Internal Spearphishing

09
3. Lateral Tool Transfer
4. Remote Service Session Hijacking
5. Remote Services (Most used)
6. Replication Through Removable Media
7. Software Deployment Tools techniques
8. Taint Shared Content
9. Use Alternate Authentication Material
■ Lựa chọn kỹ thuật trong chiến lược Laterval Movement

Đừng bị nhầm lẫn chữ Remote Services ở hai techniques này nha!
Độ khó: CAO

Tìm và khai thác lỗ hổng (vulnerabilities) trực tiếp


ở trong các dịch vụ đang chạy trên server.

Technique 1210 Các ứng dụng, dịch vụ


Exploitation of phần mềm đang chạy
trên server
Remote Services

HACKED

Server ?
Initial Access

Server A

Technique 1021
Remote Services Các dịch vụ
Server ?

điều khiển từ xa

Độ khó: DỄ - VỪA

Không tấn công trực tiếp, mà ta sẽ tìm cách thu thập / đọc
lén các thông tin đăng nhập (credentials) của những dịch vụ
điều khiển máy tính từ xa như: SSH, SMB, VNC, RDP...
Chiến lược

LATERAL MOVEMENT

Cách 1: Remote Services TECHNIQUE 1021


Remote Services
Tìm chìa khóa để đi thẳng vào cổng chính.

Các dịch vụ
điều khiển từ xa
Các dịch vụ điều khiển máy tính từ xa luôn là miếng mồi béo bở cho Red Team vì:

§ Popularity: Hầu hết tổ chức nào cũng có cài đặt.


§ Weak Configuration: Password yếu, thiếu password policy, thiếu multi-factor...
§ Credential Reuse: Các administrator thường dùng chung password cho nhiều dịch vụ
§ Vulnerabilities: Gần đây hacker đã tìm thấy nhiều lỗi bảo mật nằm bên trong các dịch vụ này
§ Persistence: Là nơi phổ biến cho Red Team ẩn nấp, cài backdoor...

Các dịch vụ
điều khiển từ xa Server B

Tại sao Red Team thường chọn Remote Service làm mục tiêu?
■ Cách 1: Technique 1021 - Remote Services

Để thực thi được chiến thuật này ta


phải làm gì tiếp theo đây? 🤔

HACKED

Initial Access
Technique 1021
Server A Remote Services Các dịch vụ Server ?
điều khiển từ xa
Okay, vào đường vùng địch rồi. Nhưng trước mặt là một vùng đất không hề có thông tin gì cả.
Bây giờ làm sao đột nhập vào căn cứ tiếp theo đây?
Server A

Chiến lược

DISCOVERY
§ Mục đích: Tìm hiểu, thu thập chi tiết về môi trường bên trong mạng nội bộ
§ Phương thức: Sử dụng các lệnh, công cụ để tìm ra các thông tin giá trị (VD: Account, Email, Groups, IP...)
§ Hệ: Thu thập - Tình báo
■ Cách 1: Technique 1021 - Remote Services

HACKED

Initial Access
Technique 1021
Server A Remote Services Các dịch vụ Server ?
điều khiển từ xa

Discovery
Để có thể tiến hành login vào dịch vụ điều khiển từ xa thì ta cần gì?
Lục lọi loot đồ trong server xem có
thông tin gì quý giá không?
Ta cần có Credential!
Server A

Chiến lược

CREDENTIAL ACCESS
§ Mục đích: Đánh cắp, đọc lén những thông tin dùng để đăng nhập
§ Phương thức: Password Cracking, Đoán password, Bruteforce, Bash History, Poisoning, Sniffing...
§ Hệ: Thu thập - Tình báo
NẮM VỮNG CÁC KEY IDEA CỦA CREDENTIAL ACCESS

WHAT? WHERE? HOW?


HOW?
THỨTA
THỨ TAMUỐN
MUỐNLÀLÀ
GÌ GÌ THƯỜNG ĐƯỢCLƯU
THƯỜNG ĐƯỢC LƯUỞ ĐÂU
Ở ĐÂU LÀMSAO
LÀM SAOĐỂĐỂLẤYLẤY

Files Files
Lục, tìm trong files

Password API token Hash Scan code Tìm bugs


Files Code Database

… … …
■ Credential Access

GIỐNG CHƠI GAME TỪNG LOẠI LÍNH SẼ RƠI RA VẬT PHẨM KHÁC NHAU.
THÌ TỪNG LOẠI TARGET TRONG HACKING CŨNG SẼ CHO RA NHỮNG LOẠI CREDENTIALS KHÁC NHAU.

Hash
Password Database EXPLOIT RECON GIT Repos API Keys

BRUTEFORCE ENUM FILES


DEFAULT PASSWD KEY LOGGER

IT/Devs
Password
Password Login Page Machine Private Keys
■ Cách 1: Technique 1021 - Remote Services

Crendential Access

Có được Credential (User/Pass, SSH


key, ...) để tiến hành login
HACKED

Initial Access

Các dịch vụ Server B


Server A
điều khiển từ xa

Discovery

Để tìm ra những Credentials quý giá


phục vụ cho mục đích tiếp theo!
Chiến lược

LATERAL MOVEMENT

ATTACK FLOW CÁCH 1


TECHNIQUE 1021
Phối hợp các chiến lược: Initial Access + Discovery + Credential Access = Lateral Movement Remote Services
Ta có thể thấy
Các chiến lược được xen kẽ, lồng ghép vào nhau chứ không hề cố định.
Một người Red Team giỏi cần tinh thông các chiến lược - kỹ thuật để vận dụng nó
đúng vào các tình huống, đó là điểm thú vị của Hacking!
PROBLEM!

Trong thực tế, Red Team cần phải chuẩn bị nhiều


phương hướng, kịch bản để đi được đến đích cũng
như đạt được mục tiêu
Tuy nhiên, không phải kịch bản nào cũng đem lại
thành công. Vì thế mà ta cần có những hướng đi
dự phòng!
Vậy còn hướng nào khác?
Chiến lược

LATERAL MOVEMENT

TECHNIQUE 1021
Exploitation of
Remote Services
Các ứng dụng, dịch vụ phần mềm
đang chạy trên server

CÁCH 2: EXPLOITATION OF REMOTE SERVICES


Exploit xông thẳng vào các dịch vụ, ứng dụng đang chạy trên server!
Chiến lược

DISCOVERY

sca

sc
n a
n
Cho nên trong chiến lược Lateral Movement
có một thủ thuật giúp quá trình này dễ dàng
và stealthy hơn.
Đó chính là Pivoting. Vậy nó là gì?
HACKED

a n
Initial Access sc

Server A sca
n

Discovery

Cần nmap để scanning network.


Nhưng nếu install nmap sẽ để lại
nhiều dấu vết, dễ bị phát hiện
PIVOTING LÀ CÁC KỸ THUẬT GIÚP ATTACKER CÓ THỂ CHẠM ĐẾN NHỮNG VÙNG MẠNG KHÁC SÂU HƠN
💡DỰA TRÊN Ý TƯỞNG: LỢI DỤNG MÁY BỊ HACK NHƯ MỘT ĐIỂM CHUYỂN TIẾP (PIVOT POINT)

ATTACKER
Để làm được điều này, attacker cần thực
thi một "phần mềm" trên máy victim với
nhiệm vụ chuyển tiếp gói tin
■ Pivoting

CÓ RẤT NHIỀU CHIẾU THỨC ĐỂ PIVOTING


NHƯNG TUNNELING VẪN LÀ CHÂN ÁI!

FORWARDING / PROXY TUNNELING


§ Chỉ thực hiện nhận và forward gói tín đi § Đóng gói traffic trong protocol khác
§ Blueteam chỉ cần capture gói tin sẽ dễ § Blueteam điều tra khó khăn hơn
dàng quan sát được attacker đang làm gì
WRITEUP
Mục tiêu: Lấy bảng lương của XBank
File Server
Credential Access
files.cbjs-bank.cyberjutsu-lab.tech
Tìm ra được SSH
private key trên server
Careers, sau đó dùng
SSH này tiến hành login

Initi
a l Acc
Com ess
man
d Inj
ectio
n Portal Web Server
(172.16.0.5)

Discovery
Lục lọi server đi tìm ra
những credential quý giá
File Server
files.cbjs-bank.cyberjutsu-lab.tech

Credential Access
Login with
Reuse Credentials

Initi
a l Acc
Com ess
man
d Inj
ectio
n

Portal Web Server SQL Injection thành công!


(172.16.0.5)
Hash password
crack

Plaintext

Thiết lập
HTTP Tunneling
CYBERJUTSU ACADEMY
https://cyberjutsu.io/
https://www.facebook.com/CyberJutsu

You might also like