Information Security ˗ˋˏ ♡ ˎˊ˗
반응형

악성코드 10

[악성코드동적분석] PracticalMalwareAnalysis-Lab03-03 분석

"실전 악성코드와 멀웨어 분석(Practical Malware Analysis) 책의 실습 부분을 공부하고 작성한 분석 보고서" 사용한 파일 [Lab03-03.exe] 가상 환경 Windows XP Professional 실습 3-3) 안전한 환경에서 기초 동적 분석 도구를 이용해 모니터링하는 동안 Lab03-03.exe 파일에서 발견된 악성코드를 실행하라. 1) Process Explorer로 이 악성코드를 모니터링했을 때 무엇을 알아냈는가? 부모 프로세스를 잃어버리고 자식 프로세스 svchost.exe로 남는다. 답: Lab03-03.exe파일은 svchost.exe 파일을 자식 프로세스로 실행시키고 자기 자신은 사라진다. 2) 실시간 메모리 변조를 확인할 수 있는가? svchost.exe 메모리에 ..

Security/Reversing 2020.07.28

[악성코드동적분석] PracticalMalwareAnalysis-Lab03-02 분석

"실전 악성코드와 멀웨어 분석(Practical Malware Analysis) 책의 실습 부분을 공부하고 작성한 분석 보고서" 사용한 파일 [Lab03-2.exe] [Lab03-2.dll] 가상 환경 Windows XP Professional 실습 3-2) 기초 동적 분석 도구를 이용해 Lab03-2.dll 파일에서 발견된 악성코드를 분석하라 라이브러리 파일 설치하는 방법 정직하게 보이는 것 보면 패킹은 되어있지 않은 것 같다. [import 디렉터리] 네트워크와 관련된 라이브러리를 보고 네트워크 행위를 한다는 것을 알 수 있다. ADVAPI32.dll 레지스트리와 관련된 라이브러리 존재, 서비스와 관련된 행위를 하는 모듈 존재, 서비스로 등록되면 악성코드가 자동으로 실행될 수 있도록 함. 서비스는 백..

Security/Reversing 2020.07.28

[악성코드동적분석] PracticalMalwareAnalysis-Lab03-01 분석

"실전 악성코드와 멀웨어 분석(Practical Malware Analysis) 책의 실습 부분을 공부하고 작성한 분석 보고서" 사용한 파일 [Lab03-01.exe] 가상 환경 Windows XP Professional 실습 3-1) 기초 동적 분석 도구를 이용해 Lab03-1.exe 파일에서 발견된 악성코드를 분석하라. 1) 악성코드의 임포트 함수와 문자열은 무엇인가? Kernel32.dll에 ExitProcess 함수만 사용한다. 패킹이 되어있는지 확인해본다. 'junkcode'라는 패커로 패킹이 되어있는 것을 알 수 있었다. 다음은 strings로 확인해보기 텍스트 파일로 결과를 저장시킨다. 많은 레지스트리 키가 나오는 것을 알 수 있다. SOFTWARE\Microsoft\Windows\Curre..

Security/Reversing 2020.07.28

[UDP Flooding] UDP Flooding Malware 정적/동적 분석

UDPFlooding Malware를 제작하여 정적/동적 분석 https://t-okk.tistory.com/59 [UDP Flooding] UDP Flooding Malware 제작 1. 전체 Flowchart 순서 1) 악성코드는 서버에 10004번 포트로 'IMHACKER_10자리 숫자' 메시지를 UDP 통신으로 전송한다. 2) C&C 서버로 부터 공격 대상자 IP와 PORT 번호를 받고 공격지에 UDP Flooding 공격을.. t-okk.tistory.com *악성코드 분석하는 과정에서는 패킹하지 않은 파일을 가지고 분석하였다. 1. 정적분석 1.1 Virustotal(https://www.virustotal.com/gui/home) 악성 여부를 판단하는 안티바이러스 도구 악성코드 탐지에서 패턴..

Security/Reversing 2020.07.28

[x86 디스어셈블리 속성] 어셈블리 실습

* 작업환경 VMware [Windows XP Professional] ollydbg [shadow] * 실습을 진행하기 전에 알아야 할 사항(ollydbg) 1) 디스어셈블러 윈도우(Disassembler window) : 프로그램의 어셈블리 언어를 보여주는 창 2) 레지스터 윈도우 : 레지스터 상태를 보여주는 창 (EAX, EBX 등) 3) 스택 윈도우 : 스택을 보여주는 창 4) 메모리 덤프 윈도우 : 특정 메모리의 헥사 값(16진수)을 보여주는 창 1. masm32 설치 1) 설치링크 http://www.masm32.com/download.htm Download The MASM32 SDK NOTE on the version of MASM supplied in the MASM32 SDK. The v..

Security/Reversing 2020.05.28

