iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 26
1
自我挑戰組

到處挖坑,現在該來還(填)願(坑)ㄌ !!!系列 第 26

『 Day 26』拜託別 Pwn 我啦! - 常見的工具 (上)

今天來講一下一些常用到的工具

nc / ncat

  • 遠端連線工具
  • 使⽤ ncat 將程式在遠端架起來,接著使用 nc 連線
  • 使用:nc <ip> <port>

Vim

  • 編輯器
  • 安裝:sudo apt install vim

checksec

  • 查看程式開了哪些保護機制
  • 安裝:Pwntools 內建
  • 使用:checksec <執行檔>

objdump

  • 介紹
  • 靜態分析:dump 出執行檔中的組合語言
  • 可搭配 less / grep 食⽤,風味更佳
  • 使用:objdump -M intel -d <執行檔> | less
    • -M intel 將原本預設是AT&T格式,改為intel格式

Pwntools

  • 專用於 CTF Exploit的Python Library
包含本地執行、遠程連接、shellcode 生成、ROP 的建構、ELF 解析等功能

  • 安裝:

    • sudo apt install python-pip
    • sudo pip install pwntools
  • 教學

  • 使用(python):

  • 範例

    from pwn import *
    
    #connect to server
    r = process('./add')    # localhost binary
    r = remote('140.113.0.3', 8080)    # remote binary
    
    s = r.recvuntil(':')    # receive from binary until ':'
    print '1:'+s
    
    r.sendline('3 5')    # send to server
    
    r.interactive()    #switch to interactive mode
    

IDA Pro

readelf

  • 分析 libc 的工具
  • 使用:readelf -a $libc | less

ROPgadget

  • 列出 binary 中可以使⽤的 ROP gadget
  • 使用:ROPgadget —-binary $binary
  • Github

上一篇
『 Day 25』拜託別 Pwn 我啦! - Register & Assembly
下一篇
『 Day 27』拜託別 Pwn 我啦! - 常見的工具 (下)
系列文
到處挖坑,現在該來還(填)願(坑)ㄌ !!!30

尚未有邦友留言

立即登入留言