[Reversing] Windows System Call Table_Windows 7 x86 참조> https://github.com/j00ru/windows-syscalls "Windows 7": { "SP0": { "NtAcceptConnectPort": 0, "NtAccessCheck": 1, "NtAccessCheckAndAuditAlarm": 2, "NtAccessCheckByType": 3, "NtAccessCheckByTypeAndAuditAlarm": 4, "NtAccessCheckByTypeResultList": 5, "NtAccessCheckByTypeResultListAndAuditAlarm": 6, "NtAccessCheckByTypeResultListAndAuditAlarmByHa..
[Malware] Fileless 관련 정리 과거 Fileless 코인마이너 악성코드를 살펴본 적이 있다. 참조 링크에 있는 Fileless 공격에 대해 관련 동영상을 참조해 정리를 할 것이다. 참조> https://jeongzzang.com/137> https://www.youtube.com/watch?v=Y_e1oZUWaZI&feature=youtu.be> https://ukdiss.com/examples/fileless-malware-attack-techniques.php Fileless 공격이란?악성 행위를 하는 코드를 메모리에서 실행하면서 공격하는 것으로 파일이 아닌 형태로 보관한다.즉, Fileless 말 그대로 파일로 존재하지 않고 메모리나 레지스트리에서 동작하는 악성코드이다. Fileles..
[Reversing] 델파이(Delphi) 관련 정리 영화 '결백' 동영상 파일(*.AAC)로 위장하여 유포되는 백도어> https://asec.ahnlab.com/1351 참조> https://sanseolab.tistory.com/56> http://www.reversenote.info/how-to-analyze-delphi/> https://reverseengineering.stackexchange.com/questions/2873/which-ida-pro-signature-should-be-used-for-borland-delphi-6-0-7-0-binaries-as-re> https://sanseolab.tistory.com/55 분석을 하다보면 여러 언어(VB, dotNet, C, C++, M..
[Reversing] MSCryptoAPI unit MSCryptoAPI; interface uses Windows, KOL; // Constants for HiAsm Componentsconst NO_ERROR = 0; ERROR_INVALID_PARAMETER = 1; ERROR_INCORRECT_KEY = 2; ERROR_ACQUIRE_CONTEXT = 3; ERROR_GENERATION_KEY = 4; ERROR_GENERATION_KEYPAIR = 5; ERROR_GET_USER_KEY = 6; ERROR_DERIVE_KEY = 7; ERROR_ENCRYPT = 8; ERROR_DECRYPT = 9; ERROR_CREATE_HASH = 10; ERROR_HASH_DATA = 11; ERROR_G..
[Reversing] 레지스터 관련 정리 정리가 필요하여 메모한다.(개인정리) > https://software.intel.com/content/www/us/en/develop/articles/intel-sdm.html 레지스터 크기E 문자가 붙으면 32비트R 문자가 붙으면 64비트x64 R 레지스터에 저장된 값중 dword, word, byte만 사용도 가능하며, 64bit r8의 경우 r8d, r8w, r8b를 통해 각 비트에 접근 할 수 있다고 한다.RAX 64비트EAX 32비트AX 16비트AH/AL 8비트 소프트웨어 레지스터범용레지스터논리, 산술 연산등에 사용되나 디버깅 시 유기적으로 사용하는 것 같다.AX, BX, CX, DX, SP, BP, SI, DI 세그먼트 레지스터코드, 데이터, 스택등의..
[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 ..
- Total
- Today