본문 바로가기

반응형

분류 전체보기

(71)
[Practical Malware Analysis] Lab01-04.exe 분석 01. 분석환경1.1 분석 환경Windows10WindowsXP1.2 분석 도구PEView Resource Hacker PEiD Exeinfo PE strings IDA Pro OllyDbg depends SysAnalyzer Wireshark1.3 분석 샘플Practical Malware Analysis Labs - Lab01-04.exe 02. 정적 분석2.1 PE 구조 확인SECTION .rsrc 영역에 PE 파일 형식이 삽입되어 있는 것을 확인할 수 있습니다. Resource Hacker를 사용해서 해당 파일을 추출하고 Lab01-04_inserted.exe로 저장합니다. 2.2 패킹 여부 확인Lab01-04.exe, Lab01-04_inserted.exe 파일 모두 Entry Point과 Fil..
[Practical Malware Analysis] Lab01-03.exe 분석 01. 분석환경1.1 분석 환경Windows101.2 분석 도구VirustotalPEiDexeinfo PEVmUnpackerDependencyWalkerPEStudioOllyDBGIDA1.3 분석 샘플Practical Malware Analysis Labs - Lab01-03.exe02. 정적 분석 과정2.1 패킹 확인Entrypoint, File Offset 의 차이를 통해서도 패킹된 것을 확인할 수 있습니다. FSG 1.0 으로 압축된 것으로 추측됩니다. VmUnpacker를 사용하여 언패킹을 진행 후 분석을 진행합니다.  2.2 Strings 확인파일 내부에 hxxp://www.malwareanalysis.book.com/ad.html URL이 저장되어 있는 것을 확인하였습니다. 2.3 IAT 확인..
02. 대칭키 암호 현대 대칭키 암호확산과 혼돈- 확산(diffusion) : 암호문과 평문 사이의 관계를 숨기는 것- 혼돈(confusion) : 암호문과 키의 관계를 숨기는 것P-박스와 S-박스- P-박스확산을 유지하면서 비트를 전치하는데 사용되는 기법이다. 단순 P-박스는 역삼수가 존재하고 축소 P-박스, 확장 P-박스는 역함수가 존재하지 않는다.축소 P-박스 : n 비트를 입력받아 m비트를 출력하는 P-박스 (n > m). 입력 비트 중 특정 비트는 소실되어 출력되지 않는다.확장 P-박스 : n 비트를 입력받아 m비트를 출력하는 P-박스 (n 단순 P-박스 : n 비트를 입력받아 m비트를 출력하는 P-박스 (n = m). - S-박스S-박스는 입력값과 출력값 사이의 관계가 대수적 관계로 정의되는 치환 암호이다. 입력..
[Practical Malware Analysis] Lab01-02.exe 분석 정적 분석01. 자동화 분석분석 도구 : virustotal.com, PEView분석 결과 :Lab01-02.exe : 57/72 탐지, V3, ALYac Trojan 으로 탐지 02. 패킹 여부 확인분석 도구 : Exeinfope, PEView분석 결과 :실행 파일의 섹션 이름이 upx0, upx1, upx2로 나타내는 것을 통해서 UPX로 패킹된것을 추측할 수 있다. 또, exeinfo를 사용하여서 UPX로 패킹 된 것을 다시 확인하였고, UPX를 사용하여 언패킹 진행 후 분석합니다.  03. strings 확인분석 도구 : strings, OllyDBG분석 결과 : 위와 같은 strings가 실행 파일에 저장되어 있는 것을 확인하였습니다. OllyDBG로 확인한 결과 HGL345는 뮤텍스 이름으로,..
[Practical Malware Analysis] Lab01-01.exe, Lab01-01.dll 분석 정적 분석자동화 분석분석 도구 : virustotal.com분석 결과 :Lab01-01.exe : 감지율 55/72, 알약, 안랩 등에서 백도어, Torjan 로 감지Lab01-01.dll : 감지율 47/73, 알약, Google 등에서 백도어, Torjan로 감지 패킹 여부분석 도구 : exeinfo분석 결과 :Lab01-01.exe, Lab01-01.dll 모두 패킹되지 않은 것을 확인하였고, Microsoft Visual C-++ 로 컴파일 되었음을 추측할 수 있습니다. 컴파일 시간분석 도구 : PEiD분석 결과 : Lab01-01.exe 는 2010/12/19 16:16:19 UTC 에 컴파일에, Lab01-01.dll 은 2010/12/19 16:16:38 UTC 에 컴파일 된 것으로 보아 L..
01. 암호학 개요 암호기법의 분류치환암호와 전치암호- 치환 암호일정한 법칙에 따라 평문의 문자 단위를 다른 문자 단위로 치환하는 암호화 방식이다. 이때 치환 방식은 일대일 대응일 필요 없다. 카이사르, 비즈네르 암호가 대표적이다. - 전치 암호평문을 규칙에 따라 자리를 움직이게 하여 원래의 의미를 감추게하는 암호와 방식이다. 평문과 암호문이 일대일 대응이므로 자리를 바꾸는 규칙은 역함수가 존재한다. Nihilist 암호가 대표적이다.스트림 암호와 블록 암호- 스트림 암호한번에 1비트 혹은 1바이트의 데이터 흐름을 순차적으로 처리해가는 대칭키 암호 알고리즘이다. 평문에 키 스트림을 XOR하여 암호문을 생성한다. 암호화 속도가 빠르고 에러 전파현상이 없어 비디오 스트리밍에 주로 사용된다. LFSR가 대표적인 방법이다. - 블..
x86-64 어셈블리어 어셈블리 언어프로그래밍 언어(C, C++, JAVA, Python) 보다 저수준 언어로 컴퓨터가 이해할 수 있도록 만든 언어.종류 : IA-32(intel 32bit), x86-64, ARM, MIPS어셈블리어(Assembly Language)기계어와 일대일 대응이 되는 저수준 언어사용자가 이해하기 어려운 기계어 대신에 명령 기능을 쉽게 연상할 수 있는 기호를 기계어와 1:1로 대응시켜 코드화한 기호 언어기계어(Machine Language)프로그램을 나타내는 가장 낮은 단계의 개념.중앙처리장치(CPU)가 직접 판독하고 실행할 수 있는 비트(0과 1의 조합) 단위로 쓰인 컴퓨터 언어 기본구조기본형태 : 명령어(옵코드) + 인자(오퍼랜드)명령어 (옵코드) 명령 코드 설명데이터 이동(Data Transfer..
x86-64 CPU 레지스터 레지스터중앙처리장치(CPU)의 내부에 존재하는 고속 메모리로, 중앙처리장치의 요청을 처리하는 데 필요한 데이터를 일시적으로 저장하는 공간. 처리 후 해당 결과 값 역시 레지스터에 저장한 후 상황에 따라 메모리에 저장한다. 레지스터 단위OS 32/64bit : CPU가 한꺼번에 처리할 수 있는 데이터량을 말함  01. 범용 레지스터레지스터역할AX (Acumulator register)가장 많이 쓰이는 변수로, 각종 연산에 쓰임. 주로 리턴 값을 저장하거나 입출력 연산에 사용.DX (Data register)각종 연산에 쓰이는 변수로, 입출력 명령어와 곱셈과 나눗셈 연산에서 추가적엔 데이터로 사용CX (Counter register)반복문의 카운터로 사용, 미리 값을 정해놓고 0이 될 때까지 진행, 변수로 ..

반응형