반응형

리버싱 6

리버싱) Malware_Analysis 실습 1-1 (Lab01) 정적분석

Malware_Analysis 실습 1-1 정적분석 기초 정적분석 실습 으로아래 출처를 기반으로 작성하였습니다. 출처 : https://book.naver.com/bookdb/book_detail.nhn?bid=7327943 실전 악성코드와 멀웨어 분석 악성코드 분석 지침서. 악성코드 분석의 초심자를 비롯해 중고급자에게 충분한 지식을 전달할 수 있게 구성되었으며, 악성코드 분석 기법과 사용 도구, 그리고 악성코드 분석의 고급 기법을 다 book.naver.com 출처 : https://inf.run/Nib5 윈도우 악성코드(malware) 분석 입문 과정 - 인프런 | 강의 입문자를 위한 악성코드 분석 과정의 단기 온라인 과정입니다., - 강의 소개 | 인프런... www.inflearn.com Malw..

IT Security 2022.03.23

리버싱) 레나튜토리얼-3 (Oops binary 수정)

리버싱) 레나튜토리얼-3 (Oops binary 수정) - 레나튜토리얼-3 에 nag 제거와 함께 포함된 Oops 파일이 존재 - 해당 파일은 실행엔 문제 없으나 PEview를 보면 IMAGE_SECTION_HEADER 가 확인되지 않음 - IMAGE_NT_HEADERS 구조체가 조작되었으며 binary를 수정하여 조치 가능 레나튜토리얼-3 (Oops binary 수정) HxD 를 이용한 Oops binary 수정 * 원본파일 업로드 - ( 분석 > 데이터 비교 > 비교 ) - 정상 파일 업로드 - 비교 * 비교 값 확인 후 원본파일 수정

IT Security 2022.03.20

리버싱) 레나튜토리얼-3 (nag 제거)

레나튜토리얼-3 (nag 제거) - 프로그램 실행시 발생하는 2개의 경고 창을 제거하는 문제 - JMP 명령을 통해 경고 창을 제거할 수 있으나 레나에서는 ImageBase와 EntryPoint 조작하는 방법을 이용 간단하게 알아둘 PE 파일 구성요소 * ImageBase : 로드할 가상 메모리 주소 * AddressOfEntryPoint : 파일이 메모리에서 시작되는 지점 프로그램 실행 화면 1, 3번 경고창을 제거해야함 Ollydbg 실행화면 - 00401000 : 프로그램 시작점 (EntryPoint) - 0040101F : 1번 경고창을 띄우는 메시지박스 - 00401047 : 3번 경고창을 띄우는 메시지박스 * 경고창 제거 방법 - 1번 경고창 : EntryPoint를 00401024로 변경하여..

IT Security 2022.03.17

리버싱) 레나튜토리얼-2 (reverseMe Keyfile)

레나튜토리얼-2 (reverseMe Keyfile) - Keyfile에 등록된 값에 대한 검증 로직을 리버싱으로 체크 - keyfile에 등록된 값은 총 16자 이상이며 그 중 문자 'G' 를 8글자 이상 포함해야 함. * 실습환경 : Windows XP, Ollydbg * Keyfile 유, 정상 라이선스 * Keyfile 유, 비정상 라이선스 * Keyfile 무 1. Keyfile.dat 유무 체크 (0040105C) - CreateFileA 함수를 이용해 파일 존재 유무 확인. - 파일이 존재하지 않을 경우 "Evaluation Period out of date. Purchase new license" 메시지 출력 후 프로그램 종료 - 파이링 존재할 경우 "004010A" 로 이동 * jnz [주..

IT Security 2022.03.15

리버싱) 바이트 오더링 및 레지스터

바이트 오더링 및 레지스터* 바이트 오더링 : 컴퓨터에서 메모리에 데이터를 저장하는 방식 - 빅엔디안 : 데이터를 앞에서 부터 순차적으로 적용(사람이 보는 방식과 동일) ㄴ 네트워크 프로토콜에서 사용하는 방식 - 리틀엔디안 : 데이터를 역순으로 저장하는 방식 ( 00AB12CD -> CD12AB00) ㄴ Intel x86 CPU에서 사용하는 방식 * 레지스터 - CPU 내부에 존재하는 다목적 저장 공간 - 범용 레지스터 - 상수, 주소를 저장할 때 사용. 또한 어셈블리 명령어에서는 특정 레지스터를 조작하는데 사용. ㄴ 32비트 기준 : EAX, EBX, ECX, EDX, EBP, ESI, EDI, ESP - 세그먼트 레지스터 - 메모리 관리 - 프로그램 상태와 컨트롤 레지스터 ㄴ EFLAGS : Flag..

IT Security 2018.12.03

리버싱) 리버스 엔지니어링

리버스 엔지니어링 * 리버스 엔지니어링 (Reverse Engineering, RE : 역공학) - 소프트웨어 공학의 한 분야로, 이미 만들어진 시스템을 역으로 추적하여 처음의 문서나 설계기법 등의 자료를 얻어내는 일(출처 : 네이버 지식백과) * 정적분석 - 파일을 실행하지 않고, 분석하는 방법 - 파일 종류, 크기, 헤더, API, 문자열, 실행압축 등 정보확인. * 동적분석 - 파일을 직접 실행시켜 그 행위를 분석하고, 디버킹을 통하여 코드흐름과 메모리 상태등을 자세히 살펴보는 방법 * 패치 - 프로그램의 파일 혹은 실행중인 프로세스 메모리 변경하는 작업 * 크랙 - 패치와 같은 개념이지만, 그 의도가 비합법적이고 비도덕적인 경우 * 출처 : 리버스 핵심원리 (이승원 / 인사이트)

IT Security 2018.11.24
반응형