在kali linux中你應該知道的信息收集姿勢(一)

2021-02-16 滲透雲筆記

本期文章由華章IT贊助,未經允許,禁止轉發,本片筆記內容來源於書籍《kali Linux 高級滲透測試》,如有需要,可以購買閱讀。

本片筆記作者:不見長安   編輯:天均 排版:天均

公眾號二維碼部分


第一章 分類

信息收集是從公開可用資源獲取所有相關信息的一種方式,是與目標網絡和設備交互過程的一部分,涉及開源情報(Open Sourcew Intelligence,OSINT)。在進行滲透測試時信息收集是整個流程的第一步,在實際測試目標網絡前進行的,收集的結果會給出需要額外收集的方向或者直接指出接下來在漏洞利用截斷可利用的漏洞。信息收集可以分為兩種類型:被動偵察(passive reconnaissance)和主動偵察(reconnaissance)。

被動偵察一般是指分析公開的信息,這些信息包括目標本身的信息、在線的公共資源信息。在獲取這些信息是,測試者不會與目標產生交互,請求與活動不會被日誌記錄,無法直接定位測試者。因此在被動信息收集中應當儘可能減少與目標的交互。

主動偵察為了儘可能多的收集與目標有關的信息以幫助攻擊實施,主動偵察是建立在被動偵察之上,側重於使用探測來到達目標的路徑,暴露目標的攻擊面(attack surface)。一般來說,複雜的系統有更大的攻擊面並且每個面都可能被利用和再利用。主動偵察會產生更多更有用的信息,但是由於與目標系統的相互作用可能會被記錄,並且可能會通過防火牆、入侵檢測系統(IDS)、入侵阻止系統(IPS)等防護設備觸發報警,所以攻擊者在獲取到更多有用的信息的同時,被檢測到的風險同樣增加!

第二章 被動信息收集2.1.原則

被動信息收集並不與目標網絡產生直接的交互,攻擊者的源IP位址和活動不會被日誌記錄,被動信息收集可以看作與目標的正常交互

OSINT是指從公共的資源進行信息收集。OSINT可以分為進攻型和防守型。進攻性需要分析對防範目標進行攻擊所需的所有數據,而防禦型只是收集以前的數據與目標相關的其他安全事件。

2.1.1.進攻型OSINT

需要收集的信息依賴於滲透測試的初始目標。

l域名:域名是OSINT中最關鍵的元素,外部場景中識別攻擊者或滲透測試人員的目標是通過域名開始的。

lDNS收集與路由映射:一旦確定目標在線,下一步就是識別目標的IP位址和路由。識別誰擁有一個特定域或一系列IP位址,定義域名的DNS信息和標識目標的IP位址。

2.1.2.Maltego

Maltego社區版隨著kali Linux發行,是一款強大的信息收集GUI工具集,通過各種方法收集個人在網際網路上公開的信息,還能枚舉域名系統,破解普通DNS;在kali終端輸入maltego訪問程序。

產品類型:

Maltego XLMaltego XL是最高的解決方案,可以運行10000個以上的可視化圖例。

Maltego Classic這是商業版本,可以可視化10000個以下圖形實例。

Maltego CE社區版免費,功能受限,可以轉換圖形,無法使用任何商業目的。

Maltego CaseFileMaltego CaseFile免費,但只能手動創建圖,而且不能轉換,可用於商業目的。我們選擇社區版

下一步

單擊finsh就可以使用Maltego了。新建任務,輸入域名:

右擊目標選擇模塊進行transform,

擴展結果:

2.1.3.Google緩存

被Google訪問過的東西都會被備份為快照放在Google緩存中,通常情況下可以根據搜索查詢Google快照來獲取目標敏感信息。即便是目標網站已經從網際網路上消失,利用快照仍能為攻擊者提供大量信息,如用戶名、hash、密碼策略、郵箱等。

2.1.4.抓取攻擊者提取從網站獲取的大量數據集存儲到本地文件系統中。2.1.5.收集姓名與郵件信息

