干货|针对单个网站的渗透思路(精)
本文很適合初學者及挖不到漏洞的小伙伴,提供一個很好的思路。
首先,當我們拿到一個網站的域名或者IP的時候。
最先要做的是信息收集。
下面著重介紹一下信息收集模塊
一、信息收集——端口掃描與分析
1.得到域名后查IP
推薦使用站長工具,選擇whois查詢和IP反查詢,通過ping該域名查看IP。
還可以在站長之家下面找到
IP的WHOIS查詢,這樣就獲得了該網站的基本信息。
當然還有DNS歷史解析記錄(可能是看服務器是否開啟了域間傳送策略)
旁站查詢,兄弟域名查詢
2.得到該網站的基本信息之后,我們再看看該域名下有那些主機
目前我使用的是子域名挖掘機
只需要將二級域名輸入進去即可,然后默認掃描的是80端口(Web服務),443端口(https服務)
我們只需要注意的是如果我們拿到的域名中帶有edu(教育)、gov(政府)等后綴、在進行子域名爆破的時候,請將edu、gov等后綴原封不動的帶上。??
?如果我們將這些標示去掉,將嚴重影響我們的爆破成功率
例子:nyist.edu.cn/
進行挖掘時:???nyist.edu.cn/
也可以右鍵點擊頁面空白處,選擇導出全部
?
然后進行篩選
3.爆破出所有相關子域名后,我們將存活的子域名的IP過濾出來
然后使用Nmap掃描這些主機上開放了哪些端口。
具體命令
掃描完端口之后,將這些存活主機的端口記錄下來
并分別標注這些端口號代表什么服務
如果有條件的話再將服務器版本號記錄上去
我們也可以打開命令行,使用telnet 遠程連接服務器,查看服務器是否開啟Telnet服務(默認23端口)
如果顯示正在連接,則說明23端口已開啟
如果端口關閉或無法連接會進行顯示如下
常見的幾種端口有:
21:FTP遠程文件傳輸端口
22:SSH,遠程連接端口
3389端口:遠程桌面連接
在發現這些端口只會我們可以嘗試弱口令的爆破
這里推薦(hydra弱口令爆破工具)下載地址:https://github.com/vanhauser-thc/thc-hydra
6379端口:redis未授權訪問GetShell
(http://blog.knownsec.com/2015/11/analysis-of-redis-unauthorized-of-expolit/)
該鏈接就是關于6379未授權訪問的介紹
總結下來就是
hacker利用redis自帶的config命令,可以進行寫文件操作
然后攻擊者將自己的公鑰成功寫入到目標服務器的/root/.ssh文件夾中的authotrized_keys文件中
然后攻擊者就可以用自己對應的私鑰登陸目標服務器。
這里可參考博客 https://blog.csdn.net/sdb5858874/article/details/80484010
27017端口:mongodb默認未授權訪問,直接控制數據庫。
https://blog.csdn.net/u014153701/article/details/46762627
總結下就是
mongodb在剛剛安裝完成時,默認數據庫admin中一個用戶都沒有,在沒有向該數據庫中添加用戶之前,
Hacker可以通過默認端口無需密碼登陸對數據庫任意操作而且可以遠程訪問數據庫!
9200/9300端口:elasticsearch遠程命令執行
初學者對這個東西認識不深,感覺就是通過java映射的方法達到攻擊目的
你們可以看看下面鏈接的分析
https://www.secpulse.com/archives/5047.html
80/8080/443端口:常見的Web服務漏洞,這里應該就是我們使用看家本領的地方了
基于常見的web漏洞進行掃描檢測,或者對管理后臺進行一次弱口令爆破
443端口:心臟出血漏洞(open ssl 1.0.1g 以前的版本)(老師說現在基本沒有了。。)
自己的理解:攻擊者不需要經過身份驗證或者其他操作,就可以輕易的從目標機內存中偷來最多64kb的數據
這其中可能包含我們用來登陸的用戶名密碼,電子郵件密碼,或重要的商務消息
下面是大牛的漏洞介紹
https://zhuanlan.zhihu.com/p/19722263?columnSlug=drops
還有一些
jboss弱口令
weblogic 天生SSRF漏洞
resin任意文件讀取??
這些東西暫時不看吧,等日后知識儲備更多了再了解(后續更細)? 附上這些漏洞的分析博文
http://www.hack80.com/thread-22662-1-1.html
二、信息收集——中間件,腳本語言,數據庫的識別
這里分享一下學長的經驗 :
? ?常見的服務器搭配
linux + apache +php +mysql
linux +nginx +php +mysql
linux + tomcat +jsp + mysql/oracle
windows + iis + asp(x) +mysql
windows +iis? + php +mysql
windows +apache? +php +mysql
我們收集完這些信息之后可以去測試或者搜索對應的
中間件解析漏洞,404頁面返回信息,http返回包
知道確切的數據庫后,我們還可以去搜索該版本數據庫存在哪些已知漏洞
三、信息收集——查看Web應用
首先識別下網站是否是CMS編寫的
幾種常見的CMS判別方法:
1.robots.txt文件
該文件的作用是告訴爬蟲哪些目錄是禁止爬取的。
在做CMS建站辨別時,我們可以通過robots.txt文件來判斷出CMS的類型
由于還沒有充分的實戰經驗,這里我就先引用其他技術人員的博客了
https://blog.csdn.net/qq1124794084/article/details/79218596
?
可以看到 robots.txt文件中? /wp-admin/ 路徑可以看出該網站是WordPress的CMS建站
還有像這樣,直接在注釋中告訴我們, 這是一個 PageAdmin的CMS建站
當然有些robots.txt文件中的路徑書寫不是那么好辨認,這個時候我們可以直接把一些路徑復制到百度去查詢
?
2.通過版權信息進行查詢
查看辦法:在網頁的最底部
類似于這樣,這些版權信息可能會告訴你,該網站是否為CMS建站
?
3.查看網頁源代碼
有些站點沒有robot.txt,并且也把版本信息改了。
我們可以通過右鍵點開查看網頁源碼? <!--? ?-->是html里的注釋
在其中的注釋信息里找找看有沒有作者遺漏的信息例如:
?
4.通過比較網站的MD5值
有些cms的掃描器就是用這個原理的,先收集某個cms的某個路徑的文件的md5值,要求這個文件一般不會被使用者修改的。
然后訪問這個網站同樣的路徑下是否存在這個文件,存在的話比較md5值。
相同能報出cms類型。這個比較考驗字典的能力。
(沒試過,有能力的可以自己嘗試下)
5.查看后臺管理頁面上標
6.使用云悉指紋識別
http://www.yunsee.cn/
直接輸入域名即可
7.還可以使用工具:whatweb (這個主要是識別外國的CMS,國內CMS識別不是很叼)
(沒用過,暫時不截圖,后續跟進)
四、針對CMS建站的滲透思路
1.如果是開源的CMS??
直接百度,cms漏洞? ?在CMS漏洞庫中尋求對應版本的漏洞
https://www.seebug.org/
2.如果該版本的CMS不存在漏洞,我們就對它進行敏感目錄掃描,使用工具: 御劍(御劍下載及使用)、weakfilescan、DirBuster等
附上weakfilescan的下載地址
https://github.com/ring04h/weakfilescan
還有lijiejie的,BBSCAN的下載地址
https://github.com/lijiejie/BBScan
五、判別是否為開發框架建站
1.通過訪問一個該不存在的頁面
觀察他的報錯頁面,比如404頁面
當你看到該哭臉時,證明這是一個thinkphp開發框架建立的站點。
這個跟筆一樣的圖標就是stryct 2 開發框架特有的404返回標志
六、針對開發框架的滲透思路
1.針對thinkphp? 有些版本可能存在遠程代碼執行,sql注入等漏洞
2.如果是stryct 2 開發框架,某別版本可能存在任意命令執行漏洞
? ?網上有? struct 2 命令執行漏洞利用工具
3.如果該開發框架不存在漏洞,則進行敏感目錄文件掃描。
這里還是使用像剛剛提到的御劍等工具
七、針對個人開發網站的滲透思路
1.因為個人開發的網站也許有更大的可能存在各種漏洞,所以我們可以直接用掃描器去掃描漏洞
這里推薦使用:awvs、appscan等工具,然后查看掃描結果
2.手動測試,觀察網站是否存在SQL注入、XSS盲打后臺、上傳漏洞、然后根據業務功能特點去測試
3.如果不存在漏洞,和之前的步驟一樣,掃描目錄、掃描敏感信息文件、爆破后臺
總結
以上是生活随笔為你收集整理的干货|针对单个网站的渗透思路(精)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Genymotion设置代理至BurpS
- 下一篇: Android APK的加固方法