From 190c7206be4c5a020040d9b792977ac843cdfd96 Mon Sep 17 00:00:00 2001 From: Amanda Rousseau Date: Thu, 10 Aug 2017 15:55:32 -0700 Subject: [PATCH] adding final sections --- RE102/decrypt_shellcode.py | 44 +++++++++ RE102/images/Section8_Conclusion.png | Bin 0 -> 94568 bytes RE102/re102_section1.md | 16 +++- RE102/re102_section6.1.md | 136 +++++++++++++++++++++++++++ RE102/re102_section7.md | 22 +++++ RE102/re102_section8.md | 22 +++++ RE102/re102_unpacker.py | 121 ++++++++++++++++++++++++ 7 files changed, 359 insertions(+), 2 deletions(-) create mode 100644 RE102/decrypt_shellcode.py create mode 100644 RE102/images/Section8_Conclusion.png create mode 100644 RE102/re102_section6.1.md create mode 100644 RE102/re102_section7.md create mode 100644 RE102/re102_section8.md create mode 100644 RE102/re102_unpacker.py diff --git a/RE102/decrypt_shellcode.py b/RE102/decrypt_shellcode.py new file mode 100644 index 0000000..537dae6 --- /dev/null +++ b/RE102/decrypt_shellcode.py @@ -0,0 +1,44 @@ +import os +import sys + + +def key_schedule(key): + keylength = len(key) + S = range(256) + j = 0 + for i in range(256): + k = ord(key[i % keylength]) + j = (j + S[i] + k) % 256 + S[i], S[j] = S[j], S[i] # swap + return S, j + + +with open(sys.argv[1], 'rb') as key_file, open(sys.argv[2], 'rb') as encrypted, open("decrypted_shellcode.bin", 'wb') as out: + key_size = os.path.getsize(sys.argv[1]) # 0x20 + key = key_file.read(key_size) + S, j = key_schedule(key) + + """ + A normal RC4 stream algorithm + resets j before a second use. + """ + # j = 0 + + i = 0 + + shellcode_size = os.path.getsize(sys.argv[2]) # 0x65E4 + + while (shellcode_size > 0): + char = encrypted.read(1) + i = (i + 1) % 256 + j = (j + S[i]) % 256 + + # swap + S[i], S[j] = S[j], S[i] + k = S[(S[i] + S[j]) % 256] + shellcode_size -= 1 + + out.write(chr(ord(char) ^ k)) + out.close() + key_file.close() + encrypted.close() diff --git a/RE102/images/Section8_Conclusion.png b/RE102/images/Section8_Conclusion.png new file mode 100644 index 0000000000000000000000000000000000000000..3e082cbe4dbbb9f3b5ab23c0e2dd659895b410c6 GIT binary patch literal 94568 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%0An--@!^Sy1=!P5KiE89-QkEO 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 F^&c_GY~BC> literal 0 HcmV?d00001 diff --git a/RE102/re102_section1.md b/RE102/re102_section1.md index a17295a..b7544c3 100644 --- a/RE102/re102_section1.md +++ b/RE102/re102_section1.md @@ -16,13 +16,25 @@ The environment setup is the same. Please refer to this page [Section 1: Fundame ## Download the Unknown Malware -[**HERE**](#) +[**HERE**](https://drive.google.com/file/d/0B_0DJl2kuzoNYU9jYldCdmw0d2s/view?usp=sharing) Password is "infected" +Sha1 for zip file +``` +f77f58812d5883775e59dfe952239d7dddfbd332 +``` + +Sha256 Malware inside +``` +8be8abab0f3ebcc18e7b8b3c437feb073fa7b9b30e8b1eef81451f0938b2a52a +``` + --- +# WARNING - DO NOT UNZIP OR RUN THIS OUTSIDE OF THE VM # + 1. Run the Victim VM and copy over the malware.zip into the VM. -2. Unzip ** Warning - DO NOT UNZIP THIS OUTSIDE OF THE VM ** +2. Unzip **Warning - DO NOT UNZIP THIS OUTSIDE OF THE VM** [Intro <- Back](https://securedorg.github.io/RE102/intro) | [Next -> Information Gathering](https://securedorg.github.io/RE102/section2) diff --git a/RE102/re102_section6.1.md b/RE102/re102_section6.1.md new file mode 100644 index 0000000..fe554c0 --- /dev/null +++ b/RE102/re102_section6.1.md @@ -0,0 +1,136 @@ +--- +layout: default +permalink: /RE102/section6.1/ +title: Setup +--- +[Go Back to Reverse Engineering Malware 102](https://securedorg.github.io/RE102/) + +# Section 6.1: The Unpacking Script # + +Here is the full unpacking script. Extract the raw resource 1000 as a binary file as the first argument. It will output the exe as decrypted_payload.exe + +``` +import os +import sys + +# key sizes +key1size = 32 # 0x20 +key2size = 64 # 0x40 + +# offset to key2 +key2_offset = 720 # 2D0 + +# offset to payload +payload_offset = 792 # 0x318 + +# offset to first instruction +junk_char_length_offset = 100 # 0x64 +good_char_length_offset = 168 # 0xA8 + +# header bytes +header = 'MZ' + + +def key_schedule(_key): + key = _key + if not isinstance(_key, list): + key = list(_key) + keylength = len(key) + S = range(256) + j = 0 + for i in range(256): + k = key[i % keylength] + if not isinstance(key[i % keylength], int): + k = ord(key[i % keylength]) + j = (j + S[i] + k) % 256 + S[i], S[j] = S[j], S[i] # swap + return S, j + + +def RC4_decrypt(_key, _enc): + result = [] + S, j = key_schedule(_key) + enc = _enc + if not isinstance(_enc, list): + enc = list(_enc) + m = len(enc) + i = 0 + for c in enc: + i = (i + 1) % 256 + j = (j + S[i]) % 256 + S[i], S[j] = S[j], S[i] + k = S[(S[i] + S[j]) % 256] + m -= 1 + if not isinstance(c, int): + result.append(ord(c) ^ k) + else: + result.append(c ^ k) + return result + + +def deflate_payload(junk, good_data, _data): + data = list(_data) + new_data = [] + j = 0 + k = 0 + new_data.append(ord(data[0])) + i = 1 + while i < len(data): + if j != junk: + j = junk + i += j + if j == junk: + if k < good_data: + new_data.append(ord(data[i])) + k += 1 + i += 1 + else: + j = 0 + k = 0 + return new_data + + +with open(sys.argv[1], 'rb') as encrypted_file: + + # Get the file size + file_size = os.path.getsize(sys.argv[1]) + + # Get the first key of 0x20 bytes + key1 = encrypted_file.read(key1size) + + # Get the start of deflate instructions + encrypted_info = encrypted_file.read(payload_offset - key1size) + + # Get the bytes for the payload + encrypted_payload = encrypted_file.read(file_size-payload_offset) + + # 1. Decrypt the deflation instructions + decrypted_info = RC4_decrypt(key1, encrypted_info) + + # 2. Get instructions from the decrypted data + junk_char_length = decrypted_info[junk_char_length_offset-key1size] + good_char_length = decrypted_info[good_char_length_offset-key1size] + + # 3. deflate payload + deflated_payload = deflate_payload(junk_char_length, good_char_length, encrypted_payload) + + # 4. get key2 + key2 = [] + for i in range(key2size): + key2.append(decrypted_info[(key2_offset-key1size)+i]) + + # 5. decrypt enc3 + decrypted_payload = RC4_decrypt(key2, deflated_payload) + + # 6. fix header + for i in range(len(header)): + decrypted_payload[i] = ord(header[i]) + + # write to file + with open("decrypted_payload.exe", 'wb') as out: + for i in decrypted_payload: + out.write(chr(i)) + out.close() +``` + +[Section 6 <- Back](https://securedorg.github.io/RE102/section6) | [Next -> Extra Fun](https://securedorg.github.io/RE102/section7) \ No newline at end of file diff --git a/RE102/re102_section7.md b/RE102/re102_section7.md new file mode 100644 index 0000000..0fab6c0 --- /dev/null +++ b/RE102/re102_section7.md @@ -0,0 +1,22 @@ +--- +layout: default +permalink: /RE102/section7/ +title: Setup +--- +[Go Back to Reverse Engineering Malware 102](https://securedorg.github.io/RE102/) + +# Section 7: Extra Fun # + +This concludes the workshop but you can apply the same unpacker to the resources in this malware. The payload exe is: +1. UPX packed +2. Has 3 resources using the same packer + +As an exercise I recommend going through them on your own. + +Most packers are bought and sold on underground forums or traded amongst malware authors. The flowing sample called [Rombertik](https://en.wikipedia.org/wiki/Rombertik) uses this same packer. For fun you can check it out: + +``` +77bacb44132eba894ff4cb9c8aa50c3e9c6a26a08f93168f65c48571fdf48e2a +``` + +[Section 6.1 <- Back](https://securedorg.github.io/RE102/section6.1) | [Next -> Conclusion](https://securedorg.github.io/RE102/section8) \ No newline at end of file diff --git a/RE102/re102_section8.md b/RE102/re102_section8.md new file mode 100644 index 0000000..63cfd6b --- /dev/null +++ b/RE102/re102_section8.md @@ -0,0 +1,22 @@ +--- +layout: default +permalink: /RE102/section7/ +title: Setup +--- +[Go Back to Reverse Engineering Malware 102](https://securedorg.github.io/RE102/) + +# Section 8: Conclusion # + +This concludes workshop RE102. I hope you enjoyed the levels of obfuscation and evasion. Here is a summary of what the malware’s packer does. + +``` +8be8abab0f3ebcc18e7b8b3c437feb073fa7b9b30e8b1eef81451f0938b2a52a +``` + +The purpose of this workshop was to get you familiar with Anti Reverse Engineering, Encryption, VM Evasion and Packing techniques. As you saw this malware's packer had multiple layers of shellcode and tricks to throw off a reverse engineer. But by breaking things down step by step, you were able to work your way through each challenge. + +![alt text](https://securedorg.github.io/RE102/images/Section8_Conclusion.png "Section8_Conclusion") + +Special thanks to Ashkan. + +[Section 7 <- Back](https://securedorg.github.io/RE102/section7) \ No newline at end of file diff --git a/RE102/re102_unpacker.py b/RE102/re102_unpacker.py new file mode 100644 index 0000000..18ac52d --- /dev/null +++ b/RE102/re102_unpacker.py @@ -0,0 +1,121 @@ +import os +import sys + +# key sizes +key1size = 32 # 0x20 +key2size = 64 # 0x40 + +# offset to key2 +key2_offset = 720 # 2D0 + +# offset to payload +payload_offset = 792 # 0x318 + +# offset to first instruction +junk_char_length_offset = 100 # 0x64 +good_char_length_offset = 168 # 0xA8 + +# header bytes +header = 'MZ' + + +def key_schedule(_key): + key = _key + if not isinstance(_key, list): + key = list(_key) + keylength = len(key) + S = range(256) + j = 0 + for i in range(256): + k = key[i % keylength] + if not isinstance(key[i % keylength], int): + k = ord(key[i % keylength]) + j = (j + S[i] + k) % 256 + S[i], S[j] = S[j], S[i] # swap + return S, j + + +def RC4_decrypt(_key, _enc): + result = [] + S, j = key_schedule(_key) + enc = _enc + if not isinstance(_enc, list): + enc = list(_enc) + m = len(enc) + i = 0 + for c in enc: + i = (i + 1) % 256 + j = (j + S[i]) % 256 + S[i], S[j] = S[j], S[i] + k = S[(S[i] + S[j]) % 256] + m -= 1 + if not isinstance(c, int): + result.append(ord(c) ^ k) + else: + result.append(c ^ k) + return result + + +def deflate_payload(junk, good_data, _data): + data = list(_data) + new_data = [] + j = 0 + k = 0 + new_data.append(ord(data[0])) + i = 1 + while i < len(data): + if j != junk: + j = junk + i += j + if j == junk: + if k < good_data: + new_data.append(ord(data[i])) + k += 1 + i += 1 + else: + j = 0 + k = 0 + return new_data + + +with open(sys.argv[1], 'rb') as encrypted_file: + + # Get the file size + file_size = os.path.getsize(sys.argv[1]) + + # Get the first key of 0x20 bytes + key1 = encrypted_file.read(key1size) + + # Get the start of deflate instructions + encrypted_info = encrypted_file.read(payload_offset - key1size) + + # Get the bytes for the payload + encrypted_payload = encrypted_file.read(file_size-payload_offset) + + # 1. Decrypt the deflation instructions + decrypted_info = RC4_decrypt(key1, encrypted_info) + + # 2. Get instructions from the decrypted data + junk_char_length = decrypted_info[junk_char_length_offset-key1size] + good_char_length = decrypted_info[good_char_length_offset-key1size] + + # 3. deflate payload + deflated_payload = deflate_payload(junk_char_length, good_char_length, encrypted_payload) + + # 4. get key2 + key2 = [] + for i in range(key2size): + key2.append(decrypted_info[(key2_offset-key1size)+i]) + + # 5. decrypt enc3 + decrypted_payload = RC4_decrypt(key2, deflated_payload) + + # 6. fix header + for i in range(len(header)): + decrypted_payload[i] = ord(header[i]) + + # write to file + with open("decrypted_payload.exe", 'wb') as out: + for i in decrypted_payload: + out.write(chr(i)) + out.close()