SlideShare a Scribd company logo
1 of 29
Download to read offline
Reverse
Engineering &
Immunity
Debugger
Mahakant Sharma
M.Tech First year 2nd Sem
RSU2008018/20031100821012
AGENDA
Reverse Engineering & Immunity Debugger
• What is a Reverse Engineering
• Anatomy of a Windows PE C program
• X86 Assembly Language
• Typical Attack Flow
• Reverse Engineering (RE) Tools & Immunity Debugger
20XX 2
What is Reverse
Engineering???
Presentation title 20XX 3
INTRODUCTION
Reverse Engineering & Immunity Debugger
Reversing Engineering is the
process of extracting knowledge or
design information from anything
man-made and re-producing it or
re-producing anything based on
the extracted information
20XX 4
What does it mean to be a
reverse engineer
Reverse Engineering & Immunity Debugger
•Take things apart to figure out
how it works
•Love puzzle solving
•Develop experiments and
tools
•Think outside the box
•Constantly learn new things
•Determine what are the goals
•Get to just what you need, or
•Know enough to recreate it
•Use reconnaissance and
triage skills to determine a
target starting point
•Work step by step to get to
your goals
•Record your findings through
the analysis
20XX 5
Flow for Malware Analysis
Reverse Engineering & Immunity Debugger
• Setup a baseline analysis environment
• Triage to determine a starting point
•Static Analysis - Get a sense of where
everything is before debugging
•Dynamic Analysis - Determine behaviours that
can't be understood by static analysis
•Manual Debugging - Stepping through the
program to navigate to your goals
20XX 6
Anatomy of
Windows PE C
Program
Typical windows programs are in the Portable Executable (PE) Format. It's
portable because it contains information, resources, and references to
dynamic-linked libraries (DLL) that allows windows to load and execute the
machine code.
Presentation title 20XX 7
Flow Chart of PE C Program
Reverse Engineering & Immunity Debugger 20XX 8
Flow Chart of PE C Program
Reverse Engineering & Immunity Debugger 20XX 9
User-mode vs. Kernel Mode
•In user-mode, an application starts a user-mode process
which comes with its own private virtual address space and
handle table
•In kernel mode, applications share virtual address space.
This diagram shows the relationship of application
components for user-mode and kernel-mode
PE
Header
Reverse Engineering & Immunity Debugger 20XX 10
• The PE header provides information to
operating system on how to map the
file into memory. The executable code
has designated regions that require a
different memory protection (RWX)
• Read
• Write
• Execute
Memory Layout
Reverse Engineering & Immunity Debugger 20XX 11
•Stack - region of memory is added or removed
using "last-in-first-out" (LIFO) procedure
•Heap - region for dynamic memory allocation
•Program Image - The PE executable code
placed into memory
•DLLs - Loaded DLL images that are referenced
by the PE
•TEB - Thread Environment Block stores
information about the current running thread(s)
•PEB - Process Environment Block stores
information about loaded modules and processes.
Flow Chart of PE C Program
Reverse Engineering & Immunity Debugger 20XX 12
The Stack
•Data is either pushed onto or popped off of the stack
data structure
•EBP - Base Pointer is the register that used to store
the references in the stack frame
X86 Assembly
Language
Reverse Engineering & Immunity Debugger 20XX 13
X86 Assembly Language
Reverse Engineering & Immunity Debugger
The C programming is a high level language interpreted by the compiler that
converts code into machine instructions called assembly language. By using
a disassembler tool we can get the assembly language of a compiled C
program.
The Intel 8086 and 8088 were the first CPUs to have an instruction set that
is now commonly referred to as x86. Intel Architecture 32-bit (IA-32)
sometimes also called i386 is the 32-bit version of the x86 instruction set
architecture.
The x86 architecture is little-endian, meaning that multi-byte values are
written least significant byte first.
20XX 14
OpCodes & Instructions
Reverse Engineering & Immunity Debugger
Each Instruction represents
opcodes (hex code) that tell
the machine what to do next.
Three categories of
instructions:
•Data Movement/Access
•Arithmetic / Logic
•Control-Flow
Common Instructions
•mov, lea (data movement,
data access)
•add, sub (arithmetic)
•or, and, xor (Logic)
•shr, shl (Logic)
•ror, rol (Logic)
•jmp, jne, jnz, jnb (Control
Flow)
•push, pop, call, leave, enter,
ret (Control Flow) 20XX 15
Registers
Reverse Engineering & Immunity Debugger
General-Purpose Registers:
Register
EAX
EBX
ECX
EDX
ESI
EDI
Description
Accumulator Register
Base Register
Counter Register
Data Register
Source Index
Destination Index
20XX 16
Registers
Reverse Engineering & Immunity Debugger
Segment Registers:
Register
SS
CS
DS
ES
FS
GS
Description
Stack Segment, Pointer to the stack
Code Segment, Pointer to the code
Data Segment, Pointer to the data
Extra Segment, Pointer to extra data
F Segment, Pointer to more extra data
G Segment, Pointer to still more extra data
20XX 17
Typical
Attack
Flow
Reverse Engineering & Immunity Debugger
• What is a Reverse Engineering
• Anatomy of a Windows PE C program
• X86 Assembly Language
• Typical Attack Flow
• Reverse Engineering (RE) Tools & Immunity
20XX 18
Malware Classes
Reverse Engineering & Immunity Debugger
Class Description
Virus Code that propagates (replicates)
across systems with user
intervention
Worm Code that self-
propagates/replicates across
systems without requiring user
intervention
Bot Automated process that interacts
with other network services
Trojan Malware that is often disguised
as legitimate software
Ransomware Malware that holds the victim's
data hostage by cryptography or
other means
20XX 19
Malware Techniques
Reverse Engineering & Immunity Debugger
• Compression
• Obfuscation
• Persistence
20XX 20
Malware Techniques
Presentation title
Compression
Combining the compressed data with
decompression code into a single executable
•Runtime packers
•Self extractive archives
20XX 21
Malware Techniques
Presentation title
Obfuscation:
•Deliberate act of creating obfuscated code that is
difficult for humans to understand
•Plain text strings will appear as base64 or Xor
•Malicious behavior will include junk functions or routines
that do nothing to throw off the reverser.
•Control-Flow Flattening
20XX 22
Malware Techniques
Presentation title
Persistence:
•Once malware gains access to a system, it often
looks to be there for a long time.
•If the persistence mechanism is unique enough,
it can even serve as a great way to identify a
given piece of malware.
20XX 23
Reverse
Engineering tools
and Immunity DBg.
Presentation title 20XX 24
What is
Immunity
Presentation title
Immunity Debugger is a powerful new way to write
exploits, analyse malware, and reverse engineer binary
files. It builds on a solid user interface with function
graphing, the industry's first heap analysis tool built
specifically for heap creation, and a large and well
supported Python API for easy extensibility.
20XX 25
Immunity Overview
Presentation title
•A debugger with functionality designed specifically for the security industry
•Cuts exploit development time by 50%
•Simple, understandable interfaces
•Robust and powerful scripting language for automating intelligent debugging
•Lightweight and fast debugging to prevent corruption during complex analysis
•Connectivity to fuzzers and exploit development tools
20XX 26
The way to get
started is to quit talking
and begin doing.
Walt Disney
Presentation title 20XX 27
Thank you
Mahakant
Sharma
MTech 1st
year 2nd Sem
RSU2008018/
20031100821
012
Presentation title 20XX 28
Team
Mahakant Sharma
Presentation title 20XX 29

More Related Content

What's hot

Difference between frontend and backend
Difference between frontend and backendDifference between frontend and backend
Difference between frontend and backendRahul Rana
 
Building a REST Service in minutes with Spring Boot
Building a REST Service in minutes with Spring BootBuilding a REST Service in minutes with Spring Boot
Building a REST Service in minutes with Spring BootOmri Spector
 
REST Easy with Django-Rest-Framework
REST Easy with Django-Rest-FrameworkREST Easy with Django-Rest-Framework
REST Easy with Django-Rest-FrameworkMarcel Chastain
 
Doctrine en dehors des sentiers battus
Doctrine en dehors des sentiers battusDoctrine en dehors des sentiers battus
Doctrine en dehors des sentiers battusRomaric Drigon
 
Object Oriented Programming with Laravel - Session 1
Object Oriented Programming with Laravel - Session 1Object Oriented Programming with Laravel - Session 1
Object Oriented Programming with Laravel - Session 1Shahrzad Peyman
 
Checklist risico's MAPGOOD methode
Checklist risico's MAPGOOD methodeChecklist risico's MAPGOOD methode
Checklist risico's MAPGOOD methodeAd Voets
 
Introduction to Java
Introduction to Java Introduction to Java
Introduction to Java Hitesh-Java
 
Kotlin and Domain-Driven Design: A perfect match - Kotlin Meetup Munich
Kotlin and Domain-Driven Design: A perfect match - Kotlin Meetup MunichKotlin and Domain-Driven Design: A perfect match - Kotlin Meetup Munich
Kotlin and Domain-Driven Design: A perfect match - Kotlin Meetup MunichFlorian Benz
 
