如何对网站进行渗透测试和漏洞扫描

渗透测试在未得到被测试方授权之前依据某些地区法律规定是违法行为。这里我们提供的所有渗透测试方法均为(假设为)合法的评估服务,也就是通常所说的道德黑客行为(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,AcunetixWebVulnerabilityScanner,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.对原始业务系统进行一个完全的镜像环境,在镜像环境上进行渗透测试。



  • 缃戠珯娓楅忔祴璇,鎬庝箞杩涜
    绛旓細3.婕忔礊鍒╃敤锛氬埄鐢ㄤ互涓婄殑鏂瑰紡鎷垮埌webshell锛屾垨鑰呭叾浠栨潈闄愩4.鏉冮檺鎻愬崌锛氭彁鏉冩湇鍔″櫒锛屾瘮濡倃indows涓媘ysql鐨剈df鎻愭潈锛宻erv-u鎻愭潈锛寃indows浣庣増鏈殑婕忔礊锛屽iis6,pr,宸磋タ鐑よ倝锛 linux钘忕墰婕忔礊锛宭inux鍐呮牳鐗堟湰婕忔礊鎻愭潈锛宭inux涓嬬殑mysql system鎻愭潈浠ュ強oracle浣庢潈闄愭彁鏉冦5.鏃ュ織娓呯悊锛氱粨鏉娓楅忔祴璇宸ヤ綔闇瑕鍋鐨勪簨鎯咃紝...
  • 浠涔堟槸娓楅忔祴璇?濡備綍鍋氭笚閫忔祴璇?
    绛旓細5銆佸垎鏋愪俊鎭 缁忚繃楠岃瘉鐨勫畨鍏婕忔礊灏卞彲浠ヨ鍒╃敤璧锋潵鍚戠洰鏍囩▼搴忓彂璧锋敾鍑伙紝浣嗘槸涓嶅悓鐨勫畨鍏ㄦ紡娲烇紝鏀诲嚮鏈哄埗涓嶅悓锛岄拡瀵逛笉鍚岀殑瀹夊叏婕忔礊闇瑕佽繘涓姝ュ垎鏋愶紝鍒跺畾涓涓缁嗙殑鏀诲嚮璁″垝锛岃繖鏍锋墠鑳戒繚璇娴嬭瘯椤哄埄鎵ц銆6銆娓楅鏀诲嚮 娓楅忔敾鍑诲疄闄呮槸瀵圭洰鏍囩▼搴杩涜鐨勭湡姝f敾鍑伙紝涓轰簡杈惧埌娴嬭瘯鐨勭洰鐨勶紝鍍忔槸鑾峰彇鐢ㄦ埛璐﹀彿瀵嗙爜銆佹埅鍙栫洰鏍囩▼搴...
  • 娓楅忔祴璇涓冧釜姝ラ
    绛旓細2銆佹暣鐞嗘敹闆嗕俊鎭細鏁寸悊娓楅杩囩▼涓敹闆嗗埌鐨勪竴鍒囦俊鎭 3銆佹暣鐞嗘紡娲炰俊鎭細鏁寸悊娓楅忚繃绋嬩腑閬囧埌鐨勫悇绉嶆紡娲烇紝鍚勭鑴嗗急鐨勪綅缃俊鎭紙涓轰簡褰㈡垚鎶ュ憡锛屽舰鎴娴嬭瘯缁撴灉浣跨敤锛4銆佹寜闇鏁寸悊锛氭寜鐓т箣鍓嶇涓姝ヨ窡瀹㈡埛纭畾濂界殑鑼冨洿鍜岄渶姹傛潵鏁寸悊璧勬枡锛屽苟灏嗚祫鏂欏舰鎴愭姤鍛 5銆佽ˉ鍏呬粙缁嶏細瑕瀵规紡娲鎴愬洜銆侀獙璇佽繃绋嬪拰甯︽潵鐨勫嵄瀹杩涜鍒嗘瀽 6銆...
  • 娓楅忔祴璇娴佺▼
    绛旓細濡傛灉浣犳棭宸插仛鍒颁簡杩欎簺锛屼负浠涔堣繕瑕佽澶栨柟杩涜瀹℃煡鎴娓楅忔祴璇鍛紵鍥犱负锛屾笚閫忔祴璇曡兘澶熺嫭绔嬪湴妫鏌ヤ綘鐨勭綉缁滅瓥鐣ワ紝鎹㈠彞璇濊锛屽氨鏄粰浣犵殑绯荤粺瀹変簡涓鍙岀溂鐫涖傝屼笖锛岃繘琛岃繖绫绘祴璇曠殑锛岄兘鏄鎵剧綉缁滅郴缁熷畨鍏婕忔礊鐨勪笓涓氫汉澹傛笚閫忔祴璇曟祦绋嬫槸鎬庢牱鐨勶紵姝ラ涓锛氭槑纭洰鏍 1銆佺‘瀹氳寖鍥达細瑙勫垝娴嬭瘯鐩爣鐨勮寖鍥达紝浠ヨ嚦浜庝笉浼氬嚭鐜...
  • 娓楅忔祴璇鐨勫熀鏈祦绋
    绛旓細濡傛灉浣犳棭宸插仛鍒颁簡杩欎簺锛屼负浠涔堣繕瑕佽澶栨柟杩涜瀹℃煡鎴娓楅忔祴璇鍛紵鍥犱负锛屾笚閫忔祴璇曡兘澶熺嫭绔嬪湴妫鏌ヤ綘鐨勭綉缁滅瓥鐣ワ紝鎹㈠彞璇濊锛屽氨鏄粰浣犵殑绯荤粺瀹変簡涓鍙岀溂鐫涖傛崲鍙ヨ瘽鏉ヨ锛屾笚閫忔祴璇曟槸鎸囨笚閫忎汉鍛樺湪涓嶅悓鐨勪綅缃紙姣斿浠庡唴缃戙佷粠澶栫綉绛変綅缃級鍒╃敤鍚勭鎵嬫瀵规煇涓壒瀹氱綉缁杩涜娴嬭瘯锛屼互鏈熷彂鐜板拰鎸栨帢绯荤粺涓瓨鍦ㄧ殑婕忔礊锛岀劧鍚...
  • Web娓楅鏄鎬庝箞寮勭殑?
    绛旓細WebDEV婕忔礊 鍙互鍚敤鍙戦佽姹傦紙姣斿DELETE瀵规柟缃戦〉锛夎法绔欐紡娲 鐩存帴灏哸ppscan鐨勪唬鐮佽緭鍏娴嬭瘯锛屾垚鍔熷悗锛屽彲浠ュ皾璇曡法鍏朵粬鑴氭湰锛堟瘮濡 閬嶅巻婕忔礊:缃戦〉鐨勭洰褰曪紝涓嬭浇缃戠珯閰嶇疆鏂囦欢淇℃伅锛屽拰婧愭枃浠杩涜鍙嶇紪璇 鍙嶇紪璇戯細Class 鍙互閫夌敤java 鍙嶇紪璇戝伐鍏 Dll (asp.net) 閫夌敤Reflector 3.鍒嗘瀽骞娓楅 --- 浣滆咃細centos2015 鏉...
  • 娓楅忔祴璇姝ラ鏈夊摢浜
    绛旓細2. 鎯呮姤鏀堕泦锛氶氳繃鍏紑娓犻亾鎴栭潪鍏紑娓犻亾鏀堕泦鍏充簬鐩爣绯荤粺鐨勪俊鎭紝濡傚畼鏂缃戠珯銆佺ぞ浜ゅ獟浣撱佸巻鍙插畨鍏ㄤ簨浠剁瓑銆傝繖涓闃舵鏈夊姪浜庝簡瑙g郴缁熺殑娼滃湪婕忔礊鍜屽急鐐广3. 婕忔礊鎺㈡祴闃舵锛氬埄鐢ㄥ伐鍏峰鐩爣绯荤粺杩涜鎵鎻忥紝璇嗗埆娼滃湪鐨勫畨鍏ㄦ紡娲炪傝繖涓闃舵鍙兘娑夊強鍒板悇绉婕忔礊鎵鎻忓伐鍏风殑浣跨敤锛屽缃戠粶鎵弿鍣ㄣ佺鍙f壂鎻忓櫒绛夈傚悓鏃讹紝娴嬭瘯...
  • 濡備綍妫娴嬩竴涓缃戠珯鏄惁鏈夊畨鍏婕忔礊
    绛旓細鎵弿缃戠珯婕忔礊鏄鐢ㄤ笓涓氱殑鎵弿宸ュ叿锛屼笅闈㈠氨鏄粙缁嶅嚑绉嶅伐鍏 1. Nikto 杩欐槸涓涓紑婧愮殑Web鏈嶅姟鍣ㄦ壂鎻忕▼搴忥紝瀹冨彲浠ュWeb鏈嶅姟鍣ㄧ殑澶氱椤圭洰杩涜鍏ㄩ潰鐨娴嬭瘯銆傚叾鎵弿椤圭洰鍜屾彃浠剁粡甯告洿鏂板苟涓斿彲浠ヨ嚜鍔ㄦ洿鏂般侼ikto鍙互鍦ㄥ敖鍙兘鐭殑鍛ㄦ湡鍐呮祴璇曚綘鐨刉eb鏈嶅姟鍣紝杩欏湪鍏舵棩蹇楁枃浠朵腑鐩稿綋鏄庢樉銆備笉杩囷紝濡傛灉浣犳兂璇曢獙涓涓嬶紝瀹冧篃...
  • 濡備綍妫娴缃戠珯婕忔礊
    绛旓細1銆侀氬父鏄寚鍩轰簬婕忔礊鏁版嵁搴,閫氳繃鎵弿绛夋墜娈碉紝瀵规寚瀹氱殑杩滅▼鎴栬呮湰鍦拌绠楁満绯荤粺鐨勫畨鍏ㄨ剢寮辨ц繘琛屾娴嬶紝鍙戠幇鍙埄鐢ㄧ殑婕忔礊鐨勪竴绉嶅畨鍏ㄦ娴(娓楅鏀诲嚮)琛屼负銆缃戠珯婕忔礊妫娴嬫槸瀵逛綘鐨缃戠珯杩涜鍏ㄦ柟浣嶇殑鎵弿锛屾鏌ヤ綘褰撳墠鐨勭綉椤垫槸鍚︽湁婕忔礊锛屽鏋滄湁婕忔礊鍒欓渶瑕侀┈涓婅繘琛屼慨澶嶏紝鍚﹀垯缃戦〉寰堝鏄撳彈鍒扮綉缁滅殑浼ゅ鐢氳嚦琚粦瀹㈠熷姪浜庣綉椤...
  • 鐢ㄤ簬娓楅忔祴璇鐨10绉婕忔礊鎵鎻忕殑宸ュ叿
    绛旓細Nessus - 鍏ㄨ兘瀹夊叏妫娴嬪櫒Nessus浠ュ叾鍏ㄩ潰鐨婕忔礊鎵鎻忚兘鍔涳紝涓娓楅忔祴璇甯︽潵浜嗗墠鎵鏈湁鐨勪究鎹枫傚畠鐨勭敤鎴风晫闈㈢洿瑙傚弸濂斤紝鏃犺鏄柊鎵嬭繕鏄粡楠屼赴瀵岀殑娴嬭瘯鑰咃紝閮借兘杞绘澗鍦杩涜婕忔礊璇嗗埆鍜屽垎鏋愶紝纭繚缃戠粶鐜鐨勫畨鍏ㄣ侽penVAS - 鑷敱鐨勫姏閲廜penVAS浣滀负涓娆惧厤璐圭殑宸ュ叿锛屾彁渚涗簡涓濂楀己澶т笖鐏垫椿鐨勬紡娲炵鐞嗗姛鑳姐傝嚜鍔ㄥ寲鎵弿銆...
  • 扩展阅读:渗透测试接单平台 ... 16personalities人格测试 ... 网站扫描与渗透工具 ... 手机app渗透测试 ... 渗透测试实战网站 ... 渗透测试自学免费网站 ... 网站安全渗透测试工具 ... 黑客渗透软件手机版下载 ... app渗透测试实战 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网