SlideShare a Scribd company logo
julia.yc.cheng@gmail.com
鄭毓芹 成大電通所
Page § 2
Vulnerability, exploit code, shellcode
§ Vulnerability is a weakness which allows an attacker to reduce a
system's Information Assurance
§ Vulnerability is also known as the attack surface, an attacker must
have at least one applicable tool or technique that can connect to a
system weakness.
§ An exploit is a piece of software, a chunk of data, or sequence of
commands in order to cause unintended or unanticipated behavior to gain
control according to vulnerabilities.
§ a shellcode is a small piece of code used as the payload in the exploit
code. "shellcode” starts a command shell from which the attacker can
control the compromised machine.
Page § 3
MS09002 Internet Explorer Remote Code Execution Vulnerability
§ Published Day: 2009-02-10
§ CVE(CAN) ID: CVE-2009-0075
§ Classification: Critical
(Windows XP Service Pack 2 and Windows XP Service Pack 3 + IE7)
§ Patch: Cumulative Security Update for Internet Explorer (kb961260)
§ Description:
已成為最受歡迎的網頁掛馬所使用的弱點。IE7與IE8的CFunctionPoint函
數沒有正確的檢查DOM所夾帶的參數內容,進而可以使用特殊的字串迫壞
記憶體保護機制,導致攻擊者能夠用當時使用者登入的權限執行”任何程
式”,MS09002 Exploit code 使用JavaScripts Heap Spray,導致使用者無
法正常瀏覽網頁,執行惡意程式碼。
Page § 4
Web Page
HTML Content
MS09002 Exploit
ShellCode
HTML Content
.
.
.
0C 0C 0C 0C 0C 0C 0C
HTML Content
0C0C0C1C
0B1B0270
0C 0C 0C 0C 0C 0C 0C
0C 0C 0C 0C 0C 0C 0C
0C 0C 0C 0C 0C 0C 0C
Shellcode content
0C0C0C2C
0C0C0C3C
……
HTML Content
0B1B0280
(Heap Spray)
Browsing
Exploit Code Attack IE
Execute Shell Code
Page § 5
Fragus Exploit Code:
1.觀察MS09002的Exploit Code
Page § 6
Shellcode Encode 1: Alpha2
§ Alpha2是Realplayer漏洞多採用此種加密方法。
§ 特徵:TYIIIIIIIIIIIIIIII 開頭
Page § 7
Shellcode Encode 2: Base64
§ Step 1: 將每個字元先行轉成2進位表示的碼表,
§ Step 2: 以四個~六個字元為單位加以切割成區段,
§ Step 3: 每個區段補位成為8位,
§ Step 4: 對應碼表轉換
  
