SlideShare a Scribd company logo
Submit Search
Upload
An Intro on Data-oriented Attacks
Report
Aj MaChInE
Follow
•
0 likes
•
301 views
1
of
18
An Intro on Data-oriented Attacks
•
0 likes
•
301 views
Download Now
Download to read offline
Report
Education
DOA是一個令人驚豔的技術,因此在若渴分享。
Read more
Aj MaChInE
Follow
Recommended
(No)SQL Timing Attacks for Data Retrieval
Positive Hack Days
1.1K views
•
22 slides
opentsdb in a real enviroment
Chen Robert
11.6K views
•
8 slides
Distributed Data Processing Workshop - SBU
Amir Sedighi
9.2K views
•
23 slides
Create a RESTful API with NodeJS, Express and MongoDB
Hengki Sihombing
961 views
•
12 slides
Elasticsearch 1.x Cluster Installation (VirtualBox)
Amir Sedighi
9.8K views
•
29 slides
Fluent plugin-dstat
shunsuke Mikami
1.6K views
•
7 slides
More Related Content
What's hot
New kid on the block node.js
Joel Divekar
2.4K views
•
14 slides
1404 app dev series - session 8 - monitoring & performance tuning
MongoDB
847 views
•
35 slides
To Hire, or to train, that is the question (Percona Live 2014)
Geoffrey Anderson
1.3K views
•
55 slides
Gnocchi v3 brownbag
Gordon Chung
593 views
•
45 slides
Mysql参数-GDB
zhaolinjnu
898 views
•
12 slides
Gnocchi Profiling v2
Gordon Chung
638 views
•
28 slides
What's hot
(20)
New kid on the block node.js
Joel Divekar
•
2.4K views
1404 app dev series - session 8 - monitoring & performance tuning
MongoDB
•
847 views
To Hire, or to train, that is the question (Percona Live 2014)
Geoffrey Anderson
•
1.3K views
Gnocchi v3 brownbag
Gordon Chung
•
593 views
Mysql参数-GDB
zhaolinjnu
•
898 views
Gnocchi Profiling v2
Gordon Chung
•
638 views
Gnocchi v4 (preview)
Gordon Chung
•
657 views
Multi-core Node.pdf
Ahmed Hassan
•
71 views
Social Analytics with MongoDB
Patrick Stokes
•
5.5K views
BSides Rochester 2018: Chaim Sanders: Easily Deploying and Optimizing Open So...
JosephTesta9
•
218 views
Tipo virus espia con esto aprenderan a espiar a personas etc jeropas de mrd :v
Arian Gutierrez
•
173 views
Postgres connections at scale
Mydbops
•
442 views
Performance evaluation of apache tajo
Jihoon Son
•
2K views
Introduce leo-redundant-manager
Paras Patel
•
611 views
MongoDB Drivers And High Availability: Deep Dive
emptysquare
•
684 views
Introduction to MongoDB with PHP
fwso
•
10.3K views
MongoDb scalability and high availability with Replica-Set
Vivek Parihar
•
4.1K views
Nsq.io on Node.js and Shell
Luis Faustino
•
2.4K views
Troubleshooting Cassandra
Jeremy Hanna
•
1.5K views
Using MMS to Build New Environments
MongoDB
•
6.5K views
Similar to An Intro on Data-oriented Attacks
introtomongodb
saikiran
228 views
•
52 slides
Let the Tiger Roar! - MongoDB 3.0 + WiredTiger
Jon Rangel
4.3K views
•
38 slides
Ajax Performance Tuning and Best Practices
Doris Chen
3.6K views
•
43 slides
Building Your First App with Shawn Mcarthy
MongoDB
1K views
•
42 slides
Large Scale Log collection using LogStash & mongoDB
Gaurav Bhardwaj
4.9K views
•
22 slides
Exploiting GPU's for Columnar DataFrrames by Kiran Lonikar
Spark Summit
3.7K views
•
23 slides
Similar to An Intro on Data-oriented Attacks
(20)
introtomongodb
saikiran
•
228 views
Let the Tiger Roar! - MongoDB 3.0 + WiredTiger
Jon Rangel
•
4.3K views
Ajax Performance Tuning and Best Practices
Doris Chen
•
3.6K views
Building Your First App with Shawn Mcarthy
MongoDB
•
1K views
Large Scale Log collection using LogStash & mongoDB
Gaurav Bhardwaj
•
4.9K views
Exploiting GPU's for Columnar DataFrrames by Kiran Lonikar
Spark Summit
•
3.7K views
Lessons Learned: Running InfluxDB Cloud and Other Cloud Services at Scale | T...
InfluxData
•
380 views
2022 COSCUP - Let's speed up your PostgreSQL services!.pptx
José Lin
•
153 views
Bio bigdata
Mk Kim
•
3.8K views
FOSDEM 2015: gdb tips and tricks for MySQL DBAs
Valerii Kravchuk
•
2.4K views
Application Security from the Inside - OWASP
Sqreen
•
950 views
오픈 소스 프로그래밍 - NoSQL with Python
Ian Choi
•
105 views
Lessons Learned Running InfluxDB Cloud and Other Cloud Services at Scale by T...
InfluxData
•
630 views
Fullstack LX - Improving your application performance
Nuno Caneco
•
1.4K views
Common schema my sql uc 2012
Roland Bouman
•
519 views
Common schema my sql uc 2012
Roland Bouman
•
600 views
Webinar slides: How to Secure MongoDB with ClusterControl
Severalnines
•
459 views
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)
Red Hat Developers
•
1.9K views
PostgreSQL 9.5 - Major Features
InMobi Technology
•
1.5K views
Performance Tuning Cheat Sheet for MongoDB
Severalnines
•
1.4K views
More from Aj MaChInE
A Study on .NET Framework for Red Team - Part I
Aj MaChInE
493 views
•
28 slides
A study on NetSpectre
Aj MaChInE
211 views
•
27 slides
Introduction to Adversary Evaluation Tools
Aj MaChInE
1.2K views
•
45 slides
[若渴] A preliminary study on attacks against consensus in bitcoin
Aj MaChInE
345 views
•
46 slides
[RAT資安小聚] Study on Automatically Evading Malware Detection
Aj MaChInE
795 views
•
71 slides
[若渴] Preliminary Study on Design and Exploitation of Trustzone
Aj MaChInE
281 views
•
25 slides
More from Aj MaChInE
(19)
A Study on .NET Framework for Red Team - Part I
Aj MaChInE
•
493 views
A study on NetSpectre
Aj MaChInE
•
211 views
Introduction to Adversary Evaluation Tools
Aj MaChInE
•
1.2K views
[若渴] A preliminary study on attacks against consensus in bitcoin
Aj MaChInE
•
345 views
[RAT資安小聚] Study on Automatically Evading Malware Detection
Aj MaChInE
•
795 views
[若渴] Preliminary Study on Design and Exploitation of Trustzone
Aj MaChInE
•
281 views
[若渴]Study on Side Channel Attacks and Countermeasures
Aj MaChInE
•
858 views
[若渴計畫] Challenges and Solutions of Window Remote Shellcode
Aj MaChInE
•
981 views
[若渴計畫] Introduction: Formal Verification for Code
Aj MaChInE
•
718 views
[若渴計畫] Studying ASLR^cache
Aj MaChInE
•
430 views
[若渴計畫] Black Hat 2017之過去閱讀相關整理
Aj MaChInE
•
434 views
[若渴計畫] Studying Concurrency
Aj MaChInE
•
4K views
閱讀文章分享@若渴 2016.1.24
Aj MaChInE
•
1.3K views
[若渴計畫2015.8.18] SMACK
Aj MaChInE
•
1.2K views
[SITCON2015] 自己的異質多核心平台自己幹
Aj MaChInE
•
2.6K views
[MOSUT20150131] Linux Runs on SoCKit Board with the GPGPU
Aj MaChInE
•
1.3K views
[若渴計畫]由GPU硬體概念到coding CUDA
Aj MaChInE
•
4.8K views
[若渴計畫]64-bit Linux Return-Oriented Programming
Aj MaChInE
•
2.2K views
[MOSUT] Format String Attacks
Aj MaChInE
•
2.6K views
Recently uploaded
OEB 2023 Co-learning To Speed Up AI Implementation in Courses.pptx
Inge de Waard
148 views
•
29 slides
Class 10 English lesson plans
Tariq KHAN
172 views
•
53 slides
ICS3211_lecture 08_2023.pdf
Vanessa Camilleri
68 views
•
30 slides
Sociology KS5
WestHatch
50 views
•
23 slides
Psychology KS5
WestHatch
53 views
•
5 slides
Compare the flora and fauna of Kerala and Chhattisgarh ( Charttabulation)
AnshulDewangan3
95 views
•
12 slides
Recently uploaded
(20)
OEB 2023 Co-learning To Speed Up AI Implementation in Courses.pptx
Inge de Waard
•
148 views
Class 10 English lesson plans
Tariq KHAN
•
172 views
ICS3211_lecture 08_2023.pdf
Vanessa Camilleri
•
68 views
Sociology KS5
WestHatch
•
50 views
Psychology KS5
WestHatch
•
53 views
Compare the flora and fauna of Kerala and Chhattisgarh ( Charttabulation)
AnshulDewangan3
•
95 views
Gopal Chakraborty Memorial Quiz 2.0 Prelims.pptx
Debapriya Chakraborty
•
221 views
Streaming Quiz 2023.pdf
Quiz Club NITW
•
87 views
2022 CAPE Merit List 2023
Caribbean Examinations Council
•
3K views
Women from Hackney’s History: Stoke Newington by Sue Doe
History of Stoke Newington
•
103 views
Chemistry of sex hormones.pptx
RAJ K. MAURYA
•
97 views
Industry4wrd.pptx
BC Chew
•
153 views
NS3 Unit 2 Life processes of animals.pptx
manuelaromero2013
•
89 views
Structure and Functions of Cell.pdf
Nithya Murugan
•
142 views
Classification of crude drugs.pptx
GayatriPatra14
•
49 views
AI Tools for Business and Startups
Svetlin Nakov
•
57 views
STERILITY TEST.pptx
Anupkumar Sharma
•
102 views
Community-led Open Access Publishing webinar.pptx
Jisc
•
49 views
STYP infopack.pdf
Fundacja Rozwoju Społeczeństwa Przedsiębiorczego
•
143 views
Narration lesson plan.docx
Tariq KHAN
•
90 views
An Intro on Data-oriented Attacks
1.
An Intro on
Data-oriented Attacks @ 若渴 2020.1.19 <ajblane0612@gmail.com> AjMaChInE
2.
Reference ● [0] 2019,
Exploitation Techniques and Defenses for Data- Oriented Attacks ● [1] 2018, Block Oriented Programming - Automating Data-Only Attacks ● [2] 2016, Data-Oriented Programming - On the Expressiveness of Non-Control Data Attacks ● [3] BOPC, https://github.com/HexHive/BOPC
3.
DOA Overview [0][1][2]
4.
The ProFTPd DOP
Attack [0]
5.
Array mons starts
at 0x80cf6e0 send(fd, &mons, size) .bss section * main_server * mons * resp_buf * ssl_ctx
6.
Action: Get main_server 2.
read operator & 1. copy operator : AWP(&mons, ARP(&main_server), size) → AWP(0x80cf6e0, 0x871ae3c, size) structure* main_server at 0x80d6314 send(fd,&mons, size) .bss section * main_server * mons * resp_buf * ssl_ctx
7.
Action: Get main_server->ServerName main_server->ServerName =
main_server + offset = 0x871ae3c + 0x10 = 0x871ae4c offset we known & .bss section * main_server * mons * resp_buf * ssl_ctx
8.
3. copy operator: AWP(main_server->ServerName,
&ssl_ctx, size) → AWP(0x871ae4c, 0x80de0c8, size) Action: Get ssl_ctx - 1 step .bss section * main_server * mons * resp_buf * ssl_ctx
9.
4. dereference operator: resp_buf
= *(main_server->ServerName) resp_buf = *(0x80de0c8) resp_buf = 0x874d7b8 = ssl_ctx copy operator: AWP(main_server->ServerName, ssl_ctx, size) Action: Get ssl_ctx - 2 step .bss section * main_server * mons * resp_buf * ssl_ctx
10.
cert = main_server->ServerName
+ offset cert = 0x874d7b8 + offset cert = 0x874d868 Action: Get cert and Derference 7 times (D1-D7) .bss section * main_server * mons * resp_buf * ssl_ctx
11.
5. read operator: AWP(&mons,
ARP(main_server->ServerName), size) Action: Get PK after dereferencing 7 times (D1-D7) .bss section * main_server * mons * resp_buf * ssl_ctx
12.
BOPC – Block-oriented
Programming Compiler [2][3] ● AWP (hard requirement) ● Python 2 ● Angr
13.
The basic block
"abstractions" [3] ● absblk.py ● Transition form a basic block to abstraction.(regwr, splmemwr,..)
14.
CFG -> For
basic blocks -> abstractions [3]
15.
Angr ● Block-oriented symbolic
execution ● status.history.actions – action.type == 'reg' and action.action == 'write' – action.type == 'mem' and action.action == 'read – action.type == 'exit' and action.exit_type == 'conditional' ● blk.vex.jumpkind == "Ijk_Sys_syscall" – BYPASS_UNSUPPORTED_SYSCALL ● state.se.constraints (AST) – <Bool packet_0_stdin_6_480[471:464] != 13> ● state.posix.dumps(0) ● Initial .bss/ .data section ● project.inspect.make_breakpoint('mem_read', ...)
16.
On the Fly
to Resolve the Constraints [2]
17.
Constraint Issues [2]
18.
simulate.py [3]