ML

난독화 해제 도구(CyberChef) 사용방법

728x90
반응형

난독화란

프로그래밍 언어로 작성된 코드에 대해 분석가가 분석하기 어렵게 만드는 작업이다.

코드 난독화는 프로그램 코드의 일부 또는 전체를 변경하는 방법 중 하나로, 코드의 가독성을 낮춰 역공학에 대한 대비책을 제공한다.

그럼 난독화를 해제하는 도구 중 하나인 CyberChef에 대해 알아보자.

CyberChef는 영국 정보기관인 GCHQ에서 만든 데이터 분석 및 변환을 위한 오픈 소스 웹 응용 프로그램이다.

압축 문자열 해제, 해시 및 난독화 분석에 관련된 모든 도구를 실시간 및 직관적으로 제공한다.

프로그램 작동 환경은 아래와 같다.

  • Chrome 40 이상
  • Mozilla FireFox 35 이상
  • Microsoft Edge 14 이상

CyberChef 파일 다운로드 링크 : https://github.com/gchq/CyberChef

CyberChef 온라인 링크 : https://gchq.github.io/CyberChef

 

 

CyberChef 실행화면

CyberChef 메뉴

  1. Favourites : 즐겨 찾기
  2. Data Format : Hex, Base64 또는 Binary와 같은 데이터 형식을 변환
  3. Encryption / Encoding : AES-256, DES 및 Rabbit을 포함한 다양한 알고리즘을 사용하여 데이터 암호화 및 복호화
  4. Public Key : 공개 키 조작
  5. Arithmetic / Logic : 논리연산

  1. networking : 네트워킹 작업 ( ex: HTTP 헤더 제거, IP 범위, URI 구문 분석, IP 형식 변경 )
  2. Language : 서로 다른 문자 인코딩 간에 데이터 변환
  3. Utils : 텍스트에 대한 다양한 작업 수행 ( ex: 공백 제거, 줄 번호 추가 또는 찾기 및 바꾸기 )
  4. Data / Time : 시간 형식 변환
  5. Extractors : 문자, URL, IPv4 및 IPv6 주소 등을 추출
  6. Compression : 다양한 압축 형식을 사용하여 데이터를 압축
  7. Hashing : 해시를 분석하거나 생성
  8. Code Tidy : 코드 축소 ( ex: CSS 축소, Javascript parser, HTML 태그 제거 )
  9. Other : 그 외 기타
  10. Flow Control : Fork, Label, Comment 등

 

보통 악성코드가 사용하는 코드들은 Base64로 인코딩 되어 있다.

인코딩은 정보의 형태나 형식을 표준화하고 보안 및 처리 속도 향상, 저장 공간 절약 등을 위해서 다른 형태나 형식으로 변환하는 것을 의미한다.

문자를 전송하기 위해 설계된 Media(Email이나 HTML)을 이용해 플랫폼 독립적으로 바이너리 데이터를 전송할 필요가 있을 때 사용하고는 했다.

그럼 아주 간단하게 CyberChef로 Base64 디코딩을 해보자.

쉽게 From Base64 옵션을 드래그&드롭 만으로 Base64 데이터를 디코딩하게 된다.

간단한 Base64 디코딩만 실습해 보았지만, XOR 복호화 및 정규표현식을 사용해 복호화 및 난독화를 해제할 수 있으며 암호화 알고리즘의 키값을 넣어 해독도 가능하다. 필요한 옵션들을 하나하나 실습해보면 공부에 많은 도움이 될 것이다.

 

반응형

댓글

Designed by JB FACTORY