You are on page 1of 19

ĐÁP ÁN

CUỘC THI AN TOÀN THÔNG TIN


Chủ đề: Điều tra, ứng cứu sự cố ATTT
ngành Ngân hàng
NGÂN HÀNG NHÀ NƯỚC VIỆT NAM
CỤC CÔNG NGHỆ THÔNG TIN

MỤC LỤC
1. THÔNG TIN CUỘC THI: 3
2. BỐI CẢNH: 3
3. LỜI GIẢI CHI TIẾT: 3
Bài 1: Time2Attack 3
Bài 2: Meowww (Account Creation Forensic) 6
Bài 3: Who let the cats in? (AD Attack Forensics ) 8
Bài 4: Woof woof woof (AD Attack Forensics) 9
Bài 5: Command Sharing Point (Host Attack Forensics) 13
Bài 6: Am I qualified to be your hacker? (Client Computer Attack Forensics) 15
Bài 7: Magic flag in code 17
Bài 8: Trading Node 17
Bài 9: Just 4 fun 18
Bài 10: Hide and seek 19

2
NGÂN HÀNG NHÀ NƯỚC VIỆT NAM
CỤC CÔNG NGHỆ THÔNG TIN

1. THÔNG TIN CUỘC THI:

● Đối tượng tham gia: quản trị hệ thống, bộ phận CNTT, bộ phận điều phối,…
Thành phần trực tiếp tham gia cần có kiến thức nền tảng về hệ thống, quản trị, cơ
sở dữ liệu, phân tích log, ...

● Mỗi đội cần chuẩn bị 1 máy tính: có kết nối Internet, Windows 7 trở lên, và các
phần mềm hỗ trợ (Wireshark, ProcMon, ProcExp, AutoRun, fcrackzip, zip2john,
john, …)

● Số lượng người tham gia: Mỗi đơn vị ngân hàng là một đội, mỗi đội tối đa 4
người.

● Điều kiện khác: có kết nối Internet

● Số lượng người tham gia: khoảng 200 người, được chia thành 45 đội.

● Tổng thời gian dự kiến: 1 ngày

2. BỐI CẢNH:
Vào ngày 26/03/2021, hệ thống Monitoring VADAR đã phát hiện và đưa ra cảnh
báo về một backdoor trong hệ thống Công nghệ thông tin của ngân hàng A. Nhiệm vụ
của các đội chơi là điều tra lỗ hổng mà hacker đã sử dụng để cài đặt backdoor. Ngoài
việc điều tra sự cố các đội chơi tham gia đánh giá một số hệ thống khác của ngân hàng
để xác định các lỗ hổng bảo mật nhằm khắc phục kịp thời các lỗ hổng còn tồn đọng để
đảm bảo An toàn thông tin.

3. LỜI GIẢI CHI TIẾT:

Bài 1: Time2Attack
Bước 1: Sử dụng Wireshark để export tập tin time.zip
NGÂN HÀNG NHÀ NƯỚC VIỆT NAM
CỤC CÔNG NGHỆ THÔNG TIN

Bước 2: Sử dụng zip2john và john để crack password time.zip
NGÂN HÀNG NHÀ NƯỚC VIỆT NAM
CỤC CÔNG NGHỆ THÔNG TIN

Sau khi chạy john xong, thu được mật khẩu là “ !@#$% ”. Tiến hành giải nén time.zip,
thu được file rot-me.txt
Bước 3: Decode Rot-13 sau đó decode Basde64 file rot-me.txt bằng cyberchef
NGÂN HÀNG NHÀ NƯỚC VIỆT NAM
CỤC CÔNG NGHỆ THÔNG TIN

Bước 4: Nhận thấy header JFIF, ta tiến hành lưu về máy với đuôi jpeg
Bước 5: Flag nằm trong ảnh.

Đáp án: ATTT{01:20-21/03/2021}

Bài 2: Meowww (Account Creation Forensic)


Mở file EventLog, chúng ta có thể thực hiện điều tra những log liên quan tới từ khóa
meow - tên user được tạo. Từ đó chúng ta có thể tìm thấy được LogEntry 4688 của
process net với command user /add như dưới đây:
NGÂN HÀNG NHÀ NƯỚC VIỆT NAM
CỤC CÔNG NGHỆ THÔNG TIN
NGÂN HÀNG NHÀ NƯỚC VIỆT NAM
CỤC CÔNG NGHỆ THÔNG TIN

