Advertisement
aaSSfxxx

DarkDDoSer >= 5.1 config extractor

Nov 27th, 2012
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.00 KB | None | 0 0
  1. #!/usr/bin/python
  2. #-*- coding: utf-8 -*-
  3.  
  4. # DaRK DDoSer >= 5.1 (and maybe under :>) config extractor, written in Python 2
  5. # Made by a T4pZ for T4pZ, released under BeerWare licence.
  6. # by aaSSfxxx :þ - thx j0rn for his magic oneliner of xorstr :þ
  7. # This extractor uses the python PEFile library, which can be downloaded here:
  8. # http://code.google.com/p/pefile/ (or in your distribution's repository)
  9.  
  10. import pefile
  11. import sys
  12.  
  13. # ============ Crypto routines ===============
  14.  
  15. def xorstr(s): return ''.join(['%c' % chr(ord(i) ^ 0xbc) for i in s])
  16.  
  17. def crypto (key, data):
  18.   buffer = 0
  19.   str = ""
  20.   for c in data:
  21.     for k in key:
  22.       buffer = (buffer + ord(k)) ^ 9
  23.     xorkey = (buffer >> 3 & 0xff)
  24.     str += chr (ord(c) ^ xorkey)
  25.   return xorstr(str)
  26.  
  27. # =========== Let's play faggot ! ============
  28.  
  29. pe = pefile.PE(sys.argv[1])
  30. rt_res_idx = [
  31.   entry.id for entry in
  32.   pe.DIRECTORY_ENTRY_RESOURCE.entries].index(pefile.RESOURCE_TYPE['RT_RCDATA'])
  33.  
  34. rt_res_directory = pe.DIRECTORY_ENTRY_RESOURCE.entries[rt_res_idx]
  35.  
  36. for entry in rt_res_directory.directory.entries:
  37.  
  38.   if (entry.name.__str__() == "BUBZ"):
  39.     print "[+] DaRK DDoSer resources found"
  40.     data_rva = entry.directory.entries[0].data.struct.OffsetToData
  41.     size = entry.directory.entries[0].data.struct.Size
  42.     data = pe.get_memory_mapped_image()[data_rva:data_rva+size]
  43.     tokens = data.split("[{#}]")
  44.     print "Hostname: " + crypto ("darkddoser", tokens[0])
  45.     print "Port: " + crypto ('darkddoser', tokens[1])
  46.     print "Bot name: " + crypto ('darkddoser', tokens[2])
  47.     print "Connect interval to the server: " + crypto ('darkddoser', tokens[3])
  48.     print "Mutex: " + xorstr (tokens[4])
  49.     print "Registry persistance: " + crypto ('darkddoser', tokens[5])
  50.     print "Startup key (if enabled): " + crypto ('darkddoser', tokens[6])
  51.     print "Startup value: " + crypto ('darkddoser', tokens[7])
  52.     print "Version: " + crypto ('darkddoser', tokens[8])
  53.     print "Use persistance: " + crypto ('darkddoser', tokens[9])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement