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
900
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
810
資訊安全:麻瓜的黑魔法防禦術
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
800
CTF From Zero To One
inndy
5
5.3k
逆向工程基礎
inndy
4
1.5k
Other Decks in Technology
See All in Technology
リアーキテクチャ後の障害ゼロを目指したShadow Testingの取り組み
nihonbuson
PRO
1
160
AIで社員の自主発信に広報目線を組み込む
_mossann_t
0
130
開発投資の期待値を上げるプロダクトロードマップづくり ~プロダクトエンジニアが越境して事業を伸ばす~
kekekenta
1
230
SREは、MCPとAutopilotをこう使え!
kazumax55
3
910
サーバーレスをどこまで使う? WebRTC対戦ゲームで選んだVPSとの共存設計
kaidouji85
0
190
現場で役立つ技術負債の効果的な返済方法
masuda220
PRO
9
4.7k
C#コードの結合を可視化する Roslyn解析による設計改善と リファクタリング判断
dora56
0
220
「守り」で活用するオンデバイスLLM 〜写ってはいけないを総力戦で防ぐ〜 / iOSDC Japan 2026
nakamuuu
0
180
ユーザー価値を届け続けるためにウォンテッドリーが大切にしている文化
kotaminato
0
180
越境するなら専門用語を使うな高校校歌 / If you wanna cross border, you shouldn't use jargon
vtryo
0
150
EventBridge に「合流」はない ― サーバーレスのワークフローを育てるということ / No Join in EventBridge
yusukeshimizu
2
300
事業課題から技術的負債に向き合う
sansantech
PRO
2
2k
Featured
See All Featured
Game over? The fight for quality and originality in the time of robots
wayneb77
1
280
Skip the Path - Find Your Career Trail
mkilby
1
230
The browser strikes back
jonoalderson
0
1.7k
We Have a Design System, Now What?
morganepeng
55
8.3k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.8k
The SEO identity crisis: Don't let AI make you average
varn
0
560
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
Making Projects Easy
brettharned
120
6.8k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
580
Designing Experiences People Love
moore
143
24k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
530
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