Đáp án: ATTT{03/24/2021-09:28:18}

Bài 3: Who let the cats in? (AD Attack Forensics )


Mỗi process được tạo hay mỗi lệnh được chạy trên máy tính đều được gắn với một Logon
ID. Tiếp tục tìm với LogonID 0x175CBA, chúng ta có thể điều tra ra được sự kiện Logon
thành công ứng với LogonID 0x175CBA như sau:
NGÂN HÀNG NHÀ NƯỚC VIỆT NAM
CỤC CÔNG NGHỆ THÔNG TIN

Đáp án: ATTT{192.168.95.133-50921}

Bài 4: Woof woof woof (AD Attack Forensics)


Phương thức Logon được dùng là Kerberos:
NGÂN HÀNG NHÀ NƯỚC VIỆT NAM
CỤC CÔNG NGHỆ THÔNG TIN

Và ngay phía dưới, chúng ta có thể thấy rằng có 2 phiên khởi tạo TGS thành công (4769)
mà không có TGT (4768) ở phía trước đấy. Có nghĩa là phiên xác thực này đã sử dụng
một ticket mà đã được granted trước đó để xác thực, mà không qua quá trình xin cấp mới
(4768). Vì thế có thể thấy được phương thức tấn công này là PassTheTicket - dùng ticket
được lưu trong LSA để có thể xác thực vào DC.
NGÂN HÀNG NHÀ NƯỚC VIỆT NAM
CỤC CÔNG NGHỆ THÔNG TIN

Tiếp theo, để tìm được việc ticket được khởi tạo, chúng ta filter các EventID 4768, để
phát hiện việc xin cấp Ticket:

Tìm với Client 192.168.95.133, với tài khoản Administrator, chúng ta tìm được event như
sau:
NGÂN HÀNG NHÀ NƯỚC VIỆT NAM
CỤC CÔNG NGHỆ THÔNG TIN

Ngoài ra, chúng ta cũng có thể thấy được một request mà hacker thử tạo một golden
ticket cho riêng mình nhưng thất bại:
NGÂN HÀNG NHÀ NƯỚC VIỆT NAM
CỤC CÔNG NGHỆ THÔNG TIN

Đáp án: ATTT{PassTheTicket-192.168.95.133-49474}

Bài 5: Command Sharing Point (Host Attack Forensics)


Dựa theo gợi ý, thử tìm trong packet details những keywords như powershell, cmd,...
NGÂN HÀNG NHÀ NƯỚC VIỆT NAM
CỤC CÔNG NGHỆ THÔNG TIN

Follow HTTP Stream, chúng ta thấy được nội dung toàn bộ payload

Từ đó chúng ta có thể thấy được payload dược chèn vào module WebPart của SharePoint.
Thông qua những thông tin về CVE, nhận thấy đây là CVE-2020-1811.
NGÂN HÀNG NHÀ NƯỚC VIỆT NAM
CỤC CÔNG NGHỆ THÔNG TIN

Trong HTTP Stream, cũng có thông tin về userlogon.


Đáp án: ATTT{CVE-2020-1811/hr01/10.3.1.65}

Bài 6: Am I qualified to be your hacker? (Client Computer Attack Forensics)


Mở file PML bằng Procmon (SysInternal Suite). Tiếp theo, chúng ta chọn Tools ->
Process Tree để có cái nhìn tổng quát hơn về những gì đã xảy ra.

Từ phần Command, chúng ta có thể thấy được có một ứng dụng Powershell được chạy
lệnh để tải một file từ địa chỉ: 10.3.10.27:8081/2 về máy. Và từ ứng dụng powershell đó,
spawn ra những process con là cmd, và conhost chạy lệnh whoami => Có thể thấy được
file được tải về là một file shell để thực thi lệnh từ xa.
Và File Powershell nay được spawn từ process parent là EQNEDT32.exe, là phần mềm
equation của Microsoft Word, mà có một lỗi CVE phổ biến là CVE-2017-11882. Từ đó
NGÂN HÀNG NHÀ NƯỚC VIỆT NAM
CỤC CÔNG NGHỆ THÔNG TIN

có thể nhận ra là máy tính nạn nhân đã mở một tập tin Word có chứa mã khai thác CVE-
2017-11882 trên Equations.
Nhưng có tất cả 5 bản doc được mở trong quá trình này. Chúng ta áp dụng nhiều filter để
thấy rõ được timeline file nào có khả năng nhiễm mã độc nhất.

