Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
monochrojazz
PDF, PPTX
3,587 views
ret2libcとpopretで初等的BOF攻撃
BOF攻撃のやり方の解説 本の内容を参考にUbuntuで実験
Technology
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 14
2
/ 14
3
/ 14
4
/ 14
5
/ 14
6
/ 14
7
/ 14
8
/ 14
9
/ 14
10
/ 14
11
/ 14
12
/ 14
13
/ 14
14
/ 14
More Related Content
PDF
python-ptraceでプロセスメモリエディタっぽいことをしよう
by
monochrojazz
ODP
LTSの準備をチョットやってみた。lxcチョット触ってみた
by
Naoki Matsumoto
PDF
PythonでPodcastを聴く
by
Masato Fujitake
PDF
Pythonで自動化した話1
by
Masato Fujitake
PDF
最近思った機械学習(PyTorch)のベストプラクティス
by
Masato Fujitake
PDF
俺のGentooがこんなに可愛いわけがない
by
Takuto Matsuu
PPT
わんくま東京#43 「いろいろしゃべります」
by
Takeshi Kiriya
PPTX
ロボットシステム学2015年第6回
by
Ryuichi Ueda
python-ptraceでプロセスメモリエディタっぽいことをしよう
by
monochrojazz
LTSの準備をチョットやってみた。lxcチョット触ってみた
by
Naoki Matsumoto
PythonでPodcastを聴く
by
Masato Fujitake
Pythonで自動化した話1
by
Masato Fujitake
最近思った機械学習(PyTorch)のベストプラクティス
by
Masato Fujitake
俺のGentooがこんなに可愛いわけがない
by
Takuto Matsuu
わんくま東京#43 「いろいろしゃべります」
by
Takeshi Kiriya
ロボットシステム学2015年第6回
by
Ryuichi Ueda
What's hot
PDF
イマドキのUbuntu活用法
by
Hiroshi Chonan
PPTX
初心者が Python で戸惑ったところ
by
Emma Haruka Iwao
PPTX
ロボットシステム学2015年第9回
by
Ryuichi Ueda
PPTX
ロボットシステム学2015年第5回
by
Ryuichi Ueda
PPTX
Pythonスタートアップ勉強会201109 python入門
by
Takayuki Shimizukawa
PDF
T4使ってみた
by
Ryota Murohoshi
ODP
Open Licensing?
by
真行 八田
PPTX
ロボットシステム学2015第3回
by
Ryuichi Ueda
PPTX
ハニーポットで見る攻撃手法(特に結論はありません)
by
abend_cve_9999_0001
PDF
BPStudy#54 そろそろPython3
by
Atsushi Odagiri
PDF
Docker向けOSとか[LT] @ #techgirl 2015/01
by
Emma Haruka Iwao
PPTX
OpenSource
by
XMLProJ2014
PPTX
Pythonでターミナルに画像表示
by
Masato Fujitake
PPTX
ロボットシステム学2015年第7回
by
Ryuichi Ueda
PDF
XRDPで怠惰な日々を送る
by
monochrojazz
PPTX
ロボットシステム学2015年第13回
by
Ryuichi Ueda
PPT
ユニットテスト_2日目
by
Yoshiki Shibukawa
PDF
『JUnit実践入門』写経・実践会 in 横浜 #3
by
shinyaa31
PDF
私とMS-DOS
by
Mitsunori Satomi
PDF
20111206 GLT vol.40
by
kashew_nuts
イマドキのUbuntu活用法
by
Hiroshi Chonan
初心者が Python で戸惑ったところ
by
Emma Haruka Iwao
ロボットシステム学2015年第9回
by
Ryuichi Ueda
ロボットシステム学2015年第5回
by
Ryuichi Ueda
Pythonスタートアップ勉強会201109 python入門
by
Takayuki Shimizukawa
T4使ってみた
by
Ryota Murohoshi
Open Licensing?
by
真行 八田
ロボットシステム学2015第3回
by
Ryuichi Ueda
ハニーポットで見る攻撃手法(特に結論はありません)
by
abend_cve_9999_0001
BPStudy#54 そろそろPython3
by
Atsushi Odagiri
Docker向けOSとか[LT] @ #techgirl 2015/01
by
Emma Haruka Iwao
OpenSource
by
XMLProJ2014
Pythonでターミナルに画像表示
by
Masato Fujitake
ロボットシステム学2015年第7回
by
Ryuichi Ueda
XRDPで怠惰な日々を送る
by
monochrojazz
ロボットシステム学2015年第13回
by
Ryuichi Ueda
ユニットテスト_2日目
by
Yoshiki Shibukawa
『JUnit実践入門』写経・実践会 in 横浜 #3
by
shinyaa31
私とMS-DOS
by
Mitsunori Satomi
20111206 GLT vol.40
by
kashew_nuts
Viewers also liked
PDF
シンガポールFossasia2016に初参加してみた I tried the first time participate in the Singapor...
by
Netwalker lab kapper
PDF
OSC沖縄2017と沖縄観光 #osc17ok Opensource Conference Okinawa2017
by
Netwalker lab kapper
PDF
#GPD-Pocket にUbuntu17.04をインストール Install Ubuntu Linux 17.04 on GPD-Pocket
by
Netwalker lab kapper
PDF
鹿児島らぐに初参加してみました I tried the paticipate Kagoshima Linux Users Group
by
Netwalker lab kapper
PPTX
Fireduck
by
wata2ki
PDF
音ゲーコントローラとLinux Input Subsystem
by
monochrojazz
PDF
lilo.linux.or.jp の話 (2017年8月)
by
Kazuhiro Nishiyama
PDF
Beginner for Power Control on Linux はじめてのLinuxバッテリー省エネ設定
by
Netwalker lab kapper
PDF
海外イベントの可能性を探ろう
by
Masataka Kondo
PDF
あひるに焼かれた話と今後のおーぷん万葉について
by
Masahiko Hashimoto
PDF
Windows10タブレットにUbuntu16.04を色々入れてみた 2016年度版 Install Ubuntu16.04 on Windows10 T...
by
Netwalker lab kapper
PDF
最近やった事とこれからやりたい事 2016年度年末版
by
Netwalker lab kapper
PDF
MSYS2使いはじめました
by
Hiro H.
PDF
「やりなおし方について」Linuxブート情報の消し方
by
Masataka Kondo
PDF
Debian Testing on Windows Tablet T100TA
by
Netwalker lab kapper
PDF
色々なコントローラでRaspberryPiを動かそう
by
monochrojazz
PDF
AllwinnerタブレットのOSを作ってみる(中編)
by
shimadah
PDF
lilo.linux.or.jp を wheezy から jessie にあげた話
by
Kazuhiro Nishiyama
PDF
openSUSE42.2 on Windows Tablet T100TA
by
Netwalker lab kapper
PDF
DOSBox for beginners はじめてのDOSBox
by
Netwalker lab kapper
シンガポールFossasia2016に初参加してみた I tried the first time participate in the Singapor...
by
Netwalker lab kapper
OSC沖縄2017と沖縄観光 #osc17ok Opensource Conference Okinawa2017
by
Netwalker lab kapper
#GPD-Pocket にUbuntu17.04をインストール Install Ubuntu Linux 17.04 on GPD-Pocket
by
Netwalker lab kapper
鹿児島らぐに初参加してみました I tried the paticipate Kagoshima Linux Users Group
by
Netwalker lab kapper
Fireduck
by
wata2ki
音ゲーコントローラとLinux Input Subsystem
by
monochrojazz
lilo.linux.or.jp の話 (2017年8月)
by
Kazuhiro Nishiyama
Beginner for Power Control on Linux はじめてのLinuxバッテリー省エネ設定
by
Netwalker lab kapper
海外イベントの可能性を探ろう
by
Masataka Kondo
あひるに焼かれた話と今後のおーぷん万葉について
by
Masahiko Hashimoto
Windows10タブレットにUbuntu16.04を色々入れてみた 2016年度版 Install Ubuntu16.04 on Windows10 T...
by
Netwalker lab kapper
最近やった事とこれからやりたい事 2016年度年末版
by
Netwalker lab kapper
MSYS2使いはじめました
by
Hiro H.
「やりなおし方について」Linuxブート情報の消し方
by
Masataka Kondo
Debian Testing on Windows Tablet T100TA
by
Netwalker lab kapper
色々なコントローラでRaspberryPiを動かそう
by
monochrojazz
AllwinnerタブレットのOSを作ってみる(中編)
by
shimadah
lilo.linux.or.jp を wheezy から jessie にあげた話
by
Kazuhiro Nishiyama
openSUSE42.2 on Windows Tablet T100TA
by
Netwalker lab kapper
DOSBox for beginners はじめてのDOSBox
by
Netwalker lab kapper
More from monochrojazz
PDF
gcoreでプロセスメモリダンプ -mysqlプロセスメモリを見てみる-
by
monochrojazz
PDF
monoでWindowsアプリを動かす
by
monochrojazz
PDF
たのしいPowershell Empire
by
monochrojazz
PDF
mpld3でInteractiveデータ可視化
by
monochrojazz
PDF
LeapMotionとpythonで遊ぶ
by
monochrojazz
PDF
Kali LinuxとMetasploitable2で遊ぼう
by
monochrojazz
PDF
Pythonistaで音ゲーを作る
by
monochrojazz
PDF
Use After Free 脆弱性攻撃を試す
by
monochrojazz
PPTX
音ゲーマーの憂鬱
by
monochrojazz
gcoreでプロセスメモリダンプ -mysqlプロセスメモリを見てみる-
by
monochrojazz
monoでWindowsアプリを動かす
by
monochrojazz
たのしいPowershell Empire
by
monochrojazz
mpld3でInteractiveデータ可視化
by
monochrojazz
LeapMotionとpythonで遊ぶ
by
monochrojazz
Kali LinuxとMetasploitable2で遊ぼう
by
monochrojazz
Pythonistaで音ゲーを作る
by
monochrojazz
Use After Free 脆弱性攻撃を試す
by
monochrojazz
音ゲーマーの憂鬱
by
monochrojazz
ret2libcとpopretで初等的BOF攻撃
1.
ret2libcとpopretで初等的BOF攻撃 東海道らぐ 2016-02-20 @monochrojazz
2.
自己紹介のようなもの ● @monochrojazz(27) ● どこかの製造業でセキュリティっぽいことをやっ ているとかいないとか ●
致命的な音ゲーマー ● CTF(pwnable)を解いてみたい、 が絶望的に初心者 コントローラをマイコン と導電布で自作 アプリも自作(Android)
3.
セキュリティ・・・。 ● 「なぜ遠隔でPCを乗っ取ることができるのか」とい う原理に興味を持った ● 仕事でセキュリティっぽいことをしていることもあり CTFなどを勉強(役には立たない模様) ●
「セキュリティコンテストチャレンジブック」がその勉 強に割とよかった ● 今回はその内容を用いてUbuntuで 簡単なBOF攻撃を実践。 その内容を紹介。 個人的には良書
4.
ltraceとstrace ● CTFにおいて遠隔でサーバの制御を奪う問題がpwnable と呼ばれるジャンル。 ● 多くの場合攻撃先サーバで実行されているバイナリが配 布される。 ●
私の場合そのバイナリの種類をfileコマンドで特定してから ltraceを実行する。 ● ltraceで共有ライブラリの関数呼び出しをトレースする。 ● 因みにstraceではシステムコールのトレースができる。 ● ptraceというものもある。python東海で発表したので興味 があれば。 http://www.slideshare.net/monochrojazz/pythonptrace
5.
ltraceとstrace lsをltrace ライブラリ関数をトレース -iオプションで実行中のアドレス を表示 libcライブラリ関数の引数と返値 が表示される ライブラリ関数を追うことでプログラムの動きが大雑把にわかる
6.
BOF攻撃準備 ● BOF脆弱性を持ったプログラムを自分で作る ● リモートで攻撃するのは面倒なのでrootでsetuid属 性を付与し、通常ユーザで実行してrootシェルを起 動することを目的とする
7.
BOF攻撃準備 スタック防護だけは外してコンパイル (スタック実行不能[NXbit]は継続) gcc -m32 -fno-stack-protector
bof.c -o bof 再現性のためASLRも外す echo 0 | sudo tee /proc/sys/kernel/randomize_va_space 実験用プログラム 引数をstrcpyするだけ 参考用にアドレスをprintfなどしている
8.
まずぶっ壊す ● 引数にAAAAAAA・・・・は当然の権利 ● ltraceで経過を追跡 実行アドレスが「AAAA」になっている→ 制御を任意のアドレスに飛ばせる 引数を用意してlibcのsystem関数 のアドレスに飛ばせば攻撃成功
9.
そして飛ばす ● system関数のアドレスをgdb-pedaで特定 ここへとばす
10.
で、シェルを起動 strcpy引数のコピ一先アドレスから systemの引数(/bin/sh)の位置を計算 0x0804a025+28+12 system実行後 リターンアドレス system関数 アドレス 奪うリターンアドレスの位置 はAAAABBBBCCCC・・・ と入力して計算 シェル起動成功 注)ltraceしているとrootにはならない でも異常終了
11.
popret ● 折角なのでシェル起動後exitを実行してクラッシュ を回避してみる ● popretでさっき使った引数をpopしてから2つ目の 関数を実行する ●
rp++というpopret gadgetを探すツールを利用 使う引数分popする
12.
これが最終形 system実行後 popret systemの引数: popされてスタック から消える exitのアドレス BBBB:exit実行後のリターンアドレス(不使用) CCCC:exitの引数(不使用) root奪取に成功、 クラッシュなし systemのアドレス ret2libcとpopretでlibc関数を複数実行可能 つまりsocket→connect→dup2→system でバックドアを作ることも可能なはず 可能なら実演やります
13.
意気揚々とCTFに挑戦 ● 即死 ● スタック防護を抜けられない ●
そもそもlibcがリンクされていない ● CTF難しい(結論) 静的リンクもされてない
14.
最近困っていること ● RaspberyPi(B+)から2へ移行したい ● upgradeしてカードを2へ差したが動かない ●
(虹色の画面表示から音沙汰なし) ● カードそのままで初代では動く、RaspberryPi基板 を換えても動かない
Download