Java Course 11: Design Patterns
Java Course 11: Design PatternsJava Course 11: Design Patterns
Java Course 11: Design PatternsAnton Keks
 
Java Strings Tutorial | String Manipulation in Java | Java Tutorial For Begin...
Java Strings Tutorial | String Manipulation in Java | Java Tutorial For Begin...Java Strings Tutorial | String Manipulation in Java | Java Tutorial For Begin...
Java Strings Tutorial | String Manipulation in Java | Java Tutorial For Begin...Edureka!
 
android sqlite
android sqliteandroid sqlite
android sqliteDeepa Rani
 
Java Basics
Java BasicsJava Basics
Java BasicsSunil OS
 

What's hot (20)

Laravel ppt
Laravel pptLaravel ppt
Laravel ppt
 
ORM in Django
ORM in DjangoORM in Django
ORM in Django
 
Difference between frontend and backend
Difference between frontend and backendDifference between frontend and backend
Difference between frontend and backend
 
Building a REST Service in minutes with Spring Boot
Building a REST Service in minutes with Spring BootBuilding a REST Service in minutes with Spring Boot
Building a REST Service in minutes with Spring Boot
 
Introduction to SQL
Introduction to SQLIntroduction to SQL
Introduction to SQL
 
REST Easy with Django-Rest-Framework
REST Easy with Django-Rest-FrameworkREST Easy with Django-Rest-Framework
REST Easy with Django-Rest-Framework
 
Sonarlint
SonarlintSonarlint
Sonarlint
 
Doctrine en dehors des sentiers battus
Doctrine en dehors des sentiers battusDoctrine en dehors des sentiers battus
Doctrine en dehors des sentiers battus
 
Object Oriented Programming with Laravel - Session 1
Object Oriented Programming with Laravel - Session 1Object Oriented Programming with Laravel - Session 1
Object Oriented Programming with Laravel - Session 1
 
Tomcat
TomcatTomcat
Tomcat
 
Checklist risico's MAPGOOD methode
Checklist risico's MAPGOOD methodeChecklist risico's MAPGOOD methode
Checklist risico's MAPGOOD methode
 
Introduction to Java
Introduction to Java Introduction to Java
Introduction to Java
 
Kotlin and Domain-Driven Design: A perfect match - Kotlin Meetup Munich
Kotlin and Domain-Driven Design: A perfect match - Kotlin Meetup MunichKotlin and Domain-Driven Design: A perfect match - Kotlin Meetup Munich
Kotlin and Domain-Driven Design: A perfect match - Kotlin Meetup Munich
 
Java Course 11: Design Patterns
Java Course 11: Design PatternsJava Course 11: Design Patterns
Java Course 11: Design Patterns
 
REST API
REST APIREST API
REST API
 
Java Strings Tutorial | String Manipulation in Java | Java Tutorial For Begin...
Java Strings Tutorial | String Manipulation in Java | Java Tutorial For Begin...Java Strings Tutorial | String Manipulation in Java | Java Tutorial For Begin...
Java Strings Tutorial | String Manipulation in Java | Java Tutorial For Begin...
 
Windowforms controls c#
Windowforms controls c#Windowforms controls c#
Windowforms controls c#
 
android sqlite
android sqliteandroid sqlite
android sqlite
 
Java Basics
Java BasicsJava Basics
Java Basics
 
Clean Code
Clean CodeClean Code
Clean Code
 