Chúng ta nhận ra được rằng mã độc chỉ được thực thi sau khi người dùng mở CV-
HuyTQ.doc. Từ đó nhận thấy rằng mã độc được chứa trong file CV-HuyTQ.doc

Đáp án: ATTT{CV-HuyTQ.doc;CVE-2017-11882;10.3.10.27}


NGÂN HÀNG NHÀ NƯỚC VIỆT NAM
CỤC CÔNG NGHỆ THÔNG TIN

Bài 7: Magic flag in code


Bước 1: Nhận thấy rằng chỉ có chức năng upload, tính mã băm md5, ghi log. Vậy
nên ta chỉ tập trung những function quan trọng như: upload, và
file_put_contents().
Bước 2: Review code thì chỉ thấy function file_put_contents() là có khả nghi nhất,
mà không có bất cứ function hay request gọi trực tiếp hay gián tiếp đến.
Bước 3: Review code để xem làm sao để gọi đến hàm này thì thấy rằng file
logging.php được include ở upload.php và md5.php.
Bước 4: Phát hiện chức năng mã băm md5 được tính theo hai cách, đáng chú ý
hơn là tham số file, chúng ta có thể kiểm soát được.
Bước 5: Lập tức nghĩ ngay đến kỹ thuật Phar Deserialize, vì ta có thể gói nhiều
tập code, thư viện, hình ảnh, ... vào một tệp và nếu một filesystem function gọi đến
một phar file thì tất cả các metadata sẽ tự động unserialize. Tất nhiên, function
md5_file() là một trong các filesystem function.
Bước 6: Tạo một phar file a.phar chứa metadata đã được serialize, sửa lại
extension thành a.jpg và upload lên. (chú ý: upload vào thư mục uploads)
Bước 7: Dựa vào tham số file đã phát hiện ở trên để trigger payload.
file=phar://uploads/a.jpg/test.txt
Bước 8: Sau khi ghi được file simple-backdoor.php và thực thi câu lệnh để tìm
flag.
Đáp án: ATTT{PharDeserialization_1412.}

Bài 8: Trading Node


Bước 1: Thực hiện đăng ký tài khoản -> xác nhận qua email để kích hoạt (Có thể
dùng yopmail, ... để test)
Bước 2: Thực hiện quá trình KYC theo yêu cầu. Trong form file upload có chứa lỗ
hổng CVE-2020-7699
NGÂN HÀNG NHÀ NƯỚC VIỆT NAM
CỤC CÔNG NGHỆ THÔNG TIN

Thực hiện chèn payload để có thể thực hiện RCE trên server.
Đáp án: ATTT{prot0typ3_p0llut10n_2_st0nk}

Bài 9: Just 4 fun


Ứng dụng web có sử dụng Adminer, cần tìm user pass database để đăng nhập và
lấy flag là username admin của web. Sử dụng lỗ hổng CVE-2020-11738 trong plugin
Duplicator (Unauthenticated Arbitrary File Download). Sử dụng wpscan (cần tạo tài
khoản trên wpscan.com và add API vào wpscan) để tìm được plugin Duplicator, kết hợp
với việc search Google sẽ tìm được lỗ hổng và PoC. Lỗ hổng tồn tại ở /wp-admin/admin-
ajax.php?action=duplicator_download&file=../wp-config.php. Sử dụng lỗ hổng để
download file wp-config.php. User và password database được lưu trong đó.
Đáp án: ATTT{fl4g1s4dm1n1str4t0r}
NGÂN HÀNG NHÀ NƯỚC VIỆT NAM
CỤC CÔNG NGHỆ THÔNG TIN

Bài 10: Hide and seek


Truy cập robots.txt sẽ nhận được nội dung:
User-agent: all
Disallow: /admin

Truy cập đường dẫn /admin sẽ trả về 403


Trên root web (/) có 1 iframe chứa đường dẫn
https://www.nginx.com/resources/glossary/http2/
Đây là 1 gợi ý về lỗ hổng cần khai thác liên quan đến nginx và http2
Tìm kiếm các lỗ hổng liên quan đến nginx và http 2.0. TÌm kiếm trên các blog như
https://portswigger.net/daily-swig/http-request-smuggling-http-2-opens-a-new-attack-
tunnel
Sử dụng PoC có sẵn trên github
https://github.com/BishopFox/h2csmuggler
Đáp án: ATTT{uC4nts3e4nyth1ngher3}

You might also like