Python腳本TheHarvester利用搜尋引擎進行信息收集。能夠收集電子郵件帳號、用戶名、主機名和子域名等信息。它通過Google、Bing、PGP、LinkedIn、Baidu、Yandex、People123、Jigsaw、Shodan等公開資源整理收集這些信息。這些信息將在後期的滲透測試階段發揮巨大的作用。

-b:用於確定提取信息的來源。

baidu,bing, bingapi, censys, crtsh, dogpile,
Google,google-certificates, googleCSE, googleplus, google-profiles,linkedin, netcraft, pgp, threatcrowd,
twitter, vhost, virustotal, yahoo等等
-s:從結果X開始(默認為0)
-v:通過DNS解析驗證主機名,搜索虛擬主機
-f:將結果保存到HTML和XML文件中(兩者都)
-n:對發現的所有範圍執行DNS反向查詢
-c:對域名執行DNS蠻力
-t:執行DNS TLD擴展發現
使用這個DNS伺服器
-p:埠掃描檢測到的主機並檢查是否被接管(80,443,22,21,8080)
limit:限制results:結果
-l限制並發搜索結果
-d 後跟伺服器域名    163.com  hotmail.com  gmail.com  

例子:
python2 theharvester.py -d qq.com -l 500 -b baidu myresults.xml


收集的郵箱

主機

2.1.6.Shodan和censys.io

Shodan讓攻擊者通過過濾語法連結到網際網路的設備。例如過濾網際網路上運行IIS6.0的伺服器

也可以利用scan.io api或censys.io作相關信息採集。它們能夠提供IPv4地址、網站認證的更多信息以及其他存儲的信息。https://censys.io/

2.2.Google黑客資料庫

Google是人們搜索任何未知動,收集相關主題的通用工具。通過dork腳本利用Google會有意想不到的結果。

2.2.1.使用dork腳本查詢Google

2.2.2.防守型OSINT

防守型OSINT通常可以看到已經被掌控的內容,根據這些數據可以很方便的初步識別到已經掌握的類似目標。大多數組織只修復受影響的平臺或主機,很多時候並沒有考慮到其他類似的環境。防守型OSINT大致在三個地方搜索:

①暗網:暗網是tor伺服器及客戶端之間存在的加密網絡,他提供一些資料庫和一些web服務可用於信息收集。

②安全漏洞:指通過繞過底層安全機制,未經授權訪問數據、應用程式、服務、網絡或設備的任何事件。

http://zone-h.com,https://haveibeenpwned.com

③威脅情報:威脅情報是控制、計算、提煉一個組織的潛在信息,信息包括威脅、滲透、攻擊一個組織的內容。這種情報的主要目的是確保組織意識到當前的風險,如(APT,0 DAY,其他嚴重的外部威脅)

第三章 主動信息收集

主動信息收集涉及直接查詢或其他交互活動,這些活動可能會觸發系統警報,被攻擊的目標也能獲取攻擊者的IP位址和活動信息

3.1.隱形掃描策略

直接與目標發生交互使測試人員的測試時間、數據戳、源IP位址及其他附加信息都直接暴露在目標日誌上。所以即便是主動信息收集,也要儘量採用隱形技術以降低被發覺的概率。隱形技術偵察要做到以下幾點:

偽裝工具籤名逃避檢測和觸發警報

將攻擊隱藏於合法流量內

修改攻擊,隱藏其流量的來源和類型

使用非標準的流量類型或加密

隱形掃描技術包括以下幾個方面:

調整源IP和工具識別設置

修改數據包參數

使用代理池匿名訪問目標

3.1.1.調整源IP棧和工具識別設置

在測試之前應當儘量禁用或關閉kali不必要的服務。例如:本地運行的DHCP服務可能與目標系統產生交互從而被記錄,甚至發出報警。

一些滲透工具在使用時用一個標識序列標記他們的數據包,這樣由一個特定的測試工具發起的事件可以直接與系統的事件日誌進行比較,可以確定網絡偵測情況並響應攻擊,對測試後分析系統的事件日誌由很大的幫助。但是這些工具的標識序列數據包也有可能觸發入侵檢測系統,為了繞過防護系統需要修改這標識數據包。例如MSF修改user-agent:

在Metasploit框架中,可以通過修改auxiliary/fuzzers/http/http_form_field模塊選項以修改MSF的user-agent,達到偽造Google索引蜘蛛(Googlebot)的目的。

msf5 > use auxiliary/fuzzers/http/http_form_field

msf5 auxiliary(fuzzers/http/http_form_field) > set useragent

useragent => Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

msf5 auxiliary(fuzzers/http/http_form_field) > set useragent Googlebot/2.1

useragent => Googlebot/2.1

常用工具user-agent修改:

使用wireshark工具捕獲攻擊者和目標虛擬機之間的信息,搜索抓包(packet capture)文件,尋找測試工具產生的關鍵字(工具名稱、供應商、證書序列號等)。可以定位該測試工具的特徵數據包。

①sqlmap

默認情況下sqlmap的HTTP請求頭中User-Agent值是:sqlmap/1.0-dev-xxxxxxx (http://sqlmap.org)

可以使用參數--user-agent 修改UA:

sqlmap -u www.xx.com/index.php?id=1 --user-agent="Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0"

也可以使用--random-agent使用隨機選定的UA:

sqlmap -u www.xx.com/index.php?id=1  --random-agent

②nmap

通過--script-args參數修改user-agent

nmap 192.168.1.1 --script-args

③dirbuster。

Dirbuster默認的UA:

DirBuster-1.0-RC1 (http://www.owasp.org/index.php/Category:OWASP_DirBuster_Project)

修改配置即可:options>advanced options>http options ,修改為百度小蜘蛛:

User-Agent: Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)

3.1.2.修改數據包參數

對目標進行掃描,即向目標發送定義的數據包,利用返回的數據包獲取信息。常見的工具如nmap。掃描的注意事項:

儘可能縮小發送數據包的數和量

儘量避免與目標系統直接連接的掃描,儘量避免可能洩露數據的掃描。如使用SYN或非常規數據包掃描

隨機化或欺騙分組設置源IP、埠、MAC地址

減小掃描速度以減緩目標端的包

通過包的分解或附加隨機數據該百年包的大小,混淆設備對數據包的檢測

例如nmap史上最慢掃描:

nmap --spoof-mac-Cisco --data-length 24 -T paranoid --max-hostgroup 1 --max-parallelism 10 -Pn -f -D 10.1.20.5,RND:5,ME --v -n -sS -sV -oA /desktop/pentest/nmap/out -p T:1-1024 --random-hosts 10.1.1.10 10.1.1.15 127.0.0.1

3.1.3.匿名網絡代理

Tor提供免費接入的匿名網絡代理,他通過保護用戶的IP流源地址和目的地址抵禦流量分析。Privoxy作為Tor的web代理伺服器,利用過濾技術在保護隱私的同時將數據包發送給目標伺服器。

1.安裝tor

apt-get update 更新軟體源中的所有軟體列表。
      apt-get upgrade 更新軟體 
      apt-get dist-upgrade 更新系統版本

apt-get install tor

2.配置proxychains.conf文件

該文件規定了使用在tor網絡系統上的測試系統使用代理伺服器的數量和順序。禁用strict_chains,啟用dynamic_chains,防止proxychain失效保證連接被路由。

3.編輯[ProxyList]部分,確保socket代理存在

4.啟動Tor

service tor start

5.查看tor狀態,驗證tor是否提供匿名連接

service tor status

6.匿名訪問

proxychains firefox www.baidu.com

7.主義事件

Tor提供匿名服務,但它不保證完全隱私。出口節點能夠嗅出流量,有可能訪問用戶憑據

ProxyChains不處理UDP流量

部分程序無法在這樣的環境下運行。如MSF,另外nmap的SYN掃描會被ProxyChains終止,調用連接掃描可能會洩露信息

瀏覽器的某些應用程式可能會獲取真實IP,如ActiveX、PDF、Flash、Java、QuickTime、RealPlay

ProxyChains會從tor IP列表中隨機獲取IP位址,很難從源頭跟蹤流量。在/etc/proxychains.conf文件中禁用dynamic_chains啟用ramdom_chain可解決此問題。

3.2.DNS偵察和路由映射

DNS偵察,識別誰擁有一個特定域或一系列IP位址,定義實際域名的DNS信息和目標的IP位址,以及在測試者與最終目標之間的路由。這些信息有一部分是開源的,另一部分則來自於第三方實體(如DNS註冊機構)。

3.2.1.Whois信息

通過whois命令識別分配給目標網站的地址,允許查詢到網際網路中相關的信息,例如註冊用戶的域名、IP位址、註冊用戶姓名、物理地址、電話號碼、郵箱地址、DNS伺服器名稱。當然也有一些實體為了保護隱私會隱藏數據。如.gov和.mil可能不會被公共域訪問。注意:執行查找的站點可能會記錄查詢的IP位址。

愛站https://whois.aizhan.com/baidu.com/

3.3.應用綜合偵探3.3.1.DMitry

DMitry是常用的綜合偵察命令行工具,可以執行whois查詢操作,檢索netcraft.com信息,搜索子域、電子郵件地址,TCP掃描等等。

dmitry -winsepo output.txt www.cyberhia.com

3.3.2.recon-ng框架

DMitry工具能進行綜合的信息收集,但是無法擴展。recon-ng是結合了主動收集和被動收集的開源框架,和MSF類似,它將cmd解釋器分為多個模塊,每個模塊執行特定任務。recon-ng工具利用第三方API進行一些評估,所以採用recon-ng進行的活動可能會被第三方追蹤。可自定義User-Agent

Kali已經默認安裝recon-ng工具,更新安裝apt-get install recon-ng。然後在終端輸入recon-ng啟動:

命令 options list 顯示當前設置,通過 options set 可以更改參數(如域名解析伺服器、代理、線程)

marketplace refresh 更新模塊列表

marketplace info all 可以所有模塊包括描述

marketplace search hackertarget 搜索模塊例如 「hackertarget」

加載指定模塊:modules load+模塊名稱。相關模塊的工作原理:info,必要時獲取API密鑰

  一旦模塊被加載,就可以使用options  set source sina.com命令設置選項,run命令進行執行。

3.3.2.1.為recon-ng添加API密鑰,如shodan

1.添加密鑰

keys add shodan_api

2.搜索shodan模塊

marketplace search shodan

3.如果沒有安裝該模塊,先安裝

marketplace install recon/hosts-ports/shodan_ip

4.加載模塊

modules load recon/netblocks-hosts/shodan_net

options set SOURCE 192.168.1.1/24

run

相關焦點

  • Kali Linux 2019.4 發布,引入 「 Kali Undercover」 模式
    Kali 前身 BackTrack,它是一個基於 Debian 的 Linux 發行版,主要用於信息安全行業,其包含了一系列安全、滲透測試和取證工具。此前,Kali Linux 2019.3 則於今年9月份完成了發布。據悉,最新版本的 Kali Linux 具有許多有趣的功能,例如新的桌面環境,新主題以及渴望的臥底模式,能使滲透測試人員可以在公共場所進行隱藏。
  • 樹莓派3上安裝完整版kali&&配置kali
    0x01 準備工作用win32diskmanager將kali系統寫入tf卡2)win32diskmanager下載安裝(傻瓜式寫入tf卡,不贅述了)0x02 連接樹莓派3,簡單配置kali1)若身邊無多餘顯示器,也沒有路由器的管理權限(有自己路由管理權限的,登入去看下就知道新裝的kali的
  • 一鍵偽裝成Win 10,Kali Linux 2019年最終版重磅功能預覽
    >安裝在Android上的NetHunter Kex – Full Kali 桌面安裝過程中的BTRFS添加PowerShell內核升級到5.3.9版本...以及常規的錯誤修復和更新新的桌面環境和GTK3主題在最新的版本中,Kali完全捨棄了Gnome桌面而轉向了Xfce。
  • 網絡安全與Kali Linux:利用MSF對Win7進行永恆之藍攻防演練實戰
    一、基礎知識介紹:1. 何為永恆之藍?永恆之藍(Eternal Blue)爆發於2017年4月14日晚,是一種利用Windows系統的SMB協議漏洞來獲取系統的最高權限,以此來控制被入侵的計算機。SMB(全稱是Server Message Block)是一個協議伺服器信息塊,它是一種客戶機/伺服器、請求/響應協議,通過SMB協議可以在計算機間共享文件、印表機、命名管道等資源,電腦上的網上鄰居就是靠SMB實現的;SMB協議工作在應用層和會話層,可以用在TCP/IP協議之上,SMB使用TCP139埠和TCP445埠。二、攻擊步驟:1.
  • 好玩的Linux命令,將禮品包在盒子中
    ,每個Linux終端用戶都應該得到一份小禮物。不管你是慶祝春節,還是另一個節日。我收集到的幾個Linux命令行工具,供您欣賞並與朋友共享。讓我們一起來找點樂子,給這個寒冷的冬天增添點快樂吧。很有可能,你以前聽說過一些。但是,希望我們都有機會學習新東西。今天我們將了解如何使用boxes實用程序在Linux終端繪製帶有字符的形狀,並使您的單詞脫穎而出。
  • MX Linux:一款專注於簡潔性的中等體量發行版 | Linux 中國
    另一方面,許多發行版之間的區別又是如此之小,你可能會問為什麼有人還願意不厭其煩的重複別人已經做過的工作呢?也正是基於這一疑惑,讓我好奇為什麼 antiX 和 MEPIS這兩個社區要聯合推出一個特殊的發行版,考慮到具體情況應該會是一個搭載 Xfce 桌面並基於 antiX 的版本,由 MEPIS 社區承擔開發。
  • 我正在運行的 Linux 是什麼版本? | Linux 中國
    嚴格地說,Linux 是內核,所以問題可以特指內核的版本號,或者 「Linux」 可以更通俗地用來指整個發行版,就像在 Fedora Linux 或 Ubuntu Linux 中一樣。兩者都很重要,你可能需要知道其中一個或全部答案來修復系統中的問題。
  • Linux Mint 19.1 Tessa - 體驗令人印象深刻的新版本
    在進行任何類型的安裝或升級之前,有一些文檔您應該閱讀:發布公告簡要概述了Cinnamon版本;MATE和Xfce版本也有類似的聲明。關於這個版本中有哪些新特性和不同之處的詳細信息,Linux Mint 19.1 Cinnamon文檔中有一個新特性,當然還有MATE和Xfce的相應文檔。這些都是非常有趣和有用的信息,所以一定要花時間仔細閱讀適當的信息。
  • 韓劇《幽靈》中的黑客工具都有哪些?(附福利)
    Encase對照圖還有個鬧不明白的地方,警方是如何知道那條假微博不是由女施主發出的,而是由黑客發出的?除非女施主的PC機事先中了鍵盤捕獲軟體,且沒有清除記錄,看來女施主的機器已經是漏機來著,你也太不小心了,女施主!黑客的部分,至少工具,條理性還是說得過去的,反觀國內的一些片,就太菜了,那個只會dir /s滿屏滾的黑客,還有那個軍哥哥片裡會轉的flash雷達,OMG!
  • Linux Shell命令快捷獲得系統幫助
    這點就是linux命令解析靈活性了,如果你把多個字符用一個」-「連接,它會將它分割為多個參數。如:ls –al 等價於 ls –a –l ,如果你用:ls –-al 那麼它將把al作為整體參數了。還要說一點,一般linux命令,都會用-h,或者 –help作為返回命令行幫助信息。 特別是–help最多,有的命令2個都支持。 這個已經成了一種習慣了。
  • 在Linux作業系統裡使用xargs命令
    通過這個命令你可以有效地處理多個文件,節省你的時間和精力。在這篇教程中,你可以學到如何一次性對多個文件執行命令或腳本操作,再也不用擔心像單獨處理無數個日誌或數據文件那樣嚇人的任務了。本文引用地址:http://www.eepw.com.cn/article/268330.htm
  • linux系統中update和upgrade命令區別
    linux系統中update和upgrade命令區別在linux作業系統中update和upgrade都是更新命令:yum upgrade和yum update。兩個命令在linux系統中都是更新所有包,但是兩個命令的側重點不一樣。
  • linux中的vim命令
    如何查看命令的幫助文檔,三種方式:內置命令:help ls外部命令:ls --help,簡單的幫助文檔手冊man ls, 通過使用man查看詳細的幫助內容vim和vi命令本質上就是一個命令,這個命令是在linux命令中專門用來編輯文本文件的
  • 從串口驅動到Linux驅動模型,想轉Linux的必會!
    再到一系列線路規程。再到最底層的硬體操作。對Linux中的tty子系統進行簡要的說明。從理論到實踐。以便讀者能對OS原理有更深入的了解和更具體的掌握。在具體分析之前。我們必須對串口。驅動。和Linux作業系統有一定的了解。這一階段我們有三個問題需要解決:1.什麼是Linux作業系統。2.什麼是Linux設備驅動。
  • 如何在Linux中設置藍牙
    以下是如何在Linux中設置藍牙。如何在你的Linux機器上設置藍牙在不同的發行版中,步驟會有所不同,但是基本步驟是相同的。如果您的發行版尚未為您設置藍牙,您將首先需要安裝Bluez,它包含藍牙適配器的驅動程序堆棧以及藍牙命令行界面管理實用程序。安裝Bluez後,您可能需要安裝藍牙管理器。有些桌面環境有內置的藍牙管理器。
  • 玩轉嵌入式之如何在Linux系統中搭建tftp伺服器·圖文視頻
    嵌入式linux最常用到tftp命令來完成開發板和Linux系統之間的的文件傳輸,避免了頻繁的U盤拷貝過程。我們知道,Windows下使用「tftpd32.exe」這款軟體可以很方便地在Windows下搭建的tftp伺服器。
  • 搞定 Linux 這一篇就他媽夠了!
    2.1 你需要知道這些linux歷史知道一點相關作業系統的歷史,是能夠陶冶情操的。GNU/Linux是為了抵制一些商業公司的壟斷行為而發展起來的,凝結了一代網際網路人嚮往自由的心血。和其他Unix比起來,Linux其實很年輕。
  • Linux之父如何定義Linux!主要想讓黑客、計算機學生使用和學習!
    對任何使用或者擴展系統的人來說,這應該足夠寬鬆而不會引起任何擔憂。如果你有朋友真的不想要源碼,只想要一個能運行的二進位,你當然可以給他而不用擔心我會起訴你。不過最好只在朋友之間這麼做。 LINUX運行所需的硬體/軟體 LINUX是在一個運行Minix的386-AT上開發的。
  • 當運行 Linux 內核的機器死機時……
    既然可以 ping 通,何必不帶回一些真正重要的信息而不僅僅是 echo 的 reply?且慢,你可能會覺得這一切沒有意義,懂 kdump 的人都會這麼抬槓,畢竟如果這個時候讓內核 panic 掉,保留一個 vmcore,事後便可以隨便分析了。哈哈,我也不是不懂 kdump,我當然懂得如何分析 vmcore,我只是不信任它而已。