We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Comparing the incomparables

00:00

Formal Metadata

Title
Comparing the incomparables
Title of Series
Part Number
17
Number of Parts
29
Author
License
CC Attribution 3.0 Germany:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
It is common belief that APT groups are masters of exploitation. If anyone, they should know everything about it, right? Our research into the real world uses of the CVE-2014-1761 vulnerability shows that it is far from being true. It is a common practice in the anti-malware world that the security products are compared to each other in comparative tests. Even the tests themselves can be evaluated by the criteria of the Anti-Malware Testing Standards Organization. The only players, who are not rated, are the malware authors. This is for a good reason: their activities cover a wide range of operations, that don’t fully match and can’t be exactly measured. The deep analysis of the samples using the CVE-2014-1761 vulnerability gave us a rare opportunity to compare the skills of a few different malware author groups. This is not a full and comprehensive test, but given the complexity of the exploit we could estimate the skills only in a very narrow slice of the full set: the understanding of the exploit. But the situation is the same as with any other test: if you know exactly what you are measuring, you can make valid conclusions. The presentation will detail the exploitation process, explaining the role and implementation of the RTF elements used in the process, the ROP chain and the shellcodes. We will investigate the different malware families that were using this vulnerability, and discuss the depth of modification into the exploit. This will give us a chance to rate the understanding and exploiting skill of the authors behind these malware families. The comparative analysis gave an opportunity to draw a relationship chart between the different malware families, showing strong correlation with previously known intelligence, and adding a couple of new relations. The final purpose of the comparative analysis is to understand the strengths and weaknesses of our enemies in the cyber warfare. The more we know about them, the greater our chances are for successful defense.
Statistical hypothesis testingReliefStatistical hypothesis testingMalwareGroup actionComputer crimeNeighbourhood (graph theory)BitSelf-organizationPoint (geometry)Computer-assisted translationComputer configurationAuthorizationPresentation of a groupMetreVotingWindowAntivirus softwareArithmetic meanRule of inferenceMusical ensembleMeasurementVertex (graph theory)AreaView (database)Sound effectComputer programmingProduct (business)Standard deviationStatistical hypothesis testingInternetworkingDistanceP-groupBlogOperator (mathematics)Physical lawQuicksortForm (programming)Revision controlPopulation densityState of matter
Statistical hypothesis testingComplete metric spaceSolvable groupBulletin board systemInformation securityWide area networkComa BerenicesCodeCAN busService PackGraphics tabletBitOffice suiteSummierbarkeitWordFile viewerPoint (geometry)Server (computing)World Wide Web ConsortiumRevision controlService (economics)Process (computing)Bit rateExploit (computer security)Level (video gaming)WordPoint (geometry)Semiconductor memoryVulnerability (computing)Student's t-testPresentation of a groupPerfect groupRange (statistics)ImplementationSet (mathematics)AuthorizationNumberResultantRevision controlTerm (mathematics)Order (biology)MalwareChainAntivirus softwareQuicksortPhishingEmailTask (computing)InformationDifferent (Kate Ryan album)TheoryPhysical systemGroup actionStatistical hypothesis testingSelf-organizationTrojanisches Pferd <Informatik>AreaAbsolute valueFreewareHard disk driveService (economics)2 (number)Multiplication signMusical ensembleDescriptive statisticsWindowRenormalization groupOffice suiteProcess (computing)File formatConnectivity (graph theory)Electronic mailing listComputer wormDefault (computer science)Product (business)DeterminantSubsetBitMeasurementSound effectCommitment schemeKey (cryptography)Well-formed formulaEnterprise architectureEvent horizonStatistical hypothesis testingParticle systemSource codeFamilyVisualization (computer graphics)DemosceneArithmetic progressionEntire functionLecture/Conference
Process (computing)Information managementLevel (video gaming)Repetition3 (number)Metropolitan area networkInterior (topology)Value-added networkComputer clusterRaw image formatSurjective functionSystem callTable (information)Process (computing)Standard deviationPointer (computer programming)Semiconductor memoryMultiplication signFunctional (mathematics)Flow separationElectronic mailing listLibrary (computing)Parameter (computer programming)Maxima and minimaBuffer solutionBootingBoundary value problemACIDSpeicheradresseWater vaporNumberRight angleStudent's t-testSlide ruleSparse matrixStatistical hypothesis testingLevel (video gaming)CASE <Informatik>CodeSocial classSystem callData structureMereologyMathematicsRange (statistics)Goodness of fitTrojanisches Pferd <Informatik>Exploit (computer security)Product (business)Task (computing)Formal grammarStapeldateiBasis <Mathematik>Group actionOperator (mathematics)ChainAreaAsynchronous Transfer ModePhysical systemWeb pagePoint (geometry)Metropolitan area networkOrder (biology)Connectivity (graph theory)Computer programmingUniform resource locatorSingle-precision floating-point formatImage resolutionAddress spaceComplete metric spaceRandomizationStructural loadFiber bundleAbsolute valueSummierbarkeitComputer wormGastropod shellDifferent (Kate Ryan album)BitAuthorizationVulnerability (computing)WindowFunction (mathematics)WordPresentation of a groupMemory managementKettenkomplexMalwareBlock (periodic table)VideoconferencingDrop (liquid)Entire functionCode10 (number)Musical ensembleNormal (geometry)Computer animation
ChainComputer iconSpecial unitary groupSystem callWide area networkMaxima and minimaMetropolitan area networkArithmetic meanUsabilitySimulationCloud computingValue-added networkLevel (video gaming)Numbering schemeSample (statistics)EmailInformation managementScale (map)Execution unitGamma functionFamilyShape (magazine)View (database)Level (video gaming)Multiplication signMathematicsSound effectTable (information)Product (business)Structural loadData structureBuffer solutionTask (computing)Military baseSpacetimeExpected valueHypermediaVolumenvisualisierungFlow separationGroup representationAreaLibrary (computing)Order (biology)NumberElectronic mailing listBasis <Mathematik>Binary codeCuboidDifferent (Kate Ryan album)Complex (psychology)BitSpeicheradresseOctaveHeat transferGame controllerCartesian coordinate systemSet (mathematics)Software developerCASE <Informatik>Arithmetic meanExploit (computer security)Computer wormSemiconductor memoryPoint (geometry)Sampling (statistics)ChainLogic12 (number)HistogramShared memoryDirection (geometry)Statistical hypothesis testingBuildingComplete metric spaceQuicksortPerspective (visual)Revision controlFamilyOffice suiteGroup actionFigurate numberInformationTexture mappingComputer fileSystem callAddress spaceCodeReal numberDrop (liquid)BlogEmail1 (number)Gastropod shellField (computer science)MalwareRankingSingle-precision floating-point formatMemory managementBlock (periodic table)Function (mathematics)Scaling (geometry)AuthorizationExpert systemPresentation of a group
Metropolitan area networkSpecial unitary groupExecution unitAddress spaceRead-only memoryComputer fontMaxima and minimaUniform resource nameArmSummierbarkeitMenu (computing)ChainTheoryContext awarenessMusical ensembleForm (programming)Computer fileINTEGRALUniform resource locatorSource codeMathematicsDirection (geometry)Pairwise comparisonLinear subspaceSoftware developerBasis <Mathematik>HypermediaSpeicheradressePoint (geometry)Covering spaceSampling (statistics)Category of beingContent (media)CASE <Informatik>Patch (Unix)Drop (liquid)TrailFlow separationComputer wormExploit (computer security)Vulnerability (computing)Trojanisches Pferd <Informatik>Maxima and minimaLecture/Conference
Special unitary groupComputer wormUniform resource nameWebDAVZoom lensMusical ensembleText editorTrojanisches Pferd <Informatik>Computer wormSampling (statistics)MathematicsScaling (geometry)Authorization2 (number)Binary codeSoftware developerCuboidObject (grammar)Arithmetic meanExpert system
Wide area networkChainEquivalence relationBinary file3 (number)MathematicsSineSpecial unitary groupBlock (periodic table)Exploit (computer security)Metropolitan area networkSummierbarkeitArtificial neural networkRobotWebDAVCAN busUltraviolet photoelectron spectroscopyData structureGastropod shellCodeFamilyAdditionSample (statistics)Information managementOvalDew pointWordPhysical lawPort scannerStatistical hypothesis testingModule (mathematics)AuthorizationMalwareSampling (statistics)FamilyChainExploit (computer security)Presentation of a groupLevel (video gaming)Computer wormCodeDrop (liquid)Vulnerability (computing)Block (periodic table)UsabilityHexagonProduct (business)CASE <Informatik>Direction (geometry)Cellular automatonData structureShared memoryBitMusical ensembleQuicksortBasis <Mathematik>CircleTrojanisches Pferd <Informatik>Digital watermarkingDomain nameOnline helpSurfaceMathematical singularityDialectReading (process)Physical systemMereologySheaf (mathematics)DatabaseData storage deviceSocial classVideoconferencingBuildingComputer programmingBoss CorporationVideo gameSoftware developerACIDExpert systemCodeForm (programming)Game theoryComputer animation
Read-only memoryMUDSpecial unitary groupOrdinary differential equationSample (statistics)Metropolitan area networkMenu (computing)EncryptionPerturbation theoryComputer iconDrum memoryMaxima and minimaFamilyComa BerenicesFluxDisintegrationSampling (statistics)OvalCybersexCASE <Informatik>Exploit (computer security)Gastropod shellBlock (periodic table)Exterior algebraMusical ensembleComputer fileTask (computing)Shared memoryBuildingException handlingCodeOperator (mathematics)AuthorizationPlug-in (computing)Computer wormMalwareDifferent (Kate Ryan album)ChainSet (mathematics)INTEGRALMereologyVulnerability (computing)RoutingWordTrojanisches Pferd <Informatik>Condition numberProjective planeLevel (video gaming)Software development kitProgrammer (hardware)BitComputer programmingPhysicistMultiplication signMathematicsNumberArchaeological field surveyInformationProduct (business)Function (mathematics)Family of setsSummierbarkeitSample (statistics)Open setVotingRevision controlCharacteristic polynomialGroup actionNormal (geometry)Software developerComputer animation
Computer clusterPerformance appraisalSpecial unitary groupCuboidFamilyExecution unitGroup actionPersonal area networkSummierbarkeitMalwareProcess (computing)ChainOffice suiteRevision controlExploit (computer security)Statistical hypothesis testingStatistical hypothesis testingPersonal digital assistantSample (statistics)Point (geometry)Correspondence (mathematics)Product (business)Coma BerenicesStatistical hypothesis testingStatistical hypothesis testingNumberComputer crimeIncidence algebraEvoluteMatrix (mathematics)MereologyTable (information)CASE <Informatik>MalwareFamilyRevision controlSampling (statistics)WordPresentation of a groupPerformance appraisalPoint (geometry)Exploit (computer security)Group actionUniverse (mathematics)Population densityProfil (magazine)MultiplicationGraph (mathematics)Programmer (hardware)LeakOffice suiteVulnerability (computing)Self-organizationMusical ensembleElectric generatorLine (geometry)Limit (category theory)Slide ruleFile formatStandard deviationComputer-assisted translation1 (number)InformationChainProduct (business)Computer wormObject (grammar)Selectivity (electronic)Context awarenessExecution unitMultiplication signLevel (video gaming)Stability theoryFormal grammarPhysical lawRule of inferenceSpeech synthesisPower (physics)Dependent and independent variablesSound effectBlock (periodic table)Address spaceMetropolitan area networkSkewnessFiber (mathematics)Uniform resource locatorAreaMaxima and minimaDegree (graph theory)Stress (mechanics)Electronic visual displayComputer animation
Transcript: English(auto-generated)
Now I could ask you how was the party last night, but I can't see the casualties so I Could be gentle with you. I make this presentation light and entertaining for you, but I'm not a nice person So I will make it in an easier So let's just try to jump right into this What am I going to do? Who are these incomparables in the landscape where me where we are moving?
meaning The Modern authors smaller group writing groups And the malware protection programs especially BT protection programs every major constituent is thoroughly tested and
Their qualities are measured the antivirus Protection products are regularly tested by third-party testers Even they the special APT protection devices which otherwise claimed ourselves to be untestable already are and
Can be tested you could hear about it from yesterday presentation by Zoltan Balazs or later today by Baldi a little more detail about how to test these APT defenses Even the test themselves are measured against the objective criteria by the anti-malware testing standards organization
There is one single player who is never tested and those are the malware authors, and that's not fair We should be aware of their capabilities Not only for fun But it but also because actually there is an actual war going on between them and us and the first
Rule of war is that you have to know your enemy If you don't know your enemy your defenses will be inadequate if you underestimate them. They are going to get you if you overestimate their capabilities then
Your efforts in protection will be misplaced and you will waste your efforts in areas then shouldn't waste and you should Concentrate your efforts elsewhere just as an example if you have a house, which is full with valuable stuff and gadgets and
You want to protect it and you're afraid of the burglars in the neighborhood There are a couple of options you can choose you can be at the ball wall around your house a three meter high wall Electric fence on the top that would effectively stop the ninjas who have as we all know only
2.5 meter vertical leap But that's a bit expensive It also blocks with your view for the outside. It has also there are stating effects on the vegetation around the wall So if you would happen to know
That the typical burglars in your neighborhood Are just cat burgers who Are really good at lock-picking because yesterday they attended the lock-picking workshop here at activity Then you would know that the the wall is useless. It's not necessary
you should strengthen your locks and Windows and doors that would be an adequate measure for you much cheaper and it would be still protected Now it would still wouldn't defend you against Nation-state sponsored
Attackers like NSA and the likes but chances are before NSA would attack you There will be about five Russian cybercrime groups three Chinese APT groups, maybe one Israeli and France APT group attacking you So you have to prepare for the vast majority of the attacks for that
you have to know the capabilities of the attackers and that's the point of evaluating all these Modern outdoors the APT groups and the common cyber crime groups and that's the point of my presentation now
How do you evaluate these groups, how do you measure the skill set of them there are a couple of Problems with the testing them the first of all the test subjects and these Malvarator groups work on different principles. They have different purposes some of them want your
Banking Access information so that they could steal your money from the bank others want some sensitive Documents from your hard drives while others want to just destroy your nuclear facilities physically So they have different purposes. They have different targets. Some are targeting home users. Others are large corporations
Yet the other APT groups are targeting non-governmental organizations. So the target range is also wide And Because of that they have to defeat different defenses for home users
There is only probably a free antivirus solution for for large corporate users all sorts of In-depth defenses in place even some advanced protection devices and for that the attackers use
Very different approaches and tools some are very happy just sending a Phishing email with the text. Hey, here is some nice contact click here and you'll be fine Others are using Common exploits yet others are using zero-day exploits. There is a wide range of tools that they are using
so The the task is how to measure and and qualify players who work on a very wide range of activities and
The solution is something like Professors are doing in In university classes where they have a wide they have a lot of students with a wide range of capabilities They are going to give them a problem to solve and based on the the level of their
Understanding of the problem and the skill they show in the solution They are going to rate these students. That's what I'm going to do. I'm Impersonating a teacher APT groups are going to be the students now for that test work
The problem has to be solvable if it is not solvable. It's not there is no point in the test It also has to be difficult enough. So if anyone scores Perfect on the test then it is not a good comparative test also the test problem has to be granular enough to differentiate between wide range of skill sets and
lastly Every student in the classroom has to be motivated to solve the problem if it is a problem that only 10% of them is interested in solving then the test the results will not be
Usable for our purpose and measuring a large number of these algorithms, so what is going to be the test problem? The test problem is going to be a Word vulnerability, it's a It was discovered last year. It's a rich text format file format vulnerability
that leads to a Memory corruption now if you attended yesterday Zoltan Emmet's presentation a lot of the the terms and methods I'm going to talk about should be familiar for you that was a
Very extensive and good overview of the general principles, and this is the this is going to be a practical implementation and this is What I refer to in the introduction that I'm going to be tough with you Because in order to understand the results of the test you have to understand the methodology of the test and the methodology of the test
relies on you understanding how this exploitation works now this vulnerability Is the has the unsexy name of CV 2014 1761 I'm going to refer to this one of it. Yes 1761. I estimated it. You saved me 35 seconds of presentation time overall
Anyhow, this is a new word one of the team and the exploit and Every possible malware author group is just very happy to get their hands about a new word
One of it and exploit so they are very much both motivated in using it Because it is a powerful tool in infecting users So if you read the original Microsoft description of this exploit Of this vulnerability it will say that it affects all possible
Word Word versions that were out there at the time. So All of them which are listed on this on this list are vulnerable and possibly Exploitable by this vulnerability now, we all know that in theory there is no difference between theory and practice
However in practice, there is a huge difference. So If you would guess What would be your guess how many of these Word versions were actually affected by this vulnerability
The silence I take it as zero it was a slightly more than that Actually one version was ever affected by this vulnerability and it was of his 2012 service back to 30-bit version and the reason is that Even though all the other versions were
Exploitable and could have been exploited successfully the practical implementation of the exploit Have you relied on absolute memory of sets taken from a particular? Windows components and as comes to yellow seeks a particular version of it
and That one was only by default installed by this office 2010 service back to It would have been a straightforward process to To pour this vulnerability to all of the other office versions. It didn't happen
Why you will probably understand? Around the middle of this presentation. So let's talk about a little bit about the exploitation process itself From From a very rough overview there is a
rich-text format exploited documents the vulnerability trigger a Sharecode gets executed and at the end a payload is dropped into the system some sort of Trojan now There is one thing a slight problem in this chain and that slight problem is called data execution prevention
Which means that It is Relatively easy to To fool word into into writing shellcode into a memory area
On the heap it is quite easy also to convince to jump into that memory area However, what is difficult as is now and not possible with depth in present is to actually execute that code
Because These data areas Either on stack on heap are declared at least on the contemporary Windows operating system as non-executable You can inject your code there. You cannot execute that So before you can execute your shellcode that would drop and execute the the final Trojan on the system
You will have to make sure that the shellcode is Executable it's it's not like executable page. So the whole exploitation start with a bootloader Component that bootloader component allocates a new memory block
Make that an executable memory block just copies the shellcode and executes from there. That's pretty easy there is one slight problem in order to Make this allocation. You have to execute the bootloader code How do you execute a code if you cannot execute a code because of data execution prevention and
Here comes the concept of the drop exploitation return oriented programming Which means that you cannot execute the code that you placed in memory But you can execute codes that are already placed in the memory by the system libraries at the time the exploitation
occurs there are about dozens of Windows system libraries already loaded into the memory for your convenience this means there is there are Tens of megabytes of code Laying in memory that you can use now all you all that the actor care has to do is to pick small
snippets of these codes Think about them as puzzles Get these puzzles from Windows system libraries and just Chain them together so that they would accomplish the functionality that you will need so during the exploitation
When the memory correction occurs you just divert the normal execution of work to jump to the first puzzle of your code and it will The word gets so disoriented that it will jump from puzzle to puzzle if they are chained together very carefully
Then They will accomplish the task you want. These puzzles are of a very limited Capability sets so you will need a lot of puzzles to accomplish even at the the smallest task that you need
There is another one Problem which is a SLR the address space layout randomization Which means that if you want to use these puzzles you have to know that they are in memory 99% of the windows libraries are placed randomly in the memory there are only a few of them which have fixed load offset and
these libraries are of extreme value for the two exploiters and attackers and Mscom city hallows thing that is used by the one of it is one of those libraries so the exploitation starts with Confusing word taking making him a detouring execution divert him and then starts the drop chain
Which would allocate a memory for at executable memory for the shell code and executed There is another slight problem in this particular case which means there which in which which means that
Then third word first gets dire and diverted it gets diverted to a small memory region And the small memory region cannot host an entire rope chain There is another memory region that the attackers can control which can host a large group of data
But it is not where the first gets Diverted to so the bootloader of this exploitation process is Further divided into two parts. There is a bootloader of the bootloader The initial of chain which will make sure that the execution gets diverted to that larger booth
Which already hosting the entire rock chain that the rock chain then allocates an executable memory range Copies the shell code the shell code executes in one or two stages Locates the payload decrypts it drops it executes it and
That occur is there with a video video installed Trojan now It is a good test problem for the malware authors because it is granular Modifying the final payload it is a everyday task for these smaller authors
modifying the shell code It's not every day but it is they do it on a regular basis touching the rope chains now that That's a highly skilled operation and not many of them asked you to do that. So here we have we have a granular
problem for the malware authors to solve if We are looking a bit in detail Into the exploit itself. It is a Memory corruption a vulnerability A V table a pointer to a function table gets over with them during the exploitation
The way it happens the RTF documents can contain least override tables, which have several different parameters for lists embedded in in a text of the document now the The data in this list over our tables is stored in
Buffers in memory and the it means structures in memory and the the addresses of these structures are stored in a pre-allocated memory region now if there would happen to be a somewhat more of these
Over right structures than word expects then it will Stretches over the boundary of the pre-allocated memory area and it will overwrite whatever comes after that and that's the memory corruption at least today the execution in particular
At a certain memory address. There is a pointer to a Vtable in MSODLR It's a pretty meaningless that is for me function table not to fancy functions and in the process of
parsing the the malformed RTF document the addresses of the list override tables stretch over The allocated region and overwrite this dysfunction table address So at some unrelated point later in the code execution of word a call would be made to into this function table
but instead of taking the the appropriate function from MSODLR this call would take the the address from from one of the list overwrite tables and This address would be an absolute memory location in inside the ms.com CTL or CX
Yes, and The initial rope chain as I said Does nothing but transfers the execution to a larger buffer which is controlled by the attacker. I mean
there is a Inside the list override structure. There is this level text buffer which can hold a large chunk of binary data This large chunk is going to be the main Rope chain and the share code first a share code now
the list overwrite table Contains the address of this buffer. So really the initial rope chain has nothing to do but execute this single Call into the List override into the level text buffer. Like I said the rope
Drop gadgets or the puzzles that you can use from From the the preloaded system libraries are of very limited capabilities. So this single single call single assembly instruction
You need six different puzzles to to execute this code and Just as an illustration of the complexity of the task the first address the others of the first rope gadget Is stored in a list overwrite table, but within the RTF file
It's actually as actually stored in four different places. It combined from four different places For example, the first byte e8 is the value of the the level enough and CN tag in the RTF 232 decimal equals to e8 in a hexadecimal so the the first byte 48 it's actually a bit field and
several of the Text within the RTF combining to it. For example, this level GC new level GCN zero and Level no restart and level world and this level no restart is Setting 40 the other setting 8 in this bit field. That's how it is combining together
Finally the last two bytes are in the level numbers tag within the RTF file This Slash apostro 5a Note the the hexadecimal value of 5a the following apostrophe is the the ASCII character of
27 which is follows there. So in order to control one single address In in the drop chain, you will have to modify at least at four different places for different distinct places at the RTF file
To use this exploitation you can imagine requires an intimate knowledge of the RTF structure Representation so that in all effect and effect and this address in MS consider Oh six, you will find a small call code fragment this will be is going to be the first puzzle in solving the
code transfer After that execution goes on to the larger level text buffer the the real rope chain that is stored Which is the memory allocation now, that one is a bit longer and As the expert that I mean
The data cast have no absolute control over the code within the rope gadgets So they do what they want and they do a bit more than that in some cases apart from doing whatever data cast want to do they Perform like some pops from the set stack, which is not needed for the actual execution
But because there is a pop and it's not avoidable There has to be something on the stack that is popped into register, which is that they are never used So during the rope chain, there are a few unused bytes
Which has no Significance for the exploitation they have to be there so that something could be meaninglessly popped into a register So these bytes are not used. It could be anyway anything right there the The main rope chain The main logic is very simple. It allocates a new memory copies the share code there and jumps there
But because the drop gadgets are of limited capabilities, it requires about 10 to 12 building blocks to accomplish this task If you look from the the RTF perspective into this The exploit RTF 5 starts with some sort of header followed by some sort of irrelevant information
the exploit trigger The initial rope chain is scattered throughout the the texture of the RTF file The first stage rope chain is stored in the in the level text buffer Along with the first stage share code second stage share code and the payload is usually
Appended as some binary chunk at the end of the RTF file Now from the attacker point I mean from the test point of view it are half it adds an additional granularity to the test like Every decent malware out or could modify the appended binary shell code and the payload. That's not a problem
The first stage share code is easily recognizable Relatively easily recognizable in the level text buffer. I mean it looks like a buffer of bytes that a decent
malware writer can Comprehend and and modify the initial rope chain For that you have to really really deeply understand the RTF structure. So apart from the The granularity in the exploitation itself. There is a granularity in understanding the RTF
structure itself, so it is a Well-defined and granular test task for the for the attackers and people are going to live with it. So We are going to Rank the attack guests on the on the skill set they are showing to us
So starting from from a zero knowledge data knowledge means that they are buying on in the underground Marketplaces a generator and they are going to generate a sample with it a basic skill set involved replacing the payload in like 16 sample intermediate knowledge
Attackers can modify already the shell code Skilled ones try to make some trivial modification in the rope chain itself advanced and protesters Can make significant modifications in the rope chain
Or the export figure and and The real good ones can control every single aspect of the exploitation that is going to be the scale that I will place the APT authors so the the first version of this research was published in February
at our blog I'm not going to touch all of the families and groups mentioned in that Because that would be an even longer presentation You can go there and check that but I'm going to mention a few additional ones because we which were not known at the time
of writing that paper So let's start with suspect zero the first ever sample that we could identify using this well, this is going to be the base point of Of comparison as it turned out All of the further samples were derived from this one
There was no independent development going on in this exploit. This was a destructive Trojan Appeared last April and it dispelled a decoy with some Mayor partners seeking advertisement
Clearly Because of this kind of decoy and a destructive payload It was not used in a targeted attack as you would expect from from an APT player who?
Would deploy a zero day. I think it was deliberately released a little before Microsoft patch this full novelty the reason is unknown perhaps the But perhaps the cover tracks because if there is only one single entity who knows and uses this one and ability every every
Evidence points into the direction if other starts using it. It will get scattered Anyway, in this case the document starts with a large chunk several kilobytes of Really junk contents context not used
not displayed But it is very convenient for identifying everyone else who was copying this content Clearly I had this guy whether developed it was a highly skilled one. There were some rebirths One week after this the initial sample was released a couple of targeted attacks were
Performed using this vulnerability Mainly by the Duke group That was recently blocked by by F secure a great overview by them
It was Targeted against the diplomatic targets and they made Very significant modifications to the the exploited document for example They cut all of the junk that was at the beginning of the file They stripped down
nearly to the minimum to the the the RTF context and Also changed memory location within the drop chain. So they made Very significant changes in the the exploited documents I'm not saying it is not possible to do all that in a week and
But it's very unlikely that happened some my guess would be that they had prior or prior knowledge of this exploit Before they started working it if I had to guess I would say that This is the group that is most closely connected to the source of the exploit
now the the Dukes have a reputation of Being supported by the Russian government They have huge financial resources and they have a history of using zero-day export So it is not an unreasonable assumption that they were the first one to use this exploit, but there is no
Strict evidence pointing into that direction Anyhow, because of the the changes they made to the rock chain clearly dangerous and pro criminals There are some direct descendants That Were using the original sample and they didn't do anything else
But swap the export step the payload the binary Trojan at the end. That's clearly a very basic Modification these samples appeared about one week of a month after the the original really really is and They are they were used by the pretty tiger
APT group When I said they didn't change anything that's not entirely true they changed the the author name from is my is my to is my which is Something you could do in two seconds in a text editor So that doesn't constitute as a as a major scale anyway
But this is this group showed the very basic skills of exploit ability and then comes an interesting strain Which is metasploit and and a direct descendants from it Metasploit is a great tool for researchers for
for penetration testing understanding the The exploit and so it is also a great tool for malware authors and they are using it extensively to generate new samples free like In the cases, I'm going to show you the the metasploit module appeared about a week after the original release of the first
document and Clearly the whoever created that module understood some of the the Europe exploitation at least to the level that as I mentioned in the Main drop chain. There are some unused
Filler bytes which are there only for that to be popped into meaningful meaningless register now these were filled in the original sample with the 41 hex bytes now in the metasploit module they were filled with random values
These these bytes that could make us Possible to identify whoever was ripping metasploit for samples Anyway, whoever developed metasploit model was a skilled exploiter one of the direct
Descendants from metasploit was the The havoc smaller which was mentioned also mentioned yesterday in presentation as targeting energetic sector Looking for industrial control systems, but when I created these slides, I didn't know that it is well It was going to happen. So I picked another one and another example and that was the inception
Group, it was reported by blue coat and later on by Kaspersky under the name cloud Atlas and they directly connected that with the famous fed October campaign anyhow, but they did they generated a A sample by metasploit then swept the share code and the payload and they just replaced it
Plus additionally in case of inception. They prepended another exploit block at the beginning exploiting an older vulnerability however doing that They messed up to the RTF cell structure. This is a very delicate
vulnerability if you mess up the RTF structure if you break the exploit and that happened in the case of the Inception group they generated about three thirteen documents With this exploit and still in eleven of them. The exploit was actually broken. So they generated a
Sample with metasploit just to use this vulnerability and they broke it in about 90% of the cases That's really on one hand They are skilled because they touch the share code and the payload on other hand It is shadowed a little by the fact that whatever they created was not working
Anyhow, there is a huge Group of samples using this exploit that were using some sort of generator sample generator One could argue that metasploit is also a generator. But now here I'm talking about Commercial tools
Released in the underground circles one of them. I don't know what the generator is. I don't know the name for it It has not been Reported yet. We just see that hundreds of samples are generated by a lot of Common banking Trojan families are being distributed and is right now dominating the the exploitation
Seen so the largest chunk of exploited documents that we are seeing right now on a daily basis are generated by this tool It has Apart from the the the main block main level attacks blog that was the rope chain and the share code an additional
two additional blocks that Have the same filler value all over them it is not used it is pointless But it can use it can be used as a watermark to point out all the samples that were created by this toolkit anyhow
Because they did touch a little bit of the the The level attack structures and the exploitation stuff is sort of an intermediate skill set Was whoever was writing this this generator another one?
Microsoft 13 through there It was blocked by Fire eye And later this year just a few weeks ago. We have released the white paper about this one That's the other large chunk of Exported samples that using this vulnerability
Also hundreds of documents created with it I Very interesting and I don't have The time to go into details into it anyway. It has very distinctive characteristics, and it is
One of the very very few cases when the the malware authors actually touched the rock chain and They built an alternative rock chain instead of the original one
So it is performing the same task It it requires two more Building blocks it is a bit alternative route But documents generated by this toolkit Exploit three different vulnerabilities within the same RTF file and
also dozens of mostly banking trojans were distributed by Documents generated by this toolkit anyhow the level of Skills that's that the author of this kit showed because he actually they have to touch the rock chain
It's really a someone who understands exploitation at a high level a very interesting case was the rotten tomato case now I I I'm a physicist By education. I'm a lousy programmer. I
When I have to do programming I do as a physicist I take an example program modified to my needs and beat it with a stick until it works It was surprising to see that an APT group Chinese APT group followed just about the same path of
development except for the until it work parts So what they did They wanted to use this exploit in their campaigns so they took a sample generated by wording through there which was mentioned just one slide before and There was a third
Exploit block at the end. They just got rid of it perhaps it was Too complicated to modify that in place for them. They replaced the first exploit ball block Appended their own payload and started to use it in a campaign now the problem with this picture it exploit to
vulnerabilities if the first one is Activated and the Trojan the APT Trojan by this group some other projects backdoor is get egg gets executed If the first one is triggered Then the the original z-bot sample from the original sample that they ripped from world intruder gets executed
So Depending on the condition. It's either an APT or a Cyber crime, it's really in an unwanted situation for this group Mostly because they Grab the sample so that they could use actually the exploit. So What they took they grabbed another sample where this
761 exploit worked and They cut out the original one for the from burden to the copied into it from that Other example and there it goes one problem. Like I mentioned until it works part
Verding through there has a slight problem at least In half of the samples the exploit doesn't work. So this Chinese APT group didn't get lucky They picked the sample, but it the exploit didn't work actually But when they copied the block from this another example
They overwrite they did overwrite the non working exploit with a working one and they broke it immediately Because in this case this shell code looks for the payload at the fixed file offset Because and then they copied it into their own document
There was this unused encrypted Z-bot executable at the beginning another exploit book So this fixed file offset was shifted back into the dead file, but this Chinese authors never Corrected the share code for this offset. So They created samples and they used it in targeted attacks where this exploit never ever actually worked
and they were Using it for months in different targeted attacks. They started it using in Russia Distributing plugins and Then they moved their operation against India and Pakistani targets
Anyhow, they show a really basic set of exploitation understanding and I'm I'm being very generous to them with this classification. Anyhow, there was one case of successful integration I don't think it was used by the same group it was deployed in
In Arabic countries when they actually fixed the the shell code offset and it actually dropped a z-bot anyhow Let's switch to the the evolution part so In this table I just blindly copied all the the malware families that I have seen created
I have seen using this exploit and Just by looking at the samples I was placing them Into the skill set matrix. However, here comes the fun part. If you're a university professor, you can do nasty things
One of the nasty things is to see if they actually work Like I said in many cases in fact in the in the case of this exploit over Over half of the cases the exploit actually didn't work
I mentioned it with the inception. I mentioned it with word intruder the generated or used samples they just contained broken versions of this exploit and the supposedly highly skilled Cyber criminals they just fail to realize this fact. So that just
Takes back a little value from the evaluation and The other thing is the relations Really? One of my university professors had this really bad habit after test. He started to create this in density
Graphs who was copying from whom and modified the marks accordingly. So I'm doing the same with these malbrators For example a large chunk of samples or a large chunk of cybercrime groups Although the samples they are using show
Larger great understanding of the exploit. It's not their merit it's because they are using the verdine through there or some other generation generator, so the The the merit goes to whoever created those tools They are the actual users of the exploited documents their skill set
extends only to the point of executing a Generator and using whatever is spit out of it. So In this picture you can identify a couple of high-profile
APT groups, for example the pity tiger origin energetic beer group, which I mentioned number Panda or nightshade Panda they were responsible for the rotten tomato cases Hangover team also showed their mark here in this in this table Karma Panda and the Dukes which I mentioned earlier
So really this is the evaluation part Of the test and this place is all the appropriate of the groups in their appropriate places So here is this dividing line anyone left? on the in the table
understands Whatever happens after the exploit happened so they can Deploy their malware they can modify the payloads, but they really don't understand the exploitation itself They don't have in-house expertise in exploitation
Whoever are on the right side in this table. Those are the really dangerous players. Those are the ones who? understand exploits exploitations Five formats and they apparently have in-house Expertise now what this table doesn't show are the numbers the vast majority of the incidents that we can see
99.9 point whatever percent belong in this region where Used by players who show little to none understanding of the exploitation and only a few Incidents belong to the real dangerous guys and even these are shadowed by the fact
that Even though in solving the problem they show high High skills Whatever they created was not working so they may be
Good programmers there. They may seem to be good at exploitation By but they clearly league decay and leak lack the capabilities of determining that whatever they created was actually working or not so the conclusion is That all the routers in general even the the the highest profile
APT or cyber crime groups are clearly lacking in in QA They don't they are not checking whatever they are using in actual attacks if They are working or if these are multi exploit samples that every individual exploit is working in those samples
The the common cyber crime group groups who are deploying banking Trojans have a better supply chain Because someone is doing the the generators for them and they are buying it But even though however skilled these groups are they don't show enough
knowledge and skills to port this vulnerability to other office versions, so There is a certain limit in their in their capabilities But They are very eager to use any new vulnerability that is available and
Immediately as they can get their hands on it And they are going to use it in a text or try to use it in attacks So but a final warning for you, even though they are not Really the ninjas you you should be afraid of just cat burglars Once they get into your house, they show very high capabilities and skills in
Emptying out your house and cleaning out all your assets So they may not be good at exploiting but once they get Hannah and they get their food into your organization They are very talented and resourceful. So be aware, but
You should know that if you keep up with the exploit information They are not really much ahead of you And That oh I have some final slide. I thought it was going to be a test
So, let's see if it is really a test and here are the the objective criteria by a MTS So I don't have a testing standard organization. So I'm just going through some of the criteria I don't think I'd endanger the public by this test I'm certainly not biased towards any of these groups. In fact, I'm equally biased against all of them
I think the test was reasonably transparent the testing methodology I mean I spent the first 25 minutes explaining you the testing methodology. So I was pretty clear about that
And Finally the test should have an active contact point which in that case should be me, I guess So that concludes my presentation I Think as I look around I don't see too many people sleeping. So I guess I
Reached my goal and kept you awake that take it as an accomplishment. Thank you