1. UAC 우회 기법_01
기존 UAC 우회 기법입니다. 동작과정을 간략하게 살펴보면 다음과 같습니다.
1. UAC.tmp(.DLL)를 생성한다.
2. explorer.exe에 Code Injection을 시도한다. 이로 인해 explorer.exe는 "C:\Windows\System32\sysprep" 경로 에 위치한 cryptbase.dll 파일을 UAC.tmp로 바꾼다.
3. 악성코드가 "C:\Windows\System32\sysprep” 경로에 위치한 sysprep.exe를 실행하고 sysprep.exe에 악성 cryptbase.dll를 로드시킨다. 이때 악성코드는 종료된다.
4. cryptbase.dll은 악성코드를 관리자 권한으로 다시 실행시킨다.
이 기술은 다음과 같은 상황에서는 UAC 경고창이 뜨지 않은 채 관리자 권한으로 승격이 가능하다는 점을 이용했습니다.
- explorer.exe와 같은 프로그램(Windows Publisher에 의해 디지털 서명이 된 프로그램)은 관리자 권한이 필요한 작업(“C:\Windows\System32\sysprep” 경로에 DLL 이동)을 UAC 경고 없이 실행 가능하다.
- sysprep.exe와 같이 자동 권한 상승 프로그램은 실행될 때 UAC 경고 없이 관리자 권한으로 자동 상승된다.
- 관리자 권한으로 동작하는 프로세스에 로드된 .dll은 관리자 권한을 가진다.
UAC 우회 기법에 대한 소스 코드 정보는 아래 링크를 참고하시기 바랍니다.
- [C/C++] UAC Bypass: http://www.rohitab.com/discuss/topic/40992-cc-uac-bypass/
2. UAC 우회 기법_02
최근 사용되는 UAC 우회 기법은 응용 프로그램 호환성 데이터베이스를 가진다는 특징이 있습니다. 응용 프로그램 호환성 데이터베이스는 호환성 문제가 있는 응용 프로그램을 실행할 때 규칙을 설정하는 파일로 확장명은 .sdb입니다. 악성코드는 이 메커니즘을 사용해서 UAC 문제를 해결 합니다.
1. 악성코드는 “C:\Users\ADMINI~1\AppData\LocalLow” 경로에 호환성 데이터 베이스(com.%s.sdb)와 배치 파 일(red.%s.bat)을 만든다.
2. 호환성 데이터베이스 설치 명령을 사용해 com.%s.sdb를 설치 한다.
"%windir%\system32\sdbinst.exe" /q "C:\Users\ADMINI~1\AppData\LocalLow\com.Administrator.sdb"
3. 설치된 응용 프로그램 호환성 데이터베이스(com.%s.sdb)의 설정에 따라 iscsicli.exe가 배치 파일(red.%s.bat)을 관리자 권한으로 실행 한다.
4. red.%s.bat가 악성코드를 관리자 권한으로 다시 실행한다.
이 기술은 다음과 같이 Windows 7의 제원을 악용하여 UAC 문제를 해결합니다.
- sdbinst.exe와 iscsicli.exe 같은 자동 승격 프로그램은 프로그램 시작 시 UAC 경고 표시없이 관리자 권한으로 자 동 실행된다.
- sdbinst 명령으로 자동 승격과 같은 변경이 가능하다.
실제로 설치되는 com.%s.sdb를 살펴보면 iscsicli.exe 실행 시 iscsicle.exe가 red.%s.bat를 실행하도록 지정된 데이터베이스임을 알 수 있습니다.
관리자 권한으로 실행되는 red.%s.bat은 악성코드를 다시 실행시킵니다.
keith titanium - Titanium Art
답글삭제Design and installation · titanium bolts Contact Information · Design and installation · seiko titanium watch Contact Information · About us · chi titanium flat iron Design titanium stud earrings and titanium alloy nier installation