谁来教我渗透测试——黑客应该掌握的Windows基础

2023-11-17

今天我们看看作为一个黑客对于Windows应该掌握哪些基础知识,主要内容包含以下四个方面:

  1. 系统目录、服务、端口和注册表;
  2. 黑客常用的DOS命令及批处理文件的编写;
  3. 黑客常用的快捷键,以及如何优化系统;
  4. 登录密码破解、手动清除木马病毒。

系统目录、服务、端口和注册表

系统目录

首先我们看看Windows系统都有哪些基本目录,他们的作用都是干什么的。

  • Windows——操作系统的目录,有两个关键的位置渗透测试比较关心:Windows/System32——存放的的系统配置文件,Windows/System32/config文件夹中的SAM文件为密码文件,电脑密码忘记之后可以使用PE系统登录,删除这个文件,再启动系统即可
  • program files——软件安装的目录;
  • 用户——用户的配置文件;
  • perflogs——是Windows7的日志信息,如磁盘扫描错误信息,删掉可以但不建议删,删掉反而会降低系统速度,perfLogs是系统自动生成的。

服务

服务是一种应用程序类型,它在后台运行。服务应用程序通常可以在本地和通过网络为用户提供一些功能,例如客户端/服务端应用程序、web服务器、数据库服务器以及其他基于服务器的应用程序。

如何打开服务:

  • 方法一、右击我的电脑打开“计算机管理”;
  • 方法二、Ctrl+r打开运行,输入services.msc回车打开。

常见的服务:

  • web服务:提供web网站访问的服务;
  • dns服务:提供IP、域名解析的服务;
  • dhcp服务:提供IP地址自动获取的服务;
  • 邮件服务:提供邮件收发的服务;
  • telnet服务:提供telnet的服务;
  • ssh服务;
  • ftp服务;
  • smb服务:提供文件共享的服务。

端口

计算机“端口”是英文port的义译,可以认为是计算机与外界通讯交流的出口。按照端口号可分为三大类:

  • 公认端口(well know ports)
  • 注册端口(resistered ports)
  • 动态/私有端口(dynamic and/or private ports)

端口的作用

一台拥有IP的主机不可能只提供一种服务,那它如何通过一个IP提供多种服务呢?这里利用的就是IP+端口的方式来区分不同服务的。

PS:需要注意的是,端口并不是一一对应的,比如你访问一个网站服务器时,访问的是“80”端口,但是你的电脑并不是通过“80”端口和www服务器进行通信,它可能使用的是“5555”这样的随机端口访问的www服务器“80”端口。

常用端口:

  • http协议代理服务器常用端口:80/8080/3128/9080
  • ftp(文件传输)协议代理服务器常用端口:21
  • telnet(远程登录):23
  • TFTP(Trivial File Transfer Protocol):69(udp)
  • SSH(安全登录)、SCP(文件传输)、端口重定向:默认端口号为22(tcp)
  • SMTP(邮件发):25(tcp)(木马Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都开放这个端口)
  • POP3(post office Protocol)邮件收:110(tcp)
  • tomcat:8080
  • win2003远程登录:3389
  • Oracle数据库:1521
  • mssql:1433(tcp、udp)
  • QQ:1080(udp)

黑客通过端口可以干啥:

  • 信息收集
  • 目标探测
  • 服务判断
  • 系统判断
  • 系统角色分析

注册表

注册表(registry)是Windows的一个重要的数据库,用于存储系统和应用程序的设置信息。

打开注册表的方法:

  • 在运行输入框打开regedit后回车

注册表的作用:

Windows操作系统中的一个核心数据库,存放着各种参数没直接控制着Windows的启动、硬件驱动程序的装载以及一些Windows应用程序的运行,从而在整个系统中起着核心作用。这些信息包括了软、硬件的相关配置和状态信息,比如注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据等,联网计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件部件的描述、状态和属性,性能记录和其它底层的系统状态信息,已经其他数据等。