0 -------------------------- --------25 26--------------------------51 52 -----------------------61 62 63
ABCDEFG------------XYZ abcd ---------------xyz 0 1 2 3 4 5 6 7 8 9 + /
01100001 01100010 01100011
011000 | 010110 | 001001 | 100011
00011000 | 00010110 | 00001001 | 00100011
分成四個
碼表轉換
補足位數
24 (Y) 22(W) 9(J) 35(j)編碼結果
a b c
Page § 8
Shellcode Encode 2: Base64 (Cont.)
§ 編碼特徵: 英文字母大小寫混排,末尾可能包含有等號
Page § 9
Shellcode Encode 3: %u
§ 特徵:以相同分隔符號 (⼀一般為%u)分隔,4個字元為⼀一組,以16進位表示
Page § 10
Shellcode Encode 4: US-ASCII 編碼
§ 特徵:類似中國文字,並且含有 <meta http-equiv=“Content-Type” content=“text/
html; charset=US-ASCII” />
julia.yc.cheng@gmail.com
鄭毓芹 成大電通所
Page § 12
PDF Introduction
§ PDF : Portable Document Format (可攜式文件)
§ PDF 特性:
•  跨平台 (Cross Platform)
•  保留原始文件格式 ( Page Layout)
•  開放標準 (Open Standard)
§ 2007年12月,PDF format成為標準
§ PDF Reader : Adobe Reader, Foxit Reader, Sumatra PDF
§ ASCII – based document
Page § 13
PDF Format
PDF Start (Version)
PDF Object
Cross Reference Table
Trailer
End of File
obj
endobj
/JS
• Object (obj … endobj) : stream data element
• JavaScript object starts with /JS
Understand more PDF format:
http://www.4xpdf.com/2008/10/download-
iso-32000-1-document-for-free-from-
adobecom/
Page § 14
PDF Format -- PDF Objects
Object Name: Description:
/OpenAction
/AA (Additional Action)
Run automatically the scripts or actions
/Names
/AcroForm
/Action
Run and launch scripts or actions
/JavaScript
/JS
Run Javascripts
/GoTo* Change view to a specified destination within PDF or another PDF
/Launch Launch a program or open a document
/URI Access URL
/SubmitForm
/GoToR
Send data to URL
/RichMedia Embed Flash in PDF
/Filter Compression or Encoding format for binary stream
/ObjStm Hide objects inside an Object stream
Page § 15
Malicious PDF attacking: How it works!!!
Hackers crafted
malicious PDF
Distribute via
email attachments
Embed into
malicious web page
other means:
upload,usb,p2p
Open the file with
vulnerable pdf reader
or browser PDF plugin
Payloads
Execute malicious payloads
Page § 16
Malicious PDF attacking: why PDF is targeted
§ PDF is widely used in the IT
§ Popular PDF readers and creators have bugs
(Acrobat Reader 8.1.1 has several vulnerabilities)
§ Easy to combine with spam mails.
§ Easy to combine with client-side attack
(PDF plungin on web browsers)
Page § 17
Malicious PDF Analysis Methodology
Observe
PDF structure
Extract
code segments
Disassemble
malicious code
Find
next steps
Decrypt, locate and extract suspicious
embedded code segments
Observe PDF structure and content such
as shellcode, VBA macros, or JavaScript.
Disassemble, deobfuscate and examine
JavaScript, ActionScript or VB macro code
Understand the next infected step
Observe
PDF structure
Page § 18
Malicious PDF Analysis -- Tool Requirements
§ Analysis Platform: Linux-based (Ubuntu recommend)
§ Text Editors:
–  McAfee FileInsight:
http://download.nai.com/products/mcafee-avert/fileinsight.zip
–  Pyew: http://code.google.com/p/pyew/
–  Others: vim, geditor, emeditor
Page § 19
Malicious PDF Analysis -- Tools
§ Wepawet: Analysis web-based malware
–  http://wepawet.iseclab.org/
§ Jsunpack: A Generic JavaScript Unpacker
–  http://jsunpack.jeek.org/dec/go
§ PDFTK : PDF stream decoder
§ SpiderMokey: JavaScript Emulator
§ Sctest of Libemu: shellcode analysis
§ PDF StructAzer: displays structure and raw contents of the PDF file
§ PDFiD: identify strings with scripts and actions in PDF files
§ PDF-parser: identify key elements of PDF file without rendering it
Page § 20
Malicious PDF Analysis -- Tools (Cont.)
§ Origami Walker: examine the structure of PDF files.
§ Origami pdfscan: identify strings with scripts and actions
§ Origami extractjs: extract JavaScript from PDF files
§ Jsunpack-n’s pdf.py: extract JavaScript from PDF files.
§ Malzilla: help deobfuscate JavaScript
Page § 21
Buildup PDF Analysis Lab
§ Step 1: choose text editor, vim.tiny or gedit
§ Step 2: apt-get install python
§ Step 3: apt-get install pdftk
§ Step 4: Install libemu
–  wget
http://ncu.dl.sourceforge.net/project/nepenthes/libemu
%20development/0.2.0/libemu-0.2.0.tar.gz
–  tar zxvf libemu*.tar.gz
–  cd libemu-0.2.0
–  ./configure –prefix=/opt/libemu/
–  make && make install
Page § 22
Buildup PDF Analysis Lab (Cont.)
§ Step 5:
–  wget http://www.didierstevens.com/files/software/js-1.7.0-mod.tar.gz
–  tar zxvf js-1.7.0-mod.tar.gz
–  cd js/src
–  export CFLAGS=“-DJS_C_STRINGS_ARE_UTF8”
–  make –f Makefile.ref
–  JS_DIST=/opt/js make –f Makefile.ref export
Page § 23
Before we start …..
1.  打開文件觀察,找出 /JS or /Javascripts
2.  確認是否有壓縮,利用PDFTK解壓縮
3.  觀察是否為 obfuscated javascript,利用JS (SpiderMonkey)
4.  分析Shellcode,利用 Sctest (Libemu)
Page § 24
Analysis Sample 1 : Observe /JS
§ $vim.tiny sample1.pdf To find /JS or /Javascripts
§ Look Object 7 (including heap spray code)
§ util.printf ( ) trigger malicious exploit code
§ This is Adobe Reader 'util.printf()' JavaScript Function Stack
Buffer Overflow Vulnerability
( http://www.securityfocus.com/bid/30035)
Page § 25
Shellcode
Heap spay Exploit
util.printf function exploit
Page § 26
Analysis Sample1 : Shellcode Inspection
§ This is a malicious PDF file
§ Copy the var payload to the end and save into shellcode.txt
§ Remove chars using vim.tiny
–  移除+符號 : %s/[”+.]//g
–  移除段行符號: %j
§ Reform uniform using perl code to format
–  cat shellcode.txt | perl –pe ‘s/%u(..)(..)/chr(hex($2)).chr(hex($1))/ge’ |
hexdump –C
–  cat shellcode.txt | perl –pe ‘s/%u(..)(..)/chr(hex($2)).chr(hex($1))/ge’ >
shellcode.bin
Page § 27
Analysis Sample1: Shellcode Analysis
§ Feed the shellcode.bin to sctest
–  /opt/libemu/bin/sctest -Ss 100000 < shellcode.bin
A reverse shell to ip 202.190.85.36 to port 7777
Page § 28
Analysis Sample2: Observe /JS
§ $vim.tiny sample2.pdf To find /JS or /Javascripts
§ Look Object 1 and search ‘Z0pEA5PLzPyyw()’ function
§ Found /Filter : This PDF is decompressed.
FilterDecode + ASCIIHexDeCode
Stream Length
Stream Objects
• FlateDecode : use standard zlib compression
• ASCIIHexDeCode :hex chars conversion
Page § 29
Analysis Sample2: Decompression
§ Decompression: use PDFTK
–  pdftk sample2.pdf output dc-sample2.pdf uncompres
§  Observe /JS again in decompressed PDF
Page § 30
Analysis Sample3: Obfuscated JavaScript Analysis
§ PDF readers have their own javascript engine and bugs
§ Malicious PDF could execute javascript to trigger exploit
codes to attack bugs
§ Use JS emulator to analyze javascript
Page § 31
Analysis Sample3: Observe and decompress
§ Decompress
–  pdftk sample3.pdf output dc-sample3.pdf uncompress
§ Look for /JS and find Object 13
§ Object 13 contains JavaScript code
§ Copy the JavaScript to sample3.js
§ Remove (^M) that generated by PDFTK
%s/^M//g using vi
Page § 32
Analysis Sample3: JavaScript Analysis
§ JavaScript Emulator
–  /opt/js/bin/js sample3.js
§ Analysis on the eval.001.log file
Page § 33
Analysis Sample3: Shellcode Reform and Analysis
§ Unicode reform:
–  cat shellcode.txt | perl –pe ‘s/%u(..)(..)/chr(hex($2)).chr(hex($1))/ge’ |
hexdump –C
–  cat shellcode.txt | perl –pe ‘s/%u(..)(..)/chr(hex($2)).chr(hex($1))/ge’ >
shellcode.bin
§ Shellcode Analysis
–  /opt/libemu/bin/sctest –Ss 100000 < shellcode.bin
Page § 34
Analysis Sample3: Shellcode Explanation
Page § 35
Analyze sample 4 : PDF syntax ObfuscaMon
§ PDF use syntax for document handling
–  This.Info.Title
–  getPageNum
Analysis Steps:
–  Observe and decompress
–  Extract Javascript
–  JS analysis
–  Shellcode execute and analysis
How many exploits ?
List the downloading URL and malware
Julia Cheng
Julia.yc.cheng@gmail.com

More Related Content

What's hot

Perl Memory Use - LPW2013
Perl Memory Use - LPW2013Perl Memory Use - LPW2013
Perl Memory Use - LPW2013
Tim Bunce
 
What you need to remember when you upload to CPAN
What you need to remember when you upload to CPANWhat you need to remember when you upload to CPAN
What you need to remember when you upload to CPAN
charsbar
 
Take a Jailbreak -Stunning Guards for iOS Jailbreak- by Kaoru Otsuka
Take a Jailbreak -Stunning Guards for iOS Jailbreak- by Kaoru OtsukaTake a Jailbreak -Stunning Guards for iOS Jailbreak- by Kaoru Otsuka
Take a Jailbreak -Stunning Guards for iOS Jailbreak- by Kaoru Otsuka
CODE BLUE
 
Perl at SkyCon'12
Perl at SkyCon'12Perl at SkyCon'12
Perl at SkyCon'12
Tim Bunce
 
typemap in Perl/XS
typemap in Perl/XS  typemap in Perl/XS
typemap in Perl/XS
charsbar
 
Working with databases in Perl
Working with databases in PerlWorking with databases in Perl
Working with databases in Perl
Laurent Dami
 
php & performance
 php & performance php & performance
php & performance
simon8410
 
Devinsampa nginx-scripting
Devinsampa nginx-scriptingDevinsampa nginx-scripting
Devinsampa nginx-scriptingTony Fabeen
 
DBD::Gofer 200809
DBD::Gofer 200809DBD::Gofer 200809
DBD::Gofer 200809
Tim Bunce
 
Hacking with hhvm
Hacking with hhvmHacking with hhvm
Hacking with hhvm
Elizabeth Smith
 
Submit PHP: Standards in PHP world. Михайло Морозов
Submit PHP: Standards in PHP world. Михайло МорозовSubmit PHP: Standards in PHP world. Михайло Морозов
Submit PHP: Standards in PHP world. Михайло Морозов
Binary Studio
 
Mysqlnd, an unknown powerful PHP extension
Mysqlnd, an unknown powerful PHP extensionMysqlnd, an unknown powerful PHP extension
Mysqlnd, an unknown powerful PHP extension
julien pauli
 
Network programming
Network programmingNetwork programming
Php’s guts
Php’s gutsPhp’s guts
Php’s guts
Elizabeth Smith
 
Automate Payload Generation for a Given Binary and Perform Attack
Automate Payload Generation for a Given Binary and Perform AttackAutomate Payload Generation for a Given Binary and Perform Attack
Automate Payload Generation for a Given Binary and Perform Attack
Abhishek BV
 
Pycon - Python for ethical hackers
Pycon - Python for ethical hackers Pycon - Python for ethical hackers
Pycon - Python for ethical hackers
Mohammad Reza Kamalifard
 
Smashing The Stack
Smashing The StackSmashing The Stack
Smashing The Stack
Abhishek BV
 
Better detection of what modules are used by some Perl 5 code
Better detection of what modules are used by some Perl 5 codeBetter detection of what modules are used by some Perl 5 code
Better detection of what modules are used by some Perl 5 code
charsbar
 
Php in 2013 (Web-5 2013 conference)
Php in 2013 (Web-5 2013 conference)Php in 2013 (Web-5 2013 conference)
Php in 2013 (Web-5 2013 conference)
julien pauli
 

What's hot (20)

Perl Memory Use - LPW2013
Perl Memory Use - LPW2013Perl Memory Use - LPW2013
Perl Memory Use - LPW2013
 
What you need to remember when you upload to CPAN
What you need to remember when you upload to CPANWhat you need to remember when you upload to CPAN
What you need to remember when you upload to CPAN
 
Take a Jailbreak -Stunning Guards for iOS Jailbreak- by Kaoru Otsuka
Take a Jailbreak -Stunning Guards for iOS Jailbreak- by Kaoru OtsukaTake a Jailbreak -Stunning Guards for iOS Jailbreak- by Kaoru Otsuka
Take a Jailbreak -Stunning Guards for iOS Jailbreak- by Kaoru Otsuka
 
Perl at SkyCon'12
Perl at SkyCon'12Perl at SkyCon'12
Perl at SkyCon'12
 
typemap in Perl/XS
typemap in Perl/XS  typemap in Perl/XS
typemap in Perl/XS
 
Working with databases in Perl
Working with databases in PerlWorking with databases in Perl
Working with databases in Perl
 
php & performance
 php & performance php & performance
php & performance
 
Devinsampa nginx-scripting
Devinsampa nginx-scriptingDevinsampa nginx-scripting
Devinsampa nginx-scripting
 
DBD::Gofer 200809
DBD::Gofer 200809DBD::Gofer 200809
DBD::Gofer 200809
 
Hacking with hhvm
Hacking with hhvmHacking with hhvm
Hacking with hhvm
 
Submit PHP: Standards in PHP world. Михайло Морозов
Submit PHP: Standards in PHP world. Михайло МорозовSubmit PHP: Standards in PHP world. Михайло Морозов
Submit PHP: Standards in PHP world. Михайло Морозов
 
x86
x86x86
x86
 
Mysqlnd, an unknown powerful PHP extension
Mysqlnd, an unknown powerful PHP extensionMysqlnd, an unknown powerful PHP extension
Mysqlnd, an unknown powerful PHP extension
 
Network programming
Network programmingNetwork programming
Network programming
 
Php’s guts
Php’s gutsPhp’s guts
Php’s guts
 
Automate Payload Generation for a Given Binary and Perform Attack
Automate Payload Generation for a Given Binary and Perform AttackAutomate Payload Generation for a Given Binary and Perform Attack
Automate Payload Generation for a Given Binary and Perform Attack
 
Pycon - Python for ethical hackers
Pycon - Python for ethical hackers Pycon - Python for ethical hackers
Pycon - Python for ethical hackers
 
Smashing The Stack
Smashing The StackSmashing The Stack
Smashing The Stack
 
Better detection of what modules are used by some Perl 5 code
Better detection of what modules are used by some Perl 5 codeBetter detection of what modules are used by some Perl 5 code
Better detection of what modules are used by some Perl 5 code
 
Php in 2013 (Web-5 2013 conference)
Php in 2013 (Web-5 2013 conference)Php in 2013 (Web-5 2013 conference)
Php in 2013 (Web-5 2013 conference)
 

Viewers also liked

Talking about exploit writing
Talking about exploit writingTalking about exploit writing
Talking about exploit writing
sbha0909
 
Hacking school computers for fun profit and better grades short
Hacking school computers for fun profit and better grades shortHacking school computers for fun profit and better grades short
Hacking school computers for fun profit and better grades short
Vincent Ohprecio
 
Rooting your internals - Exploiting Internal Network Vulns via the Browser Us...
Rooting your internals - Exploiting Internal Network Vulns via the Browser Us...Rooting your internals - Exploiting Internal Network Vulns via the Browser Us...
Rooting your internals - Exploiting Internal Network Vulns via the Browser Us...
Michele Orru
 
CNIT 127 Ch 3: Shellcode
CNIT 127 Ch 3: ShellcodeCNIT 127 Ch 3: Shellcode
CNIT 127 Ch 3: Shellcode
Sam Bowne
 
The Honeynet Project Introduction
The Honeynet Project IntroductionThe Honeynet Project Introduction
The Honeynet Project Introduction
Julia Yu-Chin Cheng
 
Storm Worm - Malware 2.0
Storm Worm - Malware 2.0Storm Worm - Malware 2.0
Storm Worm - Malware 2.0
Kurt Baumgartner
 
Manual Unpacking + By Re.M J Nop790
Manual  Unpacking + By Re.M J Nop790Manual  Unpacking + By Re.M J Nop790
Manual Unpacking + By Re.M J Nop790guest747ad9d
 
07 - Bypassing ASLR, or why X^W matters
07 - Bypassing ASLR, or why X^W matters07 - Bypassing ASLR, or why X^W matters
07 - Bypassing ASLR, or why X^W matters
Alexandre Moneger
 
Anatomy of A Shell Code, Reverse engineering
Anatomy of A Shell Code, Reverse engineeringAnatomy of A Shell Code, Reverse engineering
Anatomy of A Shell Code, Reverse engineering
Abhineet Ayan
 
Efficient Bytecode Analysis: Linespeed Shellcode Detection
Efficient Bytecode Analysis: Linespeed Shellcode DetectionEfficient Bytecode Analysis: Linespeed Shellcode Detection
Efficient Bytecode Analysis: Linespeed Shellcode DetectionGeorg Wicherski
 
Linux Shellcode disassembling
Linux Shellcode disassemblingLinux Shellcode disassembling
Linux Shellcode disassembling
Harsh Daftary
 
Design and implementation_of_shellcodes
Design and implementation_of_shellcodesDesign and implementation_of_shellcodes
Design and implementation_of_shellcodesAmr Ali
 
Java Shellcode Execution
Java Shellcode ExecutionJava Shellcode Execution
Java Shellcode ExecutionRyan Wincey
 
05 - Bypassing DEP, or why ASLR matters
05 - Bypassing DEP, or why ASLR matters05 - Bypassing DEP, or why ASLR matters
05 - Bypassing DEP, or why ASLR matters
Alexandre Moneger
 
Shellcode and heapspray detection in phoneyc
Shellcode and heapspray detection in phoneycShellcode and heapspray detection in phoneyc
Shellcode and heapspray detection in phoneycZ Chen
 
Exploit Research and Development Megaprimer: Unicode Based Exploit Development
Exploit Research and Development Megaprimer: Unicode Based Exploit DevelopmentExploit Research and Development Megaprimer: Unicode Based Exploit Development
Exploit Research and Development Megaprimer: Unicode Based Exploit Development
Ajin Abraham
 
Rooting Your Internals: Inter-Protocol Exploitation, custom shellcode and BeEF
 Rooting Your Internals: Inter-Protocol Exploitation, custom shellcode and BeEF Rooting Your Internals: Inter-Protocol Exploitation, custom shellcode and BeEF
Rooting Your Internals: Inter-Protocol Exploitation, custom shellcode and BeEF
Michele Orru
 
Anton Dorfman. Shellcode Mastering.
Anton Dorfman. Shellcode Mastering.Anton Dorfman. Shellcode Mastering.
Anton Dorfman. Shellcode Mastering.Positive Hack Days
 
Patching Windows Executables with the Backdoor Factory | DerbyCon 2013
Patching Windows Executables with the Backdoor Factory | DerbyCon 2013Patching Windows Executables with the Backdoor Factory | DerbyCon 2013
Patching Windows Executables with the Backdoor Factory | DerbyCon 2013
midnite_runr
 
Exploit Research and Development Megaprimer: Win32 Egghunter
Exploit Research and Development Megaprimer: Win32 EgghunterExploit Research and Development Megaprimer: Win32 Egghunter
Exploit Research and Development Megaprimer: Win32 Egghunter
Ajin Abraham
 

Viewers also liked (20)

Talking about exploit writing
Talking about exploit writingTalking about exploit writing
Talking about exploit writing
 
Hacking school computers for fun profit and better grades short
Hacking school computers for fun profit and better grades shortHacking school computers for fun profit and better grades short
Hacking school computers for fun profit and better grades short
 
Rooting your internals - Exploiting Internal Network Vulns via the Browser Us...
Rooting your internals - Exploiting Internal Network Vulns via the Browser Us...Rooting your internals - Exploiting Internal Network Vulns via the Browser Us...
Rooting your internals - Exploiting Internal Network Vulns via the Browser Us...
 
CNIT 127 Ch 3: Shellcode
CNIT 127 Ch 3: ShellcodeCNIT 127 Ch 3: Shellcode
CNIT 127 Ch 3: Shellcode
 
The Honeynet Project Introduction
The Honeynet Project IntroductionThe Honeynet Project Introduction
The Honeynet Project Introduction
 
Storm Worm - Malware 2.0
Storm Worm - Malware 2.0Storm Worm - Malware 2.0
Storm Worm - Malware 2.0
 
Manual Unpacking + By Re.M J Nop790
Manual  Unpacking + By Re.M J Nop790Manual  Unpacking + By Re.M J Nop790
Manual Unpacking + By Re.M J Nop790
 
07 - Bypassing ASLR, or why X^W matters
07 - Bypassing ASLR, or why X^W matters07 - Bypassing ASLR, or why X^W matters
07 - Bypassing ASLR, or why X^W matters
 
Anatomy of A Shell Code, Reverse engineering
Anatomy of A Shell Code, Reverse engineeringAnatomy of A Shell Code, Reverse engineering
Anatomy of A Shell Code, Reverse engineering
 
Efficient Bytecode Analysis: Linespeed Shellcode Detection
Efficient Bytecode Analysis: Linespeed Shellcode DetectionEfficient Bytecode Analysis: Linespeed Shellcode Detection
Efficient Bytecode Analysis: Linespeed Shellcode Detection
 
Linux Shellcode disassembling
Linux Shellcode disassemblingLinux Shellcode disassembling
Linux Shellcode disassembling
 
Design and implementation_of_shellcodes
Design and implementation_of_shellcodesDesign and implementation_of_shellcodes
Design and implementation_of_shellcodes
 
Java Shellcode Execution
Java Shellcode ExecutionJava Shellcode Execution
Java Shellcode Execution
 
05 - Bypassing DEP, or why ASLR matters
05 - Bypassing DEP, or why ASLR matters05 - Bypassing DEP, or why ASLR matters
05 - Bypassing DEP, or why ASLR matters
 
Shellcode and heapspray detection in phoneyc
Shellcode and heapspray detection in phoneycShellcode and heapspray detection in phoneyc
Shellcode and heapspray detection in phoneyc
 
Exploit Research and Development Megaprimer: Unicode Based Exploit Development
Exploit Research and Development Megaprimer: Unicode Based Exploit DevelopmentExploit Research and Development Megaprimer: Unicode Based Exploit Development
Exploit Research and Development Megaprimer: Unicode Based Exploit Development
 
Rooting Your Internals: Inter-Protocol Exploitation, custom shellcode and BeEF
 Rooting Your Internals: Inter-Protocol Exploitation, custom shellcode and BeEF Rooting Your Internals: Inter-Protocol Exploitation, custom shellcode and BeEF
Rooting Your Internals: Inter-Protocol Exploitation, custom shellcode and BeEF
 
Anton Dorfman. Shellcode Mastering.
Anton Dorfman. Shellcode Mastering.Anton Dorfman. Shellcode Mastering.
Anton Dorfman. Shellcode Mastering.
 
Patching Windows Executables with the Backdoor Factory | DerbyCon 2013
Patching Windows Executables with the Backdoor Factory | DerbyCon 2013Patching Windows Executables with the Backdoor Factory | DerbyCon 2013
Patching Windows Executables with the Backdoor Factory | DerbyCon 2013
 
Exploit Research and Development Megaprimer: Win32 Egghunter
Exploit Research and Development Megaprimer: Win32 EgghunterExploit Research and Development Megaprimer: Win32 Egghunter
Exploit Research and Development Megaprimer: Win32 Egghunter
 

Similar to Shellcode Analysis - Basic and Concept

You're Off the Hook: Blinding Security Software
You're Off the Hook: Blinding Security SoftwareYou're Off the Hook: Blinding Security Software
You're Off the Hook: Blinding Security Software
Cylance
 
iOS Client Side Analysis
iOS Client Side AnalysisiOS Client Side Analysis
iOS Client Side Analysis
Aadarsh N
 
Reverse Engineering Malicious Javascript
Reverse Engineering Malicious JavascriptReverse Engineering Malicious Javascript
Reverse Engineering Malicious Javascript
Yusuf Motiwala
 
DDD17 - Web Applications Automated Security Testing in a Continuous Delivery...
 DDD17 - Web Applications Automated Security Testing in a Continuous Delivery... DDD17 - Web Applications Automated Security Testing in a Continuous Delivery...
DDD17 - Web Applications Automated Security Testing in a Continuous Delivery...
Fedir RYKHTIK
 
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016
Zabbix
 
10 things i wish i'd known before using spark in production
10 things i wish i'd known before using spark in production10 things i wish i'd known before using spark in production
10 things i wish i'd known before using spark in production
Paris Data Engineers !
 
Thick Application Penetration Testing: Crash Course
Thick Application Penetration Testing: Crash CourseThick Application Penetration Testing: Crash Course
Thick Application Penetration Testing: Crash Course
Scott Sutherland
 
Writing Character driver (loadable module) in linux
Writing Character driver (loadable module) in linuxWriting Character driver (loadable module) in linux
Writing Character driver (loadable module) in linux
RajKumar Rampelli
 
K8s best practices from the field!
K8s best practices from the field!K8s best practices from the field!
K8s best practices from the field!
DoiT International
 
[CB20] Vulnerabilities of Machine Learning Infrastructure by Sergey Gordeychik
[CB20] Vulnerabilities of Machine Learning Infrastructure by Sergey Gordeychik[CB20] Vulnerabilities of Machine Learning Infrastructure by Sergey Gordeychik
[CB20] Vulnerabilities of Machine Learning Infrastructure by Sergey Gordeychik
CODE BLUE
 
Lecture1: NGS Analysis on Beocat and an introduction to Perl programming for ...
Lecture1: NGS Analysis on Beocat and an introduction to Perl programming for ...Lecture1: NGS Analysis on Beocat and an introduction to Perl programming for ...
Lecture1: NGS Analysis on Beocat and an introduction to Perl programming for ...
Jennifer Shelton
 
Implementing Active Security with Sysdig Falco - Barcelona Software Crafters
Implementing Active Security with Sysdig Falco - Barcelona Software CraftersImplementing Active Security with Sysdig Falco - Barcelona Software Crafters
Implementing Active Security with Sysdig Falco - Barcelona Software Crafters
Néstor Salceda
 
Eclipse HandsOn Workshop
Eclipse HandsOn WorkshopEclipse HandsOn Workshop
Eclipse HandsOn Workshop
Bastian Feder
 
Chef - industrialize and automate your infrastructure
Chef - industrialize and automate your infrastructureChef - industrialize and automate your infrastructure
Chef - industrialize and automate your infrastructure
Michaël Lopez
 
Kubernetes Summit 2019 - Harden Your Kubernetes Cluster
Kubernetes Summit 2019 - Harden Your Kubernetes ClusterKubernetes Summit 2019 - Harden Your Kubernetes Cluster
Kubernetes Summit 2019 - Harden Your Kubernetes Cluster
smalltown
 
Null Bachaav - May 07 Attack Monitoring workshop.
Null Bachaav - May 07 Attack Monitoring workshop.Null Bachaav - May 07 Attack Monitoring workshop.
Null Bachaav - May 07 Attack Monitoring workshop.
Prajal Kulkarni
 
BlackHat 2014 Briefings - Exploiting Fundamental Weaknesses in Botnet C&C Pan...
BlackHat 2014 Briefings - Exploiting Fundamental Weaknesses in Botnet C&C Pan...BlackHat 2014 Briefings - Exploiting Fundamental Weaknesses in Botnet C&C Pan...
BlackHat 2014 Briefings - Exploiting Fundamental Weaknesses in Botnet C&C Pan...
Aditya K Sood
 
Easy native wrappers with SWIG
Easy native wrappers with SWIGEasy native wrappers with SWIG
Easy native wrappers with SWIG
Javier Arturo Rodríguez
 
Css Founder.com | Cssfounder Net
Css Founder.com | Cssfounder NetCss Founder.com | Cssfounder Net
Css Founder.com | Cssfounder Net
Css Founder
 
PHP Development Tools 2.0 - Success Story
PHP Development Tools 2.0 - Success StoryPHP Development Tools 2.0 - Success Story
PHP Development Tools 2.0 - Success Story
Michael Spector
 

Similar to Shellcode Analysis - Basic and Concept (20)

You're Off the Hook: Blinding Security Software
You're Off the Hook: Blinding Security SoftwareYou're Off the Hook: Blinding Security Software
You're Off the Hook: Blinding Security Software
 
iOS Client Side Analysis
iOS Client Side AnalysisiOS Client Side Analysis
iOS Client Side Analysis
 
Reverse Engineering Malicious Javascript
Reverse Engineering Malicious JavascriptReverse Engineering Malicious Javascript
Reverse Engineering Malicious Javascript
 
DDD17 - Web Applications Automated Security Testing in a Continuous Delivery...
 DDD17 - Web Applications Automated Security Testing in a Continuous Delivery... DDD17 - Web Applications Automated Security Testing in a Continuous Delivery...
DDD17 - Web Applications Automated Security Testing in a Continuous Delivery...
 
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016
 
10 things i wish i'd known before using spark in production
10 things i wish i'd known before using spark in production10 things i wish i'd known before using spark in production
10 things i wish i'd known before using spark in production
 
Thick Application Penetration Testing: Crash Course
Thick Application Penetration Testing: Crash CourseThick Application Penetration Testing: Crash Course
Thick Application Penetration Testing: Crash Course
 
Writing Character driver (loadable module) in linux
Writing Character driver (loadable module) in linuxWriting Character driver (loadable module) in linux
Writing Character driver (loadable module) in linux
 
K8s best practices from the field!
K8s best practices from the field!K8s best practices from the field!
K8s best practices from the field!
 
[CB20] Vulnerabilities of Machine Learning Infrastructure by Sergey Gordeychik
[CB20] Vulnerabilities of Machine Learning Infrastructure by Sergey Gordeychik[CB20] Vulnerabilities of Machine Learning Infrastructure by Sergey Gordeychik
[CB20] Vulnerabilities of Machine Learning Infrastructure by Sergey Gordeychik
 
Lecture1: NGS Analysis on Beocat and an introduction to Perl programming for ...
Lecture1: NGS Analysis on Beocat and an introduction to Perl programming for ...Lecture1: NGS Analysis on Beocat and an introduction to Perl programming for ...
Lecture1: NGS Analysis on Beocat and an introduction to Perl programming for ...
 
Implementing Active Security with Sysdig Falco - Barcelona Software Crafters
Implementing Active Security with Sysdig Falco - Barcelona Software CraftersImplementing Active Security with Sysdig Falco - Barcelona Software Crafters
Implementing Active Security with Sysdig Falco - Barcelona Software Crafters
 
Eclipse HandsOn Workshop
Eclipse HandsOn WorkshopEclipse HandsOn Workshop
Eclipse HandsOn Workshop
 
Chef - industrialize and automate your infrastructure
Chef - industrialize and automate your infrastructureChef - industrialize and automate your infrastructure
Chef - industrialize and automate your infrastructure
 
Kubernetes Summit 2019 - Harden Your Kubernetes Cluster
Kubernetes Summit 2019 - Harden Your Kubernetes ClusterKubernetes Summit 2019 - Harden Your Kubernetes Cluster
Kubernetes Summit 2019 - Harden Your Kubernetes Cluster
 
Null Bachaav - May 07 Attack Monitoring workshop.
Null Bachaav - May 07 Attack Monitoring workshop.Null Bachaav - May 07 Attack Monitoring workshop.
Null Bachaav - May 07 Attack Monitoring workshop.
 
BlackHat 2014 Briefings - Exploiting Fundamental Weaknesses in Botnet C&C Pan...
BlackHat 2014 Briefings - Exploiting Fundamental Weaknesses in Botnet C&C Pan...BlackHat 2014 Briefings - Exploiting Fundamental Weaknesses in Botnet C&C Pan...
BlackHat 2014 Briefings - Exploiting Fundamental Weaknesses in Botnet C&C Pan...
 
Easy native wrappers with SWIG
Easy native wrappers with SWIGEasy native wrappers with SWIG
Easy native wrappers with SWIG
 
Css Founder.com | Cssfounder Net
Css Founder.com | Cssfounder NetCss Founder.com | Cssfounder Net
Css Founder.com | Cssfounder Net
 
PHP Development Tools 2.0 - Success Story
PHP Development Tools 2.0 - Success StoryPHP Development Tools 2.0 - Success Story
PHP Development Tools 2.0 - Success Story
 

More from Julia Yu-Chin Cheng

2022年_程式教育迎向未來新視野v2.pptx
2022年_程式教育迎向未來新視野v2.pptx2022年_程式教育迎向未來新視野v2.pptx
2022年_程式教育迎向未來新視野v2.pptx
Julia Yu-Chin Cheng
 
Honeycon2016-honeypot updates for public
Honeycon2016-honeypot updates for publicHoneycon2016-honeypot updates for public
Honeycon2016-honeypot updates for public
Julia Yu-Chin Cheng
 
Evolving Threat Landscapes Web-Based Botnet Through Exploit Kits and Scripts ...
Evolving Threat Landscapes Web-Based Botnet Through Exploit Kits and Scripts ...Evolving Threat Landscapes Web-Based Botnet Through Exploit Kits and Scripts ...
Evolving Threat Landscapes Web-Based Botnet Through Exploit Kits and Scripts ...
Julia Yu-Chin Cheng
 
20100826-證交所-誘捕系統與殭屍網路(Botnet and honeypot)
20100826-證交所-誘捕系統與殭屍網路(Botnet and honeypot)20100826-證交所-誘捕系統與殭屍網路(Botnet and honeypot)
20100826-證交所-誘捕系統與殭屍網路(Botnet and honeypot)
Julia Yu-Chin Cheng
 
Clientside attack using HoneyClient Technology
Clientside attack using HoneyClient TechnologyClientside attack using HoneyClient Technology
Clientside attack using HoneyClient Technology
Julia Yu-Chin Cheng
 
Malware Analysis - Example
Malware Analysis - ExampleMalware Analysis - Example
Malware Analysis - Example
Julia Yu-Chin Cheng
 
網路攻擊與封包分析- Wireshark
網路攻擊與封包分析- Wireshark網路攻擊與封包分析- Wireshark
網路攻擊與封包分析- Wireshark
Julia Yu-Chin Cheng
 
Malware Analysis - Basic and Concept
Malware Analysis - Basic and ConceptMalware Analysis - Basic and Concept
Malware Analysis - Basic and Concept
Julia Yu-Chin Cheng
 

More from Julia Yu-Chin Cheng (10)

2022年_程式教育迎向未來新視野v2.pptx
2022年_程式教育迎向未來新視野v2.pptx2022年_程式教育迎向未來新視野v2.pptx
2022年_程式教育迎向未來新視野v2.pptx
 
Honeycon2016-honeypot updates for public
Honeycon2016-honeypot updates for publicHoneycon2016-honeypot updates for public
Honeycon2016-honeypot updates for public
 
Honeywall roo 1
Honeywall roo 1Honeywall roo 1
Honeywall roo 1
 
Honeywall roo 2
Honeywall roo 2Honeywall roo 2
Honeywall roo 2
 
Evolving Threat Landscapes Web-Based Botnet Through Exploit Kits and Scripts ...
Evolving Threat Landscapes Web-Based Botnet Through Exploit Kits and Scripts ...Evolving Threat Landscapes Web-Based Botnet Through Exploit Kits and Scripts ...
Evolving Threat Landscapes Web-Based Botnet Through Exploit Kits and Scripts ...
 
20100826-證交所-誘捕系統與殭屍網路(Botnet and honeypot)
20100826-證交所-誘捕系統與殭屍網路(Botnet and honeypot)20100826-證交所-誘捕系統與殭屍網路(Botnet and honeypot)
20100826-證交所-誘捕系統與殭屍網路(Botnet and honeypot)
 
Clientside attack using HoneyClient Technology
Clientside attack using HoneyClient TechnologyClientside attack using HoneyClient Technology
Clientside attack using HoneyClient Technology
 
Malware Analysis - Example
Malware Analysis - ExampleMalware Analysis - Example
Malware Analysis - Example
 
網路攻擊與封包分析- Wireshark
網路攻擊與封包分析- Wireshark網路攻擊與封包分析- Wireshark
網路攻擊與封包分析- Wireshark
 
Malware Analysis - Basic and Concept
Malware Analysis - Basic and ConceptMalware Analysis - Basic and Concept
Malware Analysis - Basic and Concept
 

Recently uploaded

一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
slg6lamcq
 
一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单
enxupq
 
Adjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTESAdjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTES
Subhajit Sahu
 
一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单
enxupq
 
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
vcaxypu
 
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Subhajit Sahu
 
Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)
TravisMalana
 
