[Malware analysis] 스크린락커(screenlocker), 코로나 바이러스 분석 참조 - 매우 성가신 코로나 바이러스 스크린락커 발견돼 > https://blog.alyac.co.kr/2934?category=750247 - 샘플 파일 다운로드> https://app.any.run/tasks/b4d1365e-c9d0-4857-81f0-beeb633dc94a/ 스크린락커(screenlocker), 코로나 바이러스 wifihacker.exe 실행 시, C:\Program Files\vb\wifi hacker 폴더 내 다수의 파일 생성 확인 파일명 설명 파일명 설명 allwh.reg 악성행위 관련 레지스트리anti.exe PC Locker 해제 관련 파일antiwh.vbs PC 잠금 메시지 스크립..
[Reversing] DLL의 EAT에서 API 주소 얻기 1. AddressOfNames()을 이용하여 원하는 함수의 이름을 찾은 후, 함수 이름을 비교하여 인덱스를 구한다.2. AddressOfNameOrdinals()을 이용하여 ordinal 배열에서 인덱스 값을 찾는다.3. AddressOfFunction()을 이용하여 EAT에서 ordinal 값을 찾아 함수의 시작 주소를 가져온다. 출처 : x64dbg 디버거를 활용한 리버싱과 시스템 해킹의 원리 간략하게 풀어서 말하면 EAT kernel32 API loading 절차EXPORT Table 주소 > IMAGE_EXPORT_DIRECTORY 시작 주소 + 20 > EXPORT Name Pointer Table RVA 시작 주소 > 필요 API 함..
[Reversing] Wscript & VBA Tip 난독화를 일일이 해제하기에는 시간이 너무 많이 걸리며 쉽지 않은 작업이다. 난독화를 MsgBox를 띄어 복호화된 실행 코드를 확인 할 수 있는 내용을 정리한다. VBA 난독화 > MsgBox 난독화 된 매크로 VBA 코드이다. MsgBox "" & 매개변수 명령어를 추가하여 복호화된 VBA 코드를 확인 할 수 있다. Debug.Print 직접실행 예시) cdevfrqweasdzxc(20) = Smoking("D;]]xjoepxt]]Tztobujwf]]wcpyusbz/fyf") cdevfrqweasdzxc(20) = Smoking("D;]]xjoepxt]]Tztobujwf]]WCpyDpouspm/fyf") Dim TYUIOPGHJJKL As Intege..
[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', ..
[Malware analysis] Netwalker 랜섬웨어, 코로나 바이러스 피싱 분석 참조 - Netwalker 랜섬웨어, 코로나 바이러스 피싱 통해 사용자 감염시켜 > https://blog.alyac.co.kr/2851?category=750247 - 샘플 파일 다운로드 > https://app.any.run/tasks/f9fbd0e2-f8eb-4a42-accb-8494b9f50dce/ 코로나 바이러스(COVID-19) 피싱 이메일 "CORONAVIRUS_COVID-19.vbs"라는 첨부파일로 (그림 1)와 같이 난독화된 코드를 확인 할 수 있다.[그림 1 - 난독화된 .vbs] 해당 난독화된 코드를 디코딩 시 (그림 2)와 같은 걸 확인 할 수 있다. 디코딩된 코드를 살펴보면 임시디렉토리에 Ne..
[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..
- Total
- Today