본문 바로가기

악성코드16

[윈도우즈 보안과 악성코드 기초] KISA 특강 3 : readme 보호되어 있는 글 입니다. 2024. 5. 19.
[윈도우즈 보안과 악성코드 기초] KISA 특강 2 : findme 보호되어 있는 글 입니다. 2024. 5. 19.
[윈도우즈 보안과 악성코드 기초] 기초 동적 분석 - Practical Malware Analysis Lab01-04.exe 보호되어 있는 글 입니다. 2024. 4. 18.
[윈도우즈 보안과 악성코드 기초] 기초 동적 분석 - Practical Malware Analysis Lab01-03.exe 보호되어 있는 글 입니다. 2024. 4. 18.
[윈도우즈 보안과 악성코드 기초] 기초 동적 분석 - Practical Malware Analysis Lab01-02.exe 보호되어 있는 글 입니다. 2024. 4. 18.
[윈도우즈 보안과 악성코드 기초] 기초 동적 분석 - Practical Malware Analysis Lab01-01.exe 보호되어 있는 글 입니다. 2024. 4. 18.
[윈도우즈 보안과 악성코드 기초] 기초 정적 분석 - Practical Malware Analysis Lab01-04.exe 1. Virustotal에 업로드 하고 보고서를 확인하자. 기존 안티바이러스 정의된 것과 일치하는가? 72개의 엔진 중에서 63개가 악성코드로 탐지됐으므로 악성코드 시그니처로 판별된다. 2. 패킹이나 난독화의 흔적이 있는가? 이유는? 파일이 패킹되어 있다면 언패킹하라. PEiD로 파일을 확인했을 때, EP Section이 .text이고 컴파일 버전도 Microsoft Visual C++ 6.0인 것을 통해 패킹 되어 있지 않다는 것을 알 수 있다. 3. 이 프로그램은 언제 컴파일됐는가? PEview로 파일 헤더의 Time Date Stamp를 보면 2019/08/30 22:26:59 UTC이다. 해당 파일은 12년도에 생성된 실습 예제인데 컴파일 시점이 19년도라는 미래의 시간인 것을 보아 파일이 변조됐.. 2024. 4. 10.
[윈도우즈 보안과 악성코드 기초] 기초 정적 분석 - Practical Malware Analysis Lab01-03.exe 1. Virustotal에 업로드 하고 보고서를 확인하자. 기존 안티바이러스 정의된 것과 일치하는가? 72개의 엔진 중에서 66개가 악성코드로 탐지됐으므로 악성코드 시그니처로 판별된다. 2. 패킹이나 난독화의 흔적이 있는가? 이유는? PEiD로 파일을 확인했을 때, EP Section의 정보가 나오지 않는다. 컴파일 이름을 통해 FSG 1.0으로 패킹됐다고 추측할 수 있다. 이는 올리디버거나 x32dbg로 디버깅하거나 VMUnpacker 등의 tool을 사용해서 언패킹이 가능하다. VMUnpacker에 파일을 입력하고, Unpack 버튼을 클릭하면 언패킹이 가능하다. 해당 툴은 WinXP 가상머신 등에서 사용 가능하다. 3. 임포트를 보고 악성코드의 기능을 알아 낼 수 있는가? 그렇다면 어떤 임포트를 보.. 2024. 4. 10.
[윈도우즈 보안과 악성코드 기초] 기초 정적 분석 - Practical Malware Analysis Lab01-02.exe 1. Virustotal에 업로드 하고 보고서를 확인하자. 기존 안티바이러스 정의된 것과 일치하는가? 72개의 엔진 중에서 58가 악성코드로 탐지됐으므로 악성코드 시그니처로 판별된다. 2. 패킹이나 난독화의 흔적이 있는가? 이유는? PEiD로 파일을 확인해보면 컴파일러에 관련된 정보가 Nothing found로 뜨고, EP Section이 일반 파일과 같이 .text가 아닌 upx1으로 되어 있는 것을 확인 할 수 있다. 따라서 upx로 패킹되었다는 것을 알 수 있다. 파일을 언패킹한 후, 다시 PEiD로 확인해보면 EP Section이 .text로 변경되고, 컴파일 관련 정보가 Microsoft Visual C++로 변경된 것을 확인할 수 있다. 3. 임포트를 보고 악성코드의 기능을 알아 낼 수 있는가.. 2024. 4. 10.
[윈도우즈 보안과 악성코드 기초] 기초 정적 분석 - Practical Malware Analysis Lab01-01.exe & Lab01-01.dll 1. Virustotal에 업로드 하고 보고서를 확인하자. 기존 안티바이러스 정의된 것과 일치하는가? Lab01-01.exe는 72개의 엔진 중에서 52개가 악성코드로 탐지됐고, Lab01-01.dll은 71개의 엔진 중에서 38개가 악성코드로 탐지됐다. 따라서 두 파일 모두 악성코드 시그니처로 판별된다. 2. 이 파일의 컴파일 시점은? 컴파일 시점은 PE 파일 헤더의 Time Stamp 정보를 통해서 알 수 있다. PEView의 IMAGE_NT_HEADER/IMAGE_FILE_HEADER의 Time Data Stamp를 보면 동일한 날짜에 19초 차이로 컴파일 된 것을 알 수 있다. 따라서 이 두 개의 파일은 같은 패키지로 판단된다. exe가 실행되고 dll을 동적으로 호출하는 구조로 판단된다. 3. .. 2024. 4. 10.
[윈도우즈 보안과 악성코드 기초] PE 파일 헤더와 섹션 PE(Portable Excutable) 파일 PE 파일이란? Win32 기본 파일 형식 exe, scr, sys, dll, ocx 등 Process : EXE +DLL 실행 과정 PE 파일 실행 dll은 더블 클릭해도 실행되지 않음! dll은 exe가 call 해야 실행이 됨 PE 헤더 정보를 메모리에 매핑 실제 프로세스를 위한 메모리 할당 섹션 정보를 메모리에 복사 Import 정보 처리 기준 재배치 처리 실제 프로그램 코드로 분기 https://learn.microsoft.com/ko-kr/windows/win32/debug/pe-format PE 파일 포맷 윈도우 실행 파일 포맷: DLL, PE(Portable Executable) PE file header PE file header에서 대부분의.. 2024. 4. 6.
[윈도우즈 보안과 악성코드 기초] 기초 정적 분석 기초 정적 분석 목표 악성코드의 기능을 파악하기 위해 코드나 프로그램의 구조를 분석하는 과정 악성코드를실행하지 않고 분석하는 과정인 정적분석의 기본을 수행할 수 있다. 주요 사용 기법 (기초 정적 분석 방법) 악성 여부를 판단하는 안티바이러스 도구 악성코드를 판별하는 해시 정보 검증 파일의 문자열, 함수, 헤더에서 주요 정보 수집 안티바이러스 스캐닝 악성코드 탐지(기본) 패턴 매칭 분석: file signatures를 검색하여 찾는 방법 주로 많이 사용하는 방법 heuristic : 변조, 신종 등 악성코드를 변조시키거나, 신종을 나오게 하는 방법 악성코드 실행 및 탐지 (안티바이러스 도구) http://www.virustotal.com 패턴 매칭 분석 구글이 인수하여 운영 중인 사이트 VirusTota.. 2024. 4. 6.
[윈도우즈 보안과 악성코드 기초] PE 파일 구조 PE(Portable Excutable) 파일 PE 파일이란? Win32 기본 파일 형식 exe, scr, sys, dll, ocx 등 Process : EXE +DLL 실행 과정 PE 파일 실행 dll은 더블 클릭해도 실행되지 않음! dll은 exe가 call 해야 실행이 됨 PE 헤더 정보를 메모리에 매핑 실제 프로세스를 위한 메모리 할당 섹션 정보를 메모리에 복사 Import 정보 처리 기준 재배치 처리 실제 프로그램 코드로 분기 https://learn.microsoft.com/ko-kr/windows/win32/debug/pe-format notepad.exe(win7) 구조 notepad.exe -> 보통 C:\Windows\System32에 있음 PEview를 통해 notepad.exe의 구.. 2024. 3. 30.
[윈도우즈 보안과 악성코드 기초] 리버싱 이론 실습_crackme#1, #3 abex' crackme #1 abex' crackme #1은? 크랙 연습 공개 프로그램 - Error 메시지 창에서 OK 창이 나오게 해야 됨 디버깅 - EP 확인하기 주석 창을 보면 세 개의 메시지 창이 뜨는 프로그램이란 걸 알 수 있음 장점: 시작 주소와 EP가 동일 (시작하자마자 시작 주소가 나옴) 매우 간단하고 명확하게 작성됨 (stub code가 없음) 교육용 목적이라 그럼 사용 함수 분석 MessageBox: 메시지 창을 띄우는 함수 파라미터: Style → Title → Text → hOwner 총 4개 이 메시지 함수를 띄우기 위해선 위에 4개의 파라미터가 필요한 것 GetDriveTypeA: 드라이브 타입을 가져오는 API 함수 디스크 드라이브가 이동식, 고정식, CD-ROM, RAM .. 2024. 3. 30.
[윈도우즈 보안과 악성코드 기초] 문자열 패치 실습 1.hexdump 영역에서 www.reversecore.com → www.swu.com 수정 이뮤니티 디버거에서 메시지 창 제목의 문자열이 보이는 곳으로 이동한다.   해당 주소를 실행 전에 더블 클릭하여 주소를 복사한다.  덤프 창에서 [Ctrl+G] 후, 복사한 주소를 붙여넣기 하고 OK 버튼을 클릭한다.  해당 문자열이 보이는 곳으로 이동했음을 확인할 수 있다.  바꾸려는 문자열 부분을 드래그 후 [Ctrl+E]를 하고, 유니코드를 SWU.COM으로 수정한다.  www.swu.com으로 바뀐 것을 확인할 수 있다.  메시지 박스까지 실행하면 메시지 창의 제목이 SWU.COM으로 수정된 것을 확실히 확인할 수 있다. 2. 어셈블리 코드 번지수 수정 덤프 창에서 [Ctrl+G]를 클릭해서 메시지 창 제.. 2024. 3. 23.