Try Attack/Malware Analysis[basic]18

Anti-VM 기법 뭘 했는지? 모르겠지만 벌써 추석이네요... 일어나니 4시가 넘었네요.. 다시 잘 준비를 하는게 좋겠죠?! [그림1] 랜섬웨어_실행 제 컴퓨터에서 테스트할 수는 없기 때문에 가상머신에서 테스트를 진행했습니다. 당연히 혹시모를 상황에 대비해서 네트워크 연결은 하지 않았구요!! Windows7에서 진행하였습니다. 가상머신이라도 아깝네요. https://www.boannews.com/media/view.asp?idx=80519 갠드크랩 최신 버전을 위한 복호화 툴, 무료로 배포 중 악명 높은 랜섬웨어인 갠드크랩(GandCrab)의 최신 버전으로부터 피해자들의 데이터를 살릴 수 있는 복구 툴이 개발돼 무료로 배포되고 있다. 현재 랜섬웨어 피해 복구 노력이 진행되고 있는 전 세계적인 프로젝트, 노모어랜섬(NoMo.. 2019. 9. 13.
[논문요약] 악성코드 정적탐지를 위한 PE의 Rich헤더 활용방법 악성코드를 정적으로 탐지하는 방법을 연구하는 과정에서 https://www.zdnet.co.kr/view/?no=20180309104954 "평창올림픽 해킹, 러시아-북한 소행 아니다" 평창동계올림픽 개막 직후 러시아와 북한 해커들이 IT 시스템 해킹을 시도했다는 소식 때문에 한바탕 소동이 벌어졌다.​하지만 당시 올림픽 시스템 해킹을 시도한 것은 이들이 아닌 것으로 드러났다.Ȁ... www.zdnet.co.kr 위와 같은 기사를 보았고 Rich헤더가 조작되었다고 말했습니다. 모든 기사를 100%신뢰할 수는 없지만 연구하는데 있어서 Rich헤더를 변조하면 다른사람으로 위장할 수 있다는 내용이 담겨 있네요. 그렇다면 Rich헤더는 무엇일까요? Rich헤더란? (리치헤더란?) 비정형 데이터구조를 가지고 있으며.. 2019. 9. 4.
악성코드 분석[4] x86 아키텍처에서 EIP는 instruction pointer나 program counter로 알려져있습니다. 즉, 프로그램에서 수행할 다음 명령어의 메모리 주소를 담고있는 레지스터입니다. 만약 이 EIP가 손상된다면 어떻게 될까요? EIP가 손상되었다는 말은 정상프로그램 코드가 아닌 곳의 메모리 주소를 가리킨다는 말이겠죠? ▶ CPU는 실행할 정상 코드를 가지고 오지 못하므로 실행 중인 프로그램은 종료될 것입니다. ▶ EIP를 제어할 때 CPU의 실행을 제어할 수 있습니다. ▶ 바로 공격자가 EIP타겟팅 하는 이유도 CPU의 제어권을 갖기 위해서이지요. ▶ 그래서 메모리상에서 자신이 실행하고자 하는 코드를 EIP가 가리키도록 합니다.!! mov와 lea명령어의 차이를 아시나요? "mov는 값을 옮기고.. 2019. 9. 1.
악성코드 분석[3] 1. 잠재적인 악성코드를 어떻게 찾을 수 있을까요? ▶ 특정 함수를 연달아 호출하거나 DLL injection등과 같이 사용하는 함수가 정해져있다면 악성코드일 확률이 높겠지요. ▶ 결국 프로그램 기능에 대한 힌트를 줄 수 있는 함수를 찾는 것이 중요합니다. 일반적으로 프로그램이 사용하는 공통 DLL을 알아봅시다. DLL Description Kernel32.dll 메모리, 파일, 하드웨어 접근 Advapi32.dll 서비스관리자, 레지스트리 등의 컴포넌트 User32.dll 버튼, 스크롤바, 인터페이스 등의 컴포넌트 GDI32.dll 그래픽 보기, 조작 Ntdll.dll 윈도우 커널 인터페이스 직접 import가 불가능하며 Kernel32.dll을 통해 import WSock32.dll Ws2_32.dl.. 2019. 8. 30.
악성코드 분석[2] 악성코드는 패킹과 난독화 기법을 사용합니다. 패킹은 압축돼서 분석할 수 없도록 난독화된 것을 말합니다. 난독화는 바이너리에 대한 은폐한 것을 의미하죠. 패킹되고 난독화 된 코드는 적어도 LoadLibrary()와 GetProcAddress()함수를 포함해요. 이 함수들은 추가함수를 로딩해 접근할 때 사용합니다. PE파일은 코드에 대한 정보, 애플리케이션의 유형, 필요한 라이브러리 함수, 메모리 공간 요구사항 등을 포함한 헤더로 시작합니다. 그러므로 악성코드 분석가에게 PE헤더는 가치있는 포장지같은 느낌이겠죠? 라이브러리 링크에 대해 볼까요? import하는 함수 목록은 실행파일에서 수집할 수 있는 유용한 정보입니다. import는 실제로 다른 프로그램에 저장되어 있지만 외부프로그램이 사용할 수 있도록 한.. 2019. 8. 28.
악성코드 분석[1] 악성코드 분석에 대한 지식을 정리해볼까요? 1. 악성코드 분석의 목표 네트워크 침입에 대한 대응을 할 때 필요한 정보를 알아내기 위해서 분석을 합니다. 즉, 대응 방안을 찾기 위해서죠. ▶ 무슨일이 발생했는지 ▶ 감염된 시스템과 파일이 무엇인지 ▶ 어떤 행위를 하는지 ▶ 피해규모는 어떤지 ▶ 그렇다면 어떻게 탐지해야 하는지? 위 내용들이 어느정도 되었다면 ▶ 네트워크기반의 시그니처와 호스트기반의 시그니처를 생성해야 합니다. 2. 악성코드 분석 기법 [1] 정적분석은? ▶ 프로그램의 명령어가 하는 작업이 무엇인지 파악합니다. ▶ 즉, 디스어셈블러에 대한 지식이 필요합니다. [2] 동적분석은? ▶ 디버거를 이용해 동작하는 악성파일의 내부 상태를 확인합니다. ▶ 실행파일의 세부정보를 알아내기 좋지요. 2019. 8. 28.