TDOH Conf 2018
HACKMECTF平台背後的⼼酸⾎淚史⽤⾃⼰的實體機器架站真的不好玩
View Slide
HACKMECTF 平台背後的⼼酸⾎淚史# WHOAMI▸ 我是 Inndy,也可以叫我⽊棍▸ 講過 SITCON / HITCON / TDOH Conf▸ ⾦盾獎 2016 1st / 2017 2nd▸ ⼈⽣⽬標是成為興趣使然的 Security Master
平台介紹
HACKMECTF 平台背後的⼼酸⾎淚史HACKMECTF▸ 2016/6 上線,在⾼鐵上趕出來的 scoreboard。當時為了AIS3 計畫,來⾼雄分享經驗,幫忙打廣告。▸ 跟⽼師要了 Lab ⼀台機器,就開始了這個平台
▸ 有各種類型的題⽬HACKMECTF 平台背後的⼼酸⾎淚史HACKMECTF
▸ 到⽬前為⽌有 1105 ⼈登⼊▸ 8239 次有效的 submit▸ 來⾃ 2361 不同的 IP▸ All Kill 分數 9900▸ 計分版系統收到了1499129 個 requestHACKMECTF 平台背後的⼼酸⾎淚史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.04qemu-kvm: Ubuntu 18.04nginx / php-fpmnginx (SSL/TLS)proxy_pass to VMxinetd as TCP proxyxinetd: docker execdocker: 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 + dockerexec ⾛ stdio
Q&A