注册表的结构:

  • HKEY_CLASSES_ROOT:管理文件系统。根据在Windows中安装的应用程序的扩展名,改根键指明其文件类型的名称,相应打开该文件所要调用的程序等等信息
  • HKEY_CURRENT_USER:管理系统当前的用户信息。在这个根键中保存了本地计算机中存放的当前登录的用户信息,包括用户登录用户名和暂存的密码。在用户登录Windows 98时,其信息从HKEY_USERS中相应的项拷贝到HKEY_CURRENT_USER中。
  • HKEY_LOCAL_MACHINE(提权的时候经常使用):管理当前系统硬件配置。在这个根键中保存了本地计算机硬件配置数据,此根键下的子关键包括在SYSTEM.DAT中,用来提供HKEY_LOCAL_MACHINE所需的信息,或者在远程计算机中可访问的一组键中。
  • HKEY_USERS:管理系统的用户信息。在这个根键中保存了存放在本地计算机口令列表中的用户标识和密码列表。同时每个用户的预配置信息都存储在HKEY_USERS根键中。HKEY_USERS是远程计算机中访问的根键之一。
  • HKEY_CURRNT_CONFIG:管理当前用户的系统配置。在这个根键中保存着定义当前用户桌面配置(如显示器等等)的数据,该用户使用过的文档列表(MRU),应用程序配置和其它有关当前用户的Windows 98 中文版的安装的信息。

利用注册表防病毒:

黑客入侵一般都会修改启动项的注册表,给自己留一个后门,或者直接留下病毒程序。所以我们可以关注启动项的注册表是否存在异常项目,来判断是否有病毒入侵。

黑客常用的DOS命令和批处理文件

color : 改变cmd颜色(主要是装B使用的,个人认为比较炫酷的效果是color a)

ping -t -l 65550 ip: 死亡之ping(发送大于64K的文件并一直ping就成了死亡之ping)

ipconfig: 查看ip

ipconfig /release : 释放ip

ipconfig /renew: 重新获得ip

systeminfo: 查看系统信息

arp -a: 获取所有接口下局域网的所有IP和mac

net view : 查看局域网内其他计算机名称

shutdown -s -t 180 -c “你被黑了,系统马上关机”:其中-s代表关机,-r代表重启,-t 后面接时间秒数,-c后面接弹出框显示的内容,-a表示取消之前的shutdown命令

dir: 查看目录

cd : 切换目录

start www.baidu.com : 打开网页

start 1.txt: 打开1.txt文件(使用应用程序打开)

type 1.txt: 打开1.txt(在dos下打开文本)

“copy con c:\123.txt

hello cainiaoxiaobai

ctrl+z

回车”: 创建123.txt文件,内容是“hello cainiaoxiaobai”

md 目录名: 创建目录

rd 123: 删除文件夹

ren 原文件名 新文件名: 重命名文件名

del: 删除文件

copy: 复制文件

move: 移动文件

tree: 树形列出文件夹结构

telnet:

net use k: \192.168.1.1\c$: 将网络中的c盘映射为本地的K盘

net use k: \192.168.1.1\c$ /del:删除这个映射

net start: 查看开启了哪些服务

net start 服务名: 开启服务

net stop 服务名: 停止某服务

net user 用户名 密码 /add: 建立用户

ner user guest /active:yes: 激活guest用户

net user:查看有哪些用户

net user 账户名: 查看账户属性

net localgroup administrators 用户名 /add : 把“用户”添加到管理员中使其具有管理员权限,注意:administrators后面加s用复数

net user guest 12345: 用户guest用户登录后用将密码改为12345

net password 密码: 更新系统登录密码

net share: 查看本地开启的共享

net share ipc :开启 i p c : 开启ipc :开启ipc共享

net share ipc$ /del: 删除ipc$共享

net share c$ /del:删除C:共享

netstat -a:查看开启了哪些端口,常用的有netstat -an

netstat -n:查看端口的网络连接情况

netstat -v:查看正则进行的工作

at id号:开启已注册的某个计划任务

at /delete:停止所有计划任务,用参数/yes则不需要确认就可以直接停止

at id号 /delete:停止某个已注册的计划任务

at:查看所有的计划任务

attrib 文件名(目录名):查看某文件(目录)的属性

attrib 文件名 -A -R -S -H或+A +R +S +H:去掉(添加)某文件的存档,只读,系统,隐藏属性;用+则表示添加某属性

批处理文件

批处理文件是dos命令的组合文件,写在批处理文件的命令会被逐一执行。后缀名为“.bat”。

新建批处理文件有两种方式:

  • 新建一个文本文档,保存时把后缀改为bat
  • 使用命令创建

copy con 123.bat

net user test 123456 /add

net localgroup administrators test /add

Ctrl+Z 回车

windows常用快捷键和系统优化

快捷键

F1: 显示当前程序或者Windows的帮助内容

F2: 当你选中一个文件的话,这就意味着“重命名”

F3: 当你在桌面上的时候是打开“查找:所有文件”的对话框

Alt+F4: 关闭当前应用程序中的当前文本(如word中)

F5: 刷新

Ctrl+F5: 强行刷新

Ctrl+F6: 切换到当前应用程序中的下一个文本(加Shift可以跳到前一个窗口)

