Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
mipsシェルコード入門
Search
Chihiro Hasegawa
August 11, 2017
Technology
950
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
390
Sysdig Secure/Falcoの活用術! ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~
owlinux1000
0
1.6k
SECCON Beginners 2017 東京 Binary編
owlinux1000
1
130
Other Decks in Technology
See All in Technology
え?フロントエンドエンジニアの ワイがインフラも!?
puku0x
1
390
Cursor Meetup Sapporo - Cursor物語 続編
cocacola917
0
140
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.9k
ホームラボ紹介
y_sera15
0
100
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.4k
AI駆動開発は個人技からチーム戦へ:組織でAIを使いこなすための実践設計
moongift
PRO
0
470
認知負荷をGemini で溶かす — GKE 基盤「Orbit」における AI エージェントの実践
sansantech
PRO
1
260
【CEDEC2026】コードレビュー支援ツール開発から学ぶ:LLMを用いた業務システムの実践的な運用設計と誤出力対策
cygames
PRO
0
600
グローバル基準のSREは、運用現場でどう機能したか:成熟度アセスメントの実践 / SRE NEXT 2026
sorawatanabe
0
120
社内の7割が使うデータ基盤を、 データチーム2人で回すためにやったこと
koh_yoshi
4
980
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
200
Goでデータパイプラインを作ろう
sansantech
PRO
0
340
Featured
See All Featured
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
570
Art, The Web, and Tiny UX
lynnandtonic
304
22k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
How GitHub (no longer) Works
holman
316
150k
Raft: Consensus for Rubyists
vanstee
141
7.6k
Product Roadmaps are Hard
iamctodd
55
12k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.5k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
630
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
The Limits of Empathy - UXLibs8
cassininazir
1
590
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
440
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/