当我们通过各种方法拿到一个服务器的权限的时候,我们下一步要做的就是后渗透 了,而后门持久化也是我们后渗透很重要的一部分,下面我来总结一下windows 下常见的后门持久化的方法 
后门持久化我的操作环境是: 无AV、管理员权限(提权、免杀等是后门持久化的铺垫,当然有的方法也并不是全部需要这些铺垫) 操作系统:win7 ,windows server 2008R2 ,xp
shift后门这个是比较老的方式了,这里简单讲一下,在windows中有一些辅助功能,能在用户未登录系统之前可以通过组合键来启动它,类似的辅助功能有: C:\Windows\System32\sethc.exe 粘滞键,启动快捷键:按五次shift键
C:\Windows\System32\utilman.exe 设置中心,启动快捷键:Windows+U键
在低版本的windows中,我们可以直接把setch.exe 替换成我们的后门程序,下面我们把setch.exe 替换为cmd.exe 

映像劫持这个和shift后门差不多,只不过在低版本的windows中,我们可以简单地替换程序,但是在高版本的windows版本中替换的文件受到了系统的保护,所以这里我们要使用另外一个知识点:映像劫持。 "映像劫持",也被称为"IFEO"(Image File Execution Options) 就是Image File Execution Options(其实应该称为"image Hijack"。)是为一些在默认系统环境中运行时可能引发错误的程序执行体提供特殊的环境设定。由于这个项主要是用来调试程序用的,对一般用户意义不大。默认是只有管理员和local system有权读写修改。 PS:来自百度百科
简单来说就是当目标程序被映像劫持时,当我们启动目标程序时,启动的是劫持后的程序而不是原来的程序 操作也很简单,在注册表的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Option 下添加一个项sethc.exe ,然后在sethc.exe 这个项中添加debugger 键,键值为我们恶意程序的路径,如下图 
效果如下 
注册表自启动项MSF 的Persistence 模块利用的就是写注册表自启动项来实现的,一般自启动项是这两个键:Run 和RunOnce ,两者的区别如下
Run:该项下的键值即为开机启动项,每一次随着开机而启动。 RunOnce:RunOnce和Run差不多,唯一的区别就是RunOnce的键值只作用一次,执行完毕后就会自动删除
常见注册表启动项键的位置: 用户级 \HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run \HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
系统级 \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce \HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run \HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\RunOnce
修改一下:

执行结果:

定时任务windows下定时任务的命令有两个分别是:at 和schtasks ,他们两者主要区别是at 命令在win7 、08 等高版本的windows中是不能将任务在前台执行的,也就是只会打开一个后台进程,而schtasks 是将定时的任务在前台执行,下面我们逐个看看 at 的一些参数
AT [\\computername] time [/INTERACTIVE] [ /EVERY:date[,...] | /NEXT:date[,...]] "command"
at的执行如下:

|