# NCtfU - 3/11 (PWN 🎃) (A204) ###### tags: `nctfu2021` [toc] ## 錄影連結 [Youtube](https://youtu.be/QzTkkI3s6WI) ## 會參加 * Onebone * ppodds * yen (要開會 不然好想聽🎃大神講解QQQ) * racterub (remote) * r888800009 (remote) * JyunD * maple3142 (快九點才能過去) * lebr0nli * Artis24106 * Ping (remote) * 石頭 * idisused * gordon * charlie890414 (remote) ## 講者筆記 ## 共筆 - 介紹 Container - Difference with VM - Docker Core Tech - Namespace - UnionFS - Cgroup 版本差異 ### docker 1.2 - Client: 並非 Docker 核心而是 command line,用來與 docker server 進行互動 - 三種發送方式 - Unix Domain Socket (IPC) - fd (File Descriptor) - tcp - Daemon: server + engine - Router 用來傳送給對應的 Handler 處理 Requests - engine 用於管理 jobs - Registry: - 用於上下載 Images - DockerHub - Image: - 壓縮過的 File System - Layer: 在 base image 上面會根據使用者的不同情況執行,每一行 dockerfile 的指令都是 Layer。 - ![](https://i.imgur.com/xPlZp0X.png) - 過去的 kernel 因為 syscall 的限制因此只能 127 層 layers ,抱持兼容性因此也是 127 層 - Union mount 用來把各個 layer 與 image 給 union 起來。 - read-write layer: 為了紀錄檔案的變化,而不用修改到 read only - 紫色的部分是 read only - 越高層 priority 越高 - 檢視 layout: 可以使用工具 [dive](https://github.com/wagoodman/dive) 或使用原生的 `docker history --no-trunc <image>` - Driver - Graph Driver: manage image - AUFS (Advanced Multi-Layered Unification Filesystem): - OverlayFS: overlay2 的機制與 AUFS 類似都是透過 union mount,效能比 AUFS 快一點 - upper dominant 顯性 vs lower recessive 隱性 - overlay 中的 union mount 是一層層的 hard link,吃掉 i-node 的資源 - overlay2 全部做 union - Exec Driver - Network Driver: manage network of containers - libcontainer 作為 kernel 與 driver 的橋樑,方便進行平台的移植,而在 docker 1.11 之後被拆放到其他結構之下 - container: 最終目標,隔離的環境 - Isolated Environment - mnt - uts - ipc - user - pid - net - cgroup - Resiyrce limiting - Prioritization - Accounting - Control - **可能 infomation leak** ### 1.11 之後 Microservice ### 題目 JustCTF 2020 Docker [WriteUp](https://blog.brycec.me/posts/justctf2020_writeups/#d0cker) 可以從container 進行 infomation leak 1. /proc/cpuinfo 2. /proc /sys 比較敏感