Similar to Reverse engineering & immunity debugger

Exploiting Modern Microarchitectures: Meltdown, Spectre, and other Attacks
Exploiting Modern Microarchitectures: Meltdown, Spectre, and other AttacksExploiting Modern Microarchitectures: Meltdown, Spectre, and other Attacks
Exploiting Modern Microarchitectures: Meltdown, Spectre, and other Attacksinside-BigData.com
 
Stack-Based Buffer Overflows
Stack-Based Buffer OverflowsStack-Based Buffer Overflows
Stack-Based Buffer OverflowsDaniel Tumser
 
Demystifying Binary Reverse Engineering - Pixels Camp
Demystifying Binary Reverse Engineering - Pixels CampDemystifying Binary Reverse Engineering - Pixels Camp
Demystifying Binary Reverse Engineering - Pixels CampAndré Baptista
 
isa architecture
isa architectureisa architecture
isa architectureAJAL A J
 
Architecture innovations in POWER ISA v3.01 and POWER10
Architecture innovations in POWER ISA v3.01 and POWER10Architecture innovations in POWER ISA v3.01 and POWER10
Architecture innovations in POWER ISA v3.01 and POWER10Ganesan Narayanasamy
 
Microchip's PIC Micro Controller
Microchip's PIC Micro ControllerMicrochip's PIC Micro Controller
Microchip's PIC Micro ControllerMidhu S V Unnithan
 
Reverse Engineering.pptx
Reverse Engineering.pptxReverse Engineering.pptx
Reverse Engineering.pptxSameer Sapra
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdlArshit Rai
 
Madeo - a CAD Tool for reconfigurable Hardware
Madeo - a CAD Tool for reconfigurable HardwareMadeo - a CAD Tool for reconfigurable Hardware
Madeo - a CAD Tool for reconfigurable HardwareESUG
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdlArshit Rai
 
Blackhat USA 2016 - What's the DFIRence for ICS?
Blackhat USA 2016 - What's the DFIRence for ICS?Blackhat USA 2016 - What's the DFIRence for ICS?
Blackhat USA 2016 - What's the DFIRence for ICS?Chris Sistrunk
 
Short.course.introduction.to.vhdl for beginners
Short.course.introduction.to.vhdl for beginners Short.course.introduction.to.vhdl for beginners
Short.course.introduction.to.vhdl for beginners Ravi Sony
 
Embree Ray Tracing Kernels | Overview and New Features | SIGGRAPH 2018 Tech S...
Embree Ray Tracing Kernels | Overview and New Features | SIGGRAPH 2018 Tech S...Embree Ray Tracing Kernels | Overview and New Features | SIGGRAPH 2018 Tech S...
Embree Ray Tracing Kernels | Overview and New Features | SIGGRAPH 2018 Tech S...Intel® Software
 
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT IV Designing Embedded System with 8051...
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT IV  Designing Embedded System with 8051...SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT IV  Designing Embedded System with 8051...
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT IV Designing Embedded System with 8051...Arti Parab Academics
 
