├── README.md
└── src
├── .gitignore
├── AUTHORS
├── LICENSE
├── PINdemonium
├── Config.cpp
├── Config.h
├── Debug.h
├── DumpHandler.cpp
├── DumpHandler.h
├── EntropyHeuristic.cpp
├── EntropyHeuristic.h
├── FakeReadHandler.cpp
├── FakeReadHandler.h
├── FakeWriteHandler.cpp
├── FakeWriteHandler.h
├── FilterHandler.cpp
├── FilterHandler.h
├── GdbDebugger.cpp
├── GdbDebugger.h
├── HeapModule.cpp
├── HeapModule.h
├── Helper.cpp
├── Helper.h
├── Heuristics.cpp
├── Heuristics.h
├── HookFunctions.cpp
├── HookFunctions.h
├── HookSyscalls.cpp
├── HookSyscalls.h
├── InitFunctionCall.cpp
├── InitFunctionCall.h
├── JumpOuterSectionHeuristic.cpp
├── JumpOuterSectionHeuristic.h
├── LibraryHandler.cpp
├── LibraryHandler.h
├── Log.cpp
├── Log.h
├── LongJumpHeuristic.cpp
├── LongJumpHeuristic.h
├── MyPinTool.sln
├── MyPinTool.vcxproj
├── MyPinTool.vcxproj.filters
├── OepFinder.cpp
├── OepFinder.h
├── PINdemonium.cpp
├── PINdemonium.rc
├── PINdemoniumDependencies
│ ├── HeapLoader.py
│ ├── Yara
│ │ ├── rules
│ │ │ ├── .travis.yml
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── evasion_packer
│ │ │ │ ├── antidebug_antivm.yar
│ │ │ │ └── packer.yar
│ │ │ └── malware
│ │ │ │ ├── APT1.yar
│ │ │ │ ├── APT3102.yar
│ │ │ │ ├── APT9002.yar
│ │ │ │ ├── APT_APT17.yar
│ │ │ │ ├── APT_Bestia.yar
│ │ │ │ ├── APT_Blackenergy.yar
│ │ │ │ ├── APT_CVE2015_5119.yar
│ │ │ │ ├── APT_Carbanak2.yar
│ │ │ │ ├── APT_Careto.yar
│ │ │ │ ├── APT_CheshireCat.yar
│ │ │ │ ├── APT_Cloudduke.yar
│ │ │ │ ├── APT_Codoso.yar
│ │ │ │ ├── APT_Danti_svcmondr.yar
│ │ │ │ ├── APT_DeputyDog_Fexel.yar
│ │ │ │ ├── APT_Derusbi.yar
│ │ │ │ ├── APT_Dubnium.yar
│ │ │ │ ├── APT_Duqu2.yar
│ │ │ │ ├── APT_Emissary.yar
│ │ │ │ ├── APT_HackingTeam.yar
│ │ │ │ ├── APT_Hellsing.yar
│ │ │ │ ├── APT_Hikit.yar
│ │ │ │ ├── APT_Hizor_RAT.yar
│ │ │ │ ├── APT_Irontiger_Trendmicro.yar
│ │ │ │ ├── APT_Kaba.yar
│ │ │ │ ├── APT_Laudanum_Webshells.yar
│ │ │ │ ├── APT_LotusBlossom.yar
│ │ │ │ ├── APT_Minidionis.yar
│ │ │ │ ├── APT_Mirage.yar
│ │ │ │ ├── APT_Molerats.yar
│ │ │ │ ├── APT_Mongall.yar
│ │ │ │ ├── APT_NGO_wuaclt.yar
│ │ │ │ ├── APT_OLE_JSRat.yar
│ │ │ │ ├── APT_OPCleaver.yar
│ │ │ │ ├── APT_Platinum.yar
│ │ │ │ ├── APT_Poseidon_Group.yar
│ │ │ │ ├── APT_Prikormka.yar
│ │ │ │ ├── APT_Regin.yar
│ │ │ │ ├── APT_Ruag.yar
│ │ │ │ ├── APT_Seaduke_Unit42.yar
│ │ │ │ ├── APT_ShimRat.yar
│ │ │ │ ├── APT_Sofacy_Fysbis.yar
│ │ │ │ ├── APT_Sofacy_jun16.yar
│ │ │ │ ├── APT_Sofacy_xtunnel_bundestag.yar
│ │ │ │ ├── APT_Sphinx_Moth.yar
│ │ │ │ ├── APT_Terracota.yar
│ │ │ │ ├── APT_Terracota_Liudoor.yar
│ │ │ │ ├── APT_TidePool.yar
│ │ │ │ ├── APT_Turla_RUAG.yar
│ │ │ │ ├── APT_UP007_SLServer.yar
│ │ │ │ ├── APT_WildNeutron.yar
│ │ │ │ ├── APT_Win_Pipcreat.yar
│ │ │ │ ├── APT_Winnti.yar
│ │ │ │ ├── APT_alienspy_RAT.yar
│ │ │ │ ├── APT_backspace.yar
│ │ │ │ ├── APT_bluetermite_emdivi.yar
│ │ │ │ ├── APT_c16.yar
│ │ │ │ ├── APT_indetectables_RAT.yar
│ │ │ │ ├── APT_irontiger.yar
│ │ │ │ ├── APT_korplug_fast.yar
│ │ │ │ ├── APT_passthehashtoolkit.yar
│ │ │ │ ├── APT_pcclient.yar
│ │ │ │ ├── APT_putterpanda.yar
│ │ │ │ ├── APT_quarkspwdump.yar
│ │ │ │ ├── APT_threatgroup_3390.yar
│ │ │ │ ├── APT_unit78020_malware.yar
│ │ │ │ ├── APT_win32_dll_bergard_pgv_pvid_variant.yar
│ │ │ │ ├── APT_win32_dll_rat_hiZorRAT.yar
│ │ │ │ ├── Adwind_JAR_PACKA.yar
│ │ │ │ ├── Adwind_JAR_PACKB.yar
│ │ │ │ ├── Adzok_RAT.yar
│ │ │ │ ├── Alina.yar
│ │ │ │ ├── Andromeda.yar
│ │ │ │ ├── Anthem_DeepPanda.yar
│ │ │ │ ├── Athena.yar
│ │ │ │ ├── Babar.yar
│ │ │ │ ├── Backdoor_WinntiPharma.yar
│ │ │ │ ├── Bangat.yar
│ │ │ │ ├── BlackRev.yar
│ │ │ │ ├── BlackShades.yar
│ │ │ │ ├── BlackWorm.yar
│ │ │ │ ├── Bolonyokte.yar
│ │ │ │ ├── Boouset.yar
│ │ │ │ ├── Bozok.yar
│ │ │ │ ├── Bublik_downloader.yar
│ │ │ │ ├── CAP_HookExKeylogger.yar
│ │ │ │ ├── CAP_Win32Inet.yara
│ │ │ │ ├── CRIME_Shifu_trojan.yar
│ │ │ │ ├── Casper.yar
│ │ │ │ ├── Cerberus.yar
│ │ │ │ ├── Chicken.yar
│ │ │ │ ├── Citadel.yar
│ │ │ │ ├── Cookies.yar
│ │ │ │ ├── CorkowDLL.yar
│ │ │ │ ├── Crime_Fareit.yar
│ │ │ │ ├── Crimson_RAT.yar
│ │ │ │ ├── Crypren_ransomware
│ │ │ │ ├── Crypren_ransomware.yar
│ │ │ │ ├── CyberGate.yar
│ │ │ │ ├── Cythosia.yar
│ │ │ │ ├── DDoSTf.yar
│ │ │ │ ├── DRIDEX_phish_gina_dec15.yar
│ │ │ │ ├── DarkComet.yar
│ │ │ │ ├── Derkziel_Stealer.yar
│ │ │ │ ├── Dexter.yar
│ │ │ │ ├── DiamondFox.yar
│ │ │ │ ├── DirtJumper.yar
│ │ │ │ ├── Dridex.yar
│ │ │ │ ├── ELF_Linux_Torte.yar
│ │ │ │ ├── EXPERIMENTAL_Beef_Hooked.yar
│ │ │ │ ├── EXPERIMENTAL_Beef_pretty_theft.yar
│ │ │ │ ├── Enfal.yar
│ │ │ │ ├── Equation.yar
│ │ │ │ ├── Exploit_CVE_2015_2426.yar
│ │ │ │ ├── Ezcob.yar
│ │ │ │ ├── F0xy.yar
│ │ │ │ ├── FakeM.yar
│ │ │ │ ├── FastPOS.yar
│ │ │ │ ├── FinSpy.yar
│ │ │ │ ├── FiveEyes.yar
│ │ │ │ ├── FlyingKitten.yar
│ │ │ │ ├── Gamarue.yar
│ │ │ │ ├── Gen_powerkatz.yar
│ │ │ │ ├── Genome.yar
│ │ │ │ ├── Gh0st.yar
│ │ │ │ ├── Gholee.yar
│ │ │ │ ├── GlassRAT.yar
│ │ │ │ ├── Glasses.yar
│ │ │ │ ├── Gozi_Family.yar
│ │ │ │ ├── Grozlex.yar
│ │ │ │ ├── Havex.yar
│ │ │ │ ├── Havex_Memdump.yar
│ │ │ │ ├── Hsdfihdf_banking_malware.yar
│ │ │ │ ├── IMuler.yar
│ │ │ │ ├── Install11.yar
│ │ │ │ ├── Intel_Virtualization.yar
│ │ │ │ ├── KINS.yar
│ │ │ │ ├── Kelihos.yar
│ │ │ │ ├── KeyBoy.yar
│ │ │ │ ├── LURK0.yar
│ │ │ │ ├── LURK0_CCTV0.yar
│ │ │ │ ├── Lenovo_superfish.yar
│ │ │ │ ├── Leverage.yar
│ │ │ │ ├── LinuxMoose.yar
│ │ │ │ ├── LostDoor.yar
│ │ │ │ ├── LuckyCat.yar
│ │ │ │ ├── MW_Ransomware_777.yar
│ │ │ │ ├── MW_elknot_xor.yar
│ │ │ │ ├── MacControl.yar
│ │ │ │ ├── Madness.yar
│ │ │ │ ├── Mailers.yar
│ │ │ │ ├── Meterpreter_Reverse_Tcp.yar
│ │ │ │ ├── Miancha.yar
│ │ │ │ ├── MiniAsp3_mem.yar
│ │ │ │ ├── Miscelanea.yar
│ │ │ │ ├── Miscelanea_Linux.yar
│ │ │ │ ├── Miscelanea_RTF.yar
│ │ │ │ ├── NSFree.yar
│ │ │ │ ├── Naikon.yar
│ │ │ │ ├── NetTraveler.yar
│ │ │ │ ├── Njrat.yar
│ │ │ │ ├── Notepad.yar
│ │ │ │ ├── Olyx.yar
│ │ │ │ ├── OpClandestineWolf.yar
│ │ │ │ ├── Opcleaver.yar
│ │ │ │ ├── Operation_Dust_storm.yar
│ │ │ │ ├── Operation_Potao.yar
│ │ │ │ ├── PE_File_pyinstaller.yar
│ │ │ │ ├── POS.yar
│ │ │ │ ├── POS_Easterjack.yar
│ │ │ │ ├── POS_LogPOS.yar
│ │ │ │ ├── POS_MalumPOS.yar
│ │ │ │ ├── POS_bernhardPos.yar
│ │ │ │ ├── PittyTiger.yar
│ │ │ │ ├── PlugX.yar
│ │ │ │ ├── PoisonIvy.yar
│ │ │ │ ├── Pony.yar
│ │ │ │ ├── PubSab.yar
│ │ │ │ ├── Quarian.yar
│ │ │ │ ├── RAT_Sakula.yar
│ │ │ │ ├── RAT_Terminator.yar
│ │ │ │ ├── RCS.yar
│ │ │ │ ├── Ransom_DMALocker.yar
│ │ │ │ ├── Ransom_TeslaCrypt.yar
│ │ │ │ ├── Ransomware.yar
│ │ │ │ ├── Ransomware_Locky.yar
│ │ │ │ ├── Ransomware_Petya.yar
│ │ │ │ ├── Regsubdat.yar
│ │ │ │ ├── Retefe.yar
│ │ │ │ ├── Rockloader.yar
│ │ │ │ ├── Rooter.yar
│ │ │ │ ├── Safenet.yar
│ │ │ │ ├── Sayad.yar
│ │ │ │ ├── Scarhikn.yar
│ │ │ │ ├── Scieron.yar
│ │ │ │ ├── ShadowTech.yar
│ │ │ │ ├── Shamoon.yar
│ │ │ │ ├── Skeleton.yar
│ │ │ │ ├── Stealer.yar
│ │ │ │ ├── Surtr.yar
│ │ │ │ ├── T5000.yar
│ │ │ │ ├── THOR_HackTools.yar
│ │ │ │ ├── THOR_Webshells.yar
│ │ │ │ ├── Tinba_Banking_Trojan.yar
│ │ │ │ ├── TreasureHunt.yar
│ │ │ │ ├── Trojan_Elex.yar
│ │ │ │ ├── Trojan_Ponmocup.yar
│ │ │ │ ├── Turla.yar
│ │ │ │ ├── Urausy.yar
│ │ │ │ ├── Vidgrab.yar
│ │ │ │ ├── W32_NionSpy.yar
│ │ │ │ ├── Wabot.yar
│ │ │ │ ├── Warp.yar
│ │ │ │ ├── Waterbug.yar
│ │ │ │ ├── Wimmie.yar
│ │ │ │ ├── Win32_Buzus_Softpulse.yar
│ │ │ │ ├── WoolenGoldfish.yar
│ │ │ │ ├── XOR_DDosv1.yar
│ │ │ │ ├── Xtreme.yar
│ │ │ │ ├── Yayih.yar
│ │ │ │ ├── Zegost.yar
│ │ │ │ ├── Zeus.yar
│ │ │ │ ├── ZoxPNG.yar
│ │ │ │ ├── backoff.yar
│ │ │ │ ├── crime_upatre_oct15.yar
│ │ │ │ ├── cxpid.yar
│ │ │ │ ├── dubrute.yar
│ │ │ │ ├── exploit_cve_2015_1701.yar
│ │ │ │ ├── exploit_uac_elevators.yar
│ │ │ │ ├── favorite.yar
│ │ │ │ ├── general_cloaking.yar
│ │ │ │ ├── generic_exe2hex_payload.yar
│ │ │ │ ├── iexpl0ree.yar
│ │ │ │ ├── inocnation.yar
│ │ │ │ ├── jRAT.yar
│ │ │ │ ├── js_obfuscator.yar
│ │ │ │ ├── kraken_bot1.yar
│ │ │ │ ├── mozart.yar
│ │ │ │ ├── naspyupdate.yar
│ │ │ │ ├── netwiredRC.yar
│ │ │ │ ├── ponmocup_plugin_memory.yar
│ │ │ │ ├── pyinstaller.yar
│ │ │ │ ├── rovnix_downloader_sinkhole_check.yar
│ │ │ │ ├── sqlite.yar
│ │ │ │ ├── ssh_backdoor.yar
│ │ │ │ ├── tedroo.yar
│ │ │ │ ├── tox.yar
│ │ │ │ ├── windigo-onimiki.yar
│ │ │ │ ├── wineggdrop.yar
│ │ │ │ ├── xDedic_marketplace.yar
│ │ │ │ ├── xRAT.yar
│ │ │ │ └── xRAT20.yar
│ │ ├── yara_rules.yar
│ │ ├── yara_testImportsMsgBox.yar
│ │ └── yara_testStringMsgBox.yar
│ └── config.json
├── PINdemoniumResults
│ └── dummy_test.txt
├── PINshield.cpp
├── PINshield.h
├── PatternMatchModule.cpp
├── PatternMatchModule.h
├── PolymorphicCodeHandlerModule.cpp
├── PolymorphicCodeHandlerModule.h
├── ProcInfo.cpp
├── ProcInfo.h
├── ProcessInjectionModule.cpp
├── ProcessInjectionModule.h
├── PushadPopadHeuristic.cpp
├── PushadPopadHeuristic.h
├── Report.cpp
├── Report.h
├── ReportDump.cpp
├── ReportDump.h
├── ReportEntropy.cpp
├── ReportEntropy.h
├── ReportGeneralInformation.cpp
├── ReportGeneralInformation.h
├── ReportImportedFunction.cpp
├── ReportImportedFunction.h
├── ReportJumpOuterSection.cpp
├── ReportJumpOuterSection.h
├── ReportLongJump.cpp
├── ReportLongJump.h
├── ReportMainModule.cpp
├── ReportMainModule.h
├── ReportObject.cpp
├── ReportObject.h
├── ReportYaraRules.cpp
├── ReportYaraRules.h
├── ScyllaWrapper.cpp
├── ScyllaWrapper.h
├── ScyllaWrapperInterface.cpp
├── ScyllaWrapperInterface.h
├── Tests
│ ├── EnterForever.ahk
│ ├── FolderImportLister.py
│ ├── ImportsTester.bat
│ ├── ImportsTester.py
│ ├── MalTester.bat
│ ├── MalTester.py
│ ├── MalwrTest.py
│ ├── Test.py
│ └── importLister.py
├── TimeTracker.h
├── WriteInterval.cpp
├── WriteInterval.h
├── WxorXHandler.cpp
├── WxorXHandler.h
├── YaraHeuristic.cpp
├── YaraHeuristic.h
├── json.h
├── jsoncpp.cpp
├── makefile
├── makefile.rules
├── md5.cpp
├── md5.h
└── resource.h
├── PINdemoniumPlugins
├── PINdemoniumPluginTemplate
│ ├── PINdemoniumPluginTemplate.sln
│ └── PINdemoniumPluginTemplate
│ │ ├── Helpers.cpp
│ │ ├── Helpers.h
│ │ ├── PINdemoniumPluginTemplate.cpp
│ │ ├── PINdemoniumPluginTemplate.h
│ │ ├── PINdemoniumPluginTemplate.vcxproj
│ │ ├── PINdemoniumPluginTemplate.vcxproj.filters
│ │ ├── ReadMe.txt
│ │ ├── dllmain.cpp
│ │ ├── export.def
│ │ ├── stdafx.cpp
│ │ ├── stdafx.h
│ │ └── targetver.h
├── PINdemoniumStolenAPIPlugin
│ ├── PINdemoniumPluginTemplate.sln
│ ├── PINdemoniumPluginTemplate
│ │ ├── Helpers.cpp
│ │ ├── Helpers.h
│ │ ├── PINdemoniumPluginTemplate.vcxproj
│ │ ├── PINdemoniumPluginTemplate.vcxproj.filters
│ │ ├── PINdemoniumStolenAPIPlugin.cpp
│ │ ├── PINdemoniumStolenAPIPlugin.h
│ │ ├── ReadMe.txt
│ │ ├── dllmain.cpp
│ │ ├── export.def
│ │ ├── stdafx.cpp
│ │ ├── stdafx.h
│ │ └── targetver.h
│ └── libdasm-1.5
│ │ ├── HISTORY.txt
│ │ ├── LIB.txt
│ │ ├── Makefile
│ │ ├── Makefile.msvc
│ │ ├── README.txt
│ │ ├── TODO.txt
│ │ ├── examples
│ │ ├── Makefile
│ │ ├── README.txt
│ │ ├── das.c
│ │ └── simple.c
│ │ ├── libdasm.c
│ │ ├── libdasm.def
│ │ ├── libdasm.h
│ │ ├── opcode_tables.h
│ │ ├── pydasm
│ │ ├── README.txt
│ │ ├── das.py
│ │ ├── pydasm.c
│ │ └── setup.py
│ │ └── rbdasm
│ │ ├── Makefile
│ │ ├── dasm.c
│ │ ├── dasm.rb.ut.rb
│ │ └── extconf.rb
└── SimpleApiRedirectionPlugin
│ ├── PINdemoniumPluginTemplate
│ ├── Helpers.cpp
│ ├── Helpers.h
│ ├── PINdemoniumPluginTemplate.cpp
│ ├── PINdemoniumPluginTemplate.h
│ ├── PINdemoniumPluginTemplate.vcxproj
│ ├── PINdemoniumPluginTemplate.vcxproj.filters
│ ├── ReadMe.txt
│ ├── dllmain.cpp
│ ├── export.def
│ ├── stdafx.cpp
│ ├── stdafx.h
│ └── targetver.h
│ ├── SimpleApiRedirection.dll
│ ├── SimpleApiRedirection.sln
│ └── libdasm-1.5
│ ├── HISTORY.txt
│ ├── LIB.txt
│ ├── Makefile
│ ├── Makefile.msvc
│ ├── README.txt
│ ├── TODO.txt
│ ├── examples
│ ├── Makefile
│ ├── README.txt
│ ├── das.c
│ └── simple.c
│ ├── libdasm.c
│ ├── libdasm.def
│ ├── libdasm.h
│ ├── opcode_tables.h
│ ├── pydasm
│ ├── README.txt
│ ├── das.py
│ ├── pydasm.c
│ └── setup.py
│ └── rbdasm
│ ├── Makefile
│ ├── dasm.c
│ ├── dasm.rb.ut.rb
│ └── extconf.rb
├── PINdemoniumReport
├── .babelrc
├── .bowerrc
├── README.md
├── app
│ └── src
│ │ ├── MemoryLayout
│ │ ├── infoModal.jsx
│ │ ├── memoryLayout.jsx
│ │ ├── slider.jsx
│ │ └── sliderItem.jsx
│ │ └── app.jsx
├── bower.json
├── package.json
└── webpack.config.js
├── PinUnpacker.sln
├── README.md
├── Scylla
├── .gitignore
├── COMPILING
├── LICENSE
├── Plugins
│ ├── ImpRec_Plugins
│ │ ├── Imprec_Wrapper_DLL.dll
│ │ └── PECompact 2.7.x.dll
│ ├── Include_Headers
│ │ └── ScyllaPlugin.h
│ ├── PECompact.dll
│ ├── PESpin_x64_v1.dll
│ ├── ScyllaPlugins.sln
│ ├── ScyllaPlugins.vcxproj
│ ├── ScyllaPlugins.vcxproj.filters
│ └── Sources
│ │ ├── Imprec_Wrapper_DLL.cpp
│ │ ├── PECompact.cpp
│ │ ├── PESpin_x64_v1.cpp
│ │ ├── StolenApi.cpp
│ │ ├── resource.h
│ │ └── scyllatoimprectree.rar
├── README.md
├── Scylla v0.9.7c
│ ├── Plugins
│ │ ├── ImpRec_Plugins
│ │ │ ├── Imprec_Wrapper_DLL.dll
│ │ │ └── PECompact 2.7.x.dll
│ │ ├── Include_Headers
│ │ │ └── ScyllaPlugin.h
│ │ ├── PECompact.dll
│ │ ├── PESpin_x64_v1.dll
│ │ ├── Sources
│ │ │ ├── Imprec_Wrapper_DLL.cpp
│ │ │ ├── PECompact.cpp
│ │ │ ├── PESpin_x64_v1.cpp
│ │ │ └── scyllatoimprectree.rar
│ │ ├── StolenApiPlugin.dll
│ │ └── StolenApiPlugin.exp
│ ├── Scylla.ini
│ ├── Scylla_Exports.txt
│ ├── Scylla_README.txt
│ └── Scylla_x64.dll
├── Scylla.sln
├── Scylla
│ ├── AboutGui.cpp
│ ├── AboutGui.h
│ ├── ApiReader.cpp
│ ├── ApiReader.h
│ ├── Architecture.cpp
│ ├── Architecture.h
│ ├── Configuration.cpp
│ ├── Configuration.h
│ ├── ConfigurationHolder.cpp
│ ├── ConfigurationHolder.h
│ ├── DeviceNameResolver.cpp
│ ├── DeviceNameResolver.h
│ ├── DisassemblerGui.cpp
│ ├── DisassemblerGui.h
│ ├── DllInjection.cpp
│ ├── DllInjection.h
│ ├── DllInjectionPlugin.cpp
│ ├── DllInjectionPlugin.h
│ ├── DonateGui.cpp
│ ├── DonateGui.h
│ ├── DumpMemoryGui.cpp
│ ├── DumpMemoryGui.h
│ ├── DumpSectionGui.cpp
│ ├── DumpSectionGui.h
│ ├── FunctionExport.cpp
│ ├── FunctionExport.h
│ ├── IATReferenceScan.cpp
│ ├── IATReferenceScan.h
│ ├── IATSearch.cpp
│ ├── IATSearch.h
│ ├── ImportRebuilder.cpp
│ ├── ImportRebuilder.h
│ ├── ImportsHandling.cpp
│ ├── ImportsHandling.h
│ ├── Logger.cpp
│ ├── Logger.h
│ ├── MainGui.cpp
│ ├── MainGui.h
│ ├── MainGui.rc
│ ├── NativeWinApi.cpp
│ ├── NativeWinApi.h
│ ├── OptionsGui.cpp
│ ├── OptionsGui.h
│ ├── PeParser.cpp
│ ├── PeParser.h
│ ├── PeRebuild.cpp
│ ├── PeRebuild.h
│ ├── PickApiGui.cpp
│ ├── PickApiGui.h
│ ├── PickDllGui.cpp
│ ├── PickDllGui.h
│ ├── PluginLoader.cpp
│ ├── PluginLoader.h
│ ├── ProcessAccessHelp.cpp
│ ├── ProcessAccessHelp.h
│ ├── ProcessLister.cpp
│ ├── ProcessLister.h
│ ├── Scylla.cpp
│ ├── Scylla.h
│ ├── Scylla.vcxproj
│ ├── Scylla.vcxproj.filters
│ ├── StringConversion.cpp
│ ├── StringConversion.h
│ ├── SystemInformation.cpp
│ ├── SystemInformation.h
│ ├── Thunks.h
│ ├── TreeImportExport.cpp
│ ├── TreeImportExport.h
│ ├── check.ico
│ ├── error.ico
│ ├── hexedit.h
│ ├── main.cpp
│ ├── multitree.h
│ ├── resource.h
│ ├── scylla.ico
│ ├── scylla_export_functions.def
│ └── warning.ico
├── ScyllaDllTest
│ ├── ScyllaDllTest.sln
│ ├── ScyllaDllTest
│ │ ├── ScyllaDllTest.vcxproj
│ │ └── Source.cpp
│ └── ScyllaTestExe
│ │ ├── ScyllaTestExe.sln
│ │ ├── ScyllaTestExe.vcxproj
│ │ └── main.cpp
├── Scylla_Exports.txt
├── WTL
│ └── README
├── scylla_release.bat
└── tinyxml
│ ├── README
│ ├── tinyxml.vcxproj
│ ├── tinyxml.vcxproj.filters
│ └── tinyxml.vcxproj.user
├── ScyllaDependencies
├── README.md
├── WTL.rar
├── diStorm.rar
├── tinyxml.rar
└── tinyxml
│ ├── README
│ └── tinyxml.vcxproj.filters
├── ScyllaDumper
├── .gitignore
├── ScyllaDumper
│ ├── Log.cpp
│ ├── Log.h
│ ├── ReadMe.txt
│ ├── ScyllaDumper.cpp
│ ├── ScyllaDumper.sln
│ ├── ScyllaTest.vcxproj
│ ├── ScyllaTest.vcxproj.filters
│ ├── debug.h
│ ├── stdafx.cpp
│ ├── stdafx.h
│ └── targetver.h
└── ScyllaTest.sln
└── ScyllaWrapper
├── Log.cpp
├── Log.h
├── ReadMe.txt
├── ScyllaWrapper.cpp
├── ScyllaWrapper.def
├── ScyllaWrapper.h
├── ScyllaWrapper.vcxproj
├── ScyllaWrapper.vcxproj.filters
├── debug.cpp
├── debug.h
├── dllmain.cpp
├── stdafx.cpp
├── stdafx.h
└── targetver.h
/src/AUTHORS:
--------------------------------------------------------------------------------
1 |
2 | Sebastiano Mariani
3 | Lorenzo Fontana
4 | Fabio Gritti
5 | Stefano D'Alessio
6 |
--------------------------------------------------------------------------------
/src/PINdemonium/DumpHandler.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "pin.H"
3 | #include "ProcInfo.h"
4 | #include
5 | namespace W{
6 | #include "windows.h"
7 | #include
8 | #include
9 | }
10 |
11 | class DumpHandler
12 | {
13 | public:
14 | DumpHandler(void);
15 | ~DumpHandler(void);
16 | static BOOL launchScyllaDumpAndFix(string scylla,int pid, int curEip,string dumpFileName);
17 | static BOOL launchScyllaAddSection(string scylla, string dumped_file );
18 | private:
19 | static BOOL existFile (string name);
20 |
21 | };
22 |
23 |
--------------------------------------------------------------------------------
/src/PINdemonium/EntropyHeuristic.cpp:
--------------------------------------------------------------------------------
1 | #include "EntropyHeuristic.h"
2 |
3 | float threshold=0.2f;
4 |
5 | UINT32 EntropyHeuristic::run(){
6 | bool result = false;
7 | ProcInfo *proc_info = ProcInfo::getInstance();
8 | float entropy_value = proc_info->GetEntropy();
9 | float initial_entropy = proc_info->getInitialEntropy();
10 | float difference = abs(entropy_value - initial_entropy)/initial_entropy;
11 | MYINFO("ENTROPY INITIAL IS %f" , initial_entropy);
12 | MYINFO("CURRENT ENTROPY IS %f" , entropy_value);
13 | MYINFO("ENTROPY DIFFERERNCE IS %f" , difference);
14 | if( difference > threshold){
15 | result = true;
16 | }
17 | try{
18 | ReportDump& report_dump = Report::getInstance()->getCurrentDump();
19 | ReportObject* entropy_heur = new ReportEntropy(result,entropy_value,difference);
20 | report_dump.addHeuristic(entropy_heur);
21 | }catch (const std::out_of_range&){
22 | MYERRORE("Problem creating ReportEntropy report");
23 | }
24 |
25 | if(result == true){
26 | return OEPFINDER_FOUND_OEP;
27 | }
28 | else return OEPFINDER_HEURISTIC_FAIL;
29 | }
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/src/PINdemonium/EntropyHeuristic.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "Heuristics.h"
3 | #include "ReportEntropy.h"
4 |
5 |
6 | class EntropyHeuristic
7 | {
8 | public:
9 | UINT32 run();
10 | float GetEntropy();
11 | };
12 |
--------------------------------------------------------------------------------
/src/PINdemonium/FakeWriteHandler.cpp:
--------------------------------------------------------------------------------
1 | #include "FakeWriteHandler.h"
2 |
3 |
4 | FakeWriteHandler::FakeWriteHandler(void)
5 | {
6 | pInfo = ProcInfo::getInstance();
7 | }
8 |
9 |
10 | FakeWriteHandler::~FakeWriteHandler(void)
11 | {
12 | }
13 |
14 | //hijack the write operation
15 | ADDRINT FakeWriteHandler::getFakeWriteAddress(ADDRINT cur_addr){
16 | if(pInfo->isInsideProtectedSection(cur_addr)){
17 | MYINFO("Suspicious Write at %08x",cur_addr);
18 | fakeWriteAddress = (ADDRINT)malloc(MAX_WRITE_SIZE*sizeof(char));
19 | return fakeWriteAddress;
20 | }
21 | return cur_addr;
22 | }
--------------------------------------------------------------------------------
/src/PINdemonium/FakeWriteHandler.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "ProcInfo.h"
3 |
4 | #define MAX_WRITE_SIZE 16
5 | static ADDRINT fakeWriteAddress;
6 |
7 | class FakeWriteHandler
8 | {
9 | public:
10 | FakeWriteHandler(void);
11 | ~FakeWriteHandler(void);
12 | ADDRINT getFakeWriteAddress(ADDRINT cur_addr);
13 |
14 | private:
15 | ProcInfo *pInfo;
16 | };
17 |
18 |
--------------------------------------------------------------------------------
/src/PINdemonium/GdbDebugger.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include
3 | #include
4 |
5 | typedef void *HANDLE;
6 |
7 | class GdbDebugger
8 |
9 | {
10 | public:
11 | static GdbDebugger* getInstance();
12 | void executeCmd(char* cmd);
13 | void connectRemote(int port);
14 |
15 | private:
16 | static GdbDebugger* instance;
17 | HANDLE g_hChildStd_IN_Rd;
18 | HANDLE g_hChildStd_IN_Wr;
19 | HANDLE g_hChildStd_OUT_Rd;
20 | HANDLE g_hChildStd_OUT_Wr;
21 | int remote_port;
22 | GdbDebugger(void);
23 | ~GdbDebugger(void);
24 | void CreateChildProcess();
25 | void ReadFromPipe(void);
26 | void WriteToPipe(char* cmd);
27 | void ErrorExit(char* error);
28 | };
29 |
30 |
--------------------------------------------------------------------------------
/src/PINdemonium/HeapModule.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "pin.H"
3 | #include "Helper.h"
4 | #include
5 | #include "ProcInfo.h"
6 | #include "ScyllaWrapperInterface.h"
7 | #include "OepFinder.h"
8 |
9 | namespace W{
10 | #include "windows.h"
11 | }
12 |
13 | class HeapModule
14 | {
15 | public:
16 | //singleton instance
17 | static HeapModule* getInstance();
18 | VOID saveHeapZones(std::map hzs, std::map hzs_dumped);
19 | UINT32 checkHeapWxorX(WriteInterval* item, ADDRINT curEip, int dumpAndFixResult);
20 |
21 | private:
22 | HeapModule(void);
23 | static HeapModule *instance;
24 | std::string dumpHZ(HeapZone hz, char * data, std::string hz_md5);
25 | std::string linkHZ(std::string heap_bin_path);
26 | void logHZ(std::string heap_link_name, HeapZone hz, std::string hz_md5);
27 |
28 | };
29 |
--------------------------------------------------------------------------------
/src/PINdemonium/Helper.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "pin.H"
3 | #include
4 |
5 | namespace W{
6 | #include "windows.h"
7 | }
8 |
9 | class Helper
10 | {
11 | public:
12 | Helper(void);
13 | static BOOL existFile (string name);
14 | static vector split(const string &s, char delim);
15 | static string replaceString(string str, const string& from, const string& to);
16 | static bool writeBufferToFile(unsigned char *buffer,UINT32 dwBytesToWrite,string path);
17 | };
18 |
19 |
--------------------------------------------------------------------------------
/src/PINdemonium/Heuristics.cpp:
--------------------------------------------------------------------------------
1 | #include "Heuristics.h"
2 |
3 |
4 | UINT32 Heuristics::longJmpHeuristic(INS ins, ADDRINT prev_ip){
5 | LongJumpHeuristic heu = LongJumpHeuristic();
6 | return heu.run(ins, prev_ip);
7 | }
8 |
9 | UINT32 Heuristics::entropyHeuristic(){
10 | EntropyHeuristic heu = EntropyHeuristic();
11 | return heu.run();
12 | }
13 |
14 | UINT32 Heuristics::jmpOuterSectionHeuristic(INS ins, ADDRINT prev_ip){
15 | JumpOuterSection heu = JumpOuterSection();
16 | return heu.run(ins, prev_ip);
17 | }
18 |
19 |
20 | UINT32 Heuristics::pushadPopadHeuristic(){
21 | PushadPopadheuristic heu = PushadPopadheuristic();
22 | return heu.run();
23 | }
24 |
25 | UINT32 Heuristics::yaraHeuristic(vector dumps_to_analyse){
26 | YaraHeuristic heu = YaraHeuristic();
27 | return heu.run(dumps_to_analyse);
28 |
29 | }
--------------------------------------------------------------------------------
/src/PINdemonium/Heuristics.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "pin.H"
3 | #include "Debug.h"
4 | #include "Config.h"
5 | #include "OepFinder.h"
6 | #include "LongJumpHeuristic.h"
7 | #include "EntropyHeuristic.h"
8 | #include "JumpOuterSectionHeuristic.h"
9 | #include "WxorXHandler.h"
10 | #include "PushadPopadHeuristic.h"
11 | #include "YaraHeuristic.h"
12 |
13 |
14 | //static class where you have to define all the methods that o some kind of heuristic
15 | class Heuristics
16 | {
17 | public:
18 | static UINT32 longJmpHeuristic(INS ins, ADDRINT prev_ip);
19 | static UINT32 entropyHeuristic();
20 | static UINT32 jmpOuterSectionHeuristic(INS ins, ADDRINT prev_ip);
21 | static UINT32 pushadPopadHeuristic();
22 | static UINT32 yaraHeuristic(vector dumps_to_analyse);
23 |
24 | };
25 |
26 |
27 |
--------------------------------------------------------------------------------
/src/PINdemonium/HookFunctions.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include
"
8 | $b = {6A 03 68 ?? ?? ?? ?? B9 74 F1 AE 00 E8 ?? ?? ?? ?? E8 ?? ?? ?? ?? 68 98 3A 00 00 FF D6 6A 00 68 ?? ?? ?? ?? 68 ?? ?? ?? ??}
9 | $c = "Please restart your computer and wait for instructions for decrypting your files"
10 | condition:
11 | any of them
12 | }
13 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Crypren_ransomware.yar:
--------------------------------------------------------------------------------
1 | rule Ransom : Crypren{
2 | meta:
3 | weight = 1
4 | Author = "@pekeinfo"
5 | reference = "https://github.com/pekeinfo/DecryptCrypren"
6 | strings:
7 | $a = "won't be able to recover your files anymore."
8 | $b = {6A 03 68 ?? ?? ?? ?? B9 74 F1 AE 00 E8 ?? ?? ?? ?? E8 ?? ?? ?? ?? 68 98 3A 00 00 FF D6 6A 00 68 ?? ?? ?? ?? 68 ?? ?? ?? ??}
9 | $c = "Please restart your computer and wait for instructions for decrypting your files"
10 | condition:
11 | any of them
12 | }
13 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/CyberGate.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as
3 | long as you use it under this license.
4 | */
5 | rule CyberGate
6 | {
7 |
8 | meta:
9 | author = " Kevin Breen "
10 | date = "2014/04"
11 | ref = "http://malwareconfig.com/stats/CyberGate"
12 | maltype = "Remote Access Trojan"
13 | filetype = "exe"
14 |
15 | strings:
16 | $string1 = {23 23 23 23 40 23 23 23 23 E8 EE E9 F9 23 23 23 23 40 23 23 23 23}
17 | $string2 = {23 23 23 23 40 23 23 23 23 FA FD F0 EF F9 23 23 23 23 40 23 23 23 23}
18 | $string3 = "EditSvr"
19 | $string4 = "TLoader"
20 | $string5 = "Stroks"
21 | $string6 = "####@####"
22 | $res1 = "XX-XX-XX-XX"
23 | $res2 = "CG-CG-CG-CG"
24 |
25 | condition:
26 | all of ($string*) and any of ($res*)
27 | }
28 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Cythosia.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as
3 | long as you use it under this license.
4 | */
5 | rule Cythosia{
6 | meta:
7 | author = "Brian Wallace @botnet_hunter"
8 | author_email = "bwall@ballastsecurity.net"
9 | date = "2015-03-21"
10 | description = "Identify Cythosia"
11 | strings:
12 | $str1 = "HarvesterSocksBot.Properties.Resources" wide
13 | condition:
14 | all of them
15 | }
16 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/DDoSTf.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 | rule DDosTf : DDoS
6 | {
7 | meta:
8 | author = "benkow_ - MalwareMustDie"
9 | reference = "http://blog.malwaremustdie.org/2016/01/mmd-0048-2016-ddostf-new-elf-windows.html"
10 | description = "Rule to detect ELF.DDosTf infection"
11 | strings:
12 | $st0 = "ddos.tf"
13 | $st1 = {E8 AE BE E7 BD AE 54 43 50 5F 4B 45 45 50 49 4E 54 56 4C E9 94 99 E8 AF AF EF BC 9A 00} /*TCP_KEEPINTVL*/
14 | $st2 = {E8 AE BE E7 BD AE 54 43 50 5F 4B 45 45 50 43 4E 54 E9 94 99 E8 AF AF EF BC 9A 00} /*TCP_KEEPCNT*/
15 | $st3 = "Accept-Language: zh"
16 | $st4 = "%d Kb/bps|%d%%"
17 |
18 | condition:
19 | all of them
20 | }
21 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Derkziel_Stealer.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 | rule Derkziel
6 | {
7 | meta:
8 | description = "Derkziel info stealer (Steam, Opera, Yandex, ...)"
9 | author = "The Malware Hunter"
10 | yaraexchange = "No distribution without author's consent"
11 | filetype = "pe"
12 | date = "2015-11"
13 | md5 = "f5956953b7a4acab2e6fa478c0015972"
14 | site = "https://zoo.mlw.re/samples/f5956953b7a4acab2e6fa478c0015972"
15 | reference = "https://bhf.su/threads/137898/"
16 | strings:
17 | $drz = "{!}DRZ{!}"
18 | $ua = "User-Agent: Uploador"
19 | $steam = "SteamAppData.vdf"
20 | $login = "loginusers.vdf"
21 | $config = "config.vdf"
22 | condition:
23 | all of them
24 | }
25 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Dexter.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 | rule Dexter_Malware {
9 | meta:
10 | description = "Detects the Dexter Trojan/Agent http://goo.gl/oBvy8b"
11 | author = "Florian Roth"
12 | reference = "http://goo.gl/oBvy8b"
13 | date = "2015/02/10"
14 | score = 70
15 | strings:
16 | $s0 = "Java Security Plugin" fullword wide
17 | $s1 = "%s\\%s\\%s.exe" fullword wide
18 | $s2 = "Sun Java Security Plugin" fullword wide
19 | $s3 = "\\Internet Explorer\\iexplore.exe" fullword wide
20 | condition:
21 | all of them
22 | }
23 | rule dexter_strings
24 | {
25 | meta:
26 | author = "Brian Wallace @botnet_hunter"
27 | author_email = "bwall@ballastsecurity.net"
28 | date = "2014-09-10"
29 | description = "Identify Dexter POSGrabber"
30 | strings:
31 | $s1 = "UpdateMutex:"
32 | $s2 = "response="
33 | $s3 = "page="
34 | $s4 = "scanin:"
35 | condition:
36 | all of them
37 | }
38 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/DiamondFox.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as
3 | long as you use it under this license.
4 | */
5 | rule diamond_fox
6 | {
7 | meta:
8 | author = "Brian Wallace @botnet_hunter"
9 | author_email = "bwall@ballastsecurity.net"
10 | date = "2015-08-22"
11 | description = "Identify DiamondFox"
12 | strings:
13 | $s1 = "UPDATE_B"
14 | $s2 = "UNISTALL_B"
15 | $s3 = "S_PROTECT"
16 | $s4 = "P_WALLET"
17 | $s5 = "GR_COMMAND"
18 | $s6 = "FTPUPLOAD"
19 | condition:
20 | all of them
21 | }
22 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Dridex.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 | rule Dridex_Trojan_XML {
9 | meta:
10 | description = "Dridex Malware in XML Document"
11 | author = "Florian Roth @4nc4p"
12 | reference = "https://threatpost.com/dridex-banking-trojan-spreading-via-macros-in-xml-files/111503"
13 | date = "2015/03/08"
14 | hash1 = "88d98e18ed996986d26ce4149ae9b2faee0bc082"
15 | hash2 = "3b2d59adadf5ff10829bb5c27961b22611676395"
16 | hash3 = "e528671b1b32b3fa2134a088bfab1ba46b468514"
17 | hash4 = "981369cd53c022b434ee6d380aa9884459b63350"
18 | hash5 = "96e1e7383457293a9b8f2c75270b58da0e630bea"
19 | strings:
20 | // can be ascii or wide formatted - therefore no restriction
21 | $c_xml = ""
23 | $c_macro = "w:macrosPresent=\"yes\""
24 | $c_binary = "0"
26 | $c_1_line = "1"
27 | condition:
28 | all of ($c*)
29 | }
30 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Ezcob.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 | rule EzcobStrings : Ezcob Family
9 | {
10 | meta:
11 | description = "Ezcob Identifying Strings"
12 | author = "Seth Hardy"
13 | last_modified = "2014-06-23"
14 |
15 | strings:
16 | $ = "\x12F\x12F\x129\x12E\x12A\x12E\x12B\x12A\x12-\x127\x127\x128\x123\x12"
17 | $ = "\x121\x12D\x128\x123\x12B\x122\x12E\x128\x12-\x12B\x122\x123\x12D\x12"
18 | $ = "Ezcob" wide ascii
19 | $ = "l\x12i\x12u\x122\x120\x121\x123\x120\x124\x121\x126"
20 | $ = "20110113144935"
21 |
22 | condition:
23 | any of them
24 | }
25 |
26 | rule Ezcob : Family
27 | {
28 | meta:
29 | description = "Ezcob"
30 | author = "Seth Hardy"
31 | last_modified = "2014-06-23"
32 |
33 | condition:
34 | EzcobStrings
35 | }
36 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/F0xy.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 | rule ws_f0xy_downloader {
9 | meta:
10 | description = "f0xy malware downloader"
11 | author = "Nick Griffin (Websense)"
12 |
13 | strings:
14 | $mz="MZ"
15 | $string1="bitsadmin /transfer"
16 | $string2="del rm.bat"
17 | $string3="av_list="
18 |
19 | condition:
20 | ($mz at 0) and (all of ($string*))
21 | }
22 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/FastPOS.yar:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
4 |
5 | */
6 | rule PoS_Malware_fastpos : FastPOS
7 | {
8 | meta:
9 | author = "Trend Micro, Inc."
10 | date = "2016-05-18"
11 | description = "Used to detect FastPOS keyloggger + scraper"
12 | reference = "http://documents.trendmicro.com/assets/fastPOS-quick-and-easy-credit-card-theft.pdf"
13 | sample_filetype = "exe"
14 | strings:
15 | $string1 = "uniqyeidclaxemain"
16 | $string2 = "http://%s/cdosys.php"
17 | $string3 = "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"
18 | $string4 = "\\The Hook\\Release\\The Hook.pdb" nocase
19 | condition:
20 | all of ($string*)
21 | }
22 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Gamarue.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | rule Worm_Gamarue {
7 | meta:
8 | author = "Centro Criptológico Nacional (CCN)"
9 | ref = "https://www.ccn-cert.cni.es/informes/informes-ccn-cert-publicos.html"
10 | description = "Gamarue_Andromeda"
11 | strings:
12 | $a = { 69 E1 2A B0 2D 80 44 E3 2D 80 44 E3 2D 80 44 E3 EE 8F 1B E3 2A 80 44 E3 EE 8F 19 E3 3A 80 44 E3 2D 80 45 E3 CD 81 44 E3 0A 46 39 E3 34 80 44 E3 0A 46 29 E3 A5 80 44 E3 0A 46 2A E3 5C 80 44 E3 0A 46 36 E3 2C 80 44 E3 0A 46 3C E3 2C 80 44 E3 }
13 | condition:
14 | $a
15 | }
16 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Genome.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as
3 | long as you use it under this license.
4 | */
5 | rule genome {
6 | meta:
7 | author = "Brian Wallace @botnet_hunter"
8 | author_email = "bwall@ballastsecurity.net"
9 | date = "2014-09-07"
10 | description = "Identify Genome"
11 | strings:
12 | $s1 = "Attempting to create more than one keyboard::Monitor instance"
13 | $s2 = "{Right windows}"
14 | $s3 = "Access violation - no RTTI data!"
15 | condition:
16 | all of them
17 | }
18 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/GlassRAT.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as
3 | long as you use it under this license.
4 | */
5 | rule glassrat
6 | {
7 | meta:
8 | author = "Brian Wallace @botnet_hunter"
9 | strings:
10 | $a = "PostQuitMessage"
11 | $b = "pwlfnn10,gzg"
12 | $c = "update.dll"
13 | $d = "_winver"
14 | condition:
15 | all of them
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Gozi_Family.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 | rule GoziRule : Gozi Family {
6 | meta:
7 | description = "Win32.Gozi"
8 | author = "CCN-CERT"
9 | version = "1.0"
10 | ref = "https://www.ccn-cert.cni.es/informes/informes-ccn-cert-publicos.html"
11 | strings:
12 | $ = {63 00 6F 00 6F 00 6B 00 69 00 65 00 73 00 2E 00 73 00 71 00 6C 00 69 00 74 00 65 00 2D 00 6A 00 6F 00 75 00 72 00 6E 00 61 00 6C 00 00 00 4F 50 45 52 41 2E 45 58 45 00}
13 | condition:
14 | all of them
15 | }
16 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Grozlex.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 | rule Grozlex : Stealer
9 | {
10 | meta:
11 | author="Kevin Falcoz"
12 | date="20/08/2013"
13 | description="Grozlex Stealer - Possible HCStealer"
14 |
15 | strings:
16 | $signature={4C 00 6F 00 67 00 73 00 20 00 61 00 74 00 74 00 61 00 63 00 68 00 65 00 64 00 20 00 62 00 79 00 20 00 69 00 43 00 6F 00 7A 00 65 00 6E}
17 |
18 | condition:
19 | $signature
20 | }
21 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Havex_Memdump.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 | rule SANS_ICS_Cybersecurity_Challenge_400_Havex_Memdump
6 | {
7 | meta:
8 | description = "Detects Havex Windows process executable from memory dump"
9 | date = "2015-12-2"
10 | author = "Chris Sistrunk"
11 | hash = "8065674de8d79d1c0e7b3baf81246e7d"
12 | strings:
13 | $magic = { 4d 5a }
14 |
15 | $s1 = "~tracedscn.yls" fullword wide
16 | $s2 = "[!]Start" fullword wide
17 | $s3 = "[+]Get WSADATA" fullword wide
18 | $s4 = "[-]Can not get local ip" fullword wide
19 | $s5 = "[+]Local:" fullword wide
20 | $s6 = "[-]Threads number > Hosts number" fullword wide
21 | $s7 = "[-]Connection error" fullword wide
22 |
23 | $x1 = "bddd4e2b84fa2ad61eb065e7797270ff.exe" fullword wide
24 | condition:
25 | $magic at 0 and ( 3 of ($s*) or $x1 )
26 | }
27 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Kelihos.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 | rule KelihosHlux
9 | {
10 | meta:
11 | author = "@malpush"
12 | maltype = "KelihosHlux"
13 | description = "http://malwared.ru"
14 | date = "22/02/2014"
15 | strings:
16 | $KelihosHlux_HexString = { 73 20 7D 8B FE 95 E4 12 4F 3F 99 3F 6E C8 28 26 C2 41 D9 8F C1 6A 72 A6 CE 36 0F 73 DD 2A 72 B0 CC D1 07 8B 2B 98 73 0E 7E 8C 07 DC 6C 71 63 F4 23 27 DD 17 56 AE AB 1E 30 52 E7 54 51 F7 20 ED C7 2D 4B 72 E0 77 8E B4 D2 A8 0D 8D 6A 64 F9 B7 7B 08 70 8D EF F3 9A 77 F6 0D 88 3A 8F BB C8 89 F5 F8 39 36 BA 0E CB 38 40 BF 39 73 F4 01 DC C1 17 BF C1 76 F6 84 8F BD 87 76 BC 7F 85 41 81 BD C6 3F BC 39 BD C0 89 47 3E 92 BD 80 60 9D 89 15 6A C6 B9 89 37 C4 FF 00 3D 45 38 09 CD 29 00 90 BB B6 38 FD 28 9C 01 39 0E F9 30 A9 66 6B 19 C9 F8 4C 3E B1 C7 CB 1B C9 3A 87 3E 8E 74 E7 71 D1 }
17 |
18 | condition:
19 | $KelihosHlux_HexString
20 | }
21 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Lenovo_superfish.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 | /* LENOVO Superfish -------------------------------------------------------- */
9 |
10 | rule VisualDiscovery_Lonovo_Superfish_SSL_Hijack {
11 | meta:
12 | description = "Lenovo Superfish SSL Interceptor - file VisualDiscovery.exe"
13 | author = "Florian Roth / improved by kbandla"
14 | reference = "https://twitter.com/4nc4p/status/568325493558272000"
15 | date = "2015/02/19"
16 | hash1 = "99af9cfc7ab47f847103b5497b746407dc566963"
17 | hash2 = "f0b0cd0227ba302ac9ab4f30d837422c7ae66c46"
18 | hash3 = "f12edf2598d8f0732009c5cd1df5d2c559455a0b"
19 | hash4 = "343af97d47582c8150d63cbced601113b14fcca6"
20 | strings:
21 | $mz = { 4d 5a }
22 | //$s1 = "VisualDiscovery.exe" fullword wide
23 | $s2 = "Invalid key length used to initialize BlowFish." fullword ascii
24 | $s3 = "GetPCProxyHandler" fullword ascii
25 | $s4 = "StartPCProxy" fullword ascii
26 | $s5 = "SetPCProxyHandler" fullword ascii
27 | condition:
28 | ( $mz at 0 ) and filesize < 2MB and all of ($s*)
29 | }
30 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Leverage.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 | rule leverage_a
9 | {
10 | meta:
11 | author = "earada@alienvault.com"
12 | version = "1.0"
13 | description = "OSX/Leverage.A"
14 | date = "2013/09"
15 | strings:
16 | $a1 = "ioreg -l | grep \"IOPlatformSerialNumber\" | awk -F"
17 | $a2 = "+:Users:Shared:UserEvent.app:Contents:MacOS:"
18 | $a3 = "rm '/Users/Shared/UserEvent.app/Contents/Resources/UserEvent.icns'"
19 | $script1 = "osascript -e 'tell application \"System Events\" to get the hidden of every login item'"
20 | $script2 = "osascript -e 'tell application \"System Events\" to get the name of every login item'"
21 | $script3 = "osascript -e 'tell application \"System Events\" to get the path of every login item'"
22 | $properties = "serverVisible \x00"
23 | condition:
24 | all of them
25 | }
26 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/LostDoor.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 | rule lost_door : Trojan
9 | {
10 | meta:
11 | author="Kevin Falcoz"
12 | date="23/02/2013"
13 | description="Lost Door"
14 |
15 | strings:
16 | $signature1={45 44 49 54 5F 53 45 52 56 45 52} /*EDIT_SERVER*/
17 |
18 | condition:
19 | $signature1
20 | }
21 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/LuckyCat.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 | rule LuckyCatCode : LuckyCat Family
9 | {
10 | meta:
11 | description = "LuckyCat code tricks"
12 | author = "Seth Hardy"
13 | last_modified = "2014-06-19"
14 |
15 | strings:
16 | $xordecrypt = { BF 0F 00 00 00 F7 F7 ?? ?? ?? ?? 32 14 39 80 F2 7B }
17 | $dll = { C6 ?? ?? ?? 64 C6 ?? ?? ?? 6C C6 ?? ?? ?? 6C }
18 | $commonletters = { B? 63 B? 61 B? 73 B? 65 }
19 |
20 | condition:
21 | $xordecrypt or ($dll and $commonletters)
22 | }
23 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/MW_Ransomware_777.yar:
--------------------------------------------------------------------------------
1 | rule legion_777
2 | {
3 | meta:
4 | author = "Daxda (https://github.com/Daxda)"
5 | date = "2016/6/6"
6 | description = "Detects an UPX-unpacked .777 ransomware binary."
7 | ref = "https://github.com/Daxda/malware-analysis/tree/master/malware_samples/legion"
8 | category = "Ransomware"
9 | sample = "SHA256: 14d22359e76cf63bf17268cad24bac03663c8b2b8028b869f5cec10fe3f75548"
10 |
11 | strings:
12 | $s1 = "http://tuginsaat.com/wp-content/themes/twentythirteen/stats.php"
13 | $s2 = "read_this_file.txt" wide // Ransom note filename.
14 | $s3 = "seven_legion@india.com" // Part of the format string used to rename files.
15 | $s4 = {46 4f 52 20 44 45 43 52 59 50 54 20 46 49 4c 45 53 0d 0a 53 45 4e 44 20 4f
16 | 4e 45 20 46 49 4c 45 20 49 4e 20 45 2d 4d 41 49 4c 0d 0a 73 65 76 65 6e 5f
17 | 6c 65 67 69 6f 6e 40 69 6e 64 69 61 2e 63 6f 6d } // Ransom note content.
18 | $s5 = "%s._%02i-%02i-%02i-%02i-%02i-%02i_$%s$.777" // Renaming format string.
19 |
20 | condition:
21 | 4 of ($s*)
22 | }
23 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Madness.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as
3 | long as you use it under this license.
4 | */
5 |
6 | rule Madness {
7 | meta:
8 | author = "Jason Jones "
9 | date = "2014-01-15"
10 | description = "Identify Madness Pro DDoS Malware"
11 | source = "https://github.com/arbor/yara/blob/master/madness.yara"
12 | strings:
13 | $ua1 = "TW96aWxsYS81LjAgKFdpbmRvd3M7IFU7IFdpbmRvd3MgTlQgNS4xOyBlbi1VUzsgcnY6MS44LjAuNSkgR2Vja28vMjAwNjA3MzEgRmlyZWZveC8xLjUuMC41IEZsb2NrLzAuNy40LjE"
14 | $ua2 = "TW96aWxsYS81LjAgKFgxMTsgVTsgTGludXggMi40LjItMiBpNTg2OyBlbi1VUzsgbTE4KSBHZWNrby8yMDAxMDEzMSBOZXRzY2FwZTYvNi4wMQ=="
15 | $str1= "document.cookie=" fullword
16 | $str2 = "[\"cookie\",\"" fullword
17 | $str3 = "\"realauth=" fullword
18 | $str4 = "\"location\"];" fullword
19 | $str5 = "d3Rm" fullword
20 | $str6 = "ZXhl" fullword
21 | condition:
22 | all of them
23 | }
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Meterpreter_Reverse_Tcp.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 | rule Meterpreter_Reverse_Tcp {
6 | meta: // This is the standard backdoor/RAT from Metasploit, could be used by any actor
7 | author = "chort (@chort0)"
8 | description = "Meterpreter reverse TCP backdoor in memory. Tested on Win7x64."
9 | strings:
10 | $a = { 4d 45 54 45 52 50 52 45 54 45 52 5f 54 52 41 4e 53 50 4f 52 54 5f 53 53 4c [32-48] 68 74 74 70 73 3a 2f 2f 58 58 58 58 58 58 } // METERPRETER_TRANSPORT_SSL … https://XXXXXX
11 | $b = { 4d 45 54 45 52 50 52 45 54 45 52 5f 55 41 } // METERPRETER_UA
12 | $c = { 47 45 54 20 2f 31 32 33 34 35 36 37 38 39 20 48 54 54 50 2f 31 2e 30 } // GET /123456789 HTTP/1.0
13 | $d = { 6d 65 74 73 72 76 2e 64 6c 6c [2-4] 52 65 66 6c 65 63 74 69 76 65 4c 6f 61 64 65 72 } // metsrv.dll … ReflectiveLoader
14 |
15 | condition:
16 | $a or (any of ($b, $d) and $c)
17 | }
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/MiniAsp3_mem.yar:
--------------------------------------------------------------------------------
1 | rule MiniAsp3_mem {
2 | meta: author = "chort (@chort0)"
3 | description = "Detect MiniASP3 in memory"
4 | strings:
5 | $pdb = "MiniAsp3\\Release\\MiniAsp.pdb" fullword
6 | $httpAbout = "http://%s/about.htm" fullword
7 | $httpResult = "http://%s/result_%s.htm" fullword
8 | $msgInetFail = "open internet failed…" fullword
9 | $msgRunErr = "run error!" fullword
10 | $msgRunOk = "run ok!" fullword
11 | $msgTimeOutM0 = "time out,change to mode 0" fullword
12 | $msgCmdNull = "command is null!" fullword
13 | condition:
14 | ($pdb and (all of ($http*)) and any of ($msg*))
15 | }
16 |
17 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Miscelanea_RTF.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 |
9 | rule rtf_multiple
10 | {
11 | meta:
12 | author = "@patrickrolsen"
13 | maltype = "Multiple"
14 | version = "0.1"
15 | reference = "fd69a799e21ccb308531ce6056944842"
16 | date = "01/04/2014"
17 | strings:
18 | $rtf = { 7b 5c 72 74 ?? ?? } // {\rt01 {\rtf1 {\rtxa
19 | $string1 = "author user"
20 | $string2 = "title Vjkygdjdtyuj" nocase
21 | $string3 = "company ooo"
22 | $string4 = "password 00000000"
23 | condition:
24 | ($rtf at 0) and (all of ($string*))
25 | }
26 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Notepad.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 | rule TROJAN_Notepad {
9 | meta:
10 | Author = "RSA_IR"
11 | Date = "4Jun13"
12 | File = "notepad.exe v 1.1"
13 | MD5 = "106E63DBDA3A76BEEB53A8BBD8F98927"
14 | strings:
15 | $s1 = "75BAA77C842BE168B0F66C42C7885997"
16 | $s2 = "B523F63566F407F3834BCC54AAA32524"
17 | condition:
18 | $s1 or $s2
19 | }
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Olyx.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 | rule OlyxCode : Olyx Family
9 | {
10 | meta:
11 | description = "Olyx code tricks"
12 | author = "Seth Hardy"
13 | last_modified = "2014-06-19"
14 |
15 | strings:
16 | $six = { C7 40 04 36 36 36 36 C7 40 08 36 36 36 36 }
17 | $slash = { C7 40 04 5C 5C 5C 5C C7 40 08 5C 5C 5C 5C }
18 |
19 | condition:
20 | any of them
21 | }
22 |
23 | rule OlyxStrings : Olyx Family
24 | {
25 | meta:
26 | description = "Olyx Identifying Strings"
27 | author = "Seth Hardy"
28 | last_modified = "2014-06-19"
29 |
30 | strings:
31 | $ = "/Applications/Automator.app/Contents/MacOS/DockLight"
32 |
33 | condition:
34 | any of them
35 | }
36 |
37 | rule Olyx : Family
38 | {
39 | meta:
40 | description = "Olyx"
41 | author = "Seth Hardy"
42 | last_modified = "2014-06-19"
43 |
44 | condition:
45 | OlyxCode or OlyxStrings
46 | }
47 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/PE_File_pyinstaller.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 | import "pe"
6 |
7 | rule PE_File_pyinstaller
8 | {
9 | meta:
10 | author = "Didier Stevens (https://DidierStevens.com)"
11 | description = "Detect PE file produced by pyinstaller"
12 | strings:
13 | $a = "pyi-windows-manifest-filename"
14 | condition:
15 | pe.number_of_resources > 0 and $a
16 | }
17 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/POS_Easterjack.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as
3 | long as you use it under this license.
4 | */
5 | rule easterjackpos {
6 | meta:
7 | author = "Brian Wallace @botnet_hunter"
8 | author_email = "bwall@ballastsecurity.net"
9 | date = "2014-09-02"
10 | description = "Identify JackPOS"
11 | strings:
12 | $s1 = "updateinterval="
13 | $s2 = "cardinterval="
14 | $s3 = "{[!17!]}{[!18!]}"
15 | condition:
16 | all of them
17 | }
18 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/POS_LogPOS.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 | rule LogPOS
8 | {
9 | meta:
10 | author = "Morphick Security"
11 | description = "Detects Versions of LogPOS"
12 | md5 = "af13e7583ed1b27c4ae219e344a37e2b"
13 | strings:
14 | $mailslot = "\\\\.\\mailslot\\LogCC"
15 | $get = "GET /%s?encoding=%c&t=%c&cc=%I64d&process="
16 | //64A130000000 mov eax, dword ptr fs:[0x30]
17 | //8B400C mov eax, dword ptr [eax + 0xc]
18 | //8B401C mov eax, dword ptr [eax + 0x1c]
19 | //8B4008 mov eax, dword ptr [eax + 8]
20 | $sc = {64 A1 30 00 00 00 8B 40 0C 8B 40 1C 8B 40 08 }
21 | condition:
22 | $sc and 1 of ($mailslot,$get)
23 | }
24 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/POS_MalumPOS.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 | rule PoS_Malware_MalumPOS
9 | {
10 | meta:
11 | author = "Trend Micro, Inc."
12 | date = "2015-05-25"
13 | description = "Used to detect MalumPOS memory dumper"
14 | sample_filtype = "exe"
15 | strings:
16 | $string1 = "SOFTWARE\\Borland\\Delphi\\RTL"
17 | $string2 = "B)[0-9]{13,19}\\"
18 | $string3 = "[A-Za-z\\s]{0,30}\\/[A-Za-z\\s]{0,30}\\"
19 | $string4 = "TRegExpr(exec): ExecNext Without Exec[Pos]"
20 | $string5 = /Y:\\PROGRAMS\\.{20,300}\.pas/
21 | condition:
22 | all of ($string*)
23 | }
24 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/PittyTiger.yar:
--------------------------------------------------------------------------------
1 | rule PittyTiger {
2 | meta:
3 | author = " (@chort0)"
4 | description = "Detect PittyTiger Trojan via common strings"
5 | strings:
6 | $ptUserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.; SV1)" // missing minor digit
7 | $ptFC001 = "FC001" fullword
8 | $ptPittyTiger = "PittyTiger" fullword
9 | $trjHTMLerr = "trj:HTML Err." nocase fullword
10 | $trjworkFunc = "trj:workFunc start." nocase fullword
11 | $trjcmdtout = "trj:cmd time out." nocase fullword
12 | $trjThrtout = "trj:Thread time out." nocase fullword
13 | $trjCrPTdone = "trj:Create PT done." nocase fullword
14 | $trjCrPTerr = "trj:Create PT error: mutex already exists." nocase fullword
15 | $oddPippeFailed = "Create Pippe Failed!" fullword // extra 'p'
16 | $oddXferingFile = "Transfering File" fullword // missing 'r'
17 | $oddParasError = "put Paras Error:" fullword // abbreviated 'parameters'?
18 | $oddCmdTOutkilled = "Cmd Time Out..Cmd has been killed." fullword
19 | condition:
20 | (any of ($pt*)) and (any of ($trj*)) and (any of ($odd*))
21 | }
22 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Pony.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 | */
4 | rule pony {
5 | meta:
6 | author = "Brian Wallace @botnet_hunter"
7 | author_email = "bwall@ballastsecurity.net"
8 | date = "2014-08-16"
9 | description = "Identify Pony"
10 | strings:
11 | $s1 = "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}"
12 | $s2 = "YUIPWDFILE0YUIPKDFILE0YUICRYPTED0YUI1.0"
13 | $s3 = "POST %s HTTP/1.0"
14 | $s4 = "Accept-Encoding: identity, *;q=0"
15 |
16 | //$useragent1 = "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)"
17 | //$useragent2 = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/5.0)"
18 | condition:
19 | $s1 and $s2 and $s3 and $s4
20 | }
21 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/PubSab.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 | rule PubSabCode : PubSab Family
9 | {
10 | meta:
11 | description = "PubSab code tricks"
12 | author = "Seth Hardy"
13 | last_modified = "2014-06-19"
14 |
15 | strings:
16 | $decrypt = { 6B 45 E4 37 89 CA 29 C2 89 55 E4 }
17 |
18 | condition:
19 | any of them
20 | }
21 |
22 | rule PubSabStrings : PubSab Family
23 | {
24 | meta:
25 | description = "PubSab Identifying Strings"
26 | author = "Seth Hardy"
27 | last_modified = "2014-06-19"
28 |
29 | strings:
30 | $ = "_deamon_init"
31 | $ = "com.apple.PubSabAgent"
32 | $ = "/tmp/screen.jpeg"
33 |
34 | condition:
35 | any of them
36 | }
37 |
38 | rule PubSab : Family
39 | {
40 | meta:
41 | description = "PubSab"
42 | author = "Seth Hardy"
43 | last_modified = "2014-06-19"
44 |
45 | condition:
46 | PubSabCode or PubSabStrings
47 | }
48 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/RAT_Terminator.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 |
9 | rule TerminatorRat : rat
10 | {
11 | meta:
12 | description = "Terminator RAT"
13 | author = "Jean-Philippe Teissier / @Jipe_"
14 | date = "2013-10-24"
15 | filetype = "memory"
16 | version = "1.0"
17 | ref1 = "http://www.fireeye.com/blog/technical/malware-research/2013/10/evasive-tactics-terminator-rat.html"
18 |
19 | strings:
20 | $a = "Accelorator"
21 | $b = "12356"
22 |
23 | condition:
24 | all of them
25 | }
26 |
27 |
28 |
29 | rule TROJAN_Notepad_shell_crew {
30 | meta:
31 | author = "RSA_IR"
32 | Date = "4Jun13"
33 | File = "notepad.exe v 1.1"
34 | MD5 = "106E63DBDA3A76BEEB53A8BBD8F98927"
35 | strings:
36 | $s1 = "75BAA77C842BE168B0F66C42C7885997"
37 | $s2 = "B523F63566F407F3834BCC54AAA32524"
38 | condition:
39 | $s1 or $s2
40 | }
41 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Ransom_DMALocker.yar:
--------------------------------------------------------------------------------
1 | //more info at reversecodes.wordpress.com
2 | rule DMALocker
3 | {
4 | meta:
5 | Description = "Deteccion del ransomware DMA Locker desde la version 1.0 a la 4.0"
6 | ref = "https://blog.malwarebytes.org/threat-analysis/2016/02/dma-locker-a-new-ransomware-but-no-reason-to-panic/"
7 | Author = "SadFud"
8 | Date = "30/05/2016"
9 |
10 | strings:
11 | $uno = { 41 42 43 58 59 5a 31 31 }
12 | $dos = { 21 44 4d 41 4c 4f 43 4b }
13 | $tres = { 21 44 4d 41 4c 4f 43 4b 33 2e 30 }
14 | $cuatro = { 21 44 4d 41 4c 4f 43 4b 34 2e 30 }
15 |
16 | condition:
17 | any of them
18 |
19 | }
20 |
21 | //More at reversecodes.wordpress.com
22 | rule DMALocker4 {
23 |
24 | meta:
25 | Description = "Deteccion del ransomware DMA Locker version 4.0"
26 | ref = "https://blog.malwarebytes.org/threat-analysis/2016/02/dma-locker-a-new-ransomware-but-no-reason-to-panic/"
27 | Author = "SadFud"
28 | Date = "30/05/2016"
29 | Hash = "e3106005a0c026fc969b46c83ce9aeaee720df1bb17794768c6c9615f083d5d1"
30 |
31 | strings:
32 | $clave = { 21 44 4d 41 4c 4f 43 4b 34 2e 30 }
33 |
34 | condition:
35 | $clave
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Ransom_TeslaCrypt.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | rule TeslaCrypt {
7 | meta:
8 | description = "Regla para detectar Tesla con md5"
9 | author = "CCN-CERT"
10 | version = "1.0"
11 | strings:
12 | $ = { 4E 6F 77 20 69 74 27 73 20 25 49 3A 25 4D 25 70 2E 00 00 00 76 61 6C 20 69 73 20 25 64 0A 00 00 }
13 | condition:
14 | all of them
15 | }
16 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Ransomware_Locky.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | /*
7 | Yara Rule Set
8 | Author: Florian Roth
9 | Date: 2016-02-17
10 | Identifier: Locky
11 | */
12 |
13 | rule Locky_Ransomware {
14 | meta:
15 | description = "Detects Locky Ransomware (matches also on Win32/Kuluoz)"
16 | author = "Florian Roth (with the help of binar.ly)"
17 | reference = "https://goo.gl/qScSrE"
18 | date = "2016-02-17"
19 | hash = "5e945c1d27c9ad77a2b63ae10af46aee7d29a6a43605a9bfbf35cebbcff184d8"
20 | strings:
21 | $o1 = { 45 b8 99 f7 f9 0f af 45 b8 89 45 b8 } // address=0x4144a7
22 | $o2 = { 2b 0a 0f af 4d f8 89 4d f8 c7 45 } // address=0x413863
23 | condition:
24 | all of ($o*)
25 | }
26 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Ransomware_Petya.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | /*
7 | Yara Rule Set
8 | Author: Florian Roth
9 | Date: 2016-03-24
10 | Identifier: Petya Ransomware
11 | */
12 |
13 | /* Rule Set ----------------------------------------------------------------- */
14 |
15 | rule Petya_Ransomware {
16 | meta:
17 | description = "Detects Petya Ransomware"
18 | author = "Florian Roth"
19 | reference = "http://www.heise.de/newsticker/meldung/Erpressungs-Trojaner-Petya-riegelt-den-gesamten-Rechner-ab-3150917.html"
20 | date = "2016-03-24"
21 | hash = "26b4699a7b9eeb16e76305d843d4ab05e94d43f3201436927e13b3ebafa90739"
22 | strings:
23 | $a1 = "WinRAR SFX module" fullword ascii
24 |
25 | $s1 = "BX-Proxy-Manual-Auth" fullword wide
26 | $s2 = "" fullword ascii
27 | $s3 = "X-HTTP-Attempts" fullword wide
28 | $s4 = "@CommandLineMode" fullword wide
29 | $s5 = "X-Retry-After" fullword wide
30 | condition:
31 | uint16(0) == 0x5a4d and filesize < 500KB and $a1 and 3 of ($s*)
32 | }
33 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Retefe.yar:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
4 |
5 | */
6 |
7 | rule Retefe
8 | {
9 | meta:
10 | author = "bartblaze"
11 | description = "Retefe"
12 | strings:
13 | $string0 = "01050000"
14 | $string1 = "00000000"
15 | $string2 = "5061636b61676500"
16 | $string3 = "000000000000000000000000000000000000000000000000000000000000000000000000000000"
17 | $string4 = "{\\stylesheet{ Normal;}{\\s1 heading 1;}{\\s2 heading 2;}}"
18 | $string5 = "02000000"
19 | condition:
20 | 5 of them
21 | }
22 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Rockloader.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | /*
7 | Description: Rar file with a .js inside
8 | Author: iHeartMalware
9 | Priority: 5
10 | Scope: Against Attachment
11 | Tags: http://phishme.com/rockloader-new-upatre-like-downloader-pushed-dridex-downloads-malwares/
12 | Created in PhishMe Triage on April 7, 2016 3:41 PM
13 | */
14 |
15 | rule rar_with_js
16 | {
17 | strings:
18 | $h1 = "Rar!"
19 | $s1 = ".js" nocase
20 |
21 | condition:
22 | $h1 at 0 and $s1
23 | }
24 |
25 |
26 |
27 | rule RockLoader{
28 | meta:
29 | name = "RockLoader"
30 | description = "RockLoader Malware"
31 | author = "@seanmw"
32 | strings:
33 | $hdr = {4d 5a 90 00}
34 | $op1 = {39 45 f0 0f 8e b0 00 00 00}
35 | $op2 = {32 03 77 73 70 72 69 6e 74 66 41 00 ce 02 53 65}
36 | condition:
37 | $hdr at 0 and all of ($op*) and filesize < 500KB
38 | }
39 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/ShadowTech.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 | rule ShadowTech_2
9 | {
10 | meta:
11 | description = "ShadowTech RAT"
12 | author = "botherder https://github.com/botherder"
13 |
14 | strings:
15 | $string1 = /\#(S)trings/
16 | $string2 = /\#(G)UID/
17 | $string3 = /\#(B)lob/
18 | $string4 = /(S)hadowTech Rat\.exe/
19 | $string5 = /(S)hadowTech_Rat/
20 |
21 | condition:
22 | all of them
23 | }
24 | rule ShadowTech
25 | {
26 | meta:
27 | author = " Kevin Breen "
28 | date = "2014/04"
29 | ref = "http://malwareconfig.com/stats/ShadowTech"
30 | maltype = "Remote Access Trojan"
31 | filetype = "exe"
32 |
33 | strings:
34 | $a = "ShadowTech" nocase
35 | $b = "DownloadContainer"
36 | $c = "MySettings"
37 | $d = "System.Configuration"
38 | $newline = "#-@NewLine@-#" wide
39 | $split = "pSIL" wide
40 | $key = "ESIL" wide
41 |
42 | condition:
43 | 4 of them
44 | }
45 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Shamoon.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 |
9 | rule CrowdStrike_Shamoon_DroppedFile {
10 | meta:
11 | description = "Rule to detect Shamoon malware http://goo.gl/QTxohN"
12 | reference = "http://www.rsaconference.com/writable/presentations/file_upload/exp-w01-hacking-exposed-day-of-destruction.pdf"
13 | strings:
14 | $testn123 = "test123" wide
15 | $testn456 = "test456" wide
16 | $testn789 = "test789" wide
17 | $testdomain = "testdomain.com" wide $pingcmd = "ping -n 30 127.0.0.1 >nul" wide
18 | condition:
19 | (any of ($testn*) or $pingcmd) and $testdomain
20 | }
21 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Stealer.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 | rule universal_1337_stealer_serveur : Stealer
9 | {
10 | meta:
11 | author="Kevin Falcoz"
12 | date="24/02/2013"
13 | description="Universal 1337 Stealer Serveur"
14 |
15 | strings:
16 | $signature1={2A 5B 53 2D 50 2D 4C 2D 49 2D 54 5D 2A} /*[S-P-L-I-T]*/
17 | $signature2={2A 5B 48 2D 45 2D 52 2D 45 5D 2A} /*[H-E-R-E]*/
18 | $signature3={46 54 50 7E} /*FTP~*/
19 | $signature4={7E 31 7E 31 7E 30 7E 30} /*~1~1~0~0*/
20 |
21 | condition:
22 | $signature1 and $signature2 or $signature3 and $signature4
23 | }
24 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/TreasureHunt.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | rule TreasureHunt
7 | {
8 | meta:
9 | author = "Minerva Labs"
10 | ref ="http://www.minerva-labs.com/#!Cybercriminals-Adopt-the-Mossad-Emblem/c7a5/573da2d60cf2f90ca6f6e3ed"
11 | date = "2016/06"
12 | maltype = "Point of Sale (POS) Malware"
13 | filetype = "exe"
14 |
15 | strings:
16 | $a = "treasureHunter.pdb"
17 | $b = "jucheck"
18 | $c = "cmdLineDecrypted"
19 |
20 | condition:
21 | all of them
22 | }
23 |
24 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Turla.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 | rule WaterBug_turla_dll
9 | {
10 | meta:
11 | description = "Symantec Waterbug Attack - Trojan Turla DLL"
12 | author = "Symantec Security Response"
13 | date = "22.01.2015"
14 | reference = "http://www.symantec.com/connect/blogs/turla-spying-tool-targets-governments-and-diplomats"
15 |
16 | strings:
17 | $a = /([A-Za-z0-9]{2,10}_){,2}Win32\.dll\x00/
18 |
19 | condition:
20 | pe.exports("ee") and $a
21 | }
22 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Urausy.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 | rule urausy_skype_dat {
9 | meta:
10 | author = "AlienVault Labs"
11 | description = "Yara rule to match against memory of processes infected by Urausy skype.dat"
12 | strings:
13 | $a = "skype.dat" ascii wide
14 | $b = "skype.ini" ascii wide
15 | $win1 = "CreateWindow"
16 | $win2 = "YIWEFHIWQ" ascii wide
17 | $desk1 = "CreateDesktop"
18 | $desk2 = "MyDesktop" ascii wide
19 | condition:
20 | $a and $b and (all of ($win*) or all of ($desk*))
21 | }
22 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/W32_NionSpy.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 | rule NionSpy
6 | {
7 | meta:
8 | description = "Triggers on old and new variants of W32/NionSpy file infector"
9 | reference = "https://blogs.mcafee.com/mcafee-labs/taking-a-close-look-at-data-stealing-nionspy-file-infector"
10 | strings:
11 | $variant2015_infmarker = "aCfG92KXpcSo4Y94BnUrFmnNk27EhW6CqP5EnT"
12 | $variant2013_infmarker = "ad6af8bd5835d19cc7fdc4c62fdf02a1"
13 | $variant2013_string = "%s?cstorage=shell&comp=%s"
14 | condition:
15 | uint16(0) == 0x5A4D and uint32(uint32(0x3C)) == 0x00004550 and 1 of ($variant*)
16 | }
17 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Wabot.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 | rule Wabot : Worm
6 | {
7 | meta:
8 | author="Kevin Falcoz"
9 | date="14/08/2015"
10 | description="Wabot Trojan Worm"
11 |
12 | strings:
13 | $signature1={43 3A 5C 6D 61 72 69 6A 75 61 6E 61 2E 74 78 74}
14 | $signature2={73 49 52 43 34}
15 |
16 | condition:
17 | $signature1 and $signature2
18 | }
19 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Warp.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 | rule WarpCode : Warp Family
9 | {
10 | meta:
11 | description = "Warp code features"
12 | author = "Seth Hardy"
13 | last_modified = "2014-07-10"
14 |
15 | strings:
16 | // character replacement
17 | $ = { 80 38 2B 75 03 C6 00 2D 80 38 2F 75 03 C6 00 5F }
18 |
19 | condition:
20 | any of them
21 | }
22 |
23 | rule WarpStrings : Warp Family
24 | {
25 | meta:
26 | description = "Warp Identifying Strings"
27 | author = "Seth Hardy"
28 | last_modified = "2014-07-10"
29 |
30 | strings:
31 | $ = "/2011/n325423.shtml?"
32 | $ = "wyle"
33 | $ = "\\~ISUN32.EXE"
34 |
35 | condition:
36 | any of them
37 | }
38 |
39 | rule Warp : Family
40 | {
41 | meta:
42 | description = "Warp"
43 | author = "Seth Hardy"
44 | last_modified = "2014-07-10"
45 |
46 | condition:
47 | WarpCode or WarpStrings
48 | }
49 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Win32_Buzus_Softpulse.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | rule Win32_Buzus_Softpulse {
7 | meta:
8 | description = "Trojan Buzus / Softpulse"
9 | author = "Florian Roth"
10 | date = "2015-05-13"
11 | hash = "2f6df200e63a86768471399a74180466d2e99ea9"
12 | score = 75
13 | strings:
14 | $x1 = "pi4izd6vp0.com" fullword ascii
15 |
16 | $s1 = "SELECT * FROM Win32_Process" fullword wide
17 | $s4 = "CurrentVersion\\Uninstall\\avast" fullword wide
18 | $s5 = "Find_RepeatProcess" fullword ascii
19 | $s6 = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\" fullword wide
20 | $s7 = "myapp.exe" fullword ascii
21 | $s14 = "/c ping -n 1 www.google" wide
22 | condition:
23 | uint16(0) == 0x5a4d and
24 | (
25 | ( $x1 and 2 of ($s*) ) or
26 | all of ($s*)
27 | )
28 | }
29 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/XOR_DDosv1.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | rule XOR_DDosv1 : DDoS
7 | {
8 | meta:
9 | author = "Akamai CSIRT"
10 | description = "Rule to detect XOR DDos infection"
11 | strings:
12 | $st0 = "BB2FA36AAA9541F0"
13 | $st1 = "md5="
14 | $st2 = "denyip="
15 | $st3 = "filename="
16 | $st4 = "rmfile="
17 | $st5 = "exec_packet"
18 | $st6 = "build_iphdr"
19 | condition:
20 | all of them
21 | }
22 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Yayih.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 | rule YayihCode : Yayih Family
9 | {
10 | meta:
11 | description = "Yayih code features"
12 | author = "Seth Hardy"
13 | last_modified = "2014-07-11"
14 |
15 | strings:
16 | // encryption
17 | $ = { 80 04 08 7A 03 C1 8B 45 FC 80 34 08 19 03 C1 41 3B 0A 7C E9 }
18 |
19 | condition:
20 | any of them
21 | }
22 |
23 | rule YayihStrings : Yayih Family
24 | {
25 | meta:
26 | description = "Yayih Identifying Strings"
27 | author = "Seth Hardy"
28 | last_modified = "2014-07-11"
29 |
30 | strings:
31 | $ = "/bbs/info.asp"
32 | $ = "\\msinfo.exe"
33 | $ = "%s\\%srcs.pdf"
34 | $ = "\\aumLib.ini"
35 |
36 | condition:
37 | any of them
38 | }
39 |
40 | rule Yayih : Family
41 | {
42 | meta:
43 | description = "Yayih"
44 | author = "Seth Hardy"
45 | last_modified = "2014-07-11"
46 |
47 | condition:
48 | YayihCode or YayihStrings
49 | }
50 |
51 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Zegost.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 | rule Zegost : Trojan
9 | {
10 | meta:
11 | author="Kevin Falcoz"
12 | date="10/06/2013"
13 | description="Zegost Trojan"
14 |
15 | strings:
16 | $signature1={39 2F 66 33 30 4C 69 35 75 62 4F 35 44 4E 41 44 44 78 47 38 73 37 36 32 74 71 59 3D}
17 | $signature2={00 BA DA 22 51 42 6F 6D 65 00}
18 |
19 | condition:
20 | $signature1 and $signature2
21 | }
22 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/Zeus.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 | rule Windows_Malware : Zeus_1134
9 | {
10 | meta:
11 | author = "Xylitol xylitol@malwareint.com"
12 | date = "2014-03-03"
13 | description = "Match first two bytes, protocol and string present in Zeus 1.1.3.4"
14 | reference = "http://www.xylibox.com/2014/03/zeus-1134.html"
15 |
16 | strings:
17 | $mz = {4D 5A}
18 | $protocol1 = "X_ID: "
19 | $protocol2 = "X_OS: "
20 | $protocol3 = "X_BV: "
21 | $stringR1 = "InitializeSecurityDescriptor"
22 | $stringR2 = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1)"
23 | condition:
24 | ($mz at 0 and all of ($protocol*) and ($stringR1 or $stringR2))
25 | }
26 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/ZoxPNG.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 | rule zoxPNG_RAT
9 | {
10 | meta:
11 | Author = "Novetta Advanced Research Group"
12 | Date = "2014/11/14"
13 | Description = "ZoxPNG RAT, url inside"
14 | Reference = "http://www.novetta.com/wp-content/uploads/2014/11/ZoxPNG.pdf"
15 |
16 | strings:
17 | $url = "png&w=800&h=600&ei=CnJcUcSBL4rFkQX444HYCw&zoom=1&ved=1t:3588,r:1,s:0,i:92&iact=rc&dur=368&page=1&tbnh=184&tbnw=259&start=0&ndsp=20&tx=114&ty=58"
18 |
19 | condition:
20 | $url
21 | }
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/backoff.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as
3 | long as you use it under this license.
4 | */
5 | rule backoff {
6 | meta:
7 | author = "Brian Wallace @botnet_hunter"
8 | author_email = "bwall@ballastsecurity.net"
9 | date = "2014-08-21"
10 | description = "Identify Backoff"
11 | strings:
12 | $s1 = "&op=%d&id=%s&ui=%s&wv=%d&gr=%s&bv=%s"
13 | $s2 = "%s @ %s"
14 | $s3 = "Upload KeyLogs"
15 | condition:
16 | all of them
17 | }
18 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/dubrute.yar:
--------------------------------------------------------------------------------
1 | rule dubrute : bruteforcer
2 | {
3 | meta:
4 | author = "Christian Rebischke (@sh1bumi)"
5 | date = "2015-09-05"
6 | description = "Rules for DuBrute Bruteforcer"
7 | in_the_wild = true
8 | family = "Hackingtool/Bruteforcer"
9 |
10 | strings:
11 | $a = "WBrute"
12 | $b = "error.txt"
13 | $c = "good.txt"
14 | $d = "source.txt"
15 | $e = "bad.txt"
16 | $f = "Generator IP@Login;Password"
17 |
18 | condition:
19 | //check for MZ Signature at offset 0
20 | uint16(0) == 0x5A4D
21 |
22 | and
23 |
24 | //check for dubrute specific strings
25 | $a and $b and $c and $d and $e and $f
26 | }
27 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/exploit_cve_2015_1701.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | rule CVE_2015_1701_Taihou {
7 | meta:
8 | description = "CVE-2015-1701 compiled exploit code"
9 | author = "Florian Roth"
10 | reference = "http://goo.gl/W4nU0q"
11 | date = "2015-05-13"
12 | hash1 = "90d17ebd75ce7ff4f15b2df951572653efe2ea17"
13 | hash2 = "acf181d6c2c43356e92d4ee7592700fa01e30ffb"
14 | hash3 = "b8aabe12502f7d55ae332905acee80a10e3bc399"
15 | hash4 = "d9989a46d590ebc792f14aa6fec30560dfe931b1"
16 | hash5 = "63d1d33e7418daf200dc4660fc9a59492ddd50d9"
17 | score = 70
18 | strings:
19 | $s3 = "VirtualProtect" fullword
20 | $s4 = "RegisterClass"
21 | $s5 = "LoadIcon"
22 | $s6 = "PsLookupProcessByProcessId" fullword ascii
23 | $s7 = "LoadLibraryExA" fullword ascii
24 | $s8 = "gSharedInfo" fullword
25 |
26 | $w1 = "user32.dll" wide
27 | $w2 = "ntdll" wide
28 | condition:
29 | uint16(0) == 0x5a4d and filesize < 160KB and all of ($s*) and 1 of ($w*)
30 | }
31 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/favorite.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 |
8 | rule FavoriteCode : Favorite Family
9 | {
10 | meta:
11 | description = "Favorite code features"
12 | author = "Seth Hardy"
13 | last_modified = "2014-06-24"
14 |
15 | strings:
16 | // standard string hiding
17 | $ = { C6 45 ?? 3B C6 45 ?? 27 C6 45 ?? 34 C6 45 ?? 75 C6 45 ?? 6B C6 45 ?? 6C C6 45 ?? 3B C6 45 ?? 2F }
18 | $ = { C6 45 ?? 6F C6 45 ?? 73 C6 45 ?? 73 C6 45 ?? 76 C6 45 ?? 63 C6 45 ?? 65 C6 45 ?? 78 C6 45 ?? 65 }
19 |
20 | condition:
21 | any of them
22 | }
23 |
24 | rule FavoriteStrings : Favorite Family
25 | {
26 | meta:
27 | description = "Favorite Identifying Strings"
28 | author = "Seth Hardy"
29 | last_modified = "2014-06-24"
30 |
31 | strings:
32 | $string1 = "!QAZ4rfv"
33 | $file1 = "msupdater.exe"
34 | $file2 = "FAVORITES.DAT"
35 |
36 | condition:
37 | any of ($string*) or all of ($file*)
38 | }
39 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/generic_exe2hex_payload.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | /*
7 | Yara Rule Set
8 | Author: Florian Roth
9 | Date: 2016-01-15
10 | Identifier: Exe2hex
11 | */
12 |
13 | rule Payload_Exe2Hex {
14 | meta:
15 | description = "Detects payload generated by exe2hex"
16 | author = "Florian Roth"
17 | reference = "https://github.com/g0tmi1k/exe2hex"
18 | date = "2016-01-15"
19 | score = 70
20 | strings:
21 | $a1 = "set /p \"=4d5a" ascii
22 | $a2 = "powershell -Command \"$hex=" ascii
23 | $b1 = "set+%2Fp+%22%3D4d5" ascii
24 | $b2 = "powershell+-Command+%22%24hex" ascii
25 | $c1 = "echo 4d 5a " ascii
26 | $c2 = "echo r cx >>" ascii
27 | $d1 = "echo+4d+5a+" ascii
28 | $d2 = "echo+r+cx+%3E%3E" ascii
29 | condition:
30 | all of ($a*) or all of ($b*) or all of ($c*) or all of ($d*)
31 | }
32 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/jRAT.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | import "pe"
7 | rule jRAT_conf : rat
8 | {
9 | meta:
10 | description = "jRAT configuration"
11 | author = "Jean-Philippe Teissier / @Jipe_"
12 | date = "2013-10-11"
13 | filetype = "memory"
14 | version = "1.0"
15 | ref1 = "https://github.com/MalwareLu/config_extractor/blob/master/config_jRAT.py"
16 | ref2 = "http://www.ghettoforensics.com/2013/10/dumping-malware-configuration-data-from.html"
17 |
18 | strings:
19 | $a = /port=[0-9]{1,5}SPLIT/
20 |
21 | condition:
22 | $a
23 | }
24 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/js_obfuscator.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 | rule jjEncode
6 | {
7 | meta:
8 | description = "jjencode detection"
9 | ref = "http://blog.xanda.org/2015/06/10/yara-rule-for-jjencode/"
10 | author = "adnan.shukor@gmail.com"
11 | date = "10-June-2015"
12 | version = "1"
13 | impact = 3
14 | hide = false
15 | strings:
16 | $jjencode = /(\$|[\S]+)=~\[\]\;(\$|[\S]+)\=\{[\_]{3}\:[\+]{2}(\$|[\S]+)\,[\$]{4}\:\(\!\[\]\+["]{2}\)[\S]+/ fullword
17 | condition:
18 | $jjencode
19 | }
20 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/kraken_bot1.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | rule Kraken_Bot_Sample {
7 | meta:
8 | description = "Kraken Bot Sample - file inf.bin"
9 | author = "Florian Roth"
10 | reference = "https://blog.gdatasoftware.com/blog/article/dissecting-the-kraken.html"
11 | date = "2015-05-07"
12 | hash = "798e9f43fc199269a3ec68980eb4d91eb195436d"
13 | score = 90
14 | strings:
15 | $s2 = "%s=?getname" fullword ascii
16 | $s4 = "&COMPUTER=^" fullword ascii
17 | $s5 = "xJWFwcGRhdGElAA=" fullword ascii /* base64 encoded string '%appdata%' */
18 | $s8 = "JVdJTkRJUi" fullword ascii /* base64 encoded string '%WINDIR' */
19 | $s20 = "btcplug" fullword ascii
20 | condition:
21 | uint16(0) == 0x5a4d and all of them
22 | }
23 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/pyinstaller.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 | */
4 |
5 | import "pe"
6 |
7 | rule PE_File_pyinstaller
8 | {
9 | meta:
10 | author = "Didier Stevens (https://DidierStevens.com)"
11 | description = "Detect PE file produced by pyinstaller"
12 | reference = "https://isc.sans.edu/diary/21057"
13 | strings:
14 | $a = "pyi-windows-manifest-filename"
15 | condition:
16 | pe.number_of_resources > 0 and $a
17 | }
18 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/rovnix_downloader_sinkhole_check.yar:
--------------------------------------------------------------------------------
1 | rule rovnix_downloader
2 | {
3 | meta:
4 | author="Intel Security"
5 | description="Rovnix downloader with sinkhole checks"
6 | reference = "https://blogs.mcafee.com/mcafee-labs/rovnix-downloader-sinkhole-time-checks/"
7 | strings:
8 | $sink1= "control"
9 | $sink2 = "sink"
10 | $sink3 = "hole"
11 | $sink4= "dynadot"
12 | $sink5= "block"
13 | $sink6= "malw"
14 | $sink7= "anti"
15 | $sink8= "googl"
16 | $sink9= "hack"
17 | $sink10= "trojan"
18 | $sink11= "abuse"
19 | $sink12= "virus"
20 | $sink13= "black"
21 | $sink14= "spam"
22 | $boot= "BOOTKIT_DLL.dll"
23 | $mz = { 4D 5A }
24 | condition:
25 | $mz in (0..2) and all of ($sink*) and $boot
26 | }
27 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/sqlite.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 | */
4 |
5 | rule with_sqlite : sqlite
6 | {
7 | meta:
8 | author = "Julian J. Gonzalez "
9 | reference = "http://www.st2labs.com"
10 | description = "Rule to detect the presence of SQLite data in raw image"
11 | strings:
12 | $hex_string = {53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00}
13 | condition:
14 | all of them
15 | }
16 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/ssh_backdoor.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | rule custom_ssh_backdoor_server {
7 | meta:
8 | description = "Custome SSH backdoor based on python and paramiko - file server.py"
9 | author = "Florian Roth"
10 | reference = "https://goo.gl/S46L3o"
11 | date = "2015-05-14"
12 | hash = "0953b6c2181249b94282ca5736471f85d80d41c9"
13 | strings:
14 | $s0 = "command= raw_input(\"Enter command: \").strip('n')" fullword ascii
15 | $s1 = "print '[-] (Failed to load moduli -- gex will be unsupported.)'" fullword ascii
16 | $s2 = "print '[-] Listen/bind/accept failed: ' + str(e)" fullword ascii
17 | $s3 = "chan.send(command)" fullword ascii
18 | $s4 = "print '[-] SSH negotiation failed.'" fullword ascii
19 | $s5 = "except paramiko.SSHException, x:" fullword ascii
20 | condition:
21 | filesize < 10KB and 5 of them
22 | }
23 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/tedroo.yar:
--------------------------------------------------------------------------------
1 | /*
2 | This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license.
3 |
4 | */
5 |
6 | rule Tedroo : Spammer
7 | {
8 | meta:
9 | author="Kevin Falcoz"
10 | date="22/11/2015"
11 | description="Tedroo Spammer"
12 |
13 | strings:
14 | $signature1={25 73 25 73 2E 65 78 65}
15 | $signature2={5F 6C 6F 67 2E 74 78 74}
16 |
17 | condition:
18 | $signature1 and $signature2
19 | }
20 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/wineggdrop.yar:
--------------------------------------------------------------------------------
1 | rule wineggdrop : portscanner
2 | {
3 | meta:
4 | author = "Christian Rebischke (@sh1bumi)"
5 | date = "2015-09-05"
6 | description = "Rules for TCP Portscanner VX.X by WinEggDrop"
7 | in_the_wild = true
8 | family = "Hackingtool/Portscanner"
9 |
10 | strings:
11 | $a = { 54 43 50 20 50 6f 72 74 20 53 63 61 6e 6e 65 72
12 | 20 56 3? 2e 3? 20 42 79 20 57 69 6e 45 67 67 44
13 | 72 6f 70 0a }
14 | $b = "Result.txt"
15 | $c = "Usage: %s TCP/SYN StartIP [EndIP] Ports [Threads] [/T(N)] [/(H)Banner] [/Save]\n"
16 |
17 | condition:
18 | //check for MZ Signature at offset 0
19 | uint16(0) == 0x5A4D
20 |
21 | and
22 |
23 | //check for wineggdrop specific strings
24 | $a and $b and $c
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/rules/malware/xRAT.yar:
--------------------------------------------------------------------------------
1 | rule xRAT
2 | {
3 | meta:
4 | author = " Kevin Breen "
5 | date = "2014/04"
6 | ref = "http://malwareconfig.com/stats/xRat"
7 | maltype = "Remote Access Trojan"
8 | filetype = "exe"
9 |
10 | strings:
11 | $v1a = "DecodeProductKey"
12 | $v1b = "StartHTTPFlood"
13 | $v1c = "CodeKey"
14 | $v1d = "MESSAGEBOX"
15 | $v1e = "GetFilezillaPasswords"
16 | $v1f = "DataIn"
17 | $v1g = "UDPzSockets"
18 | $v1h = {52 00 54 00 5F 00 52 00 43 00 44 00 41 00 54 00 41}
19 |
20 | $v2a = "k__BackingField"
21 | $v2b = "k__BackingField"
22 | $v2c = "DownloadAndExecute"
23 | $v2d = "-CHECK & PING -n 2 127.0.0.1 & EXIT" wide
24 | $v2e = "england.png" wide
25 | $v2f = "Showed Messagebox" wide
26 | condition:
27 | all of ($v1*) or all of ($v2*)
28 | }
29 |
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/yara_testImportsMsgBox.yar:
--------------------------------------------------------------------------------
1 | import "pe"
2 | rule imports : imp
3 | {
4 | meta:
5 | description = "This is an example"
6 | thread_level = 3
7 | in_the_wild = true
8 |
9 | condition:
10 | pe.imports("kernel32.dll", "TerminateProcess") or pe.imports("user32.dll", "MessageBoxW")
11 | or pe.imports("user32.dll", "testtests")
12 | }
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/Yara/yara_testStringMsgBox.yar:
--------------------------------------------------------------------------------
1 | rule msg_box : test
2 | {
3 | meta:
4 | description = "This is an example"
5 | thread_level = 3
6 | in_the_wild = true
7 | strings:
8 | $a = {E9 B6 15 00 00 E9 71 03 00 00 E9 3C 14 00 00}
9 | $b = "Hello"
10 | condition:
11 | $a or $b
12 | }
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumDependencies/config.json:
--------------------------------------------------------------------------------
1 | {
2 | //General Configuration Path
3 | "results_path": "C:\\pin\\PINdemoniumResults\\", // path where the results of the unpacking will be put
4 | "dependecies_path": "C:\\pin\\PINdemoniumDependencies\\", // path containing the dependecies of Pindemonium
5 | "plugins_path": "C:\\pin\\PINdemoniumPlugins\\" , // path containing plugins for IAT fixing
6 |
7 | //Configuration Files inside the results_path folder
8 | "log_filename": "log_PINdemonium.txt", //log of the Pindemonium execution
9 | "report_filename": "report_PINdemonium.txt", //report json file containing structed information of the execution
10 | "not_working_directory": "NotWorking\\", //directory containing not working dumps
11 |
12 | //Configuration Parameters Default
13 | "filtered_writes": "teb stack", //memory area where writes to are not tracked Possible values:
14 | "timeout" : 120, //Timeout after last dump determining the end of unpacking
15 |
16 | "yara_exe_path": "C:\\pin\\PINdemoniumDependencies\\Yara\\yara32.exe",
17 | "yara_rules_path": "C:\\pin\\PINdemoniumDependencies\\Yara\\yara_rules.yar"
18 |
19 | }
--------------------------------------------------------------------------------
/src/PINdemonium/PINdemoniumResults/dummy_test.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/necst/arancino/7de9dd89c22de2d44a8682ce162e6fb900c8a4ad/src/PINdemonium/PINdemoniumResults/dummy_test.txt
--------------------------------------------------------------------------------
/src/PINdemonium/PINshield.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "Pin.h"
3 | #include "Debug.h"
4 | #include "Log.h"
5 | #include "FilterHandler.h"
6 | #include "PatternMatchModule.h"
7 | #include "FakeReadHandler.h"
8 | #include "FakeWriteHandler.h"
9 |
10 | namespace W {
11 | #include
12 | }
13 |
14 | class PINshield
15 | {
16 | public:
17 | PINshield(void);
18 | ~PINshield(void);
19 | void avoidEvasion(INS ins);
20 |
21 | private:
22 | PatternMatchModule evasionPatcher;
23 | FakeReadHandler fakeMemH;
24 | FakeWriteHandler fakeWriteH;
25 | BOOL firstRead;
26 | void ScanForMappedFiles();
27 | };
28 |
29 |
--------------------------------------------------------------------------------
/src/PINdemonium/PatternMatchModule.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "pin.h"
4 | #include