F10或Alt: 激活当前程序的菜单栏

Windows键或Ctrl+Delete: 打开开始菜单

Ctrl+Alt+Delete: 打开关闭程序对话框

Delete: 删除被选择的选择项目,如果是文件,将被放入回收站

Shift+Delete: 删除被选择的选择项目,如果是文件,将被直接删除,而不是放入回收站

Ctrl+N: 新建一个文件

Ctrl+O: 打开“打开文件”对话框

Ctrl+P: 打开“打印”对话框

Ctrl+S: 保存当前操作的文件

Ctrl+X: 剪切被选择的项目到剪切板

Ctrl+Insert或Ctrl+C: 复制被选择的项目到剪切板

Shift+Insert或Ctrl+V: 粘贴剪切板中的项目到当前文件

Ctrl+Z或Alt+Backspace: 撤销上一步的操作

Alt+Shift+Backspace: 重做上一步被撤销的操作

Windows键+M: 最小化所有被打开的窗口

Windows键+Ctrl+M: 重新恢复上一项操作前窗口的大小和位置

Windows键+E: 打开资源管理

Windows键+F: 打开“查找:所有文件”对话框

Windows键+R: 打开“运行”对话框

Windows键+L: 锁屏

Alt+Tab: 切换当前程序

Alt+F4:关闭当前应用程序

系统优化

1、修改启动项

Windows+R打开运行输入框,输入“msconfig”命令,打开系统配置窗口后找到“启动”选项,将不需要的应用程序去掉勾选

img

2、加快系统启动速度

同样方式打开系统配置窗口,在引导中点击“高级选项”,在弹出窗口将处理器的数量选择为最多

img

3、提高窗口切换提速

右击计算机属性/性能信息和工具/调整视觉效果,先点击让Windows选择计算机的最佳设置,然后再点击自定义,将最后的“在最大化和最小化时动态显示窗口”去掉勾选。

img

登录密码的破解和手动清除木马

Windows登录密码的破解:

  • 使用U盘破解,将U盘制作为PE系统启动盘,然后利用pe的Windows密码清除功能,进行密码删除
  • 使用工具破解:lc5、彩虹表

手动清除木马:

  • 查找开机启动项
  1. 可以通过注册表进行查询“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”,一般木马都是通用盘符作为路径盘符
  2. 也可以通过系统配置项中看开机启动项
  3. 在启动文件夹中进行查看“C:\Users\test用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup”
  • 查询服务
  1. win+R打开运行,输入services.msc回车打开服务窗口
  • 查看网络端口连接
  1. 在cmd命令窗口下输入“netstat -anp”
  2. 常见的木马端口“4444/8888/9527”

从靠劳力赚钱转变成靠脑力赚钱,想入门渗透测试的小白肯定想知道如何学好?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

