[Reversing] 알려진 난독화 종류 난독화 TOOL이다. PowerShell의 대표적인 난독화 방식 종류 설명 Random Case 대소문자 변화 (예 : tEsT) Division 문자 분할 (예 : 'te'+'st') Reorder 문자 순서 지정 (예 : '{1}{0}' -f 'te', 'st') Back Ticks Back Tick 문자 추가 (예 : 't'e's't) Call Operator 스크립트 블록 사용 (예 : & (test)) Whitespace 문자 중간에 공백 추가 (예 : 'te' + 'st') Ascii Char Assigns 아스키코드 사용 (예 : [char]116+[char]100) Replace Replace 기능 사용 (예 : 'aesa'.replace('a', ..
[Reversing] Register security center valuse AvtiVirus, Firewall, Update 관련 레지스트리 값 레지스트리 값을 설정하여 Windows Defender, 보안 알림 및 시스템 복원과 같은 Windows 보안 기능을 비활성화 한다.해당 레지스트리를 살펴보면 아래와 같다.AntiVirusDisableNotify 백신 경보 비활성화 AntiVirusOverride 사용자 고유 백신 활성화 AutoUpdateDisableNotify 자동업데이트 경보 비활성화 FirewallDisableNotify 방화벽 경보 비활성화 FirewallOverride 사용자 방화벽 활성화 UpdatesDisableNotify 보안 업데이트 경보 비활성화 UpdatesOverrid..
[Reversing] 전역 변수 지역 변수_어셈블리어 전역 변수는 모든 함수가 접근하고 사용할 수 있다.지역 변수는 정의된 함수에서만 접근이 가능하다. 어셈블리어로는 어떻게 다르게 보이는지 확인해 본다.전역 변수는 메모리 주소에 의해 참조되며,지역 변수는 스택 주소에 의해 참조 된다.즉, 전역 변수는 아래와 같으며mov eax, dword_[주소]mov dword_[주소], eaxmov ecx, dword_[주소]push ecxds : [주소] > 전역변수 지역변수는 다음과 같다.([ebp-4]는 지역 변수 int x 가정)mov dword ptr [ebp-4], 0mov eax, [ebp-4]mov [ebp-4], eaxmov ecx, [ebp-4]push ecxss : [주소] > 지역변수
[Reversing] CreateProcessInternalW() Process Hollowing 기법을 이용하는 Lokibot 분석 시 궁금하여 CreateProcessInternalW()에 대해 메모해본다. 아래 표는 CreateProcess()의 내부함수를 나열하였으며, 후킹하거나 행위를 숨기기 위해 내부 함수를 사용하는 경우가 있다. kernel32.CreateProcessW kernel32.CreateProcessInternalW ntdll.ZwCreateUserProcess //프로세스 생성됨(Suspend 상태) ntdll.ZwResumeThread //메인 스레드 Resume(프로세스가 실행) (표 - 1) CreateProcessInternalW()의 내부 함수를 들어가본다.(그림 - 1..
[Reversing] Crypto-Ransomware 랜섬웨어를 통해 감염된 파일은 암호화 할 때 RSA 알고리즘(비대칭키) 대신 AES 알고리즘(대칭키)를 사용하는지에 대해 작성 할 것이다.AES 대칭키 알고리즘을 사용하는 이유는 속도에 있다. 즉, 빠른 암호화가 가능하다.반대로 RSA-1024, RSA-2048와 같은 비대칭키 알고리즘은 시간이 오래 걸리지만, RSA 비대칭키 알고리즘은 안정성이 훨씬 뛰어나기 때문에 파일 암호화에 있어 함께 사용하게 된다. 즉, 랜섬웨어 제작자는 파일을 암호화 할 때 속도가 빠른 AES를 사용하고, RSA는 AES를 암호화 하는데 사용함으로써 속도와 안정성 부분을 챙길 수 있다. 공격자의 RSA 개인키를 알 수 있다면 감염된 파일을 복호화 할 수 있다.
[Reversing] Zw함수의 접두사의 의미 참조> https://docs.microsoft.com/ko-kr/windows-hardware/drivers/kernel/what-does-the-zw-prefix-mean- ex) zwopenprocess, zwopenprocesstoken, zwqueryinformationtoken 함수등 함수명 앞에 접두사 Nt 및 Zw로 시작하는 걸 볼 수 있다.MSDN 검색 결과 Nt의 접두사는 NT의 약자지만, Zw의 접두사는 의미가 없다고 한다. 최근 알게된 사실로는 직접 호출이 불가능하여 간접호출만 되면서 뒤에 접두사가 Nt > Zw 로 바뀌는 것을 알게되었다.그저 다른 API와 이름으로 인한 잠재적인 충돌을 피하기 위해 사용했다고 하며, 자세한 내용은 해당..
[Reversing] RTF, OLE, Open XML RTFRTF 파일은 여러 OLE 객체로 이루어져 있으며, OLE 객체를 태그 별로 구분을 하고 있다. RTF 파일은 서식 있는 텍스트 포맷으로 HxD을 이용하여 rtf라는 문자열을 확인 할 수 있다. 근데 모든 rtf 파일이 저런건 아닌거 같다..그림 1 – RTF HxD OLEMicrosoft Office의 .doc, .xls 파일을 HxD을 이용하여 (그림 2)와 같이 OLE 헤더 시그니처를 확인 할 수 있다. 또한, 해당 “test_doc.doc” 파일은 7-zip을 이용하여 압축 해제하게 되면 각각의 OLE 객체들을 확인 할 수 있다. 그림 2 – OLE HxD Open XMLMicrosoft Office의 .docx, .docm, .xlsx..
# SHGetFolderPath 참조> http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/reference/enums/csidl.asp> https://tarma.com/support/im9/using/symbols/functions/csidls.htm CSIDL_FLAG_CREATE (0x8000) Version 5.0. Combine this CSIDL with any of the following CSIDLs to force the creation of the associated folder. CSIDL_ADMINTOOLS (0x0030) Version 5.0. The file system directory that is used to ..
- Total
- Today