FP Growth Algorithm and its Applications
FP Growth Algorithm and its ApplicationsFP Growth Algorithm and its Applications
FP Growth Algorithm and its Applications
MaleehaSheikh2
 
The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...
jerlynmaetalle
 
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
u86oixdj
 
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
John Andrews
 
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
v3tuleee
 
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
nscud
 
standardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghhstandardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghh
ArpitMalhotra16
 
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
slg6lamcq
 
SOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape ReportSOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape Report
SOCRadar
 
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
NABLAS株式会社
 
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
oz8q3jxlp
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
ewymefz
 
Machine learning and optimization techniques for electrical drives.pptx
Machine learning and optimization techniques for electrical drives.pptxMachine learning and optimization techniques for electrical drives.pptx
Machine learning and optimization techniques for electrical drives.pptx
balafet
 

Recently uploaded (20)

一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
 
一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单
 
Adjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTESAdjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTES
 
一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单
 
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
 
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
 
Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)
 
FP Growth Algorithm and its Applications
FP Growth Algorithm and its ApplicationsFP Growth Algorithm and its Applications
FP Growth Algorithm and its Applications
 
The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...
 
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
 
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
 
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
 
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
 
standardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghhstandardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghh
 
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
 
SOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape ReportSOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape Report
 
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
 
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
 
