뽀득이의 컴퓨터 여행

고정 헤더 영역

글 제목

메뉴 레이어

뽀득이의 컴퓨터 여행

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (18)
    • 기타 (0)
    • Reversing (17)
      • Project - 악성 코드, 진실의 방으로 (17)

검색 레이어

뽀득이의 컴퓨터 여행

검색 영역

컨텐츠 검색

전체 글

  • 017 페트야(Petya) 분석 보고서

    2021.01.09 by iohyeon

  • 016 기초 분석

    2020.10.03 by iohyeon

  • 015 악성 코드 분석 입문

    2020.09.28 by iohyeon

  • 014 Debugger

    2020.09.27 by iohyeon

  • 013 API Hooking

    2020.09.26 by iohyeon

  • 012 DLL Injection

    2020.09.26 by iohyeon

  • 011 Anti Debugging

    2020.09.25 by iohyeon

  • 010 고급 리버싱

    2020.09.25 by iohyeon

017 페트야(Petya) 분석 보고서

이전 016 포스팅 이후 공부는 시간적 여유 부족으로 인해 일시 중단되었다. 이 포스팅은 최종 결과물로서 트로이목마&랜섬웨어 악성 프로그램인 Petya를 분석한 내용을 담은 보고서를 공유하고자 작성하였다. 사실 페트야 분석이라고 했지만 MBR 접근 지점을 찾지 못했다. MFT 암호화 부분을 담았는데, 이후 MBR 접근 부분을 찾는다면 수정하도록 하겠다. 아쉽지만 악성 코드 분석의 의미를 담아 올려두려고 한다. 아래 링크는 Petya 분석 보고서 노션 링크이며 pdf로 변환한 파일 또한 첨부하겠다.(pdf는 영상 보는 데 어려움이 있다.) www.notion.so/Petya-3ff834afec654de38529aaab0521e999 Petya 샘플 분석 > Petya란? www.notion.so

카테고리 없음 2021. 1. 9. 13:54

016 기초 분석

→I. 기초 정적 분석 : 프로그램의 기능을 파악하기 위해 코드나 프로그램의 구조를 분석하는 과정, 악성 코드 연구의 시작 단계 → 악성 여부를 판단하는 안티바이러스 도구 사용 → 악성 코드 판별하는 해시 사용 → 파일의 문자열, 함수, 헤더에서 개략적인 정보 수집 i. 안티바이러스 도구 _ 스캐닝 : 의심 파일을 찾기 위해 file signatures(의심 파일 식별자)로 이뤄진 데이터베이스, 행위와 패턴 매칭 분석 ! 악성 코드 제작자가 file signatures를 바꾸면 우회 가능 ! 대중적이지 않은 악성 코드 탐지 불가 ! heuristic(경험적 기법) 우회 가능 ex) VirusTotal 사이트 ii. 해시 _ 악성 코드에 대한 지문 ※ 해시 프로그램 : 악성 코드를 식별하는 고유 해시 생성..

Reversing/Project - 악성 코드, 진실의 방으로 2020. 10. 3. 04:15

015 악성 코드 분석 입문

