뽀득이의 컴퓨터 여행

고정 헤더 영역

글 제목

메뉴 레이어

뽀득이의 컴퓨터 여행

메뉴 리스트

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

검색 레이어

뽀득이의 컴퓨터 여행

검색 영역

컨텐츠 검색

Reversing/Project - 악성 코드, 진실의 방으로

  • 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

  • 009 Packer

    2020.09.20 by iohyeon

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

009 Packer

I. Data Compression i. Lossless Data Compression : 압축된 파일 원래대로 복원 가능 : 데이터 크기가 줄어 보관 및 이동에 용이 : Run-Length, Lempel-Zic, Huffman 이용 ex) ZIP, RAR i. Loss Data Compression : 압축된 파일 원래대로 복원 불가능 : 데이터에 사람이 거의 알아차리지 못하는 정도의 의도적 손상을 주어 압축률 높임 : Run-Length, Lempel-Zic, Huffman 이용 ex) 멀티미디어 파일(jpg, mp3, mp4) II. Run-Time Pack : 실행 압축된 파일 내부에 압축 해제 코드가 포함돼있어 실행하는 순간 메모리에서 압축을 해제시킨 후 실행, 원본 PE 파일 + Decodin..

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

추가 정보

인기글

최신글

페이징

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

티스토리툴바