網站滲透測試實務入門--工具清單

網站滲透測試實務入門--書中使用的工具列表                              (文字勘誤表)

工具清單
VMWare Player 虛擬機執行環境
nslookup Windows 自帶的 dns 查詢工具 
whois  查詢網域註冊的相關資訊
whois 查詢網域註冊的相關資訊
netcraft 線上查詢 Whois 的網站
twnic 線上查詢 Whois 的網站
whois.net 線上查詢 Whois 的網站
SiteDigger Google Hacking的輔助工具
theHarvester.py 找出指定網域裡的電子郵件資訊及其他相關資訊
HTTrack 複製網站,以供離線瀏覽
DirBuster 猜測網址的工具(暴力猜解URL)  (已整合到 ZAP)
NMAP 端口(連接埠)掃描工具
OWASP ZAP 整合型網站弱點探測及滲透工具
w3af 或 Windows安裝檔 提供 掃描、弱點評估、弱點利用的整合型工具
MSBSA 微軟提供區網內進行弱點評估的工具
wFetch 用來測試web站台提供哪些method存取的小工具
WebScarab 整合型網站弱點探測及滲透工具,功能與ZAP相仿,但已不再更新
BurpSuite 功能類似ZAP,但提供更深入的功能設定,使用彈性高
thc-hydra 可以暴力破解多種網路協定密碼的工具
SQLMap 針對網站 SQL injection 進行操作的強大工具
RainbowCrack 利用彩虹表進行離線密碼破解的工具,也提供彩虹表生成程式
John the Ripper 利用字典檔進行密碼破解的工具(也支援暴力破解規則)

線上資源
testfire 提供滲透測試練習的線上網站
zero bank 提供滲透測試練習的線上網站
cenzic bank 提供滲透測試練習的線上網站
vulnweb-asp
vulnweb-php
vulnweb-asp.net
提供滲透測試練習的線上網站
webgoatt WebGoat 滲透測試練習平台,請安裝於自己的機器上
DVWA PHP寫成的滲透測試練習平台,提供 LIVE CD
Java(JRE)  Java 的執行環境,請下載安裝
Python Python 的執行環境,請下載安裝

範例檔案
ZAP 2.3的中文語言包 提供ZAP2.3正體中文 
users.lst 範例用 使用者清單檔
password-2.lst 範例用 密碼清單檔 

其他輔助工具(持續整理中)