[악성코드정적분석] PracticalMalwareAnalysis-Lab01-01 분석

"실전 악성코드와 멀웨어 분석(Practical Malware Analysis) 책의 실습 부분을 공부하고 작성한 분석 보고서" 1. Virustotal에 업로드하고 보고서를 확인하자. 기존 안티바이러스 정의된 것과 일치하는가? [Lab01-01.exe] 69개 엔진 중에서 41개가 악성코드로 탐지 -> 악성코드임을 예측할 수 있다. AhnLab-V3, Microsoft, F-Secure 등이 악성코드로 인식 악성코드 이름이 대부분 Trojan, Win32, Heuristic 등으로 설정 예측: Trojan형태는 네트워크 기반의 통신 행위를 한다. 별도로 소프트웨어를 설치하거나 동작할 확률이 높다. 해시 정보가 나와 있다. 이 해시 값을 가지고 변조되었는지 확인할 수 있다. PE32 MS 윈도우 기반으로..

Security/Reversing 2020.04.17

[악성코드분석] 기초정적분석02 - PE파일 포맷

기초정적분석 설명 참고 https://t-okk.tistory.com/43 [악성코드분석] 기초정적분석01 - 설명 및 도구 기초정적분석 - 프로그램의 기능을 파악하기 위해 코드나 프로그램의 구조를 분석 - 악성코드를 실행하지 않고 분석하는 과정 기초정적분석 방법 - 악성 여부를 판단하는 안티바이러스 도구 사용 - 악성코드 판별.. t-okk.tistory.com 1. PE 파일 포맷 윈도우 실행 파일 포맷: DLL, PE(Portable Executable) PE file header - 코드에 관한 정보를 수집 - 애플리케이션 유형 - 필요한 라이브러리 함수 - 메모리 공간 요구 사항 - exe 파일의 특징 파악 2. 링크 라이브러리와 함수 import 함수 목록 확보: 다른 프로그램에 저장된 라이브..

Security/Reversing 2020.04.17

[악성코드분석] 기초정적분석01 - 설명 및 도구

[기초정적분석] 프로그램의 기능을 파악하기 위해 코드나 프로그램의 구조를 분석 악성코드를 실행하지 않고 분석하는 과정 [기초정적분석 방법] 악성 여부를 판단하는 안티바이러스 도구 사용 악성코드 판별하는 해시 정보 검증 파일의 문자열, 함수, 헤더에서 주요 정보 수집 1. 안티바이러스 스캐닝 악성코드 탐지 - 패턴 매칭 분석(주로 많이 사용): file signatures를 검색하여 찾는 방법 - heuristic: 악성코드를 변조시키거나, 신종을 나오게 하는 방법 tool: virustotal site(https://www.virustotal.com/gui/) 1.1 실습 [notepad.exe] [PracticalMalwareAnalysis-Labs.exe] 2. 해시 정보 검증 해시: 악성/정상 코드..

Security/Reversing 2020.04.17

[Reversing 실습] Little Endian 표기법

바이트 오더링: 컴퓨터에서 메모리에 데이터를 저장하는 방식 - 종류: Big Endian, Little Endian 1. Big Endian: 순서대로 표기, 큰 단위가 앞에 나오는 경우 2. Little Endian: 역순으로 저장, 작은 단위가 앞에 나오는 경우 코드를 이용하여 Little Endian을 확인할 수 있다. Intel x86 CPU(윈도우 계열)은 Little-Endian 방식! Ollydbg(v1.1)을 이용하여 직접 만든 exe 파일을 열기 F7/F8을 이용하여 Main함수를 찾을 수 있다. Main함수라는 것을 예측할 수 있는 부분: Arg1, 2, 3 BYTE, WORD, DWORD, ASCII가 코드에 존재한다. 이 곳의 주소를 가지고 dump window에서 찾아보면 Litt..

Security/Reversing 2020.04.01

[Reversing 실습] 문자열 패치 두 가지 방법

https://t-okk.tistory.com/32 Reversing 실습 - 기본 디버깅 1. 기본 디버깅: 프로그램 시작 주소 및 main 함수 확인 - Hello World!라는 프로그램 만들기 Ollydbg(v1.1)로 열어서 확인 Entry Point(윈도우 실행파일의 코드 시작점): 0040126F - Ollydbg에서 F7, F8, F9를.. t-okk.tistory.com 여기서 만든 HelloWorld 프로그램을 가지고 문자열 패치를 진행 1. 문자열 패치 첫 번째 방법 - 문자열 버퍼를 직접 수정 - Main 함수에서 문자열이 저장되어 있는 Text 부분의 주소를 찾는다. - Dump Window 부분에서 Ctrl+g를 통해 그 위치로 이동한다. Text 주소: 0040210C 넉넉하게..

Security/Reversing 2020.04.01
반응형