Information Security/Malware

Dehydrating a string Technique

2013. 7. 26. 13:19

개요

스페이스와 수평탭을 이용하여 보이지 않는 공격코드를 만드는 기법이다. 이 부분에 대한 자세한 설명은 이미 다수의 블로거에 설명이 잘 나와있다. 따라서 소스코드상 알고리즘을 분석하는 형태로 소개하려 한다.

  • 뚜기의 S 톨이 블로그 : http://cleverdj.tistory.com/98
  • 광게바라 블로그 : http://kwangguevara.tistory.com/20
  • 트라님 블로그 : http://www.cyworld.com/traa/7081447
  • 난독화 분석 팀 블로그 : http://scriptmalwarehunter.blogspot.kr/2013/05/0x20space-0x09tab.html

분석


function rcu_push(s) {
    var r = new Array();
    var curr = 0;
    while(s.charAt(curr) != '\n') {
    // s의 문자가(charAt(curr)) \n이 아닐 때 까지 반복, rcu_push함수에 사용되는 값에는 '\n'이 포함되어 있어 종료 시점을 야기시킨다. charAt는 메서드는 문자열에서 문자를 추출하는데 사용하는 메소드 이다.
        var tmp = 0; // 연산되어 저장되는 tmp 변수를 초기화
        for(var i = 6; i >= 0; i--) { //6부터 역순으로 7번 반복, 이유는 ASCII가 7bit로 구성되기 때문이다.
            if(s.charAt(curr) == ' ') { //charAt(0)이 공백이면 다음을 연산하고 아니면 연산하지 않는다.
                tmp = tmp | (Math.pow(2, i));
                // tmp에 2^i 계산하여 tmp에 저장, 이것은 2진수 값을 7 자리수만 계산하여 10진수로 변환하는 과정이다. 공백(space)을 1로 계산하기 위해 만들어졌다. 
                // Math.pow() 지수승 계산에 사용하는 함수이다.
            }
            curr++;
        }
        r.push(String.fromCharCode(tmp));
        // push() 메소드는 배열 r에 축적하여 저장하는 역할을 한다. String.fromCharCode() 메소드는 tmp안의 ASCII 값을 문자로 치환하는 역할을 한다.
    }
    return r.join('');
    // join('') 메소드는 ''를 사용함으로써 배열로 저장된 문자를 출력할 때 문자 사이의 공간을 제거함으로써 하나로 이어진 문자열로 만들어 주는 역할을 한다. 디폴트로는 ,가 사용된다.
}
Function(rcu_push("                                                                                                                                                                                                                                                     (생략)\n"))();


반응형
저작자표시 비영리 동일조건 (새창열림)

'Information Security > Malware' 카테고리의 다른 글

공다팩에 대한 생각  (0) 2013.08.27
php obfuscation  (0) 2013.08.10
Deobfuscation 사이트  (0) 2013.07.11
Unicode Obfuscated  (0) 2013.06.24
Hexdecimal Obfuscation #02  (0) 2013.06.19
'Information Security/Malware' 카테고리의 다른 글
  • 공다팩에 대한 생각
  • php obfuscation
  • Deobfuscation 사이트
  • Unicode Obfuscated
hakawati
hakawati
Research Engineer

블로그 메뉴

  • 홈
  • 방명록
  • 블로그 관리
hakawati
Hakawati Security Lab
hakawati
전체
오늘
어제

공지사항

  • About Me
  • Hakawati Lab (252)
    • Notice (7)
      • Main (4)
      • Sub Notice (1)
      • Tips (2)
    • Information Technology (58)
      • System Architecture (2)
      • Programming (20)
      • Operation System (16)
      • Machine Learning (5)
      • Bigdata (2)
      • File Format (7)
      • Network (2)
      • Cloud (3)
      • Domain (1)
    • Information Security (183)
      • Security Information (36)
      • CTI & Threat Hunting (1)
      • Digital Forensics (1)
      • Licenses (2)
      • Malware (40)
      • OpenSource (53)
      • Incident Response (1)
      • Seminar (8)
      • Cryptography (2)
      • Books (11)
      • Vulnerability (4)
      • Web Hacking (8)
      • Wargame (10)
      • Abuse & Fraud (6)
    • Life Hacking (3)
      • Term Idea (0)
      • Books (3)
      • Travels (0)
      • Activities (0)
      • Workout (0)

인기 글

태그

  • instance
  • NIST
  • security
  • Amazon
  • cloud
  • Macie
  • WWW
  • cloudflare
  • CWE
  • 줄리엣
  • domain
  • AWS
  • 서브도메인
  • 도메인
  • EC2
  • sub-domain
  • juliet

최근 댓글

최근 글

hELLO · Designed By 정상우.
hakawati
Dehydrating a string Technique
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.