Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
HackmeCTF 平台背後的心酸血淚史
Search
Inndy
September 29, 2018
Technology
920
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
HackmeCTF 平台背後的心酸血淚史
TDOH Conf 2018
Inndy
September 29, 2018
More Decks by Inndy
See All by Inndy
工程師一定要懂的 Text Encoding
inndy
1
820
資訊安全:麻瓜的黑魔法防禦術
inndy
3
3.1k
COSCUP 2018 Lightning Talk - 審稿好難,所以我們來寫程式吧
inndy
0
510
逆向工程:從入門到放棄
inndy
7
3.6k
HITCON 2017 Zeroday 發表會
inndy
0
1.4k
No More Crypto Fails
inndy
34
8.4k
你再共用密碼啊
inndy
1
810
CTF From Zero To One
inndy
5
5.4k
逆向工程基礎
inndy
4
1.5k
Other Decks in Technology
See All in Technology
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
780
1万名の社員が使う認証基盤で どう信頼性を担保するか?
kairim0
0
220
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
340
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
0
1.2k
Cognition AI Japan - ウェビナー2_テストQA_運用監視
cogakira
0
120
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
7
2.6k
AI時代に必要な脅威モデリング― 変化の速度に負けない理解とリスク判断
masakane55
5
1.2k
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
160
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
120
自作バイナリを動かす「入口」8選
puhitaku
1
1.2k
Kiro Crewをはじめよう
kizawa2020
1
120
自律型 AI をセキュアに実装!Gemini と MIG で作る動的コード実行環境
recruitengineers
PRO
1
240
Featured
See All Featured
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
530
The Cult of Friendly URLs
andyhume
79
7k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
530
Agile that works and the tools we love
rasmusluckow
331
22k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
720
Designing for Performance
lara
612
70k
A designer walks into a library…
pauljervisheath
211
25k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Paper Plane (Part 1)
katiecoart
PRO
2
11k
Transcript
HACKMECTF 平台背後的⼼酸⾎淚史 ⽤⾃⼰的實體機器架站真的不好玩
HACKMECTF 平台背後的⼼酸⾎淚史 # WHOAMI ▸ 我是 Inndy,也可以叫我⽊棍 ▸ 講過 SITCON
/ HITCON / TDOH Conf ▸ ⾦盾獎 2016 1st / 2017 2nd ▸ ⼈⽣⽬標是成為興趣使然的 Security Master
None
平台介紹
HACKMECTF 平台背後的⼼酸⾎淚史 HACKMECTF ▸ 2016/6 上線,在⾼鐵上趕出來的 scoreboard。當時為了 AIS3 計畫,來⾼雄分享經驗,幫忙打廣告。 ▸
跟⽼師要了 Lab ⼀台機器,就開始了這個平台
▸ 有各種類型的題⽬ HACKMECTF 平台背後的⼼酸⾎淚史 HACKMECTF
▸ 到⽬前為⽌有 1105 ⼈登⼊ ▸ 8239 次有效的 submit ▸ 來⾃
2361 不同的 IP ▸ All Kill 分數 9900 ▸ 計分版系統收到了1499129 個 request HACKMECTF 平台背後的⼼酸⾎淚史 HACKMECTF
HACKMECTF 平台背後的⼼酸⾎淚史 HACKMECTF ▸ 原本的硬碟是跟同學借⽤的 1TB DeadGate SeaGate ▸ ⽤了不知道幾年了,就在
2017/7/29,硬碟掛了... G___G ▸ 謝謝 OSS Lab 提供資料救援協助,VM image 沒有壞掉 ▸ 2017/8/3 資料還原完成,換上 SSD,順便加了⼀條 DRAM
HACKMECTF 平台背後的⼼酸⾎淚史 HACKMECTF ▸ 前幾天學校⾼壓電設備維護,全校斷電 ▸ 140.118.0.0/16 直接從網路上消失 ▸ ntust.edu.tw
DNS 也消失 ▸ 我的機器就這樣跟著 offline T____T
HACKMECTF 平台背後的⼼酸⾎淚史 HACKMECTF ▸ ⾃⼰管理實體機器,放在 Lab 這件事情是很可怕的 ▸ 因為各種天災⼈禍...
技術架構
Host: Ubuntu 18.04 qemu-kvm: Ubuntu 18.04 nginx / php-fpm nginx
(SSL/TLS) proxy_pass to VM xinetd as TCP proxy xinetd: docker exec docker: web docker: pwnable
HACKMECTF 平台背後的⼼酸⾎淚史 INFRASTRUCTURE ▸ ⼀開始 Host 是 Debian jessie,後來⽤ Ubuntu
16.04,現在 已經升級 Ubuntu 18.04 ▸ HackmeCTF 放在 qemu-kvm 內,OS ⽤ Ubuntu ▸ Host 的 nginx 負責 SSL/TLS,proxy_pass 給 VM ▸ Pwnable 之類,需要 TCP 直接連線的題⽬⽤ xinetd pass 給 VM
HACKMECTF 平台背後的⼼酸⾎淚史 INFRASTRUCTURE ▸ 能夠 arbitrary code execution 的題⽬都關進 docker
▸ docker 不是設計來當作 sandbox 的,有機會被 break out ▸ 部分 web 也⼀起關進去,在裡⾯跑 nginx + php-fpm ▸ Pwn 的部分,把 docker network 關掉,⽤ xinetd + docker exec ⾛ stdio
Q&A