【CyberSecurityLearning 3】批处理、用户与组管理、服务器远程管理、破解Windows系统密码
目录
一、批处理编写
1.1、批处理作用
1.2、如何创建批处理
1.3、批处理基本语法
1.3.1、@echo off
1.3.2、pause
1.3.3、title
1.3.4、echo.
1.3.5、:和goto
1.3.6、start
1.3.7、set
1.3.8 at
拓展:ntsd -c q -pn 进程名称 和 taskkill /im 进程名称 /f
批处理再拓展
批处理案例
二、用户与组管理
1、服务器系统版本介绍
2、用户管理
2.1 用户概述
2.2 Windows内置账户
2.3 配置文件
2.4 用户管理命令
3、组管理
3.1 组概述
3.2 内置组
3.3 组管理命令
三、服务器远程管理
1、远程管理类型
2、远程桌面
3、telnet
扩展:查看本机开放的所有端口:netstat -an
四、破解windows系统密码
1、利用5次shift漏洞破解win7密码
1.1 漏洞
1.2 破解过程相关知识
1.3 漏洞利用过程
2、利用PE系统破解XP密码
2.1 漏洞
2.2 破解过程相关知识
2.3 漏洞利用过程
一、批处理编写
1.1、批处理作用
成批处理每条DOS命令 (不是处理代码,是处理命令),批处理文件也叫做脚本文件。
脚本:在Windows里面叫批处理文件,在linux里面叫做shell脚本(因为在Windows里面叫DOS命令,在Linux里面叫做shell命令)
自上而下成批的处理每一条命令,直到执行最后一条! 批处理不像处理代码,不管某条命令执行成功与否(错的会报错),都会继续往下执行注意:如果使用修改关联性的命令用assoc .txt=exefile ,会把cmd.exe也改了,DOS就用不了了
1.2、如何创建批处理
扩展名: .bat(批处理的文件扩展名为 .bat 或 .cmd) 创建方法:新建一个记事本文件,然后将扩展名改为.bat 注:修改扩展名时,需要将文件的扩展名显示出来后再进行修改! 案例:新建一个记事本文件,然后将扩展名改为.bat,内容如下: d: cd \ cd tmp del . /s /q1.3、批处理基本语法
1.3.1、@echo off
作用:关闭回显功能,也就是屏蔽执行过程,建议放置在批处理的首行。(就是在屏幕上只显示结果,不会显示在哪个路径...)
1.3.2、pause
作用:暂停批处理运行 案例: @echo off pause 执行结果如下:1.3.3、title
作用:为批处理脚本设置标题 案例: @echo off title 小鹏的程序1.3.4、echo.
作用:在执行批处理脚本时,可以空一行。(只有在批处理里面才有意义,跟pause一样) 案例: @echo off title 小鹏的程序 echo ========================== echo. echo 欢迎使定时关机小程序! echo. echo ========================== 案例:
1.3.5、:和goto
冒号:定义标签名(定义一个命令区间),每个冒号开头的是一个区块冒号单独使用没有任何意义 注意:冒号不是命令,系统也不会执行这句话,但是系统会识别 goto实现跳转 为什么要把这两个命令联合起来介绍?因为它们是分不开的,无论少了哪个或多了哪个都会出错。当程序运行到 goto时,将自动跳转到冒号定义的标签部分去执行命令块了,所有冒号和goto联合起来可以实现在批处理执行时进行跳转功能。1.3.6、start
start是开启开始的意思,帮助你打开某个程序或者某个网页
start 空格 程序路径名
start 空格 网页名 ——》开启一个网页
start后面什么都不写,就是打开cmd
案例:下面是一个死循环
:d start goto d如果想要一开机就执行这个程序怎么做?(就是添加到开机启动项里面)
所有程序——》启动——》右键选择打开就看到路径了
C:\Documents and Settings\Administrator\「开始」菜单\程序\启动
copy qq.bat C:\Documents and Settings\Administrator\「开始」菜单\程序\启动 d: start goto d上面这个批处理文件的登陆者如果不是administrator就执行不了了,怎么办?
copy qq.bat "%userprofile%\「开始」菜单\程序\启动" # userprofile是一个变量,可变,保证一定能在当前用户下执行 d: start goto d1.3.7、set
作用:设置变量,常用与在脚本中的互动赋值。 互动赋值:set /p time=请输入时间: (time的值取得不是等号后面的值,而是取用户输入的值) set /p 变量= # 还是定义变量,但是变量的值不需要你提前输入,可以让用户自行输入(用户没有输入就会一直卡在那) 引用变量:%time% 案例: @echo off title 史密斯小程序 echo ===================== echo. echo 欢迎使用此小程序 echo. echo ===================== set /p time=请输入时间: shutdown -s -f -t %time% echo 定时关机已设置完毕,谢谢使用! pause @echo off title 飞阁小程序v1.0 color 0a :menu cls echo ================== echo 菜单 echo 1、定时关机 echo 2、取消定时 echo 3、退出 echo ==================set /p num=请输入您的选择: if "%num%"=="1" goto 1 if "%num%"=="2" goto 2 if "%num%"=="3" goto 3 echo 别tm瞎输入,好好输入,别闹 goto menu:1 set /p a=请输入时间(单位/秒): shutdown -s -f -t %a% goto menu:2 shutdown -a goto menu:3 exit希望在第2个区块里面生成一个批处理,批处理里面写三句话,放到启动里面(C:\Documents and Settings\Administrator\「开始」菜单\程序\启动)
在开始启动菜单里面生成一个批处理
:2 echo :a >>"%userprofile%\「开始」菜单\程序\启动\haha.bat" echo :start >>"%userprofile%\「开始」菜单\程序\启动\haha.bat" echo :goto >>"%userprofile%\「开始」菜单\程序\启动\haha.bat" goto menu案例:
案例: @echo off title 史密斯小程序 :menu cls echo ==================== echo 菜单 echo 1.定时关机 echo 2.查看本机IP echo 3.退出 echo ==================== set /p num=请输入选项: if "%num%"=="1" goto a if "%num%"=="2" goto b if "%num%"=="3" goto c echo 请正确输入数值(1、2、3),按任意键继续! pause goto menu :a set /p time=请输入时间: shutdown -s -f -t %time% echo 定时关机已设置完毕,按任意键返还菜单! pause goto menu :b ipconfig echo 按任意键返还菜单! pause goto menu :c exit1.3.8 at
cmd 里面输入 at /? 来查看 at 的命令参数及语法
制定 at 计划: at 22:30 shutdown -s 在今天 22:30 关闭计算机
查看已启动的 at 计划: at 可以查看所有制定的计划
查看某一项 at 计划: at 1(at 后面的 1 是计划的 ID)
运行批处理程序: at 16:20 /every:Monday "C:\Users\Administrator\Desktop\mkdir.bat"
在下午: 16:20 运行/every 代表指定日期, Monday 是星期一,在星期一的16:20 分运行 mkdir.bat 这个批处理程序
运行批处理程序要使用绝对路径. 记得用 双引号 括起来噢
删除 at 计划: at 1 /delete 将作业 ID 为 1 的进行删除,
at /delete 删除所有作业计划
来自:https://jingyan.baidu.com/article/642c9d3456a80e644a46f720.html
拓展:ntsd -c q -pn 进程名称 和 taskkill /im 进程名称 /f
1、ntsd -c q -pn 进程名称(只针对win 2003和xp)
ntsd -c q -pn winlogon.exe ——》 杀进程(强制杀死指定进程的名称)
winlogon.exe是Windows登录进程
上面那套命令结果就是蓝屏
此条命令只针对于微软的2003或者xp系统
2、taskkill /im 进程名称 /f (/m表示指定名称) taskkill /im explorer.exe /f (执行此条命令,桌面就没了) @echo off color 0a taskkill /im explorer.exe /f >nul 2>nul echo 傻了吧。 ping -n 10 127.0.0.1 >nul 2>nul start c:\Windows\explorer.exe echo 吓唬你的,是不是尿裤子了! pause批处理再拓展
更多命令请看:https://www.cnblogs.com/zhaoqingqing/p/4620402.html①%~dp0[获取当前路径] # %~dp0 “d”为Drive的缩写,即为驱动器,磁盘、“p”为Path缩写,即为路径,目录
②%cd%[执行的路径] #当前执行的路径,并非目标文件的路径
③taskkill /f /im notepad.exe [终止进程]④Rem 命令 #语法:Rem Message...(小技巧:用::代替rem) 注释命令,在C语言中相当与/*...*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和自己日后修改。
⑤@ 命令 #表示不显示@后面的命令,(在入侵过程中自然不能让对方看到你使用的命令啦)
参数:%SystemRoot% === C:\WINDOWS (%windir% 同样)
%ProgramFiles% === C:\Program Files
%USERPROFILE% === C:\Documents and Settings\Administrator (子目录有“桌面”,“开始菜单”,“收藏夹”等)
%APPDATA% === C:\Documents and Settings\Administrator\Application Data
%TEMP% === C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp (%TEM% 同样)
%APPDATA% === C:\Documents and Settings\Administrator\Application Data
%OS% === Windows_NT (系统)
%Path% === %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem (原本的设置)
%HOMEDRIVE% === C: (系统盘)
%HOMEPATH% === \Documents and Settings\Administrator
批处理案例
案例、用bat批处理实现163邮箱自动登陆的代码
方法一、
@echo off set u=jb51.net set p=www.jb51.net start "" "http://reg.163.com/login.jsp?type=1&url=http://fm163.163.com/coremail/fcg/ntesdoor2?lightweight=1&verifycookie=1&language=-1&style=-1&username=%u%&password=%p%"start后面的双引号是写title的里面的内容可写可不写,更多
方法二、
@echo off title color 2b mode con: cols=58 lines=13 set "id=jb51.net" set "pwd=www.jb51.net" start "开始登录你的邮箱" IEXPLORE "https://reg.163.com/logins.jsp?username=%id%&password=%pwd%&url=http://fm163.163.com/coremail/fcg/ntesdoor2"方法二是用IEXPLORE浏览器打开的
二、用户与组管理
1、服务器系统版本介绍
windows服务器系统:windows sever 2000/ 2003/ 2008/ 2012 linux服务器系统:Redhat(红帽)、 CentOS(开源≠免费)——》红帽和centos现在是一家公司,以前不是 【红帽是收服务费的、centos完全免费】红帽出现任何问题有售后,CentOS没有 我们平时接触的win7 win10 xp都属于个人操作系统,不是服务器操作系统,这是以后我们的攻防目标,因为都是服务器2、用户管理
我们学习用户管理的目的是学习如何创建多个用户并设置不同权限
我们学用户管理一般是用在用户身上,因为个人电脑一般没有必要创建多个账号,而服务器就不一样了,服务器是为大家提供服务的,大家都一起访问,权限一定是不一样的
2.1 用户概述
一个系统里面可以设置多个用户(可以理解为一间房间可以有多把钥匙),设置不同权限。
- 每一个用户登录系统后,拥有不同的操作权限。
- 每个账户有自己唯一的SID(安全标识符security id),可以理解为身份证号。
- 用户SID:S-1-5-21-426206823-2579496042-14852678-500(500是用户ID)——》可以粗略理解为这个用户“身份证号”是在S-1-5-21-426206823-2579496042-14852678(系统id)这台电脑上,名字叫500(userid),赋权限是赋给这个“身份证号”,不是赋给那个用户名
- 系统SID:S-1-5-21-426206823-2579496042-14852678
- 账户密码存储位置:c:\windows\system32\config\SAM #暴力破解/撞库(必须记住),密码加密了,这个加密叫做不可逆算法,微软自己都解不开(哈希算法),只有暴力破解和撞裤才可能破解。
- windows系统上,默认密码最长有效期42天(尤其是在服务器系统上,防止被别人改密码)
2.2 Windows内置账户
内置账户就是系统自带的账户,想删都删不了 给人使用的账户: administrator #管理员账户 guest #来宾账户(权限特别低) 计算机服务组件相关的系统账号: system #系统账户 == 权限至高无上 local services #本地服务账户 == 权限等于普通用户(开启声卡什么的服务就是它来做) network services #网络服务账户 == 权限等于普通用户(和联网有关的服务都是它来做)
权限排名:system>管理员administrator>local services和networkservices>guest
2.3 配置文件
在Windows里面叫配置文件,在Linux里面叫家home,每个用户第一次登陆这台电脑,就会为你这个用户建立一个家,家里面放你的私人数据(比如你的桌面,浏览器的收藏夹,文档,垃圾文件...) 每个用户都有自己的配置文件(家目录),在用户第一次登录时自动产生(第一次登陆之后才会生成),路径是: win7/win2008 在 ——》 c:\用户\ xp/win2003 在 ——》 c:\Documents and Settings\ 查看用户:我的电脑——》管理——》本地用户和组——》用户
新建用户:
在上图界面下单击鼠标右键——》新用户——》写用户名的时候不要写中文
验证是否创建成功:
将电脑注销——》
普通用户注销之后家还在,但是guest用户注销,什么都没了
管理员能设置普通用户密码,更改密码,禁用账号等。
2.4 用户管理命令
以前学的DOS命令叫做基本命令,下面的叫功能命令
net user #查看用户列表 net user 用户名 #查看用户详细信息 net user 用户名 密码 #改密码(只有管理员才能做) net user waffle “” # 把waffle密码清空(利用双引号) net user 用户名 密码 /add #创建一个新用户 net user 用户名 /del #删除一个用户 net user 用户名 /active:yes #激活账户 net user 用户名 /active:no #禁用账户 练习: 1、练习图形及命令行中,进行用户管理(包括创建、修改密码、删除用户、登录并验证家目录产生、及权限) 2、制作一个批处理脚本,可以实现互动创建用户
3、组管理
3.1 组概述
组的作用:简化权限的赋予。 (公司里面一般按部门分组,对公司做权限管理) 赋权限方式: 1)用户---组---赋权限· 2)用户---赋权限3.2 内置组
内置组的权限默认已经被系统赋予 1)administrators # 管理员组 2)guests # 来宾组 3)users # 普通用户组,默认新建用户都属于该组 4)network # 网络配置组 5)print # 打印机组 6)Remote Desktop Users # 远程桌面组3.3 组管理命令
net localgroup # 查看组列表 net localgroup 组名 # 查看该组的成员(如果组名有空格要用双引号引起来) net localgroup 组名 /add # 创建一个新的组 net localgroup 组名 用户名 /add # 添加用户到组 把waffle提到管理员组叫做提权,踢出管理员组叫降权 Waffle虽然进到管理员组,但是不能真正的和administrator相媲美 net localgroup 组名 用户名 /del # 从组中踢出用户 net localgroup 组名 /del # 删除组 练习: 1、练习图形及命令行中,进行组管理(创建组、组成员添加、查看组成员、成员脱离组、删除组) 2、创建1个普通用户lisi,并将lisi提升为管理员,并验证lisi是否成功取得管理员权限!图形界面操作方法:
我的电脑——》管理——》本地用户和组——》组
三、服务器远程管理
1、远程管理类型
windows远程管理有2种类型: ① 远程桌面 (图形化界面远程管理) ② telnet (Windows的命令行远程管理) telnet是一个全球非常知名的协议,它支持让某台设备被别人远程用命令来控制。2、远程桌面
步骤: 1、首先将配置网络,并实现客户机与服务器可以互通。 2、服务器开启允许被远程控制:桌面右键属性 -- 远程设置 -- 选择允许 -- 确定。 3、客户机上:开始 -- 运行 -- 输入mstsc(全称:Microsoft terminal services client) 打开远程连接工具。 4、在mstsc工具上输入服务器的IP并点击确定。 5、输入服务器的账号及密码。 注意:如使用非管理员账户登录远程,需要在服务器上将用户加入到远程桌面内置组Remote Desktop Users中。这时候xp就能远程控制win2003了
全称:Microsoft terminal services client
注意:普通用户没有远程登录这台计算机的权限,要赋远程登录的权限
3、telnet
步骤: 1、首先将配置网络,并实现客户机与服务器可以互通。 2、服务器开启允许被telnet远程控制:开始 -- 运行 -- 输入services.msc(服务管理窗口),并开启telnet服务。 3、客户机上:开始 -- 运行 -- 输入cmd。 4、在命令行窗口中输入:telnet 10.1.1.2(目标ip地址)。 5、输入服务器的账号及密码。 注意:如服务器是2008及更高版本系统,需要再第二步前先按照telnet服务:计算机右键管理 -- 功能 -- 按照 telnet 服务,另外如使用非管理员账户登录远程,需要再服务器上将用户加入到远程桌面内置组中。 里面有个telnet服务,默认是关闭的,只要一打开,对方就能远程控制 tips:怎么找呢,选择任何一个服务,按下T键,就能快速定位t开头的服务 现在敲的任何命令都是在win2003里面的做的 普通用户要赋予权限,要加到TelnetClients这个组里面 win10的telnet功能:控制面板里面搜索“启用或关闭 windows 功能”扩展:查看本机开放的所有端口:netstat -an
查看本机开放的所有端口:netstat -an(一个端口对应着一个服务) telnet:23 远程桌面协议(RDP,remote desktop protocol):3389 共享服务:445 漏洞:telnet的密码是不加密的 上图中 :23端口号是telnet服务端口号 勒索病毒是通过:445端口号进来的,叫共享服务 把端口关掉病毒就进不来了四、破解windows系统密码
1、利用5次shift漏洞破解win7密码
不要利用任何工具,是利用win7的漏洞来破解密码(一定要有这个漏洞)
按五次shift:
1.1 漏洞
1、在未登录系统时,连续按5次shift键,弹出程序c:\windows\system32\sethc.exe 2、部分win7及win10系统在未进入系统时,可以通过系统修复漏洞篡改系统文件名! 注:如win7或win10系统已修补漏洞2,则无法利用可以通过记事本慢慢摸索到C盘:打开记事本——》文件——》打开
1.2 破解过程相关知识
1、cmd工具路径 c:\windows\system32\cmd 2、用户/账户密码存储位置 c:\windows\system32\config\SAM # 非逆转型加密、使用hash值类似的方法、MD5 SHA 3、修改账户密码: net user 用户名 新密码1.3 漏洞利用过程
案例:破解win7系统密码 实验步骤: 1、开启win7虚拟机,开机,并设置一个复杂密码; 2、关机,并开机,在出现windows启动界面时强制关机; 3、再开机,出现“启动修复(推荐)”及选择该项; # 如没有出现,多尝试几次第2步,如还不行,请换其他方法 4、出现系统还原提示,点击取消,等待几分钟后,会出现问题原因,点击查看详细信息; 5、打开最后一个链接即一个记事本; 6、记事本中点打开,并选择显示所有文件; 7、找到sethc并改名sethc-bak(随便写),再找到cmd,复制一份cmd改名为sethc 8、全部关闭,重启。 9、系统启动完毕后,连续按5次shift键,将弹出cmd工具,使用命令net user 用户名 新密码,将当前用户密码修 改掉即可,或者另外建立1个用户,并提升为管理员,注销后,可再删除新建的用户,这样的好处为不修改当前用户的密 码即可登录系统。2、利用PE系统破解XP密码
这个方法没有漏洞也可以破解,而且成功率很高,只要是Windows系统就可以破解,但是提前必须准备一个U盘
我们需要将U盘制作为PE系统
2.1 漏洞
PE系统,独立于硬盘系统的微型系统,通过PE系统启动可以对系统的SAM文件做修改 这个实验关键点: 1、怎么将U盘作为PE启动盘(如何制作PE系统)【如老山桃、老毛桃,大白菜,U深度增强版(推荐)等,建议下载最新版win10PE等】,直接百度搜索PE系统 2、插进去之后怎么将U盘作为第一启动顺序(如何进入BIOS修改启动顺序) 如何制作win10 PE? 首先下载好软件,把U盘插到电脑上,会自动识别你的盘符号(U盘),直接点击一键制作,5~10分钟你的U盘就变成了你的PE启动盘 制作PE的时候,U盘上的内容会被全部清空2.2 破解过程相关知识
账户密码存储文件:c:\windows\system32\config\SAM U盘引导系统:开机修改启动顺序,并将U盘设置为第一启动顺序!(一般电脑是开机马上按F2键,进入BIOS,修改启动 顺序,不同品牌电脑设置方法不一样,可咨询售后)2.3 漏洞利用过程
1.下载PE制作工具(如老毛桃,大白菜,U深度增强版等,建议下载最新版win10PE等),插入空U盘或光盘,一键制作PE系统到U盘 2.为XP系统设置一个复杂密码,并关机。 3.插入带有PE系统的U盘或光盘,开机,马上按F2(联想的电脑基本上都是按F2),进入BIOS,设置启动顺序为U盘或光盘为第一位,保存(BIOS(英文:Basic Input/Output System),即基本輸入輸出系統)——》光标点进去进入boot——》可见第一个是移动硬盘、第二个是硬盘、光驱。——》我们要把光驱调到硬盘前面——》选中光驱按+就往前,-就往下(看下面的提示)——》F10退出 4.重启,进入PE菜单或PE系统,使用破解密码程序进行破解。(不同的PE系统菜单不一样,但一般都有破解密码选项) 在虚拟机中winxp中演示: 1、设置复杂密码后关机 2、把U盘插进去(虚拟机没有U盘:就点击设置找到光驱),点击使用镜像文件——》浏览——》选择下载好的XP-PE.iso(要破解什么就选择什么PE)——》确定 3、开机,把鼠标点击虚拟机再狂按F2(也可以在开机的绿色三角形那里点开下拉菜单——》选择打开电源时进入固件,让他开机直接进入BIOS) 4、选择Boot——》选择CD-ROM Drive(光驱)按住shift +,光驱就放到硬盘前面了 5、F10对BIOS保存并退出 6、选择【B】运行win PE光盘微型维修系统 7、进入XP-PE界面8、选择破解Windows登录密码
9、选择用户——》更改口令——》退出——》关机——》重启 10、选择从硬盘启动(跳过光盘从硬盘启动)总结
以上是生活随笔为你收集整理的【CyberSecurityLearning 3】批处理、用户与组管理、服务器远程管理、破解Windows系统密码的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 作者:杜小勇(1963-),男,中国人民
- 下一篇: 【CyberSecurityLearni