Malicious Code
UPX 란?
UPX 란?
2022.08.10U P X Ultimate Packer for eXecutables 2022.08.10 UPX란? upx는 Ultimate Packer for eXecutables을 줄여서 UPX라고 부르는데 여러 운영체제에서 수많은 포맷을 지원하는 오픈 소스 실행 파일 압축 프로그램이다. upx는 UCL이라는 이름의 데이터 압축 알고리즘을 사용하며 이 구현은 사유 NRV 알고리즘의 일부인 오픈 소스로 되어있다. upx는 두 개의 메커니즘을 지원한다. 1. 인 플레이스(in-place) 테크닉 2. 임시 파일로의 해제 또한 여러운영체제에서 동작하는 것과 더불어 압축률이 60%까지 압축해주는 기능을 가지고 있는 가장 기본적인 압축 프로그램인 것이다. 여러 방법 중 리버싱 핵심원리와 악성코드에서도 많이 사용되고 있는데 악성..
악성코드 환경 준비 끝내기
악성코드 환경 준비 끝내기
2022.02.09- 2022.02.09 - 공부하다 습득하게 된 작은 꿀팁이 있어서 기록하기로 했다. 다음에 새롭게 시스템을 구성할때에 참고하면 좋을 것 같다. 악성코드 분석 등 툴을 이용할때 빠르게 cmd로 접근하기 위해서 사용하는 환경이다. 대부분의 툴은 바로가기로 만들어 바탕화면에 두거나 시작메뉴줄에 올려두고 빠르게 가져다 쓰기도 한다. 하지만 upx, pskill등 cmd로만 구동이 되어야하는 툴들이 있다. 그럴때마다 툴이 위치해 있는 경로로 직접 이동하여야하는데 이게 여간 귀찮거나 쉬운일이 아니다. 따라서 cmd창을 열어서 @@.exe를 입력했을 때 해당경로에서 바로 실행되도록 하는 것이다. 환경을 구성하기 위해 반드시 해야하는 조건이 있다. 바로 Tools을 하나의 폴더에 모아두는 것이다. 사실 분석을 하다보..
[6] 악성코드 분석
[6] 악성코드 분석
2022.01.31- 2022.01.31 - ** 악성코드는 오로지 교육과 분석의 용도로만 사용하며 획득 경로, 방법에 대해서 배포 및 공유하지 않습니다. ** [Virtual Environments] OS : Windows Architecture : x64 Tools : IDA, pestudio, peview 6번째 악성코드 분석이다. 오늘은 파일 Lab07-03.exe와 Lab07-03.dll 을 분석해 보았다. 파일명이 같은것으로 보아서는 exe파일이 실행되면 dll을 같이 연동해서 사용되는 악성코드로 보여진다. [ 정적분석 ] pestudio로 사용되는 함수들을 확인해보았다. 익숙한 여러 함수들이 보인다. Mutex함수는 지난 6번째 악성코드 분석때 한번 확인했었고 Create @@는 이제 생성 혹은 실행을 의미하..
[5] 악성코드 분석
[5] 악성코드 분석
2022.01.28- 2022.01.28 - ** 악성코드는 오로지 교육과 분석의 용도로만 사용하며 획득 경로, 방법에 대해서 배포 및 공유하지 않습니다. ** [Virtual Environments] OS : Windows Architecture : x64 Tools : IDA, SysAnalyzer, peview, pestudio [정적분석] peview에서 파일을 열어보았다. MZ 시그니처인 5A4D를 보아 exe파일임을 확인할 수 있다. 그 다음 Time Stamp를 확인하였다. 2011년 09월 30일 마지막으로 컴파일된 파일이다. pestudio를 이용해 string 함수를 살펴보았다. 이 악성코드 파일 안에서 사용되는 함수들을 확인할 수 있다. 가장 위의 특정 링크 주소와 함수 SetWaitableTimer,..
[4] reverseMe.exe 분석
[4] reverseMe.exe 분석
2022.01.23- 2022.01.23 - ** 악성코드는 오로지 교육과 분석의 용도로만 사용하며 획득 경로, 방법에 대해서 배포 및 공유하지 않습니다. ** [Virtual Environments] OS : Windows Architecture : x64 Tools : PEView, PEStudio, IDA reversMe.exe파일을 리버싱 해보기로 했다. 일단 해당 파일은 악성코드가 아닌 일반 정상적인 프로그램이다 분석과 전체 구조를 가볍게 공부해야하기에는 가벼운 프로그램만큼 분석이 편한건 없는것같다. 프로그램을 실행하면 위와 같이 나온다. Evaluation period out of date. Purchase new license... 간단히 새로운 라이센스를 구매하라는 메세지가 나오면서 프로그램이 종료가 된다...
[2] OllyDbg 단축키 알아보기
[2] OllyDbg 단축키 알아보기
2021.11.08[Reversing] 역공학 분석 : 실행 파일을 역으로 분석하는 행위 정상적인 리버싱 : 프로그램 분석, 업데이트, 패치, 악성 코드 분석 악의적인 리버싱 : 프로그램 크랙, 무단 사용, 시리얼 키 우회, 악성 코드 제작/유포 실행파일(Executable File / *.exe) 명령어에 의해서 특정 작업을 수행할 수 있도록 생성된 파일(Code, Data 포함됨) 각각의 운영체제마다 실행파일 형식이 다르다Linux - ELF (Excutable & Linkable Format) MAC - Mach-O (Mach Object File Format) Windows - PE (Portable Executable) OllyDbg 프로그램을 분석할 때 사용하는 디버거 선수 지식 : 어셈블리어, PE 파일 구조..
[1] 어셈블리 명령어 한 눈에 보기
[1] 어셈블리 명령어 한 눈에 보기
2021.11.08🛠 Assembly Command JL (Jump if less) : 왼쪽 값이 작으면 점프 아니면 진행 (AB) JA (Jump if above) : 왼쪽 같이 크면 점프(A>B) JB (Jump if below) : 왼쪽 같이 작으면 점프(A>B) == JC (Jump if carry flag 1) : CF가 1일 때 점프 JAE (Jump if above or equal) : 왼쪽 값이 크거나 같으면 점프(A≥B) == JNC (Jump if carry flag 0) : CF가 0일 때 점프 JNE (Jump if not equal) : 두 값이 다르면 점프(A! B) JNZ (Jump if not zero) : zero flag가 0이 아니면 점프 JZ (Jump if zero) : zero fl..
[3] 악성코드 분석
[3] 악성코드 분석
2021.11.08- 2021.11.08 - ** 악성코드는 오로지 교육과 분석의 용도로만 사용하며 획득 경로, 방법에 대해서 배포 및 공유하지 않습니다. ** [Virtual Environments] OS : Windows 10 pro Architecture : 64bit Tools : IDA maleware file : pingguo_21561000328[1].exe [ 과제 목차 ] > IDA를 이용하여 코드를 분석하고 해독 > IDA를 이용하여 코드 내의 상호 참조를 찾아서 체크 > IDA를 이용한 바이너리 패치(프로그램바이트 패치) [ IDA를 이용하여 파일을 분석하여 해동 ] 메모리주소 text:0043544F 의 붉은 영역에서 지역변수들을 확인할 수 있다.지역변수는 -로 체크가 되며 총 7개로 확인되었다. 메..
[2] 악성코드 분석
[2] 악성코드 분석
2021.11.08- 2021.11.01 - ** 악성코드는 오로지 교육과 분석의 용도로만 사용하며 획득 경로, 방법에 대해서 배포 및 공유하지 않습니다. ** [Virtual Environments] OS : Windows 7 pro Architecture : 32bit Tools : OllyDbg200, PEStudio, PEView malware file : [ 악성코드에 취약한 함수 찾기 ] [ 함수 목록 ] > GetProcAddress > GetMeoduleHandle > LoadLibrary [ 취약 함수 설명 ] > GetProcAddress 메모리로 load한 dll에서 함수 주소를 검색한다. PE 헤더에서 import한 함수 뿐 아니라 다른 dll에서 함수를 import할 때 사용한다. > GetMeod..