zero acess confiq


SUBMITTED BY: Guest

DATE: Jan. 12, 2014, 7:09 p.m.

FORMAT: Python

SIZE: 1.4 kB

HITS: 809

  1. import pefile
  2. import sys
  3. import random, base64, sys
  4. from binascii import *
  5. key = "#KCMDDC5#-890"
  6. def rc4crypt(data, key):
  7. x = 0
  8. box = range(256)
  9. for i in range(256):
  10. x = (x + box[i] + ord(key[i % len(key)])) % 256
  11. box[i], box[x] = box[x], box[i]
  12. x = 0
  13. y = 0
  14. out = []
  15. for char in data:
  16. x = (x + 1) % 256
  17. y = (y + box[x]) % 256
  18. box[x], box[y] = box[y], box[x]
  19. out.append(chr(ord(char) ^ box[(box[x] + box[y]) % 256]))
  20. return ''.join(out)
  21. pe = pefile.PE(sys.argv[1])
  22. config = {"GENCODE":"", "MUTEX":"", "NETDATA":"", "PWD":"", "SID":""}
  23. rt_string_idx = [
  24. entry.id for entry in
  25. pe.DIRECTORY_ENTRY_RESOURCE.entries].index(pefile.RESOURCE_TYPE['RT_RCDATA'])
  26. rt_string_directory = pe.DIRECTORY_ENTRY_RESOURCE.entries[rt_string_idx]
  27. for entry in rt_string_directory.directory.entries:
  28. if str(entry.name) in config.keys():
  29. data_rva = entry.directory.entries[0].data.struct.OffsetToData
  30. size = entry.directory.entries[0].data.struct.Size
  31. data = pe.get_memory_mapped_image()[data_rva:data_rva+size]
  32. try:
  33. dec = rc4crypt(unhexlify(data), key)
  34. config[str(entry.name)] = dec
  35. except:
  36. print "Error during decrytion"
  37. print config

comments powered by Disqus