owned this note changed 6 years ago
Linked with GitHub

AIS3 2018 北區共筆

官方網站 : https://ais3.org/
聊天室 : https://tlk.io/ais3-2018
中區共筆 : https://bit.ly/2KkFVQ3
南區共筆 : https://bit.ly/2mPQkdj

7/30 (一) 14:00 - 17:00

  • 講師 : Asuka Nakajima NTT

  • Reverse Engineering Dojo: Enhancing Assembly Reading Skills

  • Goal: Human Decompiler

calling convention

  • stdcall
  • fastcall
  • thiscall

7/31 (二) 09:30 - 12:30

  • 講師 : 叢培侃 奧義智慧科技
  • 基礎汽車網路安全研究 Car Hacking 101
  • 要研究 IOT 先拿社區的裝置開刀就對了

IOT Security

  • firmware
  • embedded linux
  • physical: UART(debug port)

Car Hacking

  • physical: OBD-II Connecting / Board
  • Doagnostics Hardware / Software
  • ECU Know how
  • CAN Bus / UDS know how
  • Binary Analysis skill
  • A real car or testbed

Car hacking in blackhat

Attacking ECUs and other Embedded Systems

  • EEPROM Programmer
    • Dump the firmware
  • JTAG
  • Fault injection(Glitching)
  • Clock Glitching
  • Power Glitching
  • Reversing The Firmware

Car Hacking Vectors

  • Door/Windows Code
    • Replay CAN message or amplifined key relay attack
  • Keyless/Immobillzer
    • Transponder brute-force / clone
      • Megamas / Hitag / DST-40
  • Hacking TPMS
    • 315 / 433 Mhz UHF
  • Hacking Radars
    • ADAS
    • 容易被干擾
    • 需要搭配環境感知系統
  • Hacking ECUs
    • Firmware dump / write / tuning
  • Hacking In-Vehicle Infotainment Systems(IVI)
    • WinCE / Linux / Android / QNX / AGK
    • QIA / APP / Navigator / Web Browser
    • 最早的娛樂裝置,能夠連上網
    • CP 值高,很多研究員研究它
  • Controller Area Network (CAN)
  • Unified Diagnostic Service (ISO 14229-1)
  • ECU Firmware Reversing
    • infineon 晶片,可以丟 IDA Pro (tc1797)
    • Binary 裡以 E5 44 EA 開頭的部分藏有 Seed / Key 演算法的線索(?

7/31 (二) 14:00 - 17:00

  • 講師 : 許育誠/林政君 趨勢科技
  • 先進資安防護技術 & 實例:AI/IOT
  • 基礎資安教育訓練:網頁 & IOT (TMSAT)

先進資安防護技術 & 實例:AI/IOT

  • 黑色供應鏈(地下經濟)

    • TOR ( ͡° ͜ʖ ͡ °)
  • 物聯網裝置為何成為攻擊焦點

    • 時時連線
    • 自帶弱點
    • 代價低廉
    • 缺乏管理
  • Foscam, netis不要買

  • Shodan

    • 駭客的GOOGLE,提供搜尋在線上且存在漏洞的IOT裝置
  • 用於發動DDOS的著名惡意軟體Mirai

  • Mirai開源網址:

  • 名稱來源:

  • 中國IPcam都外包的,不會修漏洞

  • 興趣使然的開PORT很常見

  • 社交工程實務

    • 你好我是供應商,我後面有100萬訂單
    • 請問貴單位使用幾版的OS呢?
  • 台灣廠商善於互毆(網內互打不用錢)

  • 台灣政府很有錢(咦

  • 台灣有熱心民眾 (台灣最美的風景) & IPCAM

  • WannaCry攻擊加油站電腦,害講師沒辦法加油

  • 工業物聯網中,OT人講話特別大聲

  • GSMA

基礎資安教育訓練:網頁 & IOT (TMSAT)

  • 60% 相似的簡報

  • 安全的 Session / Cookie

    • Insecure Way
      • 永久有效
      • Session Fixation
      • 沒有限制 Cookie 存取權限
    • Suggested Way
      • 設定有效期限
      • 認證或權限變更之後要重新建立 Session
      • 設定 Cookie 屬性做保護(利用參數)
  • 裝置的預設密碼

    • Insecure Way
      • 使用預設的系統密碼
    • 延伸問題
      • Insecam Project
      • Mirai:掃描鄰近的 IoT 裝置,測試預設的帳號密碼,成功就會成為 botnet 的其中一員
    • Suggested Way
      • 強迫使用者在安裝流程變更系統密碼
  • 2016年10月21日
    Dyn 公司提供的 DNS 服務遭到了數次通過 Mirai 發起的大型 DDoS 攻擊,牽涉到的受感染物聯網裝置數量眾多。這次攻擊使得數個高瀏覽量的網站無法正常開啟,其中包括 GitHub、Twitter、Reddit、Netflix 和 Airbnb 等

  • 使用未加密的傳輸通道

    • Insecure Way
      • 使用沒有加密的通道傳輸設備操作命令
    • Suggested Way
      • 使用加密通道傳輸設備操作命令
      • TLS/SSL通道
      • 使用HSTS
      • 強化HTTP header設定
  • 登入WIFI用的密碼是用於加密資料的,大家都用相同密碼連同一個SSID,有沒有毛毛的

  • 使用不安全的加密演算法

    • Insecure Way
      • 使用已被攻破或已被證實不安全的加密和雜湊演算法
    • Suggested Way
      • 使用正向表列的加密演算法
      • SSL and TLS Deployment Best Practices (SSL Lab)
      • Recommendation for Applications Using Approved Hash Algorithms (NIST)
  • 暴露敏感資料

    • Insecure Way
      • HTTP 標頭回傳伺服器資訊與版本
      • 暴露伺服器端目錄結構
      • 把機敏資料寫進 Log 或直接印出
      • 直接印出錯誤訊息
    • Suggested Way
      • 隱藏伺服器相關資訊避免提供攻擊線索
      • 禁止直接讀取目錄或讀取工作路徑以外的檔案
      • 抹除機敏資料後才能寫進 Log 或印出
      • 自訂錯誤頁面
  • 沒有驗證使用者端送上來的資料

    • Insecure Way
      • 透過更改 URL 參數、POST、Cookie 等資料做惡意操作
      • SQL Injection
      • 沒有邊界檢查 (Boundary Check)
      • Buffer Overflow
    • Suggested Way
      • 操作資料前必須在伺服器端確認使用者身分和權限
      • 檢查且過濾使用者送來的參數
      • 在伺服器端驗證參數是否合法 (Whitelisting)
  • 脆弱的使用者密碼

    • Insecure Way
      • 使用超短密碼
      • 使用常見的已知密碼
      • 延伸問題
        • 字典法攻擊
        • 暴力法攻擊
    • Suggested Way
      • 增加密碼長度
      • 禁用常用的已知密碼
      • 多重驗證 (MFA)
        • ex.提款卡+帳戶密碼才能提款
      • SSO
      • Digital Identity Guidelines (NIST, 800-63B)

TMSTAT任務流程簡介 - Cedric Wang

8/1 (三) 09:30 - 12:30

  • 講師 : 王歆綺 資策會
  • 遠端注入與無檔案式攻擊技術

無檔案式攻擊技術

實作ing~~

  • rtf analysis
  • 惡意程式通常只會發出一次連線,而一般應用則通常會持續連線,可藉由此特徵分析流量並找出受害電腦
  • Get 是明信片, Post 是信封~

8/1 (三) 14:00 - 17:00

  • 講師 : 王凱慶 中華電信/中華資安國際
  • 網站應用程式安全
    • 其他可以考慮的議題
      1. 浮動IP範圍
      2. 服務是否暴露在public環境上
      3. 系統弱點是如何被patch的
      4. 入侵系統後還能夠做些甚麼
      5. 網路架構是怎麼一回事
      6. 應用架構特性差異

SSL Checker

彩蛋 傷心 難過

資訊蒐集

  • IP列舉

    • 掃描雲服務廠商所有IP
    • DNS是個好方向
  • 搜尋引擎

    • Google, Yahoo
  • Crt.sh

    • 證書透明度查詢系統
    • 僅有效憑證資訊可供查詢
    • 類似網站 Symantec Cryptoreport
  • PassiveDNS

    • 記錄曾經解析過的網域
    • 分析網域過往行為
    • 通常用於防毒廠商分析網域
    • 加入Virustotal計劃可以收到大家回傳的樣本或..
    • DNSdumper:給他domain,會回傳一些有趣東西
  • 網域列舉

    • Censys, Shodan, Zoomeyes
    • 紀錄網路空間的主機資訊
    • 被記錄後可能會被掃
    • CSP(CONTENT SECURITY POLICY)
      CSP用於指定網站資源有效域,用於強化xss攻擊的抵抗力
  • 暴力破解

    • 一本好的字典
    • Sublist3r ← 講者推薦的開源工具

VirusTotal

dnsdumpster

ZoomEye

Censys

  • CDN服務

    • 快取
    • 存取控制
    • WAF
    • 抗DDOS
  • 繞過CDN

    • 為什麼要繞過?
      • 沒了CDN就沒了WAF
      • DDOS就打的到
      • 容易debug
      • 額外的注入機會
  • 額外的注入機會

    • AP通常是如何獲取使用者的IP?
      先找HTTP_CLIENT_IP沒有的話才找REMOTE_ADDR
      前者使用者可以自己改,所以這方法不可靠
    • 使用CDN的AP要如何獲取使用者真實IP?
      跟上面差不多,差在HTTP_CLIENT_IP變成CF-CONNECTING-IP
  • 怎麼繞過

    • 嘗試找到舊 IP
    • 找尋暴露在網路上的真實 IP (PassiveDNS)
    • 尋找沒有受cdn保護的子網域
    • 調整 HTTP Refer
    • 觀察 Header
  • 測試網站暴露在網路上將帶來各種風險

    • 譬如提早暴露 AIS3 錄取名單
    • 搜尋講師資料可能會找到有趣的東西
  • 使用 CDN 的正確姿勢

    • 該主機限定只有 VPN 才能存取
    • 使用安全通道
      • GRE Tunnel
      • VPN
    • 僅允許 CDN 與 AP 進行連線
      透過調整HTTP HEADER
      將 USER AGENT 改成 GOOGLE BOT
      來源改成自己的DOMAIN
      有些在CDN後方的SERVER為了確認你是否為Google Robot
      會主動發起連線,真實IP便露出來了
  • Cloud Storage Service

    • 資料儲存服務
    • 透過API進行操作
    • 雲端環境中的角色
      • 資料長時間儲存
      • 資料交換
      • 儲存備份資料

https://buckets.grayhatwarfare.com/

  • 如何列舉目標的 S3 Bucket
    • 使用字典檔
  • 如何生成字典檔
    • 手動生成
      公司名稱
      參考實際使用名稱
      參考DevOps的命名方式
    • 自動產生工具
      Smeegescrape
      CeWL

SSRF

  • 神奇服務

    • Splash: Javascript Render Service
    • 爬蟲會用到的工具
    • 可以 GET/POST 還可以修改 header
  • 運行方法

    • docker run -p 8050:8050 -p 5023:5023 scrapinghub/splash
    • ↑官方建議參數,listen 0.0.0.0,非常危險
  • 練習 http://ssrf01.0x61697333.cf/

  • 可利用協議

    • Http/Https
    • Gopher
      • gopher://127.0.0.1:6378/_get
    • File
      • file:///etc/passwd
    • Dict
      • dict://127.0.0.1:8379/hello:world
  • 保護繞過

    • http 302 重新導向
      • Location: scheme://IP:Port/Path
    • IP變形
    • DNS Rebind
      • 檢查與請求結果不一致

https://github.com/carnal0wnage/weirdAAL

8/2 (四) 09:30 - 12:30

  • 講師 : 劉建宗 安華聯網
  • 軟體安全開發實務
  • Software Development Life Cycle (SDLC)
  • 單元測試責任 -> 開發人員(RD)
  • Single Point Of Failure (SPOF)
    • e.g. Dyn DDOS
  • Insecam
  • CppUnitLite 實作練習
    1. V2 password:Fqv$M;K[8&@-2Hm~
    2. V3 password:ZtA6t735ZH:D7S?r
    3. V4 password:eDpYJbD},"*74?"W

軟體安全分析

  • 進行測試
    • 定義Trust Boundry
    • 定義弱點
    • 利用弱點
  • Thread Modeling (Design phase)
  • 探討攻擊點
    • 有哪些process或data在運作
    • 用哪些channel或protocol運作
    • 確認存取權限
  • 判斷可能的威脅
    • 列舉正常的使用者行為
    • 定義有可能的非法行為
      • Attack tree (基於使用者經驗): 分析非法行為的成本
      • Thread list (ex: OWASP Top 10, CWE Top 25, )
  • 風險分析
    • 依據發生機率、造成的影響量化
  • Handling Risk
    • Avoid: 發生機會高衝擊又高,應避免
    • Transfer: 風險轉嫁
    • Ignore: 衝擊小,可忽略
  • 問題文件化
    • 使後續處理有所依據
  • 自動化的安全檢測
    • 靜態 Static
      • 不實際執行
      • 從原始碼判斷
      • 容易被混淆
    • 動態 Dynamic

8/2 (四) 14:00 - 17:00

  • 講師 : 李奇育 交通大學資工系
  • 4G 行動網路安全之潛在風險與檢測

行動網路系統與安全簡介

  • 行動裝置、NB-IOT蓬勃發展

  • 電信商多以媒體服務賺$$(e.g. VoLTE)

  • 行動網路系統與安全大綱

    • 行動網路系統的演化
      • 行動網路的主要標準: 3GPP
        • 通常standard沒有規定的事電信商就不會做,眾多漏洞便由此產生
      • 3G 採 Circuit switching 的語音服務封包交換
        Packet switching 上網
      • 4G is IP-based
      • Circuit switching 會 reserve resources 品質較優
    • 3G/4G行動網路架構
      • User plane
      • Control plane(MME 控制)
        • RRC(e.g. 連基地台(BS))
        • MM(告訴MME位置)
        • CM(取得IP上網)
    • 如何建立一個用於上網服務的4G網路連線?
    • 目前4G網路的安全機制
      • 用戶認證(IMSI)
      • 非存取層: 只對Control Plane加密
      • 存取層(AS ciphered)

計費功能(Charging)之潛在安全威脅

  • 資料流之認證(Authentication)與授權(Authorization)
  • Vulnerabilities
    1. 惡意增加流量
    2. 免費流量
  • 資料流量統計: 統計多少Bytes經過核心網 (封包閘道器P-GW)
  • 認證安全弱點與攻擊
    1. IP, Bearer 運作分離
    2. Accounting只記IP,導致可 IP Spoofing 偽裝使用者惡意增加流量產生費用
  • 資料流授權安全弱點與攻擊
    1. 偽裝IP,導致用戶下行資料流增加
    2. Skype P2P(UDP): 打電話並掛掉使受害者流量增加
    3. 釣魚
    4. MMS(TCP)
  • 認證與授權弱點解決方法
    • 跨層的安全綁定 (IP和Bearer)
    • 取消授權機制
  • 3GPP 無詳細安全定義

4G新世代高音質通話系統(VoLTE)之潛在安全威脅

  • Voice over LTE(VoLTE): 即利用封包提供語音服務

    • $30啟動服務
    • 以通話時間計費,而不是流量
  • IP Multimedia Subsystem(IMS): 多媒體server,重要架構,負責把packet-based 轉換成 circuit-based

  • VoLTE 優勢

    • 直接在 LTE 打電話(以往會切回 3G),可以邊講電話邊用 4G 上網
    • 接通電話的速度比較快
    • 音質比較好
  • VoLTE 運作

    • 用 IPSec(拿到 Key 有機會解開)
  • VoLTE 的 QoS

    • VoLTE Voice Bearer: Guaranteed-Bit-Rate,優先等級 2
    • VoLTE Signaling Bearer: Best Effort,優先等級1 (highest)
    • Call 建起來就有 guarantee 不會被打斷,如果資源不夠,會阻止新的 Call 建立起來,但不會去打斷現有 Call
  • VoLTE 弱點

    • 是否能利用Signaling Bearer傳送資料封包,取得較高優先級,而不用額外費用
      • 手機是否允許軟體傳資料到 VoLTE
        • 早期可以,現在有些會隱藏 interface
      • 4G 閘道器是否會把封包傳到網際網路
        • T-Mobile 可以傳道網際網路和另一支手機,但 AT&T 只能傳給另外一支手機
        • 有些封包過不了(例如只有 ICMP 可以過)
        • 利用ICMP / UDP tunneling傳資料出去
          • 免費使用飛機wifi
    • 傳垃圾封包干擾 VoLTE 通話
      • DoS
      • 狂送 VoLTE Signal Bearer 給受害者,受害者便不能用 Data Bearer 傳資料
    • 不安全的語音承載
      • VoLTE 封包是直接從 Modem 送到硬體,不會經過作業系統
      • 手機和 IMS 經 signaling bearer 溝通雙方要用的 IP 和 Port
      • 通話建立後 modem 會將該 IP 和 Port 的封包當成語音封包,直接送到語音承載
    • 原因與解法
      • 可分成 VoLTE 標準、行動網路、行動裝置
      • VoLTE的標準:設計的缺陷
        • 缺乏對VoLTE服務和高優先級承載的保護機制
      • 行動網路
        • 不適當的路由和缺乏VoLTE信令的統計機制 (accounting)
        • 解決方法:修正路由、限制高優先級乘載的速度、增加VoLTE信令的統計機制
      • 行動裝置
        • 軟體(行動作業系統)和硬體(Modem)皆缺乏適當的存取控制
        • 新版Android已經增加了對VoLTE資訊和網路介面的存取控制
  • VM,密碼: nctu

4G行動網路簡訊系統(SMS)之潛在安全威脅

  • Internet-based
  • CS-based
  • iMS-based

8/3 (五) 09:30 - 12:30

  • 講師 : Anthony Lai VXRL
  • Target Attack Analysis and Incident Response

8/3 (五) 14:00 - 17:00

  • 講師 : 劉作仁 安華聯網
  • 連網裝置安全檢測
  • 講師無慘
  • 善用裝置預設 root 權限
  • 通靈,揣摩開發人員想法

8/4 (六) 09:30 - 12:30

  • 講師 : 林昆立 TDOHacker
  • 逆向工程實務

8/4 (六) 14:00 - 17:00

  • 講師 : 陳仲寬 交通大學 BambooFox
  • AI Security

Docker 安裝
curl -sSL https://get.docker.com/ | sudo sh

Docker image load

sudo docker load < mlsec_ais3.tar
sudo docker run -p 8888:8888 -it mlsec:ais3 bash
or 從 dockerhub pull 下來

sudo docker pull bletchley/mlsec:ais3
sudo docker run -p 8888:8888 -it bletchley/mlsec:ais3 bash
進到 docker 之後輸入
jupyter notebook allow-root
帶有 token 的網址丟進瀏覽器,網址的部分要修改一下
將 http://(<container_id> or 127.0.0.1):8888 => http://127.0.0.1:8888

Select a repo