• 教學 12.03.2017 No Comments

    免費的DDOS雲端防護

    Image result for DDOS

    基本原理

    Image result for cloudflare

    Image result for cloudflare

    三步驟設定

    https://www.cloudflare.com

  • 如何自動化測試ClickJacking

    Image result for clickjacking

    這篇文章主要說明如何用一個簡單的Python程式

    自動化測試給定的網站是否有ClickJacking的安全風險

    什麼是 ClickJacking?

    簡單來說 ClickJacking比較像是複寫紙的概念

    簽名時看到的是請假單. 可是背後卻是一張鉅額的借據

    因此使用者在不知情的情況下, 以為是請假單點選 事實上是點選背後的借據

    如何防護 ClickJacking

    最簡單的方式就是每個頁面加上 X-FRAME-OPTIONS

    如何檢測 ClickJacking

    因此要如何判斷該網站是否有 clickjacking 的風險呢? 我們必須進行兩種檢查

    • 檢查網頁的 Http Header是否有 X-FRAME-OPTIONS
    • 用一個測試網頁  利用iFrame的方式瀏覽該網站 可以瀏覽成功表示該網站有ClickJacking風險

    ClickJacking測試用HTML

    可以用下列HTML 儲存為 ClickJack.HTML

    URL 為目標測試網站, 用瀏覽器啟動

    如果瀏覽器啟動後可以看到目標網站的內容, 則該網站具有 ClickJacking的風險

    <html>
    <body>
    <iframe src="'''+URL+'''" height='500px' width='600px'></iframe>
    </body>
    </html>

     

    Python 範例小技巧

    要如何用Python 完成該檢查呢?

    首先我們利用 requests 這個模組, 幫我們取得網站內容

    判斷回覆的 Http header 中是否包含 x-frame-options

    import requests
    
    req = requests.get(URL)
    xframe = req.headers['x-frame-options']

    接著, 要如何才能夠啟動上述的 ClickJacking網站檢查網頁內容呢?

    這邊介紹一個簡單的方式 ghost

    利用Ghost這個模組來幫我們啟動HTML檢查啟動後結果

    怎麼檢查呢? 其實只需要檢查網頁URL 是否有出現在 Page Title即可

    如果網頁開啟之後  網站可以順利瀏覽  Page Title 會出現該網站的URL

    http://jeanphix.me/Ghost.py/

     

    範例程式

    import requests
    from ghost import Ghost
    import logging
    import os
    
    #<iframe src="http://usabledesigns.com/demo/iframe-test"></iframe>
    
    URL = 'http://usabledesigns.com/demo/iframe-test'
    URL = 'https://target.com'
    
    #def clickjack(URL):
    
    
    req = requests.get(URL)
    
    try:
        xframe = req.headers['x-frame-options']
        print 'X-FRAME-OPTIONS:', xframe , 'present, clickjacking not likely possible'
    except:
        print 'X-FRAME-OPTIONS missing'
    
    print 'Attempting clickjacking...'
    #clickjack(URL)
    
    html = '''
    <html>
    <body>
    <iframe src="'''+URL+'''" height=500px' width='600px'></iframe>
    </body>
    </html>'''
      
    html_filename = 'clickjack.html'
    log_filename = 'test.log'
      
    f = open(html_filename, 'w+')
    f.write(html)
    f.close()
    
    logfilehandler = logging.FileHandler(log_filename)
    ghost = Ghost(log_level=logging.INFO, log_handler=logfilehandler)
    page, resources = ghost.open(html_filename)
      
    l = open(log_filename, 'r')
    if 'forbidden by X-Frame-Options.' in l.read():
        print 'Clickjacking mitigated via X-FRAME-OPTIONS'
    else:
        href = ghost.evaluate('document.location.href')[0]
        if html_filename not in href:
            print 'Frame busting detected'
        else:
            print 'Frame busting not detected, page is likely vulnerable to clickjacking'
    l.close()
    
    logging.getLogger('ghost').handlers[0].close()
    os.unlink(log_filename)
    os.unlink(html_filename)
  • 偵測是否為虛擬環境的工具

    Image result for virtualization

    這篇文章主要介紹一種可以偵測目前環境是否為虛擬基環境的工具

    為什麼需要這樣的工具呢? 主要是因為這是病毒反偵測常見的手法

    病毒分析

    分析病毒其中一個場景就是將病毒置放到虛擬基環境中

    讓病毒在隔離的虛擬基環境中進行靜態與動態的分析

    當然  進階的病毒也會反偵測

    偵測該環境是否為虛擬機環境或是為病毒分析使用的沙箱虛擬機環境

    工具介紹 – Paranoid Fish

    工具的主角為 Paranoid Fish

    https://github.com/a0rtega/pafish

    該工具執行之後  會告知所偵測到虛擬機環境的相關線索

    Pafish screenshot

    修改建置沙箱環境

    如果該沙箱環境為自製或是開源

    就可以依據上次所偵測到的線索進行修改

    讓病毒無法偵測到這些線索

    相關檢查的規則可以參考這裡

    https://github.com/a0rtega/pafish/blob/master/CHANGELOG