[Reversing] ZwQuerySystemInformation(), ZwDuplicateObject(), ZwQueryObject() 분석 중 해당 API에 대해 정리가 필요해 작성한다.NtQuerySystemInformation() API을 보게되면 첫번째 멤버는 System_Information_class로 인자값에 대한 시스템 정보를 보여준다. (그림 1)의 해당 API의 스택에 쌓인 인자를 보게되면 “10”을 가지고 있으며, SystemHandleInformation로 시스템 핸들의 정보를 원하는 것을 확인 할 수 있다. [https://www.geoffchappell.com/studies/windows/km/ntoskrnl/api/ex/sysinfo/query.htm]이후 진행 시 ZwDup..
[Reversing] ROP(Return Oriented Programming)참고> https://github.com/BreakingMalwareResearch/atom-bombing Atombombing 기법을 보다가 정리가 필요하여 일부 정리를 한다. (이해가 되지 않아 잠시 멈춤..)ROP는 Retrun Oriented Programming의 약자로 데이터 실행 방지(Data Execution Prevention, DEP)을 우회하기 위하여 이용된다. 또한, 취약한 프로그램 내부에 있는 기계어 코드들의 섹션(Gadget)을 이용하여 버퍼오버플로우 공격시 특정 명령을 실행시키는 방법이기도하다.ROP의 방법에 대해서는 1.Virtual Protect() 2.할당 등 여러가지 방법이 있으며 해당 POC..
[Reversing] 메모리 생성 방식에 따라 버퍼 기본값 변화 참조> https://www.codeguru.com/cpp/w-p/win32/tutorials/article.php/c9535/Inside-CRT-Debug-Heap-Management.htm CVE-2017-8291 취약점에서의 Postscript aload 연산자를 살펴보던 중 0x020EADBA or 0x0DF0ADBA 같은 값이 있어 찾아본다.메모리 생성 방식에 따라 버퍼의 기본 값이 정해진다.HeapAlloc() 호출 후 메모리를 보면 아래와 같다.ex) 주소 HeapAlloc () 이후 00320FD8 09 00 09 01 00320FDC E8 07 18 00 00320FE0 0D F0 AD BA 00320FE4 0D F0 AD ..
[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..
- Total
- Today