渗透测试工程师渗透思路.docx
- 文档编号:17743193
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:25
- 大小:81.22KB
渗透测试工程师渗透思路.docx
《渗透测试工程师渗透思路.docx》由会员分享,可在线阅读,更多相关《渗透测试工程师渗透思路.docx(25页珍藏版)》请在冰豆网上搜索。
渗透测试工程师渗透思路
文档编号:
xxxx
安全渗透测试报告
文档信息
项目名称
xxxxxxxxxxxxxxxxxxxx安全服务项目
文档名称
安全渗透测试报告样版
文档编号
创建人
aaaa公司王亮
创建日期
审核人
审核日期
接收方
接收日期
适用范围
文档说明
1)传统的安全评估,渗透测试工作很多仅仅是发现漏洞、利用漏洞获取最高权限、漏洞统计等等没有太大意义的工作。
经过在实践当中的摸索,我发现利用风险图与漏洞说明细节关联的方法能非常直观的表现出客户网络的风险,而且在风险图上可以很直观的看到客户最关心的业务风险,这样就能非常有说服力,而非仅仅像以前的安全评估工作大多是从漏洞数量、从漏洞危害、从获取的控制权上说明风险。
2)在阅读该风险文档的时候,只要以风险图为中心去通篇阅读该文档就能非常直观的了解整体的安全风险。
当然还可以考虑进一步完善,比如用另一张风险图来描述安全策略控制点等等。
该文档仅仅用来提供一个思路,到06年30号为止,目前我和我的同事们、朋友们还没发现国内有谁做过或者公开过这样思路的文档。
我想放出来给大家讨论讨论该方法是否可行,是否是一个不错的好思路,我希望能对将来的评估或渗透工作起到一点好的作用,同时我非常欢迎大家来信与我交流:
root@
3)该文档只是一个渗透文档,如果是做评估的话可以把攻击路径画出来,不同路径能够带来的风险,路径风险可分两大类,一种是可能的风险线是推演出来的并不一定发生或可以立即证明,第二种是通过技术手段证实的客观存在的风险线。
另外还需要标明上各风险点的风险指数等参数。
4)该文档只是演示思路,事实上我去掉了大量的内容并修改了很多内容。
变更记录
版本
修订时间
修订人
修订类型
修订章节
修订内容
*修订类型分为A-ADDEDM-MODIFIEDD–DELETED
版权说明
本文件中出现的全部内容,除另有特别注明,版权均属王亮(联系邮件:
root@)所有。
任何个人、机构未经王亮的书面授权许可,不得以任何方式复制、破解或引用文件的任何片断。
目录
1评估地点1
2评估范围1
3评估技术组人员1
4风险报告1
5xxxx省xxxxxxxxx风险示意图2
6风险概括描述3
7风险细节描述4
7.1外部风险点(请参见风险图中的风险点1)4
7.1.1虚拟主机结构存在巨大的安全风险4
7.1.2大量的致命注入漏洞5
7.1.3MSSQL权限配置存在安全问题6
7.1.4存在大量的跨站漏洞6
7.2内部网风险点7
7.2.1核心业务的致命安全问题7
7.2.2多台服务器IPC弱口令及MSSQL弱口令(请参见风险图中的风险点5)9
7.2.3其他各内网主机多个严重安全漏洞(请参见风险图中的风险点6)10
8安全性总结14
8.1.已有的安全措施分析:
14
8.2.安全建议15
1评估地点
xxxxxxxxxxxxx项目组提供给aaaa公司一个独立评估分析室,并提供了内网3个上网接入点对评估目标进行远程评估,xxxxxxxxxxxxx项目组的项目组成员在aaaa公司项目组内设立了一个项目配合团队,保证项目成员都能够有条件及时的了解评估过程的情况和评估进展,并对评估过程进行控制,使评估工作保证有秩序的进行。
2评估范围
评估范围按照资产列表(请见附件)的内容进行评估,由于本次评估主要是围绕业务安全进行评估,所以我们从资产列表中以资产重要级边高的服务器或工作机做为主要评估渗透的对象,因此本次报告反映了业务安全有关的详细安全总结报告。
3评估技术组人员
这次参与渗透测试服务的aaaa公司人员有一位人员,具体名单如下:
姓名
职务
公司电话
王亮
安全顾问
4风险报告
评估报告内容总共划分为两部分,一部分为防火墙DMZ区的抽样评估报告,一部分为内部网的抽样评估报告。
网络系统评估报告首先根据所有的安全评估报告描绘出具体的网络风险图,该风险图上可以直观的看到影响客户关键网络资产的客观存在的所有安全风险,然后再把安全报告与风险图进行关联性描述,这一部分构成了风险描述内容,用以解释风险图所描述的每一步骤的具体测试数据证实其风险图的整体可靠性。
5xxxx省xxxxxxxxx风险示意图
以下为渗透测试工程师通过一系列安全漏洞入侵到内网直至拿到核心数据库资料的过程示意及相关风险点示意图:
(注:
鼠标悬停于风险点可显示漏洞信息,按住Ctrl单击风险点可查看详细信息)
内网大量主机及服务器
风险点5
风险点6
风险点4
风险点3
风险点2
风险点1
把以上所有风险点进行编号获得共6个编号,但是编号不代表实际安全评估流程的顺序:
风险点1:
主网站存在多个安全漏洞,入侵者可获得系统完全控制权限。
取得此系统控制权限后,可通过其进一步渗透进入内网,控制多台服务器或主机,拿到最核心的数据资料。
风险点2:
企业电子支付系统存在数据库及弱密码漏洞,可获得系统完全控制权限。
此漏洞虽不能直接从外部利用,但可通过主站做跳板进行入侵,拿到控制权。
风险点3:
大集中核心数据库RACOracle存在安全问题,可获得数据库管理权限。
此漏洞虽不能直接从外部利用,但可通过主站做跳板,从DMZ穿越进入内网进
行入侵,或者从内部发起攻击,拿到数据库控制权及核心数据。
风险点4:
大集中核心数据库RACOracle存在安全问题,可获得数据库管理权限。
此漏洞虽不能直接从外部利用,但可通过主站做跳板,从DMZ穿越进入内网进
行入侵,或者从内部发起攻击,拿到数据库控制权及核心数据。
风险点5:
内网发现大量主机及服务器存在系统弱密码或者数据库弱密码,可获得控制权。
此漏洞虽不能直接从外部利用,但可通过主站做跳板,从DMZ穿越进入内网进
行入侵,或者从内部发起攻击,拿到控制权及资料。
风险点6:
内网发现部分服务器存在安全问题,可获得系统或数据库控制权限。
此漏洞虽不能直接从外部利用,但可通过主站做跳板,从DMZ穿越进入内网进
行入侵,或者从内部发起攻击,拿到控制权及资料。
在aaaa公司工程师进行渗透测试的过程中,在不影响服务器业务及运行的前提下取得控制权限后便停止渗透工作,并未对xxxxxxxxxxxxx服务器及配置做任何改动,也没有下载或获取任何xxxxxxxxx内部资料。
6风险概括描述
总体风险等级:
致命
描述:
通过真实环境的安全渗透性测试发现,xxxx省xxxxxxxxx网络存在被黑客从互联网实现远程修改和窃取xxxx省xxxxxxxxx大集中核心数据库RAC、企业电子支付系统等众多核心业务数据的巨大风险。
根据这些漏洞可以断定:
一位恶意的具有较高水平黑客通过Internet发起攻击,可以在短期内获取xxxx省xxxxxxxxx网络内各类核心业务数据,甚至破坏所有核心业务的数据(完全可以现场再现这些风险)。
7风险细节描述
7.1外部风险点(请参见风险图中的风险点1)
公网风险点我们主要集中在主站服务器上:
该公共网站是一台公共web服务器,通过路由器或fw映射到公网上,经发现该主机或防火墙没有做访问控制可以自由访问内网所有主机。
这种结构设计表面看起来好像比较安全,并且自身只开放了极少的端口而受一定的保护,但实际上却存在着巨大的风险。
如果该网站一但被黑客从web端口攻击成功得到该服务器控制权,那么就意味着黑客也得到了DMZ区所有主机的自由访问权限,而一但其他内网主机存在漏洞,那么黑客就可以对其他主机进行攻击并且得到更多主机的控制权。
在实际测试之中,我们发现该网站服务器存在严重的安全风险,也就是如果是一名具有一定水平的黑客进行攻击,黑客通过Internet互联网就可以得到这台web主站服务器的完全控制权限(比如可以添加、删除和修改主页上的任何新闻内容),并且黑客还可以通过这台服务器进入xxxx省xxxxxxxxx的内网对内网所有机器发动恶意攻击(如在内网中传播病毒、在内网中下载最核心的业务数据等等,在我们严格的安全测试下发现这种危害完全可能发生)。
详细的漏洞情况如下:
7.1.1虚拟主机结构存在巨大的安全风险
问题名称:
网站的虚拟主机结构存在巨大的安全风险
风险等级:
高
问题类型:
缺乏Web结构性安全策略
问题描述:
经过查询发现该web服务器存在多个虚拟网站,我们需要检测的目标可能会被该服务器其他网站的安全性所影响。
因为一但其他的网站存在安全性问题就可能会被黑客入侵系统,而一但被入侵系统那么黑客就可能可以对该服务器上的网站有完全的控制权。
所以,要保证这种虚拟站点结构的服务器的安全性,就一定要有一个非常严格的虚拟网站权限结构安全策略。
经过后面的进一步评估证实,该服务器并没有设置虚拟网站权限结构安全策略,从而工程师轻易的获取了该主机系统的最高控制权。
如果是被恶意黑客利用,后果不堪设想。
解决方案:
在本地创建一个账号,再把这个账号应用在虚拟站点上。
然后再虚拟站点的目标上设置只允许这个账号使用。
其他虚拟站点使用相同的技术设置。
相关内容:
以下是绑定在该服务器的所有网站:
7.1.2大量的致命注入漏洞
漏洞名称:
存在注入
风险等级:
致命
漏洞类型:
脚本程序漏洞
漏洞描述:
经过简单的测试发现存在很多十分致命的注入漏洞,通过此类的安全漏洞我们在互联网区远程得到了该web服务器的主机最高控制权。
以下是安全工程师测试中发现的严重注入漏洞:
1./newsbb.php?
bt=%27&ss=%B2%E9%D1%AF
2./bgl/php/com/login.phpuser_name=%27&password=1
3./bgl/php/com/bull1.phpsWhere=1&CurrentPageNo=-1&del_flag=0&post_flag=0&TotalCount=9&title=%
4./dss.php?
currentpage=2&bookname=1&publishers=%27&authors=1
5./qaa/txtdmore.php?
id=%27
6./qaa/txtdmore.php?
id=%27&pageno=2
7./hongzhi/zxxx.php?
whichone=%27
8./hongzhi/ywbd.phpjibie=%27&Submit2=%20%CB%D1%20%CB%F7%20
9./hongzhi/picmore.php?
zttitel=%27
10./hongzhi/zxxx.php?
whichone=%27
11./add.php?
currentpage=2&bookname=1&publishers=1&authors=%27
12./add.phpbt=1&ss=%27
13./add.php?
currentpage=2&bookname=%27&publishers=1&authors=1
14./add.phpbt=%27&ss=%B1%EA%CC%E2%CB%D1%CB%F7
15./giqa/action/admin.phpusername=%27&password=1&Submit2=%B5%C7%20%C2%BC
16./giqa/action/admin.phpusername=1&password=%27&Submit2=%B5%C7%20%C2%BC
临时性
解决方案
对文件中带入SQL语句的变量,应该使用replace函数剔除特殊字符,如下所示:
replace(id,"'","''")
replace(id,";","''")
replace(id,"--","''")
replace(id,"(","''")
这样把特殊字符过滤之后,就可以防止黑客通过输入变量提交有效的攻击语句了。
相关内容:
我们可以利用以上的注入漏洞从互联网得到这台服务器的最高控制权,也就是相当于进入了xxxx省xxxxxxxxx内网,并且可以对内网的所有电脑主机发动攻击,但是因为渗透测试只是点到为止的安全测试服务,所以我们发现了该严重风险并没有继续利用(如有需要可以现场演示)。
以下是利用注入漏洞以最高管理员身份进入该服务器桌面的截图:
(在互联网攻击的黑客完全可以利用以上说其中一个漏洞远程登录到该服务器桌面以最高管理员身份对这台服务器进行操作,如修改、删除、添加该服务器上的网站任何新闻内容)
7.1.3MSSQL权限配置存在安全问题
问题名称:
主站的MSSQL存在巨大的安全风险
风险等级:
高
问题类型:
缺乏合理的安全配置
问题描述:
我在渗透测试的过程中发现该服务器web中直接引用的是数据库sa账号,该账号是mssql数据库当中权限最高的账号,正因为web引用了最高权限的sa账号所以直接导致了前面所提到的巨大风险,如果web引用的是分配合理权限的数据库账号,如该数据库账号只能访问授权访问的数据库,就可以有效的避免前面注入漏洞所带来的影响。
解决方案:
修改sa密码,然后新建一个MSSQL数据库账号,并且只给这个MSSQL数据库账号最小的权限(只给予需要访问和操作的数据库的库权限)。
相关内容:
以下是绑定在该服务器的所有网站:
7.1.4存在大量的跨站漏洞
漏洞名称:
跨站漏洞
风险等级:
中
漏洞类型:
脚本程序问题
漏洞描述:
1./frame.php?
m=>&a=%2527a1%2527
&b=%2527ai%2527&c=%2527a2%2527&d=0
2./giqa/txtd.php?
cataid=1&pageno=2&keyword='>
3./giqa/jmzx.php?
cataid=1&pageno=2&keyword='>
4./giqa/jyjyyw.php?
cataid=1&pageno=2&keyword='>
5.left.php?
a=%27a1%27&b=&c=%27a2%27
临时解决方案
过滤输入变量的“’”、“<”、“>”符号
相关内容:
7.2内部网风险点
内部网的主机非常多,我们先通过合理的资产划分把最需要保护的主机划分出来,然后我们再对最需要保护的业务主机进行保护。
这在我们检测范围内属于重要检测目标,经过检测发现内网的主机系统安全做的非常好,主要体现在补丁能及时更新、系统口令普遍比较安全,但是我对内网评估出的安全结果却非常的严重。
原因是因为传统安全工作(我见过的所有管理员都有这个安全理解上的误区)所犯的误区:
主机的安全并不仅仅是系统本身的安全,还会包括数据库安全、应用层安全、管理层安全等等,只要有一个层面的安全做不到位,那么主机的安全肯定也是不安全的。
在现实中,管理员们甚至是部分安全专家们都倾向于把最大保护力度放在那些重要的服务器系统方面,却很容易忽视应用层方面的保护,而在整体安全当中,应用往往是和业务直接挂钩的,一个严重的应用程序漏洞直接会直接给业务数据带来巨大的负面影响。
这就需要管理者不能把服务器看成一个个孤立的系统对象,需要以全面的、关联性的眼光去看等服务器整体安全。
在这次的评估工次当中,我们就是利用应用程序的安全问题发现xxxxxxxxxxxxx几乎所有核心业务数据都存在可被互联网黑客篡改和窃取的巨大风险。
7.2.1核心业务的致命安全问题
7.2.1.1企业电子支付系统的致命安全问题(请参见风险图中的风险点2)
问题名称:
1.1.1.1
存在oracle漏洞以及系统弱口令漏洞
风险等级:
高
问题类型:
应用安全问题
问题描述:
是企业电子支付系统,属于xxxx省xxxxxxxxx的最核心业务数据库之一。
由于企业电子支付系统Oracle9i因为没有打补丁所以存在三个可利用的漏洞,一个是Oracle9iXDBFTPPASSOverflow漏洞,一个是Oracle9iXDBHTTPPASSOverflow漏洞,一个是Oracle9iXDBFTPUNLOCKOverflow(win32)漏洞。
几个漏洞描述如下:
-XDBHTTP超长用户名或密码问题:
要使用基于WEB的XDB服务,用户必须进行验证,这通过使用Base64编码传递验证信息给服务器,但是攻击者提供超长的用户名或密码可导致堆栈溢出。
-XDBFTP超长用户名或密码问题:
通过提交超长用户名或密码给FTPXDB服务,可发生基于堆栈的缓冲区溢出。
-XDBFTPunlock命令参数检查不充分问题:
FTP服务的UNLOCK命令对用户提交的参数缺少正确的缓冲区边界检查,攻击者提交包含超长命令的参数给FTP服务,可引起缓冲区溢出。
漏洞参考来源:
链接:
解决方案:
至少在主机系统上利用ip本地安全策略或软件防火墙封锁8080、2100端口以及修改dbsnmp账号的口令。
更详细的oracle安全配置请参考本地安全检测报告内容。
相关内容:
(详细请见下面的图片)该服务器内网IP为197.10.3.1,公网IP为1.1.1.1
(该图演示的是我们利用oracle漏洞拿到该服务器最高管理员权限然后查看C盘的内容。
如果是恶意黑客完全可以通过oracle漏洞得到oracle所有核心数据,甚至可以修改和删除所有核心业务数据)
(该图演示的是我们利用oracle漏洞拿到该服务器最高管理员权限然后执行IPCONFIG/ALL命令的结果截图。
如果是恶意黑客完全可以通过oracle漏洞得到oracle所有核心数据,甚至可以修改和删除所有核心业务数据)
7.2.1.2大集中核心数据库RAC存在致命安全问题(请参见风险图中的风险点3)
问题名称:
192.33.1.11存在oracle漏洞
风险等级:
致命
问题类型:
应用安全问题
问题描述:
192.33.1.11是xxxx省xxxxxxxxx大集中核心数据库RAC,是属于最核心的业务数据库之一,由于在windows主机上保存了明文oracle密码的安全隐患,导致这台oracle数据库存在面临所有数据被窃取、修改、添加等方面的巨大风险。
解决方案:
修改oracle的system等多个账号的口令并且要求每个oracle账号的密码是唯一的而且密码强度是安全的,并且限制其服务器的1521端口只能让必需要访问的IP访问(非常重要)。
更详细的oracle安全配置请参考本地安全检测报告内容。
相关内容:
(详细请见下面的图片)
(以上图示是利用刚才明文保存的密码以最高数据库管理员身份进入了192.33.1.11的oracle数据库,这就意味着如果是恶意黑客则可以通过该安全问题直接删除、修改该oracle数据库内的任何数据内容。
因为这是最核心业务数据库,所以我们在以上截图中隐去了密码以保证安全)。
7.2.1.3大集中核心数据库RAC存在致命安全问题(请参见风险图中的风险点4)
问题名称:
192.33.1.12存在oracle漏洞
风险等级:
致命
问题类型:
应用安全问题
问题描述:
192.33.1.12是xxxx省xxxxxxxxx大集中核心数据库RAC,是属于最核心的业务数据库之一。
由于在windows主机上保存了明文oracle密码的安全隐患,导致这台oracle数据库存在面临所有数据被窃取、修改、添加等方面的巨大风险。
并且这台oracle数据库的密码与192.33.1.11是完全相同的,这无疑是又增大了风险,因为这意味着一但其中一台数据库密码被泄露或被控制,使用相同密码的oracle数据库也会受到致命的影响。
解决方案:
修改oracle的system等多个账号的口令并且要求每个oracle账号的密码是唯一的而且密码强度是安全的,并且限制其服务器的1521端口只能让必需要访问的IP访问(非常重要)。
更详细的oracle安全配置请参考本地安全检测报告内容。
相关内容:
(详细请见下面的图片)
(以上图示是利用刚才明文保存的密码以最高数据库管理员身份进入了192.33.1.12的oracle数据库,这就意味着如果是恶意黑客则可以通过该安全问题直接删除、修改该oracle数据库内的任何数据内容。
因为这是最核心业务数据库,所以我们在以上截图中隐去了密码以保证安全)。
7.2.2多台服务器IPC弱口令及MSSQL弱口令(请参见风险图中的风险点5)
7.2.2.1内网多台服务器存在IPC弱口令风险
漏洞名称:
内网多台服务器存在IPC弱口令风险
风险等级:
高
漏洞类型:
应用配置问题
漏洞描述:
安全测试人员对DMZ区的主机进行了扫描发现,DMZ区内的服务器存在少量的不安全系统账号。
如下:
(略)
问题主要集中在几台服务器上,因为这些主机并没有与核心业务关联,所以我们不认为这个风险非常大。
(注:
ipc是指ipc共享连接,而admin/1234意思是admin为账号名,1234为密码。
最前面是不安全账号所对应的主机IP)
解决方案
定期进行扫描,以便能及时发现弱口令安全问题,并且把发现的弱口令当场就行修改。
相关内容:
7.2.2.2MSSQL弱口令
问题名称:
内网多台MSSQL数据库主机存在多个致命安全漏洞
风险等级:
高
问题类型:
应用安全问题
问题描述:
这个安全漏洞非常能体现之前所说的忽视整体安全的问题,好比管理员或部分安全专家都关注系统口令安全却忽视了其他存在认证的地方一样可能存在口令安全问题,比如数据库的口令安全问题就没有像系统口令得以重视。
解决方案:
相关内容:
(详细请见下面的图片)
(图2192.33.0.2的mssql数据库sa口令为11565,我们测出这个口令后利用这个漏洞以最高管理员权限身份登录了数据库主机进行远程桌面操作)
7.2.3其他各内网主机多个严重安全漏洞(请参见风险图中的风险点6)
7.2.3.1192.33.3.52主机存在多个漏洞
问题名称:
192.33.3.52主机系统弱口令以及oracle数据库漏洞
风险等级:
高
问题类型:
应用安全问题、系统口令安全问题
问题描述:
1.Oracle9i因为没有打补丁所以存在三个漏洞,一个是Oracle9iXDBFTPPASSOverflow漏洞,一个是Oracle9iXDBHTTPPASSOverflow漏洞,一个是Oracl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 渗透 测试 工程师 思路