Author:LengF Time:2011/6/14
0x00 題外話
在進行一次***測試的時候,首先第一步是踩點,踩點即收集目標的信息方便後面***到思路利用及綜合分析。本文描述不須要任何工具的踩點技術css
0x01 踩點思路
1.探測web架構
(1)telnet www.target.com 80 返回下:html
- <html>
- <head><title>400 Bad Request</title></head>
- <body bgcolor="white">
- <center><h1>400 Bad Request</h1></center>
- <hr><center>nginx/0.8.53</center>
- </body>
- </html>
獲得了nginx/0.8.53 ,雖然還沒辦法判斷是什麼系統,按照這個判斷大體能夠判斷是Linux(偶爾有些奇特的管理員在windows搭建nginx)
若是判斷是Linux,嘗試22,
telnet www.target.com 22 能夠鏈接說明打開,有時候會返回SSH版本。
SSH-2.0-OpenSSH_5.2
同理也要嘗試21端口linux
telnet www.target.com 21 返回
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 1 of 30 allowed.
220-Local time is now 05:28. Server port: 21.
220-This is a private system - No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.nginx
得知對方是Pure-FTPd搭建的ftp,而且能夠進一步確認使用的是Linux系統。
若是是window你能夠嘗試你關心的端口開放狀況,好比3389,8080,21,445,139等,固然端口開放狀況能夠應用全部平臺。有時候端口被修改,你就藉助工具來掃描了。
可是有一種狀況比較難以判斷,在t00ls上看到端口有大於65535的。
實例:telnet www.t00ls.net 80 而後輸入head返回:web
- HTTP/1.0 400 Bad Request
- Server: squid/2.7.STABLE8
- Date: Tue, 14 Jun 2011 05:17:08 GMT
- Content-Type: text/html
- Content-Length: 1213
- X-Squid-Error: ERR_INVALID_REQ 0
- X-Cache: MISS from WIN-S6AV24UOFUF
- X-Cache-Lookup: NONE from WIN-S6AV24UOFUF:80
- Via: 1.0 WIN-S6AV24UOFUF:80 (squid/2.7.STABLE8)
- Connection: close
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.or
- g/TR/html4/loose.dtd">
- <HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859
- -1">
- <TITLE>ERROR: The requested URL could not be retrieved</TITLE>
- <STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,san
- s-serif}PRE{font-family:sans-serif}--></STYLE>
- </HEAD><BODY>
- <H1>ERROR</H1>
- <H2>The requested URL could not be retrieved</H2>
- <HR noshade size="1px">
- <P>
- While trying to process the request:
- <PRE>
- header
- </PRE>
- <P>
- The following error was encountered:
- <UL>
- <LI>
- <STRONG>
- Invalid Request
- </STRONG>
- </UL>
- <P>
- Some aspect of the HTTP Request is invalid. Possible problems:
- <UL>
- <LI>Missing or unknown request method
- <LI>Missing URL
- <LI>Missing HTTP Identifier (HTTP/1.0)
- <LI>Request is too large
- <LI>Content-Length missing for POST or PUT requests
- <LI>Illegal character in hostname; underscores are not allowed
- </UL>
- <P>Your cache administrator is <A HREF="mailto:webmaster">webmaster</A>.
- <BR clear="all">
- <HR noshade size="1px">
- <ADDRESS>
- Generated Tue, 14 Jun 2011 05:17
- :08 GMT by WIN-S6AV24UOFUF (squid/2.7.STABLE8)
- </ADDRESS>
- </BODY></HTML>
- 遺失對主機的鏈接。
分析:從返回信息,咱們知道t00ls.net使用squdi cache代理及web緩衝服務器(該軟件廣泛用於linux下,window下也有,能夠參考http://www.budeyan.com/tech_notes/squid-peizhi/)。而且獲得了計算機名WIN-S6AV24UOFUF,從命名來看應該是windows系統搭建的。在不一樣的狀況下返回不一樣的結果,這個依賴於服務器的設置,可是有些沒有返回內容。好比百度就沒有返回信息了。說明作了安全設置(具體設置還望你們分享)。
2.服務器備案及網站域名綁定
(1)備案信息
經過國家備案中心公共信息查詢http://www.miibeian.gov.cn/publish/query/indexFirst.action能夠獲得不少有用的信息能夠看到網站備案管理員的真實姓名和他備案號下全部的網站,爲社工和***增長了不少思路。另外,咱們不能忘記whois查詢http://whois.chinaz.com/Default.aspx(只是一個示例網站,有不少相似網站)從whois信息每每能夠獲得管理員註冊電話和郵箱,還有註冊機構另外可能還有管理員的真實地址和名稱。
(2)網站域名綁定狀況
域名綁定狀況是查看目標服務器綁定多少個域名,這個很重要,由於若是是獨立服務器那麼***思路就比較單一(固然也能夠C段嗅探,可是若是對方antiarp了,那就悲劇了)http://rootkit.net.cn/index.aspx 我經常使用的一個,若是是多域名,有可能也是獨立主機,也多是虛擬主機,有時候虛擬主機相對難搞一點。
3.nslookup踩點
不多用這個命令踩點,其實它很強大也頗有用。當你面對一個大型的網絡時,你能夠知道內網中哪臺是DNS服務器,而DNS服務器管理員是不多光顧的。爲咱們的潛伏提供了頗有利的條件。下面看看如何利用這個命令探測:windows
- C:\Users\LengF>nslookup
- 默認服務器: localhost
- Address: 192.168.11.1 # 你如今的DNS服務器ip
- > ?
- 命令: (標識符以大寫表示,[] 表示可選)
- NAME - 打印有關使用默認服務器的主機/域 NAME 的信息
- NAME1 NAME2 - 同上,但將 NAME2 用做服務器
- help or ? - 打印有關經常使用命令的信息
- set OPTION - 設置選項
- all - 打印選項、當前服務器和主機
- [no]debug - 打印調試信息
- [no]d2 - 打印詳細的調試信息
- [no]defname - 將域名附加到每一個查詢
- [no]recurse - 詢問查詢的遞歸應答
- [no]search - 使用域搜索列表
- [no]vc - 始終使用虛擬電路
- domain=NAME - 將默認域名設置爲 NAME
- srchlist=N1[/N2/.../N6] - 將域設置爲 N1,並將搜索列表設置爲 N一、N2 等
- root=NAME - 將根服務器設置爲 NAME
- retry=X - 將重試次數設置爲 X
- timeout=X - 將初始超時間隔設置爲 X 秒
- type=X - 設置查詢類型(如 A、AAAA、A+AAAA、ANY、CNAME、MX、
- NS、PTR、SOA 和 SRV)
- querytype=X - 與類型相同
- class=X - 設置查詢類(如 IN (Internet)和 ANY)
- [no]msxfr - 使用 MS 快速區域傳送
- ixfrver=X - 用於 IXFR 傳送請求的當前版本
- server NAME - 將默認服務器設置爲 NAME,使用當前默認服務器
- lserver NAME - 將默認服務器設置爲 NAME,使用初始服務器
- root - 將當前默認服務器設置爲根服務器
- ls [opt] DOMAIN [> FILE] - 列出 DOMAIN 中的地址(可選: 輸出到文件 FILE)
- -a - 列出規範名稱和別名
- -d - 列出全部記錄
- -t TYPE - 列出給定 RFC 記錄類型(例如 A、CNAME、MX、NS 和 PTR 等)
- 的記錄
- view FILE - 對 'ls' 輸出文件排序,並使用 pg 查看
- exit - 退出程序
- >
- 看到上面幫助信息了吧,咱們嘗試獲取一個目標的郵件服務器:
- > set type=mx
- > target.gov.ph
- 服務器: localhost
- Address: 192.168.11.1
- 非權威應答:
- target.gov.ph MX preference = 10, mail exchanger = mta.target.gov.ph
- 獲得了郵件服務器地址了。
- 在獲得DNS服務器:
- > set type=ns
- > target.gov.ph
- 服務器: localhost
- Address: 192.168.11.1
- 非權威應答:
- target.gov.ph nameserver = ns2.target.gov.ph
- target.gov.ph nameserver = ns.target.gov.ph
- 若是你拿下了這兩個服務器就能夠潛伏在這裏了。
- 查看非頂級域名的分配狀況:
- >server ns2.target.gov.ph # 設置默認服務器
- >ls target.gov.ph # 能夠列出域名對應的IP地址A記錄
另外在Linux下咱們可使用host命令獲得一些有用信息,好比MX記錄等等
4.trceroute(linux)和tracert(windows)
這個可讓咱們瞭解到咱們訪問目標的路由狀況,爲何要了解這些呢?由於有可能在咱們目標的前面有防火牆或者其餘阻礙咱們的***咱們通常查看最後兩個數據包,這兩個極可能是對方的網關或者防火牆之類的東西。固然有時候會在中間某個線路斷掉,這主要是因爲你在訪問目標的線路上某些路由設備採用了ACL訪問控制列表不容許trceroute或者tracert的通行。
5.繞過禁止ping包的數據探測
有些目標的防火牆設置禁止ping了,那麼咱們能夠利用發包程序發送TCP ACK數據包並根據目標網絡返回RST去判斷有哪些活躍主機。另外也能夠利用nmap的-PT參數來繞過一些防火牆的攔截。這個主要依賴於一些掃描軟件的掃描原理,常見的掃描方式有ICMP掃描,SYN掃描,ACK掃描,FIN掃描,NULL掃描,UDP掃描技術等等。推薦一款Linux的掃描Hping2,它在某些方面比nmap強大,容許用戶設置UDP/TCp和Raw IP數據包,能夠穿越一些防火牆。
0x02 總結
其實在沒有工具狀況下,咱們就能夠作不少事情了,我只是拋磚引玉,你們補充。不要忽略你能夠獲得的任何信息。安全