From d9aacf2d41539e5e2347197230a4f9b5b66ce44c Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Tue, 7 Jul 2015 11:19:48 -0500 Subject: [PATCH] Add module for hacking team flash exploit --- data/exploits/hacking_team/msf.swf | Bin 0 -> 29417 bytes external/source/exploits/hacking_team/Elf.as | 235 +++++++++++ .../source/exploits/hacking_team/Exploit.as | 37 ++ .../exploits/hacking_team/ExploitByteArray.as | 85 ++++ .../exploits/hacking_team/ExploitVector.as | 75 ++++ .../source/exploits/hacking_team/Exploiter.as | 399 ++++++++++++++++++ .../source/exploits/hacking_team/Logger.as | 32 ++ .../source/exploits/hacking_team/MyClass.as | 93 ++++ .../source/exploits/hacking_team/MyClass1.as | 9 + .../source/exploits/hacking_team/MyClass2.as | 115 +++++ external/source/exploits/hacking_team/PE.as | 72 ++++ .../browser/adobe_flash_hacking_team_uaf.rb | 143 +++++++ 12 files changed, 1295 insertions(+) create mode 100755 data/exploits/hacking_team/msf.swf create mode 100755 external/source/exploits/hacking_team/Elf.as create mode 100755 external/source/exploits/hacking_team/Exploit.as create mode 100755 external/source/exploits/hacking_team/ExploitByteArray.as create mode 100755 external/source/exploits/hacking_team/ExploitVector.as create mode 100755 external/source/exploits/hacking_team/Exploiter.as create mode 100755 external/source/exploits/hacking_team/Logger.as create mode 100755 external/source/exploits/hacking_team/MyClass.as create mode 100755 external/source/exploits/hacking_team/MyClass1.as create mode 100755 external/source/exploits/hacking_team/MyClass2.as create mode 100755 external/source/exploits/hacking_team/PE.as create mode 100644 modules/exploits/multi/browser/adobe_flash_hacking_team_uaf.rb diff --git a/data/exploits/hacking_team/msf.swf b/data/exploits/hacking_team/msf.swf new file mode 100755 index 0000000000000000000000000000000000000000..6c2d91cdcc18d1dce6aebf1f909d867b72007e9c GIT binary patch literal 29417 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