谁来教我渗透测试——黑客应该掌握的Windows基础 的相关文章

  • 在 64 位 Windows 上运行 32 位可执行文件时出现问题

    如果允许的话 我会添加 500 个我自己的代表作为赏金 我在用着wkhtml转pdf http wkhtmltopdf org 将 HTML 网页转换为 PDF 这在我的 32 位开发服务器上完美运行 不幸的是 我无法运送我的机器 p 但是
  • 使用 Visual C++ 在桌面上绘图

    我正在编写一个 opencv 应用程序 使用 Visual Studio VC 控制台应用程序使用激光束进行绘图 我想在桌面上画线 我知道绘图功能在 GDI32 dll 中可用 但对如何将 GDI32 dll 与我的 vc 代码集成感到困惑
  • 批处理脚本 - IF EXIST 复制到 %localappdata% 错误

    我似乎被批处理脚本困住了 需要一些帮助 基本上我需要检查文件是否存在于文件夹中 localappdata 如果确实如此 则覆盖该文件 如果没有放置在不同的位置 那么目前它的内容如下 IF EXIST localappdata foldern
  • 如何为 Windows toast 注册协议?

    如何注册 Windows toast 协议 样本中来自https blogs msdn microsoft com tiles and toasts 2015 07 02 adaptive and interactive toast not
  • Notepad++ - 使函数“可点击”?

    我只是想这可能有用 但我找不到办法 在 Notepad 中 有没有一种方法可以使函数名称 可单击 即使它们成为链接 这样如果您单击它们 它会自动将您带到其定义 最好是跨整个代码库 目前还没有插件提供可直接单击的函数名称 但您可以尝试使用 S
  • 运行“npm install”:Node-gyp 错误 - MSBUILD.exe 失败,退出代码:1

    我在跑npm install在 Windows 上安装我的项目中的所有软件包 然后我收到有关 MSBUILD exe 的错误 gyp ERR stack Error C Program Files x86 Microsoft Visual
  • EnumDisplayDevices 与 WMI Win32_DesktopMonitor,如何检测活动监视器?

    对于我当前的 C 项目 我需要为在大量计算机上连接并处于活动状态的每个监视器检测一个唯一的字符串 研究指出了两种选择 使用 WMI 并查询 Win32 DesktopMonitor 以获取所有活动监视器 使用 PNPDeviceID 来唯一
  • 使用特定的 JRE 运行 JAR 文件

    在 Windows 上有没有办法使用位于特定文件夹中的 JRE 运行 JAR 文件 类似于 Eclipse 在您提供给它的某个路径中查找其 JRE 的方式 一些 Windows 可执行代码 C 或 C 或批处理文件都可以完成这项工作 谢谢
  • Windows:如何获取所有可见窗口的列表?

    无论如何都要使用相关技术重新标记 我不知道它们是什么 稍后我可能会提出更详细的问题 关于具体细节 但现在我正在尝试掌握 大局 我正在寻找一种方法来枚举 Windows 上的 真实可见窗口 我所说的 真正可见的窗口 就是指 用户所说的 窗口
  • 当系统上没有留下任何可执行文件时,如何卸载 Windows 服务?

    当系统上没有留下任何可执行文件时 如何卸载 Windows 服务 我跑不了installutil u因为系统上没有留下可执行文件 我仍然可以在服务控制台中看到该服务的条目 出现这种状态的原因可能是因为 msi 包中存在问题 没有正确删除服务
  • MD 和 MKDIR 批处理命令有什么区别?

    这两个命令都会创建文件夹 我read http www computerhope com mdhlp htmMKDIR 甚至可以创建子文件夹 这只是区别吗 为什么有两个命令做同样的事情 我应该使用哪一个 除了 npocmaka 的answe
  • 如何从 Ant 启动聚合 jetty-server JAR?

    背景 免责声明 I have veryJava 经验很少 我们之前在 Ant 构建期间使用了 Jetty 6 的包装版本来处理按需静态内容 JS CSS 图像 HTML 因此我们可以使用 PhantomJS 针对 HTTP 托管环境运行单元
  • Docker Desktop 不会切换到 Windows 容器(在 Windows 10 上)

    我有 Windows 10 专业版 版本 21H1 BIOS 中已启用虚拟化 Hyper V 正在运行 我已经安装了适用于 Windows 的 Docker Desktop 如上所述here https docs docker com de
  • 推送更改到 Git 不起作用

    每次我想要提交命令 git push heroku master 时 系统都会要求我在 PowerShell 中输入凭据 当我输入 heroku 凭据 默认情况下连接到 git 时 我收到错误消息 但是 当我输入我的主目录中的 netrc
  • 如何在 Windows 上使用命令行获取 svn 修订信息

    我正在尝试使用此命令行获取头部的修订信息 svn info https myserver branches Code Improvements rHEAD find Revision 然而 这返回修订版 1234 由于我使用 svn inf
  • 使用 Windows 命令行将多行环境变量回显到文本文件

    我有一个环境变量 SSH PRIVATE KEY 并希望使用命令行将其打印到文件中 而不使用批处理文件 这是因为我需要在 Gitlab Ci yml 脚本中使用此文件 在 Linux 中 这很简单 echo SSH PRIVATE KEY
  • 为进程设置环境变量

    环境变量的概念是什么 在 C 程序中 我需要调用可执行文件 该可执行文件将调用驻留在同一文件夹中的一些其他可执行文件 可执行文件依赖于两个环境变量 PATH 和 RAYPATH 的正确设置 我尝试了以下两件事 我创建了一个进程并在 Star
  • QFileInfo::isWritable() 在 Windows 7 上具有完全权限时返回 false

    QFile file filePath QFileInfo fileInfo file file open QIODevice ReadWrite or WriteOnly if fileInfo isWritable Log error
  • QWinTaskbarProgress 不会显示

    我使用的是windows7和Qt5 3 0 我在 MainWindow 的构造函数中添加了以下内容 但任务栏上没有显示任何内容 我错过了什么 QWinTaskbarProgress pTaskbarProgress new QWinTask
  • 将 Azure 网站迁移到 Azure 云服务

    我有一个项目 我计划将 Web 应用程序作为 Azure 网站启动 然后将其迁移到 Azure 云服务 也称为托管服务 如果需要作为扩展策略 做出这个决定是因为我了解到 Azure 网站的开发更加简单 快速 几乎不需要特定于 Azure 的

随机推荐