I. Malware(악성 코드) : 사용자, 컴퓨터, 네트워크에 해를 끼치는 모든 소프트웨어 ex) Virus, Trojan horse, Worm, Rootkit, Scareware, Spyware → 악성코드 형태에 상관없이 분석 목적에 따라 분석 기법이 다름 II. 악성 코드 분석 i. 목표 : 네트워크 침입 대응에 필요한 정보를 알아내기 위함, 정황 및 감염된 시스템과 파일 파악 ii. 목적 : 의심스러운 특정 Binary가 하는 행위, 네트워크에서 탐지하는 방법 및 피해 범위 측정 iii. 분석 : 전체 분석이 필요할 경우 네트워크 상에서 악성코드 감염을 탐지할 수 있는 Signature 개발 : Host 기반 Signature, 흔적(악성코드가 생성하거나 변조한 파일 및 레지스트리에 생성한 특정..

Reversing/Project - 악성 코드, 진실의 방으로 2020. 9. 28. 12:48

014 Debugger

I. x64dbg II. Ghidra i. 기본 사용법 https://www.notion.so/Reverse-Engineering-with-Ghidra-f4ce766946f04d4abc8b30d51048ea17 Reverse Engineering with Ghidra A new tool for teams & individuals that blends everyday work apps into one. www.notion.so ii. 단축키 https://ghidra-sre.org/CheatSheet.html Ghidra Cheat Sheet Ghidra Cheat Sheet Ghidra is licensed under the Apache License, Version 2.0 (the "License");..

Reversing/Project - 악성 코드, 진실의 방으로 2020. 9. 27. 17:15

013 API Hooking

I. Hooking : 정보를 가로채고, 실행 흐름을 변경하고, 원래와는 다른 기능을 제공하게 하는 기술 : 디스어셈블러/디버거를 이용하여 프로그램의 구조와 동작 원리를 파악 : 버그 수정 또는 기능 개선에 필요한 훅 코드를 개발 : 실행 파일과 프로세스 메모리를 자유롭게 조작하여 훅 코드 설치 II. API(Application Programming Interface) : MS에서 제공한, User Mode일 때 Windows OS의 시스템 자원에 접근하고 싶을 때 Kernel에 요청하는 방법 ※ ntdll.dll : User Mode 어플리케이션의 코드에서 발생하는 시스템 자원에 대한 접근을 Kernel Mode에게 요청 III. API Hooking : API 호출을 중간에 가로채 제어권을 얻어내는..

Reversing/Project - 악성 코드, 진실의 방으로 2020. 9. 26. 21:47

012 DLL Injection

I. Hooking : 정보를 엿보고 조작하는 행위 i. Message Hooking : Event가 발생할 때 OS에서 보내는 메세지를 엿보거나 가로채는 것 ii. SetWindowsHookEx() > hook procedure : 운영 체제가 호출해주는 콜백 함수, 메세지 훅을 걸 때 DLL 내부에 존재 > hMod : 메세지 훅을 걸 때 DLL의 Instance Handle → 이 함수를 이용하여 훅을 설치하면, 프로세스에서 해당 메세지가 발생했을 때 운영 체제가 해당 DLL 파일을 해당 프로세스에 강제 Injection하고 등록된 hook procedure을 호출 ii. 악성 Key Logger : 키보드 입력을 빼돌려 정보를 유출시키는 방법 II. DLL Injection : 실행 중인 다른 프..

Reversing/Project - 악성 코드, 진실의 방으로 2020. 9. 26. 18:07

011 Anti Debugging

I. Anti-Debugging : 디버깅을 방해하는 기술, 디버거와 OS에 따라 기법이 달라짐(높은 의존성) i. Static vs. Dynamic > Static Anti-Debugging : 디버깅 시작할 때 한 번만 해체하면 해결되는 기법 : 디버거 탐지, 디버깅 환경 탐지 → 디버거에서 실행 x, 종료 코드 등 실행, 디버거 강제 분리 : String in Process Virtual Memory, Kernel Mode Driver, System Environment Targeting, OutputDebugString(), Memory Break Point, Filename Format String, ESI Value, (Guard Page - Memory Break Point) 사용 → 회피 ..

Reversing/Project - 악성 코드, 진실의 방으로 2020. 9. 25. 18:37

010 고급 리버싱

I. TLS 콜백 함수 : Thread Local Storage Callback Function : 스레스 생성 및 종료 시 호출, EP 코드보다 먼저 실행 i. TLS(Thread Local Storage) : 스레드별로 독립된 데이터 저장 공간 : 스레드 내에서 프로세스의 전역(Global) 데이터나 정적(Static) 데이터를 마치 지역(Local) 데이터처럼 독립적으로 취급하고 싶을 때 사용 : TLS 기능을 사용하도록 프로그래밍하면, PE 헤더에 TLS Table 항목이 세팅됨 : IMAGE_OPTIONAL_HEADER의 IMAGE_DATA_DIRECTORY[9]에 IMAGE_TLS_DIRECTORY 생성됨 : 프로세스가 시작될 때 시스템에서 배열에 저장된 함수를 하나씩 호출 → AddressO..

Reversing/Project - 악성 코드, 진실의 방으로 2020. 9. 25. 13:58

추가 정보

인기글

최신글

페이징

이전
1 2 3
다음
TISTORY
뽀득이의 컴퓨터 여행 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바