Programming on Windows 8.1: The New Stream and Storage Paradigm (Raffaele Ria...
Programming on Windows 8.1: The New Stream and Storage Paradigm (Raffaele Ria...Programming on Windows 8.1: The New Stream and Storage Paradigm (Raffaele Ria...
Programming on Windows 8.1: The New Stream and Storage Paradigm (Raffaele Ria...ITCamp
 

Similar to Reverse engineering & immunity debugger (20)

Exploiting Modern Microarchitectures: Meltdown, Spectre, and other Attacks
Exploiting Modern Microarchitectures: Meltdown, Spectre, and other AttacksExploiting Modern Microarchitectures: Meltdown, Spectre, and other Attacks
Exploiting Modern Microarchitectures: Meltdown, Spectre, and other Attacks
 
Digital_system_design_A (1).ppt
Digital_system_design_A (1).pptDigital_system_design_A (1).ppt
Digital_system_design_A (1).ppt
 
Stack-Based Buffer Overflows
Stack-Based Buffer OverflowsStack-Based Buffer Overflows
Stack-Based Buffer Overflows
 
Demystifying Binary Reverse Engineering - Pixels Camp
Demystifying Binary Reverse Engineering - Pixels CampDemystifying Binary Reverse Engineering - Pixels Camp
Demystifying Binary Reverse Engineering - Pixels Camp
 
isa architecture
isa architectureisa architecture
isa architecture
 
Architecture innovations in POWER ISA v3.01 and POWER10
Architecture innovations in POWER ISA v3.01 and POWER10Architecture innovations in POWER ISA v3.01 and POWER10
Architecture innovations in POWER ISA v3.01 and POWER10
 
Cao 2012
Cao 2012Cao 2012
Cao 2012
 
Microchip's PIC Micro Controller
Microchip's PIC Micro ControllerMicrochip's PIC Micro Controller
Microchip's PIC Micro Controller
 
Reverse Engineering.pptx
Reverse Engineering.pptxReverse Engineering.pptx
Reverse Engineering.pptx
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
 
Madeo - a CAD Tool for reconfigurable Hardware
Madeo - a CAD Tool for reconfigurable HardwareMadeo - a CAD Tool for reconfigurable Hardware
Madeo - a CAD Tool for reconfigurable Hardware
 
K vector embedded_linux_workshop
K vector embedded_linux_workshopK vector embedded_linux_workshop
K vector embedded_linux_workshop
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
 
Blackhat USA 2016 - What's the DFIRence for ICS?
Blackhat USA 2016 - What's the DFIRence for ICS?Blackhat USA 2016 - What's the DFIRence for ICS?
Blackhat USA 2016 - What's the DFIRence for ICS?
 
Unit I_MT2301.pdf
Unit I_MT2301.pdfUnit I_MT2301.pdf
Unit I_MT2301.pdf
 
Short.course.introduction.to.vhdl for beginners
Short.course.introduction.to.vhdl for beginners Short.course.introduction.to.vhdl for beginners
Short.course.introduction.to.vhdl for beginners
 
Embree Ray Tracing Kernels | Overview and New Features | SIGGRAPH 2018 Tech S...
Embree Ray Tracing Kernels | Overview and New Features | SIGGRAPH 2018 Tech S...Embree Ray Tracing Kernels | Overview and New Features | SIGGRAPH 2018 Tech S...
Embree Ray Tracing Kernels | Overview and New Features | SIGGRAPH 2018 Tech S...
 
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT IV Designing Embedded System with 8051...
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT IV  Designing Embedded System with 8051...SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT IV  Designing Embedded System with 8051...
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT IV Designing Embedded System with 8051...
 
Programming on Windows 8.1: The New Stream and Storage Paradigm (Raffaele Ria...
Programming on Windows 8.1: The New Stream and Storage Paradigm (Raffaele Ria...Programming on Windows 8.1: The New Stream and Storage Paradigm (Raffaele Ria...
Programming on Windows 8.1: The New Stream and Storage Paradigm (Raffaele Ria...
 
embedded C.pptx
embedded C.pptxembedded C.pptx
embedded C.pptx
 

Recently uploaded

Javier_Fernandez_CARS_workshop_presentation.pptx
Javier_Fernandez_CARS_workshop_presentation.pptxJavier_Fernandez_CARS_workshop_presentation.pptx
Javier_Fernandez_CARS_workshop_presentation.pptxJavier Fernández Muñoz
 
70 POWER PLANT IAE V2500 technical training
70 POWER PLANT IAE V2500 technical training70 POWER PLANT IAE V2500 technical training
70 POWER PLANT IAE V2500 technical trainingGladiatorsKasper
 
Curve setting (Basic Mine Surveying)_MI10412MI.pptx
Curve setting (Basic Mine Surveying)_MI10412MI.pptxCurve setting (Basic Mine Surveying)_MI10412MI.pptx
Curve setting (Basic Mine Surveying)_MI10412MI.pptxRomil Mishra
 
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSneha Padhiar
 
Turn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxTurn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxStephen Sitton
 
CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfBalamuruganV28
 
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.elesangwon
 
10 AsymmetricKey Cryptography students.pptx
10 AsymmetricKey Cryptography students.pptx10 AsymmetricKey Cryptography students.pptx
10 AsymmetricKey Cryptography students.pptxAdityaGoogle
 
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfModule-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfManish Kumar
 
input buffering in lexical analysis in CD
input buffering in lexical analysis in CDinput buffering in lexical analysis in CD
input buffering in lexical analysis in CDHeadOfDepartmentComp1
 
Machine Learning 5G Federated Learning.pdf
Machine Learning 5G Federated Learning.pdfMachine Learning 5G Federated Learning.pdf
Machine Learning 5G Federated Learning.pdfadeyimikaipaye
 
Triangulation survey (Basic Mine Surveying)_MI10412MI.pptx
Triangulation survey (Basic Mine Surveying)_MI10412MI.pptxTriangulation survey (Basic Mine Surveying)_MI10412MI.pptx
Triangulation survey (Basic Mine Surveying)_MI10412MI.pptxRomil Mishra
 
AntColonyOptimizationManetNetworkAODV.pptx
AntColonyOptimizationManetNetworkAODV.pptxAntColonyOptimizationManetNetworkAODV.pptx
AntColonyOptimizationManetNetworkAODV.pptxLina Kadam
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Communityprachaibot
 
Uk-NO1 kala jadu karne wale ka contact number kala jadu karne wale baba kala ...
Uk-NO1 kala jadu karne wale ka contact number kala jadu karne wale baba kala ...Uk-NO1 kala jadu karne wale ka contact number kala jadu karne wale baba kala ...
Uk-NO1 kala jadu karne wale ka contact number kala jadu karne wale baba kala ...Amil baba
 
Theory of Machine Notes / Lecture Material .pdf
Theory of Machine Notes / Lecture Material .pdfTheory of Machine Notes / Lecture Material .pdf
Theory of Machine Notes / Lecture Material .pdfShreyas Pandit
 
priority interrupt computer organization
priority interrupt computer organizationpriority interrupt computer organization
priority interrupt computer organizationchnrketan
 
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSHigh Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSsandhya757531
 
Secure Key Crypto - Tech Paper JET Tech Labs
Secure Key Crypto - Tech Paper JET Tech LabsSecure Key Crypto - Tech Paper JET Tech Labs
Secure Key Crypto - Tech Paper JET Tech Labsamber724300
 

Recently uploaded (20)

Javier_Fernandez_CARS_workshop_presentation.pptx
Javier_Fernandez_CARS_workshop_presentation.pptxJavier_Fernandez_CARS_workshop_presentation.pptx
Javier_Fernandez_CARS_workshop_presentation.pptx
 
70 POWER PLANT IAE V2500 technical training
70 POWER PLANT IAE V2500 technical training70 POWER PLANT IAE V2500 technical training
70 POWER PLANT IAE V2500 technical training
 
Curve setting (Basic Mine Surveying)_MI10412MI.pptx
Curve setting (Basic Mine Surveying)_MI10412MI.pptxCurve setting (Basic Mine Surveying)_MI10412MI.pptx
Curve setting (Basic Mine Surveying)_MI10412MI.pptx
 
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
 
Turn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxTurn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptx
 
CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdf
 
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
 
10 AsymmetricKey Cryptography students.pptx
10 AsymmetricKey Cryptography students.pptx10 AsymmetricKey Cryptography students.pptx
10 AsymmetricKey Cryptography students.pptx
 
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfModule-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
 
input buffering in lexical analysis in CD
input buffering in lexical analysis in CDinput buffering in lexical analysis in CD
input buffering in lexical analysis in CD
 
Machine Learning 5G Federated Learning.pdf
Machine Learning 5G Federated Learning.pdfMachine Learning 5G Federated Learning.pdf
Machine Learning 5G Federated Learning.pdf
 
Triangulation survey (Basic Mine Surveying)_MI10412MI.pptx
Triangulation survey (Basic Mine Surveying)_MI10412MI.pptxTriangulation survey (Basic Mine Surveying)_MI10412MI.pptx
Triangulation survey (Basic Mine Surveying)_MI10412MI.pptx
 
AntColonyOptimizationManetNetworkAODV.pptx
AntColonyOptimizationManetNetworkAODV.pptxAntColonyOptimizationManetNetworkAODV.pptx
AntColonyOptimizationManetNetworkAODV.pptx
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Community
 
Uk-NO1 kala jadu karne wale ka contact number kala jadu karne wale baba kala ...
Uk-NO1 kala jadu karne wale ka contact number kala jadu karne wale baba kala ...Uk-NO1 kala jadu karne wale ka contact number kala jadu karne wale baba kala ...
Uk-NO1 kala jadu karne wale ka contact number kala jadu karne wale baba kala ...
 
Theory of Machine Notes / Lecture Material .pdf
Theory of Machine Notes / Lecture Material .pdfTheory of Machine Notes / Lecture Material .pdf
Theory of Machine Notes / Lecture Material .pdf
 
priority interrupt computer organization
priority interrupt computer organizationpriority interrupt computer organization
priority interrupt computer organization
 
ASME-B31.4-2019-estandar para diseño de ductos
ASME-B31.4-2019-estandar para diseño de ductosASME-B31.4-2019-estandar para diseño de ductos
ASME-B31.4-2019-estandar para diseño de ductos
 
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSHigh Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
 
Secure Key Crypto - Tech Paper JET Tech Labs
Secure Key Crypto - Tech Paper JET Tech LabsSecure Key Crypto - Tech Paper JET Tech Labs
Secure Key Crypto - Tech Paper JET Tech Labs
 

Reverse engineering & immunity debugger

  • 1. Reverse Engineering & Immunity Debugger Mahakant Sharma M.Tech First year 2nd Sem RSU2008018/20031100821012
  • 2. AGENDA Reverse Engineering & Immunity Debugger • What is a Reverse Engineering • Anatomy of a Windows PE C program • X86 Assembly Language • Typical Attack Flow • Reverse Engineering (RE) Tools & Immunity Debugger 20XX 2
  • 4. INTRODUCTION Reverse Engineering & Immunity Debugger Reversing Engineering is the process of extracting knowledge or design information from anything man-made and re-producing it or re-producing anything based on the extracted information 20XX 4
  • 5. What does it mean to be a reverse engineer Reverse Engineering & Immunity Debugger •Take things apart to figure out how it works •Love puzzle solving •Develop experiments and tools •Think outside the box •Constantly learn new things •Determine what are the goals •Get to just what you need, or •Know enough to recreate it •Use reconnaissance and triage skills to determine a target starting point •Work step by step to get to your goals •Record your findings through the analysis 20XX 5
  • 6. Flow for Malware Analysis Reverse Engineering & Immunity Debugger • Setup a baseline analysis environment • Triage to determine a starting point •Static Analysis - Get a sense of where everything is before debugging •Dynamic Analysis - Determine behaviours that can't be understood by static analysis •Manual Debugging - Stepping through the program to navigate to your goals 20XX 6
  • 7. Anatomy of Windows PE C Program Typical windows programs are in the Portable Executable (PE) Format. It's portable because it contains information, resources, and references to dynamic-linked libraries (DLL) that allows windows to load and execute the machine code. Presentation title 20XX 7
  • 8. Flow Chart of PE C Program Reverse Engineering & Immunity Debugger 20XX 8
  • 9. Flow Chart of PE C Program Reverse Engineering & Immunity Debugger 20XX 9 User-mode vs. Kernel Mode •In user-mode, an application starts a user-mode process which comes with its own private virtual address space and handle table •In kernel mode, applications share virtual address space. This diagram shows the relationship of application components for user-mode and kernel-mode
  • 10. PE Header Reverse Engineering & Immunity Debugger 20XX 10 • The PE header provides information to operating system on how to map the file into memory. The executable code has designated regions that require a different memory protection (RWX) • Read • Write • Execute
  • 11. Memory Layout Reverse Engineering & Immunity Debugger 20XX 11 •Stack - region of memory is added or removed using "last-in-first-out" (LIFO) procedure •Heap - region for dynamic memory allocation •Program Image - The PE executable code placed into memory •DLLs - Loaded DLL images that are referenced by the PE •TEB - Thread Environment Block stores information about the current running thread(s) •PEB - Process Environment Block stores information about loaded modules and processes.
  • 12. Flow Chart of PE C Program Reverse Engineering & Immunity Debugger 20XX 12 The Stack •Data is either pushed onto or popped off of the stack data structure •EBP - Base Pointer is the register that used to store the references in the stack frame
  • 13. X86 Assembly Language Reverse Engineering & Immunity Debugger 20XX 13
  • 14. X86 Assembly Language Reverse Engineering & Immunity Debugger The C programming is a high level language interpreted by the compiler that converts code into machine instructions called assembly language. By using a disassembler tool we can get the assembly language of a compiled C program. The Intel 8086 and 8088 were the first CPUs to have an instruction set that is now commonly referred to as x86. Intel Architecture 32-bit (IA-32) sometimes also called i386 is the 32-bit version of the x86 instruction set architecture. The x86 architecture is little-endian, meaning that multi-byte values are written least significant byte first. 20XX 14
  • 15. OpCodes & Instructions Reverse Engineering & Immunity Debugger Each Instruction represents opcodes (hex code) that tell the machine what to do next. Three categories of instructions: •Data Movement/Access •Arithmetic / Logic •Control-Flow Common Instructions •mov, lea (data movement, data access) •add, sub (arithmetic) •or, and, xor (Logic) •shr, shl (Logic) •ror, rol (Logic) •jmp, jne, jnz, jnb (Control Flow) •push, pop, call, leave, enter, ret (Control Flow) 20XX 15
  • 16. Registers Reverse Engineering & Immunity Debugger General-Purpose Registers: Register EAX EBX ECX EDX ESI EDI Description Accumulator Register Base Register Counter Register Data Register Source Index Destination Index 20XX 16
  • 17. Registers Reverse Engineering & Immunity Debugger Segment Registers: Register SS CS DS ES FS GS Description Stack Segment, Pointer to the stack Code Segment, Pointer to the code Data Segment, Pointer to the data Extra Segment, Pointer to extra data F Segment, Pointer to more extra data G Segment, Pointer to still more extra data 20XX 17
  • 18. Typical Attack Flow Reverse Engineering & Immunity Debugger • What is a Reverse Engineering • Anatomy of a Windows PE C program • X86 Assembly Language • Typical Attack Flow • Reverse Engineering (RE) Tools & Immunity 20XX 18
  • 19. Malware Classes Reverse Engineering & Immunity Debugger Class Description Virus Code that propagates (replicates) across systems with user intervention Worm Code that self- propagates/replicates across systems without requiring user intervention Bot Automated process that interacts with other network services Trojan Malware that is often disguised as legitimate software Ransomware Malware that holds the victim's data hostage by cryptography or other means 20XX 19
  • 20. Malware Techniques Reverse Engineering & Immunity Debugger • Compression • Obfuscation • Persistence 20XX 20
  • 21. Malware Techniques Presentation title Compression Combining the compressed data with decompression code into a single executable •Runtime packers •Self extractive archives 20XX 21
  • 22. Malware Techniques Presentation title Obfuscation: •Deliberate act of creating obfuscated code that is difficult for humans to understand •Plain text strings will appear as base64 or Xor •Malicious behavior will include junk functions or routines that do nothing to throw off the reverser. •Control-Flow Flattening 20XX 22
  • 23. Malware Techniques Presentation title Persistence: •Once malware gains access to a system, it often looks to be there for a long time. •If the persistence mechanism is unique enough, it can even serve as a great way to identify a given piece of malware. 20XX 23
  • 24. Reverse Engineering tools and Immunity DBg. Presentation title 20XX 24
  • 25. What is Immunity Presentation title Immunity Debugger is a powerful new way to write exploits, analyse malware, and reverse engineer binary files. It builds on a solid user interface with function graphing, the industry's first heap analysis tool built specifically for heap creation, and a large and well supported Python API for easy extensibility. 20XX 25
  • 26. Immunity Overview Presentation title •A debugger with functionality designed specifically for the security industry •Cuts exploit development time by 50% •Simple, understandable interfaces •Robust and powerful scripting language for automating intelligent debugging •Lightweight and fast debugging to prevent corruption during complex analysis •Connectivity to fuzzers and exploit development tools 20XX 26
  • 27. The way to get started is to quit talking and begin doing. Walt Disney Presentation title 20XX 27
  • 28. Thank you Mahakant Sharma MTech 1st year 2nd Sem RSU2008018/ 20031100821 012 Presentation title 20XX 28