2017年4月23日 星期日

【Python】如何在Windows快速安裝Python模組


就是一直會忘記,記一下。

---
環境:Windows
預先安裝:Python
本次教學安裝:easy_install、pip
---

Step 1. 下載 easy_install

Step 2. 安裝 easy_install.py
將 ez_setup.py 置於 Python 目錄 (例如 C:\Python27 下)
使用 cmd:
C:\Python27> ez_setup.py setuptools
安裝成功畫面:

(可將 C:\Python27\Scripts 路徑設到環境變數中,便可任意處使用 easy_install)


(Optional) 設 Proxy 的方法 (一):直接在 Windows Command Line 設 proxy
set http_proxy=http://your_proxy:your_port
set https_proxy=http://your_proxy:your_port

Step 3. 使用 easy_install 安裝 pip
(未設環境變數的話要到 C:\Python27\Scripts下去執行以下指令)
C:\Python27\Scripts> easy_install pip

Step 4. 使用 pip 安裝 Python 模組
(注意:若有裝 perl 或 ruby,執行時會吃錯 pip,所以要指定是使用 python 的 pip)
C:\Python27> python -m pip install python_module
(Optional) 設 Proxy 的方法(二):pip install --proxy
C:\Python27> python -m pip install --proxy your_proxy:your_port python_module
成功!




2017年4月20日 星期四

【IoT】IoT資安及OWASP IoT Top 10



前陣子在商周看到了一篇「絨毛駭客」,真的是把駭客寫的噱頭十足,裏頭寫了非常多的案例真的是花了不少心思蒐集整理讓我看得嘖嘖稱奇XD,也因此興起想來研究一下IoT安全以及檢測的面向的念頭。

本來是比較常接觸WebAPP,所以對於IoT還真的是霧煞煞,看了很多張架構圖才終於有點概念。

大範圍的來看,會造成IoT資安問題的大致分為四大塊

1.   終端裝置資安問題
2.   通訊媒介資安問題
3.   後端伺服器資安問題
4.   行動裝置資安問題



不過OWASP挑選出來的前十名,涵蓋的部分稍微再超出一些。

以下針對OWASP IoT Top 10,逐項進行說明(因為光看標題很容易誤解他本意..)


I1: 不安全的網頁介面 (Insecure Web Interface)
           
I1其實也就是一般最常見的Web安全,任何網站在實作上可能產生的漏洞(SQLi, XSS, CSRF…)都在這個範疇,可參考OWASP Top 10(噢對了OWASP Top 102017RC了,多了兩個新上榜的~)

I2: 不充分的認證與授權 (Insufficient Authentication/Authorization)
           
任何需要存取的動作,都需要去確認認證與授權是否合法。那麼在IoT中要去哪裡檢查認證與授權呢?答案是找出整個IoT架構中所有的介面(Interface),無論是雲端提供介面給設備傳遞資料過去,或者是使用者透過行動裝置連至雲端提供的行動介面存取資料。建議做法如啟用雙因子認證、當使用到一些比較敏感的功能可以進行重新認證、確保發給client的認證token/session key保持不一樣等。

I3. 不安全的網路服務 (Insecure Network Services)
           
物聯網裝置有不安全的網路服務公開在LocalGlobal Network,可能會導致Buffer OverflowDoS的問題,可以利用自動化工具如Port ScannerFuzzer

I4. 欠缺傳輸時的加密保護 (Lack of Transport Encryption)
           
物聯網資料間的傳輸,無論是有線或無線的都可能使用各式各樣的協定或技術(BLE, TLS, RFID, NFC…)。這些協定或技術在傳輸時是否會進行加密其實也不一定,需要去了解這些協定的實作。

I5. 隱私威脅 (Privacy Concerns)
           
這個部分舉例來說,當使用者在設定或啟用物聯網裝置時,可以去檢查看看裝置所蒐集的資料。裝置是建議最好不要蒐集敏感性資料,要儲存的話可將資料去識別化或匿名後再儲存。

I6. 不安全的雲端介面 (Insecure Cloud Interface)
           
