난독화 해제 도구(CyberChef) 사용방법
- 공부/개인적 공부 공간
- 2020. 1. 29. 09:09
난독화란
프로그래밍 언어로 작성된 코드에 대해 분석가가 분석하기 어렵게 만드는 작업이다.
코드 난독화는 프로그램 코드의 일부 또는 전체를 변경하는 방법 중 하나로, 코드의 가독성을 낮춰 역공학에 대한 대비책을 제공한다.
그럼 난독화를 해제하는 도구 중 하나인 CyberChef에 대해 알아보자.
CyberChef는 영국 정보기관인 GCHQ에서 만든 데이터 분석 및 변환을 위한 오픈 소스 웹 응용 프로그램이다.
압축 문자열 해제, 해시 및 난독화 분석에 관련된 모든 도구를 실시간 및 직관적으로 제공한다.
프로그램 작동 환경은 아래와 같다.
- Chrome 40 이상
- Mozilla FireFox 35 이상
- Microsoft Edge 14 이상
CyberChef 파일 다운로드 링크 : https://github.com/gchq/CyberChef
CyberChef 온라인 링크 : https://gchq.github.io/CyberChef
CyberChef 메뉴
- Favourites : 즐겨 찾기
- Data Format : Hex, Base64 또는 Binary와 같은 데이터 형식을 변환
- Encryption / Encoding : AES-256, DES 및 Rabbit을 포함한 다양한 알고리즘을 사용하여 데이터 암호화 및 복호화
- Public Key : 공개 키 조작
- Arithmetic / Logic : 논리연산
- networking : 네트워킹 작업 ( ex: HTTP 헤더 제거, IP 범위, URI 구문 분석, IP 형식 변경 )
- Language : 서로 다른 문자 인코딩 간에 데이터 변환
- Utils : 텍스트에 대한 다양한 작업 수행 ( ex: 공백 제거, 줄 번호 추가 또는 찾기 및 바꾸기 )
- Data / Time : 시간 형식 변환
- Extractors : 문자, URL, IPv4 및 IPv6 주소 등을 추출
- Compression : 다양한 압축 형식을 사용하여 데이터를 압축
- Hashing : 해시를 분석하거나 생성
- Code Tidy : 코드 축소 ( ex: CSS 축소, Javascript parser, HTML 태그 제거 )
- Other : 그 외 기타
- Flow Control : Fork, Label, Comment 등
보통 악성코드가 사용하는 코드들은 Base64로 인코딩 되어 있다.
인코딩은 정보의 형태나 형식을 표준화하고 보안 및 처리 속도 향상, 저장 공간 절약 등을 위해서 다른 형태나 형식으로 변환하는 것을 의미한다.
문자를 전송하기 위해 설계된 Media(Email이나 HTML)을 이용해 플랫폼 독립적으로 바이너리 데이터를 전송할 필요가 있을 때 사용하고는 했다.
그럼 아주 간단하게 CyberChef로 Base64 디코딩을 해보자.
쉽게 From Base64 옵션을 드래그&드롭 만으로 Base64 데이터를 디코딩하게 된다.
간단한 Base64 디코딩만 실습해 보았지만, XOR 복호화 및 정규표현식을 사용해 복호화 및 난독화를 해제할 수 있으며 암호화 알고리즘의 키값을 넣어 해독도 가능하다. 필요한 옵션들을 하나하나 실습해보면 공부에 많은 도움이 될 것이다.
'공부 > 개인적 공부 공간' 카테고리의 다른 글
Ghidra 기드라 설치 및 이용방법 (0) | 2020.01.30 |
---|---|
정적 분석 도구 PEStudio 설명 (0) | 2020.01.29 |
Wireshark 와이어샤크 이용방법 (0) | 2020.01.28 |
악성코드 정의 및 분석 절차 (0) | 2020.01.28 |
악성코드 분석 가상환경 구축 (0) | 2020.01.28 |