Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 워게임
- 소프트웨어
- 드림핵
- 웹
- 알고리즘
- reversing
- 해킹
- ftz
- 시스템해킹
- Web
- WarGame
- webhacking
- 소프트웨어보안
- hacking
- System
- 비박스
- 네트워크보안
- 리버싱
- Webhaking
- 네트워크
- TCP
- 순서도
- CodeEngn
- XSS
- dreamhack
- 모의해킹
- 웹해킹
- bee-box
- 시스템
- network
Archives
- Today
- Total
Without a Break
기초 정적 분석 본문
안티바이러스 스캐닝
- 악성코드 탐지(기본)
- 패턴 매칭 분석 : file signatures
- heuristic : 변조, 신종 등
- 악성코드 실행 및 탐지
- http://www.virustotal.com
- http://www.virscan.org
- https://virusscan.jotti.org
VirusTotal 실습
해시
- 해시 : 악성/정상 코드의 고유 값
- SHA-1, MD5
- Md5deep(CUI), WinMD5(GUI)
- http://md5deep.sourceforge.net/
- http://www.winmd5.com/
- 해시 검증
- 해시를 이름으로 사용
- 악성코드 식별을 위해 해시 공유
- 식별여부를 온라인에서 검색
https://www.virustotal.com/gui/home/upload
VirusTotal
www.virustotal.com
PracticalMalwareAnalysis-Lab의 Lab01-01.exe를 넣어 분석해보자.
- 72개 중 52개가 악성 코드
- 각 보안 회사의 분석
- AhnLab V3 : Trojan/Win32.Agent.C957604
- AliCloud : Backdoor
- 대체적으로 Trojan이 많은 것을 확인할 수 있다.
- VirusTotal 이용 시, 백신 여러 개 돌릴 수 있음
- 여기에 파일을 넣고 악성코드인지 확인 후, 분석을 진행
WinMD5Free 실습
- md5 해시 값을 아래에 붙여넣고 Verify를 누르면 WinMD5Free에 있는 해시 값과 비교
- 해시 값이 동일한지 확인
- 태생부터 악성 코드인 경우는 해시 정보 자체가 없지만, 정상 파일이 악성코드로 변조된 경우 이를 사용할 수 있음.
- winmd5free는 단순히 악성 유무만 판단을 해준다.
Strings 실습
문자열 검색
- 코드 내의 문자열 검색 및 추출
- 문자 표현
- ASCII(8bit)
- Unicode(16bit)
- Strings
- 함수명 접미사 : Ex(동일함수 업데이트), A(ASCII), W(wide character strings)
- https://learn.microsoft.com/ko-kr/sysinternals/downloads/strings
- 문자 표현
문자열 - Sysinternals
이진 이미지에서 ANSI 및 UNICODE 문자열을 검색합니다.
learn.microsoft.com
cmd창에서만 실행되는 프로그램이므로 strings.exe 파일이 있는 위치에서 cmd를 켜준다.
cmd창에서 strings를 실행한 모습 (.exe를 쓰던 말던 결과는 같다)
*참고
명령어
- dir : 목록보기
- cd : 폴더 이동
Lab-01-02.exe를 분석해보자
- 바이너리를 검색할 경우 확장자를 붙여야 함
- 대소문자는 구분 X
- strings 통해 알고자 하는 정보는 API 함수, 사용하고 있는 dll이다.
- 마지막에 warning_this_will_destroy_your_machine으로 악성코드임을 알리기도 한다.
UPX 패킹 실습
패킹 난독화
- 악성코드 은폐 목적, 문자열 검색 안됨
- LoadLibrary, GetProcAddress 함수 포함
- 패킹 파일
- 원본 실행 파일 → 래퍼프로그램 + 패킹된 실행 파일
패커 탐지 : PEiD
- UPX(http://upx.github.io) : Upx -d PackedProgram.exe
- FSG paker
- 왼쪽은 패킹되지 않은 파일이다.
- 오른쪽은 EP section에 아무것도 뜨지 않고, FSG 1.0이 적혀있는 것을 보아 패킹된 파일임을 알 수 있다.
upx.exe 파일이 있는 위치에서 cmd 창을 켜준다.
이 때, 분석을 원하는 파일도 같은 위치에 있어야 한다.
upx [파일명]으로 파일을 패킹할 수 있다.
패킹한 lab01-01.exe를 peid로 확인해보면 EP section에서 UPX로 패킹되었음을 확인할 수 있다.
'Reversing > 윈도우즈보안과악성코드기초' 카테고리의 다른 글
기초 정적 분석 - Lab01-01.exe, Lab01-01.dll (1) | 2024.04.12 |
---|---|
PE 파일헤더와 섹션 (1) | 2024.04.06 |
PE 파일 구조 (1) | 2024.03.29 |
문자열 패치, Little Endian 실습 (0) | 2024.03.23 |
리틀 엔디안 표기법, Register 이해, assembly 언어 (0) | 2024.03.23 |