shodan在滲透測試中的應用

場景1:想搜索美國全部的elasticsearch服務器

ElasticSearch是一個基於Lucene的搜索服務器。它提供了一個分佈式多用戶能力的全文搜索引擎,基於RESTful web接口。設計用於雲計算中,可以達到實時搜索,穩定,可靠,快速,安裝使用方便。爲何要搜索他,由於他有多個漏洞,未受權訪問、目錄遍歷、任意命令執行等,搜索wooyun鏡像也能夠看到有很多結果。html

咱們能夠了解到elasticsearch的默認端口是9200,這時咱們能夠先在Shodan進行相應搜索,看會返回什麼。在Shodan中輸入「port:9200」來進行搜索,
shodan 命令
1 . port:9200
nginx

  1. 咱們想要的是美國的elasticsearch服務器,能夠看到左邊的統計中已經對一些經常使用字段進行了分類統計,有國家、組織、操做系統及產品,這裏已經看到了咱們所須要的字段,只須要點擊相應的標籤,便可進行進一步的細化搜索。

點擊便可細化搜索git

注意觀察每一次點擊標籤後搜索語句的變化,到這裏咱們能夠看到已經實現了咱們的目的,找到了美國的elasticsearch服務器。當搜索結果細化到必定程度時,左邊的統計也會有相應的變化,如今能夠看到已經變成了對城市、組織、操做系統、和elasticsearch版本的一個統計。至此咱們已經學會一些基本語法:
「port:」 按照指定端口進行搜索 「product:」 對某一產品進行搜索 「country:」 指定國家,
當咱們須要多個詞同時搜索時,只須要在每一個關鍵詞間加空格隔開就行,當不須要某個詞時,能夠用」-」加上關鍵詞來進行去除,好比不想要Amazon的elasticsearch服務器,就能夠」-org:amazon」,如何知道org這個關鍵詞的?一樣是左邊的統計,當咱們鼠標移動到Amazon時,能夠看到他相應的連接,已經給出了關鍵詞。github

場景2:搜索全部的搭建了Supervisor的服務器

Supervisor是一個用Python寫的進程管理工具,能夠很方便的用來啓動、重啓、關閉進程。咱們爲何要搜索這個東西呢,固然是由於他有問題。今年9月份的時候Supervisor爆出了一個遠程代碼執行漏洞CVE-2017-11610,咱們想要復現一下漏洞(滑稽)。按照上一個場景的經驗,當咱們想要經過端口來搜索Supervisor時,咱們發現他並無默認端口,因此就須要用的另外一種更經常使用的方法。

打開後發現這個就是咱們須要的Supervisor服務器,那麼咱們用什麼來定位這類服務器呢,這裏就要用到一些新的語法:
「http.title:」 根據網站title搜索web

場景3:搜索一個公司相關的服務器

首先咱們都知道,通常的網站有本身icon,好比百度、阿里、騰訊等,而通常公司會對其全部網站的title中都加上這個icon,來增長統一性,也方便用戶識別,以下如所示:apache

首先要知道在Shodan結果中在哪裏尋找這個標記,以下如所示,
安全

Shodan搜索icon時會出如今箭頭所示的位置。
由於這個icon只能算是對公司資產的一種標識,因此有些網站可能並無帶有icon,可是有些經常使用手段收集的服務器可能會漏掉這些,因此這個方法仍是有必定的用途,這裏拿支付寶舉例。
咱們嘗試性的輸入一些與支付寶相關的內容來進行搜索,如Alipay,支付寶,www.alipay.com等,當咱們搜索到www.alipay.com時,能夠看到結果內已經有攜帶支付寶icon的網站了服務器

」http.favicon.hash:」elasticsearch

最後在列舉一些比較經常使用的搜索語句來供你們參考,何時用什麼樣的語句,徹底取決於你怎麼去想。分佈式

asn 區域自治編號
port 端口
org ip所屬組織機構
os 操做系統類型
http.html 網頁內容
html.title 網頁標題
http.server http請求返回中server的類型
http.status http請求返回響應碼的狀態
city 城市
country 國家
product 所使用的軟件或產品

其實Shodan的關鍵詞還有不少,經緯度、ssl信息、smb版本號、區號、返回碼狀態等等,只要發揮你的想象力,從結果中尋找結果,就總能獲得你想要的。
以上就是我使用Shodan過程當中的一點心得,分享給你們。安全的路還很長,學習的路還很遠,不忘初心,方得始終。

使用搜索過濾

若是像前面單純只使用關鍵字直接進行搜索,搜索結果可能不盡人意,那麼此時咱們就須要使用一些特定的命令對搜索結果進行過濾,常見用的過濾命令以下所示:

hostname:搜索指定的主機或域名,例如 hostname:"google"
port:搜索指定的端口或服務,例如 port:"21"
country:搜索指定的國家,例如 country:"CN"
city:搜索指定的城市,例如 city:"Hefei"
org:搜索指定的組織或公司,例如 org:"google"
isp:搜索指定的ISP供應商,例如isp:"China Telecom"
product:搜索指定的操做系統/軟件/平臺,例如product:"Apache httpd"
version:搜索指定的軟件版本,例如 version:"1.6.2"
geo:搜索指定的地理位置,參數爲經緯度,例如 geo:"31.8639, 117.2808"
before/after:搜索指定收錄時間先後的數據,格式爲dd-mm-yy,例如 before:"11-11-15"
net:搜索指定的IP地址或子網,例如net:"210.45.240.0/24"
```
搜索實例

查找位於合肥的 Apache 服務器:

apache city:"Hefei"
查找位於國內的 Nginx 服務器:

nginx country:"CN"
查找 GWS(Google Web Server) 服務器:

「Server: gws」
hostname:"google"
查找指定網段的華爲設備:

huawei net:"61.191.146.0/24"net: 使用IP/CIDR標記法(eg:127.0.0.1/24)來設定IP地址範圍,從而查詢全部設備是否匹配正確,是否有存在漏洞的主機或者服務器,是否能夠從外部訪問等

相關文章
相關標籤/搜索