28 則留言:

  1. 為什麼我DOWNLOAD thc-hydra 的時候是文件當 不能開啟

    回覆刪除
    回覆
    1. https://github.com/0xAli/THC-Hydra/releases/download/7.5/hydra-7.5-windows.zip
      試試上面的網址看看。

      刪除
    2. OWASP ZAP 的載點好像已經掛了
      請問是否有更新的載點呢? 感謝

      刪除
    3. 最新版的ZAP下載網址:
      https://github.com/zaproxy/zaproxy/wiki/Downloads

      刪除
  2. 請問一下,我現在用hydra 測試 win 10的密碼,已經確定帳號密碼都對,就是無法成功,不知道您有沒有遇到這樣的問題,又是如何解決的呢? 測試centos可以

    回覆刪除
    回覆
    1. 對不起,我不知道hydra的哪一個模組可以直接測windows的密碼。它好像沒有提供專門針對Windows的模組,不曉得您是用哪一個模組去試的?

      刪除
  3. 我下載https://centos.pkgs.org/7/epel-x86_64/hydra-8.2-1.el7.x86_64.rpm.html 透過下命令 hydra -l username -p password ip smb 這樣的方式測試,確認username password都對,username 在administrator群組,hydra可以選模組? 猜想是否跟smb v2 v3有關係

    回覆刪除
    回覆
    1. 您的語法沒錯,我測試是可以通的,但若關閉smb v1 將得到invalid reply from target smb://192.168.1.65:445/,推測hydra無法支援 smb v2

      刪除
    2. 謝謝您的回覆,倘若要測試Windows平台電腦之密碼強度,又不能使用hydra,可否推薦其他的軟體可以支援 smb v2 v3的測試?謝謝

      刪除
    3. 抱歉!沒有實測過,不敢向您推薦,或許可到 https://sectools.org/tag/pass-audit/ 找看看有沒有合適的工具。

      刪除
  4. 你好,我現在用一樓中的https://github.com/0xAli/THC-Hydra/releases/download/7.5/hydra-7.5-windows.zip,網址去下載後,但是打開後的hydra.exe點開跑完後,會立刻閃退,請問如何解決

    回覆刪除
    回覆
    1. hydra是命令列工具,請在命令提示字元中執行。

      刪除
  5. 你好,我是初学者,书中3-19,虚拟机界面显示的IP,在谷歌浏览器中输入这个IP,总是显示 无法访问此网站,不知何故,希望老师指点,谢谢!

    回覆刪除
    回覆
    1. 對不起!對於您所提的問題,因為不清楚您的環境,無法給您明確的答案。請您依下列說明檢查。

      一、書中的實驗環境是虛擬機,您必須先確認虛擬機的網卡是設成NAT模式,而且要自己進虛擬機,參考3-17的圖3-14,在開啟虛擬機後可看到機器的位址,它應該和書中的192.168.18.168不一樣,您的機器會有自己的IP。

      二、先從您執行谷歌浏览器的電腦上,開啟命令提示字元,執行 「ping 您虛擬機器的IP」,看網路會不會通,如果網路不通,表示您的環境設定有問題。

      三、如果ping會通,請改用Firefox瀏覽看看,或者檢查Chrome的Proxy設定,宿主電腦和虛擬機之間是不需使用Proxy的,若開啟Proxy可能會找不到通往虛擬機的閘道器。

      (若還有問題,建議您能截圖,有時候可能只是不小心打錯符號而已!)

      刪除
    2. 您好,非常感谢您的解答!根据您的提示,问题已经解决了。 :)
      解决问题的过程:
      开始无法ping通虚拟机的IP。
      后来发现物理机的网络适配器:vmware virtual ethernet adapter for vmnet8 这一项有感叹号。
      打开2个本地服务:1.device install service 2.device setup manager .
      重新安装VMware Player虚拟机,问题解决!
      最后再问下,如何在回复中上传图片?



      刪除
    3. blogspot的留言板無法直接上傳圖片,您可以將圖先上傳到GoogleDrive,再將鏈結網址貼到留言裡。

      刪除
  6. 您好:
    我按照您書上的DNSRecon 工具中的 -t zonewalk 指令
    卻跑出這樣的結果:
    Performing NSEC Zone Walk for testfire.net
    [*] Getting SOA record for testfire.net
    [*] Name Server 23.211.61.64 will be used
    [-] This zone appears to be misconfigured, no SOA record found.
    [*] A testfire.net 65.61.137.117
    Traceback (most recent call last):
    File "dnsrecon.py", line 1763, in
    main()
    File "dnsrecon.py", line 1716, in main
    zonewalk_result = ds_zone_walk(res, domain, request_timeout)
    File "dnsrecon.py", line 1298, in ds_zone_walk
    response = get_a_answer(res, target, res._res.nameservers[0], timeout)
    File "dnsrecon.py", line 1211, in get_a_answer
    answer = res.query(query, ns, timeout)
    File "C:\Users\R\Desktop\DNSRecon\lib\dnshelper.py", line 111, in query
    return dns.query.udp(q, target_server, timeout, port, af, source, source_port, False, one_rr_per_rrset)
    File "C:\Python\python3.7\lib\site-packages\dns\query.py", line 508, in udp
    raise_on_truncation)
    File "C:\Python\python3.7\lib\site-packages\dns\query.py", line 448, in receive_udp
    raise_on_truncation=raise_on_truncation)
    File "C:\Python\python3.7\lib\site-packages\dns\message.py", line 1074, in from_wire
    m = reader.read()
    File "C:\Python\python3.7\lib\site-packages\dns\message.py", line 998, in read
    self._get_section(MessageSection.ANSWER, ancount)
    File "C:\Python\python3.7\lib\site-packages\dns\message.py", line 926, in _get_section
    rdclass, rdtype)
    File "C:\Python\python3.7\lib\site-packages\dns\message.py", line 717, in _parse_special_rr_header
    raise BadEDNS
    dns.message.BadEDNS: An OPT record occurred somewhere other than
    the additional data section.
    請問是哪裡出錯了呢?

    回覆刪除
  7. 抱歉,上一篇文是我打的
    情況一樣但跑出了:
    File "dnsrecon.py", line 1763, in
    main()
    File "dnsrecon.py", line 1716, in main
    zonewalk_result = ds_zone_walk(res, domain, request_timeout)
    File "dnsrecon.py", line 1298, in ds_zone_walk
    response = get_a_answer(res, target, res._res.nameservers[0], timeout)
    File "dnsrecon.py", line 1211, in get_a_answer
    answer = res.query(query, ns, timeout)
    File "C:\Users\R\Desktop\DNSRecon\lib\dnshelper.py", line 111, in query
    return dns.query.udp(q, target_server, timeout, port, af, source, source_port, False, one_rr_per_rrset)
    File "C:\Python\python3.7\lib\site-packages\dnspython-2.1.0-py3.7.egg\dns\query.py", line 508, in udp
    File "C:\Python\python3.7\lib\site-packages\dnspython-2.1.0-py3.7.egg\dns\query.py", line 448, in receive_udp
    File "C:\Python\python3.7\lib\site-packages\dnspython-2.1.0-py3.7.egg\dns\message.py", line 1074, in from_wire
    File "C:\Python\python3.7\lib\site-packages\dnspython-2.1.0-py3.7.egg\dns\message.py", line 999, in read
    File "C:\Python\python3.7\lib\site-packages\dnspython-2.1.0-py3.7.egg\dns\message.py", line 937, in _get_section
    File "C:\Python\python3.7\lib\contextlib.py", line 112, in __enter__
    return next(self.gen)
    File "C:\Python\python3.7\lib\site-packages\dnspython-2.1.0-py3.7.egg\dns\wire.py", line 67, in restrict_to
    dns.exception.FormError: DNS message is malformed.

    哪裡出錯了呢?謝謝

    回覆刪除
    回覆
    1. 要不要將目標換成「zonetransfer.me」試試?
      不然,要等星期六或星期日,我才有時間試跑!

      刪除
    2. 經測試 ntu.edu.tw 可以正常執行(testfire.net也可以正常執行,但結果為0)
      可參考附圖:https://drive.google.com/file/d/1cGDYutUJRNGtYFFmRCkOqBsK8I6p75vy/view?usp=sharing

      請您檢查是否底下的過程都有順利完: (我是用 python 3.8版)
      1.安裝netaddr及lxml => pip install netaddr lxml
      2.下載 dnspython=, 解壓縮後進入dnspython的目錄,然後執行 py -3.8 setup.py install
      3.切換到dnsrecon目錄,執行 py -3.8 dnsrecon.py -d ntu.edu.tw -n 8.8.8.8

      我的畫面是看到:
      [*] std: Performing General Enumeration against: ntu.edu.tw...
      [-] DNSSEC is not configured for ntu.edu.tw
      [*] SOA dns.ntu.edu.tw 140.112.254.4
      [*] SOA dns.ntu.edu.tw 2001:288:1001:254::4
      [*] NS dns.ntu.edu.tw 140.112.254.4
      [*] NS dns.ntu.edu.tw 2001:288:1001:254::4
      [*] NS ntu3.ntu.edu.tw 140.112.2.2
      [*] NS dns.tp1rc.edu.tw 163.28.16.10
      [*] MX mgw.ntu.edu.tw 140.112.8.25
      [*] TXT ntu.edu.tw v=spf1 a:mail.ntu.edu.tw a:ccms.ntu.edu.tw a:smtps.ntu.edu.tw a:wmail1.cc.ntu.edu.tw a:wmail2.cc.ntu.edu.tw ~all
      [*] TXT ntu.edu.tw izdpbvk+XSnOw656bWQwMON3JSxxraiL3DHEigt3QQPTF+GXtWN+EBx1QoaUb4/rh201r9FPk5VgE/dxzJIKXQ==
      [*] TXT ntu.edu.tw MS=ms27735216
      [*] TXT ntu.edu.tw google-site-verification=6nLh-BbOGSv992vl4MAehqKrokvT7PjFQxqLW1bpCac
      [*] Enumerating SRV Records
      [+] 0 Records Found

      刪除
    3. 我是當執行py -3.8 dnsrecon.py -d Domain -t zonewalk
      (且使用py -3.8 dnsrecon.py -d Domain -z 結果也有問題)
      才會出現上述問題
      關於安裝過程我全都重新下載一次了
      其他執行碼都可以正常執行
      只有這個指令執行後會出現

      刪除
    4. 我照你的指令執行,結果如下,並沒有出現您所提到的執行錯誤。我分別執行:
      py -3.8 dnsrecon.py -d zonetransfer.me -t zonewalk
      py -3.8 dnsrecon.py -d testfire.net -t zonewalk
      (我的環境是 Win7Pro,以管理員權限開啟命令提示字元,再執行上述命令)

      D:\dnsrecon-master>py -3.8 dnsrecon.py -d zonetransfer.me -t zonewalk
      [*] Performing NSEC Zone Walk for zonetransfer.me
      [*] Getting SOA record for zonetransfer.me
      [-] Error while resolving SOA record.
      [-] This zone appears to be misconfigured, no SOA record found.
      [*] A zonetransfer.me no_ip
      [-] A timeout error occurred while performing the zone walk please make
      [-] sure you can reach the target DNS Servers directly and requests
      [-] are not being filtered. Increase the timeout to a higher number
      [-] with --lifetime option.
      [+] 1 records found

      D:\dnsrecon-master>py -3.8 dnsrecon.py -d testfire.net -t zonewalk
      [*] Performing NSEC Zone Walk for testfire.net
      [*] Getting SOA record for testfire.net
      [-] Error while resolving SOA record.
      [-] This zone appears to be misconfigured, no SOA record found.
      [*] A testfire.net no_ip
      [-] A timeout error occurred while performing the zone walk please make
      [-] sure you can reach the target DNS Servers directly and requests
      [-] are not being filtered. Increase the timeout to a higher number
      [-] with --lifetime option.
      [+] 1 records found

      刪除
    5. 謝謝您撥空幫我處理

      我發現用家裡的wifi才會出現
      用其他網路來源就不會了
      這有什麼關聯嗎

      刪除
    6. 抱歉!這已超出我的理解範圍了!

      刪除