zlib으로 압축된 URL 확인하는 코드 (CVE-2011-2110 관련)

최근 CVE-2011-2110 취약점을 이용하여 악성코드를 유포하는 내용을 살펴보면 악성코드를 다운로드 받는 URL이 이전과는 조금 다르게 암호화 되어 있다.

XOR은 기본이며, XOR 후 zlib으로 압축되어 있는데 해당 URL을 찾기 편하게 간단하게 스크립트로 짜보았다.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import zlib, operator, sys, os

# info 변수 인자값에서 URL XOR zlib 키 찾는 함수
def findkey(info):
    for count in range(256):    
        data = ''
        for x in range(0, len(info), 2):
            data += chr(operator.xor(int(info[x:x+2], 16), count))

        if ord(data[0]) == 0x78:
            if ord(data[1]) == 0x01 or ord(data[1]) == 0x5e or ord(data[1]) == 0x9c or ord(data[1]) == 0xda:
                return '[+] Malware URL : ' + zlib.decompress(data)

    return None

# 메인 함수
def main():
    if len(sys.argv) != 2:
        print 'Usage:' + sys.argv[0] + ' value'
        sys.exit()

    url = findkey(sys.argv[1])
    if url == None:
        print '[-] Not found url key'
        sys.exit()
    else:
        print url

if __name__ == "__main__":
    print '[+] Start'
    main()
    print '[+] End'

사용은 아래와 같이 가능하다.

D:\Python Programming\Python Code\Malware\Script Analysis>whatzlib.py "02e6b1525353caa8ad4d4daa49ccaec9ceae494e4aa85534a851d3527b7a1b6b7d37"
[+] Start
[+] Malware URL : http://70.39.99.102/sb.txt
[+] End

D:\Python Programming\Python Code\Malware\Script Analysis>wget http://70.39.99.102/sb.txt
--2011-06-18 05:45:03--  http://70.39.99.102/sb.txt
Connecting to 70.39.99.102:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 63953 (62K) [text/plain]
Saving to: `sb.txt'

100%[========================================================================================>] 63,953      --.-K/s   in 0s

2011-06-18 05:45:04 (123 MB/s) - `sb.txt' saved [63953/63953]

D:\Python Programming\Python Code\Malware\Script Analysis>file sb.txt
sb.txt: data

D:\Python Programming\Python Code\Malware\Script Analysis>xor.py sb.txt
ByJJoon XOR Decoder!
[+] Start
[-] Not found XOR key
[+] Find zlib XOR key : 0x7A
[+] End

D:\Python Programming\Python Code\Malware\Script Analysis>file sb.txt_zlib
sb.txt_zlib: PE32 executable (GUI) Intel 80386, for MS Windows, Nullsoft Installer self-extracting archive

위 내용들은 모두 왼쪽 XOR DECODER 메뉴에서 사용이 가능하다.

끝으로 자세한 내용은 http://redhidden.tistory.com/36 페이지를 참고하시면 많은 도움이 될거 같다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다