關於雲端介面的安全性OWASP也有Cloud Top 10,不過這Top 10會包含整個雲的安全性問題,但這邊主要著重在提供給使用者/管理者的雲端介面安全。

I7. 不安全的行動介面 (Insecure Mobile Interface)
           
關於行動介面的安全性OWASP也提出了Mobile Top 10可以參考。基本上不外乎提供給使用者操作的行動介面證機制是否安全完善、資料傳輸時是否安全、連續登入失敗帳號是否鎖定、密碼復原機制是否有漏洞、APP是否有進行混淆或防竄改機制等。

I8. 不充分的安全設定 (Insufficient Security Configurability)
          
I8談的是物聯網裝置的安全設定,例如有些設備可能提供可以設定密碼的功能,但卻沒強制一定要輸入密碼,這是一種安全性設定的不足;又或者傳輸中的或儲存在設備上的敏感資料未加密也是一種。另外也建議IoT設備可以對於安全事件做紀錄或通知使用者。

I9. 不安全的軟體與韌體 (Insecure Software/Firmware)
           
此部分主要鎖定在IoT設備軟體/韌體更新的安全性。若設備具有自動更新功能時,除了更新伺服器的安全外,更新檔傳輸時(是否使用加密通道)以及更新檔本身的安全性(檔案是否加密、是否簽章並在傳遞/安裝前驗證過)都很重要。

I10. 實體安全考量不足 (Poor Physical Security)
           
I10考量到物聯網裝置的實體安全,例如裝置是否有可卸除式儲存設備如SD Card能輕易移除,若裡面的資料又未加密則可能遭到竊取或竄改;又或者有些物聯網設備可能會透過USB Port進行軟體更新,此USB Port若未受控制,也可能被利用於修改設備軟體或拿來複製資料。


依我自己的理解,會是長這樣的:(這是一張極盡簡化的示意圖XD,也是我覺得最貼近Top10敘述的一張了)



另一種版本:



事實上不同類型的IoT(智慧住宅、智慧電表、車聯網等),都會有其各自的架構圖,以上的簡圖也只是其中一種IoT類型的概略說明圖。

總結來說,從Sensor Device蒐集資料開始,傳遞給雲端Server進行儲存分析,End Users從任意設備連至Server取得分析結果或設備狀態資料等,這一連串流程會牽涉到的裝置、後端伺服器以及資料的傳輸(圖中粗黑線),都是可以攻擊的點,而不同種類的IoT可被攻擊的裝置及做法又會不相同。




以下為OWASP Project中提及的IoT弱點:
1.           帳號列舉 (Username Enumeration)
2.           弱密碼 (Weak Passwords)
3.           帳號鎖定 (Account Lockout)
4.           服務未加密 (Unencrypted Services)
5.           雙因子認證 (Two-factor Authentication)
6.           弱加密實作機制 (Poorly Implemented Encryption)
7.           更新檔案傳送未加密 (Update Sent Without Encryption)
8.           更新檔案儲存位置可改寫 (Update Location Writable)
9.           DoS (Denial of Service)
10.       可移除儲存媒體 (Removal of Storage Media)
11.       無手動更新機制 (No Manual Update Mechanism)
12.       無更新機制 (Missing Update Mechanism)
13.       韌體版本或最後更新日期未顯示 (Firmware Version Display and/or Last Update Date)
14.       韌體或儲存裝置可抽離 (Firmware and storage extraction)
15.       裝置具程式碼執行弱點 (Manipulating the code execution flow of the device)
16.       獲取主控台存取 (Obtaining console access)




另外蒐集了一些覺得不錯的IoT架構圖:

圖片來源:IBM X-Force


圖片來源:IBM Watson Internet of Things (IoT)










---
參考資料:


2017年4月13日 星期四

【Acunetix】Acunetix v11


上了官方網站把介紹Quick-start影片看了一下,腦中浮現了不少疑問..

有些功能就像跟你玩躲貓貓一樣的不知藏到哪裡去了,以下分別針對Web UICLI (wvsc.exe)的功能做了一些整理:


1. v11裝完以後在哪裡?
WEB
https://loaclhost:3443/

WVSC
C:\Program Files (x86)\Acunetix 11\core\wvsc.exe


2. v11掃完以後為什麼只能匯出PDFHTML啊???其實...

在新增Target時,開啟Debug scans功能,讓世界更美好()


Targets -> Advanced -> Debug scans for this target (打勾)


之後掃完便會產出三個檔案(logfile.csv, results.wvs, settings.xml),放在 C:\ProgramData\Acunetix 11\shared\scans\ 底下,並以zip儲存。



WVSC)相較於使用Web UI可以匯出多種格式的結果檔,CLI卻只提供/save results.wvs的功能。


3. 那若是爬完或掃描完想【匯出XML】呢?

Scans -> (點選任一個Scan項目) -> Export to... -> XML



WVSC)也是沒有這個功能


4. v11的【爬站】功能哪去了?

Choose Scanning Options -> Scan Type 選擇 Crawl Only


WVSC)這還真是個不能說的秘密,看到指令集裡完全沒有提及有/crawl相關指令時我心都涼一半了,但經過測試發現,嘿嘿,關鍵在於指定profile


在執行ScanCrawl時,都是使用 /scan,差別在於要完整掃描時,會使用/scan <target> /profile Default,而純爬站時則使用/scan <target> /profile empty.profile

例如:
完整掃描
wvsc.exe /scan http://testphp.vulnweb.com /profile Default /log logfile.txt /ls my.lsr /save results.wvs

使用XSS模組掃描
wvsc.exe /scan http://testphp.vulnweb.com /profile xss /log logfile.txt /ls my.lsr /save results.wvs

純爬站
wvsc.exe /scan http://testphp.vulnweb.com /profile empty.profile /log logfile.txt /ls my.lsr /save results.wvs


多虧了開啟Debug scans選項,從log檔看出端倪啦!


5. 如果我想掃描【WebService】呢?

v10.5還有特別獨立出來的Web Services功能(Scanner & Editor),但在v11已經完全找不到蹤影。

嘗試直接在v11 Add Target時輸入Web Service URL然後啟動掃描,並無任何問題。

(讓我抱怨一下,玩了好久才發現資料夾的圖示,是可以展開的,但前提是一定要點到那個"圖示"而不是文字)


另外從log中可看到爬站時能確實辨別WSDL,參考v10.5預設用於Web ServicesProfile (ws_default),發現其實所使用的Script與一般的網站掃描無異,只是少了很多XD


參考v10.5DefaultProfile為全部勾選,而ws_default只有在PerScheme類別部分勾選而已。




6. v11的手動檢測工具呢?

它們被拆散了,請到官方提供的另行下載安裝。

安裝後可用的手動檢測工具包含HTTP EditorHTTP SnifferHTTP FuzzerBlind SQL Injector等。


7. 忘記v11 Web登入密碼了..?

可以去開始功能表Acunetix 11找「Acunetix 11 Administrative Password,可以直接重設密碼。





--


總之,本次Acunetix大改版,最潮的就是那美麗的Web UI(),然後打個比喻原本若是50個功能現在大概只找的到10了吧()


除此之外還有一些顯而易見的特色功能:


Dashboard


在掃描期間發現的其他網站,會直接列在Discovered Hosts區塊,方便直接create Target


Continuous Scanning


目的是讓受測系統一直保持在安全狀態,所以提供此功能讓該Target會自動一周進行一次Full Scan

Targets -> (選擇或新增Target) -> General -> Target Info -> Continuous Scanning (開啟)




Role-based multi-user system

v11提供了一個新的角色概念,讓執行掃描及產出報告的動作可由不同角色執行,詳細請參考。此功能僅支援Enterprise licensed使用者


Acunetix CLI可用指令

Acunetix 11wvsc.exe



Acunetix 10wvs_console.exe


---

Acunetix Version: 11.0.170951158(5 April 2017) & 10.5 Build 20160520

---
參考資料: