분류 전체보기 23

IDAPython API 정리

1. 주소 리턴 Idc.here(), idc.ScreenEA() : 현재 위치의 주소를 리턴해 준다 Idc.MinEA(), idc.MaxEA() : 최대, 최소 주소를 리턴해 준다 2. 세그먼트 값 리턴 Idc.SegName(주소), idc.SegStart(주소), idc.SegEnd(주소): 주소에 대한 세그먼트 이름,시작, 마지막 주소 리턴 3. 함수 정보 리턴 Idc.GetFunctionName(주소) : 입력 주소의 함수 이름을 리턴 Idautils.Functions(시작 주소, 마지막 주소) : 함수 목록을 리스트 형태로 리턴 Funcltems (주소) : 지정한 함수 주소에서 모든 주소를 리턴해 준다, 리턴 값이 iterator 이다 Names : 이름을 가지고 있는 주소를 리턴해 준다, 리턴..

Study/IDA 2021.01.12

윈도우 바이러스 기초분석(Practiccal Malware Analysis) [LAB 03-01]

1. 악성코드의 임포트 함수의 문자열은 무엇인가? → 분석결과 KERNER32.DLL의 ExitProcess만 검출되었는데 이렇게 적게 나온 이유는 패킹되어있을 확률이 높다. → PEID 로 확인결과, PEncrypt 3.1 Final -> junkcode 로 패킹되어있음을 확인할 수 있다. → Unpacking을 진행하려고 하였으나 문서 부족으로 일단 분석을 진행하기로 하였다. 2. 악성코드임을 의미하는 호스트 기반 표시자는 무엇인가? → www.practicalmalwareanalysis.com 의 주소를 확인해 줄 수 있다. → 실행 될 것으로 추정되는 exe 파일도 발견할 수 있다. → 특정 계정에 대해 윈도우 시작 프로그램을 영구적으로 등록하는 레지스트리인 SOFTWARE\Microsoft\Wi..

윈도우 바이러스 기초분석(Practiccal Malware Analysis) [LAB 01-04]

1. 파일이 패킹되거나 난독화된 징후가 있는지 알아보기 PEID 로 열어서 확인 해 본다. → 패킹은 되어있지않고 C++ 로 컴파일 되어있다 2. 이 프로그램은 언제 컴파일 되었는가 → PEview 로 열어서 확인한 결과 컴파일 시간이 2019년 8월 30일이라는 것을 알 수 있는데 이 문제가 만들어진 연도가 로 미루어 보아 이는 조작된 시간임을 추측해 볼 수 있다. 3. 임포트를 통해 악성코드 행위를 감지할 수 있는가? → AdjustTokenPrivileges, LookupPrivilegeValueA, OpenprocessToken 의 함수로 보아 보호된 프로세스접근에 대한 토큰의 권한을 상승시켜 Injection, Hooking 같은 공격을 시도할 것으로 보인다. → CreateFile, Write..