Machine learning and optimization techniques for electrical drives.pptx
Machine learning and optimization techniques for electrical drives.pptxMachine learning and optimization techniques for electrical drives.pptx
Machine learning and optimization techniques for electrical drives.pptx
 

Shellcode Analysis - Basic and Concept

  • 2. Page § 2 Vulnerability, exploit code, shellcode § Vulnerability is a weakness which allows an attacker to reduce a system's Information Assurance § Vulnerability is also known as the attack surface, an attacker must have at least one applicable tool or technique that can connect to a system weakness. § An exploit is a piece of software, a chunk of data, or sequence of commands in order to cause unintended or unanticipated behavior to gain control according to vulnerabilities. § a shellcode is a small piece of code used as the payload in the exploit code. "shellcode” starts a command shell from which the attacker can control the compromised machine.
  • 3. Page § 3 MS09002 Internet Explorer Remote Code Execution Vulnerability § Published Day: 2009-02-10 § CVE(CAN) ID: CVE-2009-0075 § Classification: Critical (Windows XP Service Pack 2 and Windows XP Service Pack 3 + IE7) § Patch: Cumulative Security Update for Internet Explorer (kb961260) § Description: 已成為最受歡迎的網頁掛馬所使用的弱點。IE7與IE8的CFunctionPoint函 數沒有正確的檢查DOM所夾帶的參數內容,進而可以使用特殊的字串迫壞 記憶體保護機制,導致攻擊者能夠用當時使用者登入的權限執行”任何程 式”,MS09002 Exploit code 使用JavaScripts Heap Spray,導致使用者無 法正常瀏覽網頁,執行惡意程式碼。
  • 4. Page § 4 Web Page HTML Content MS09002 Exploit ShellCode HTML Content . . . 0C 0C 0C 0C 0C 0C 0C HTML Content 0C0C0C1C 0B1B0270 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C Shellcode content 0C0C0C2C 0C0C0C3C …… HTML Content 0B1B0280 (Heap Spray) Browsing Exploit Code Attack IE Execute Shell Code
  • 5. Page § 5 Fragus Exploit Code: 1.觀察MS09002的Exploit Code
  • 6. Page § 6 Shellcode Encode 1: Alpha2 § Alpha2是Realplayer漏洞多採用此種加密方法。 § 特徵:TYIIIIIIIIIIIIIIII 開頭
  • 7. Page § 7 Shellcode Encode 2: Base64 § Step 1: 將每個字元先行轉成2進位表示的碼表, § Step 2: 以四個~六個字元為單位加以切割成區段, § Step 3: 每個區段補位成為8位, § Step 4: 對應碼表轉換    0 -------------------------- --------25 26--------------------------51 52 -----------------------61 62 63 ABCDEFG------------XYZ abcd ---------------xyz 0 1 2 3 4 5 6 7 8 9 + / 01100001 01100010 01100011 011000 | 010110 | 001001 | 100011 00011000 | 00010110 | 00001001 | 00100011 分成四個 碼表轉換 補足位數 24 (Y) 22(W) 9(J) 35(j)編碼結果 a b c
  • 8. Page § 8 Shellcode Encode 2: Base64 (Cont.) § 編碼特徵: 英文字母大小寫混排,末尾可能包含有等號
  • 9. Page § 9 Shellcode Encode 3: %u § 特徵:以相同分隔符號 (⼀一般為%u)分隔,4個字元為⼀一組,以16進位表示
  • 10. Page § 10 Shellcode Encode 4: US-ASCII 編碼 § 特徵:類似中國文字,並且含有 <meta http-equiv=“Content-Type” content=“text/ html; charset=US-ASCII” />
  • 12. Page § 12 PDF Introduction § PDF : Portable Document Format (可攜式文件) § PDF 特性: •  跨平台 (Cross Platform) •  保留原始文件格式 ( Page Layout) •  開放標準 (Open Standard) § 2007年12月,PDF format成為標準 § PDF Reader : Adobe Reader, Foxit Reader, Sumatra PDF § ASCII – based document
  • 13. Page § 13 PDF Format PDF Start (Version) PDF Object Cross Reference Table Trailer End of File obj endobj /JS • Object (obj … endobj) : stream data element • JavaScript object starts with /JS Understand more PDF format: http://www.4xpdf.com/2008/10/download- iso-32000-1-document-for-free-from- adobecom/
  • 14. Page § 14 PDF Format -- PDF Objects Object Name: Description: /OpenAction /AA (Additional Action) Run automatically the scripts or actions /Names /AcroForm /Action Run and launch scripts or actions /JavaScript /JS Run Javascripts /GoTo* Change view to a specified destination within PDF or another PDF /Launch Launch a program or open a document /URI Access URL /SubmitForm /GoToR Send data to URL /RichMedia Embed Flash in PDF /Filter Compression or Encoding format for binary stream /ObjStm Hide objects inside an Object stream
  • 15. Page § 15 Malicious PDF attacking: How it works!!! Hackers crafted malicious PDF Distribute via email attachments Embed into malicious web page other means: upload,usb,p2p Open the file with vulnerable pdf reader or browser PDF plugin Payloads Execute malicious payloads
  • 16. Page § 16 Malicious PDF attacking: why PDF is targeted § PDF is widely used in the IT § Popular PDF readers and creators have bugs (Acrobat Reader 8.1.1 has several vulnerabilities) § Easy to combine with spam mails. § Easy to combine with client-side attack (PDF plungin on web browsers)
  • 17. Page § 17 Malicious PDF Analysis Methodology Observe PDF structure Extract code segments Disassemble malicious code Find next steps Decrypt, locate and extract suspicious embedded code segments Observe PDF structure and content such as shellcode, VBA macros, or JavaScript. Disassemble, deobfuscate and examine JavaScript, ActionScript or VB macro code Understand the next infected step Observe PDF structure
  • 18. Page § 18 Malicious PDF Analysis -- Tool Requirements § Analysis Platform: Linux-based (Ubuntu recommend) § Text Editors: –  McAfee FileInsight: http://download.nai.com/products/mcafee-avert/fileinsight.zip –  Pyew: http://code.google.com/p/pyew/ –  Others: vim, geditor, emeditor
  • 19. Page § 19 Malicious PDF Analysis -- Tools § Wepawet: Analysis web-based malware –  http://wepawet.iseclab.org/ § Jsunpack: A Generic JavaScript Unpacker –  http://jsunpack.jeek.org/dec/go § PDFTK : PDF stream decoder § SpiderMokey: JavaScript Emulator § Sctest of Libemu: shellcode analysis § PDF StructAzer: displays structure and raw contents of the PDF file § PDFiD: identify strings with scripts and actions in PDF files § PDF-parser: identify key elements of PDF file without rendering it
  • 20. Page § 20 Malicious PDF Analysis -- Tools (Cont.) § Origami Walker: examine the structure of PDF files. § Origami pdfscan: identify strings with scripts and actions § Origami extractjs: extract JavaScript from PDF files § Jsunpack-n’s pdf.py: extract JavaScript from PDF files. § Malzilla: help deobfuscate JavaScript
  • 21. Page § 21 Buildup PDF Analysis Lab § Step 1: choose text editor, vim.tiny or gedit § Step 2: apt-get install python § Step 3: apt-get install pdftk § Step 4: Install libemu –  wget http://ncu.dl.sourceforge.net/project/nepenthes/libemu %20development/0.2.0/libemu-0.2.0.tar.gz –  tar zxvf libemu*.tar.gz –  cd libemu-0.2.0 –  ./configure –prefix=/opt/libemu/ –  make && make install
  • 22. Page § 22 Buildup PDF Analysis Lab (Cont.) § Step 5: –  wget http://www.didierstevens.com/files/software/js-1.7.0-mod.tar.gz –  tar zxvf js-1.7.0-mod.tar.gz –  cd js/src –  export CFLAGS=“-DJS_C_STRINGS_ARE_UTF8” –  make –f Makefile.ref –  JS_DIST=/opt/js make –f Makefile.ref export
  • 23. Page § 23 Before we start ….. 1.  打開文件觀察,找出 /JS or /Javascripts 2.  確認是否有壓縮,利用PDFTK解壓縮 3.  觀察是否為 obfuscated javascript,利用JS (SpiderMonkey) 4.  分析Shellcode,利用 Sctest (Libemu)
  • 24. Page § 24 Analysis Sample 1 : Observe /JS § $vim.tiny sample1.pdf To find /JS or /Javascripts § Look Object 7 (including heap spray code) § util.printf ( ) trigger malicious exploit code § This is Adobe Reader 'util.printf()' JavaScript Function Stack Buffer Overflow Vulnerability ( http://www.securityfocus.com/bid/30035)
  • 25. Page § 25 Shellcode Heap spay Exploit util.printf function exploit
  • 26. Page § 26 Analysis Sample1 : Shellcode Inspection § This is a malicious PDF file § Copy the var payload to the end and save into shellcode.txt § Remove chars using vim.tiny –  移除+符號 : %s/[”+.]//g –  移除段行符號: %j § Reform uniform using perl code to format –  cat shellcode.txt | perl –pe ‘s/%u(..)(..)/chr(hex($2)).chr(hex($1))/ge’ | hexdump –C –  cat shellcode.txt | perl –pe ‘s/%u(..)(..)/chr(hex($2)).chr(hex($1))/ge’ > shellcode.bin
  • 27. Page § 27 Analysis Sample1: Shellcode Analysis § Feed the shellcode.bin to sctest –  /opt/libemu/bin/sctest -Ss 100000 < shellcode.bin A reverse shell to ip 202.190.85.36 to port 7777
  • 28. Page § 28 Analysis Sample2: Observe /JS § $vim.tiny sample2.pdf To find /JS or /Javascripts § Look Object 1 and search ‘Z0pEA5PLzPyyw()’ function § Found /Filter : This PDF is decompressed. FilterDecode + ASCIIHexDeCode Stream Length Stream Objects • FlateDecode : use standard zlib compression • ASCIIHexDeCode :hex chars conversion
  • 29. Page § 29 Analysis Sample2: Decompression § Decompression: use PDFTK –  pdftk sample2.pdf output dc-sample2.pdf uncompres §  Observe /JS again in decompressed PDF
  • 30. Page § 30 Analysis Sample3: Obfuscated JavaScript Analysis § PDF readers have their own javascript engine and bugs § Malicious PDF could execute javascript to trigger exploit codes to attack bugs § Use JS emulator to analyze javascript
  • 31. Page § 31 Analysis Sample3: Observe and decompress § Decompress –  pdftk sample3.pdf output dc-sample3.pdf uncompress § Look for /JS and find Object 13 § Object 13 contains JavaScript code § Copy the JavaScript to sample3.js § Remove (^M) that generated by PDFTK %s/^M//g using vi
  • 32. Page § 32 Analysis Sample3: JavaScript Analysis § JavaScript Emulator –  /opt/js/bin/js sample3.js § Analysis on the eval.001.log file
  • 33. Page § 33 Analysis Sample3: Shellcode Reform and Analysis § Unicode reform: –  cat shellcode.txt | perl –pe ‘s/%u(..)(..)/chr(hex($2)).chr(hex($1))/ge’ | hexdump –C –  cat shellcode.txt | perl –pe ‘s/%u(..)(..)/chr(hex($2)).chr(hex($1))/ge’ > shellcode.bin § Shellcode Analysis –  /opt/libemu/bin/sctest –Ss 100000 < shellcode.bin
  • 34. Page § 34 Analysis Sample3: Shellcode Explanation
  • 35. Page § 35 Analyze sample 4 : PDF syntax ObfuscaMon § PDF use syntax for document handling –  This.Info.Title –  getPageNum Analysis Steps: –  Observe and decompress –  Extract Javascript –  JS analysis –  Shellcode execute and analysis How many exploits ? List the downloading URL and malware