谁来教我渗透测试——黑客应该掌握的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基础 的相关文章

  • Jenkins 执行 PowerShell 脚本

    我正在尝试从 Jenkins 运行 PowerShell 脚本 但它似乎完全忽略了执行策略 可以通过直接执行 powershell exe 或使用PowerShell插件 https wiki jenkins ci org display
  • grails 上的同步块在 Windows 上有效,但在 Linux 上无效

    我有一个 grails 应用程序 它依赖于服务中的同步块 当我在 Windows 上运行它时 同步按预期工作 但当我在 ams linux 上运行时 会出现 StaleObjectStateException 该问题在以下示例中重现 cla
  • 在 Windows 上将 Word2vec 与 Tensorflow 结合使用

    In 本教程文件 https github com tensorflow models blob master tutorials embedding word2vec py L45通过 Tensorflow 找到以下行 第 45 行 来加
  • Windows 任务计划程序报告不正确/不一致的结果代码

    背景 我正在尝试在计划任务失败时收到电子邮件通知 我的任务可以通过退出代码 错误级别 指示失败 我想使用它并遵循中描述的过滤方法这个答案 https stackoverflow com a 4289360 29805触发电子邮件 Probl
  • 防止 Windows 中的崩溃消息

    我的应用程序需要扫描经常导致崩溃的第三方文件 为了克服这个问题 它使用一个单独的进程来扫描这些文件并 每当这个进程崩溃时 我的应用程序就会实例化另一个应用程序 我的问题是 每次崩溃后我都会收到 Windows 崩溃消息 AuxScanner
  • Windows 应用程序事实上的标准键盘快捷键列表?

    假设我正在为 Windows 开发一个新的桌面应用程序 是否有我可以查阅的所有 Windows 应用程序都应支持的键盘快捷键列表 来自 Microsoft 或第三方 注意 当我在这里说 所有 Windows 应用程序 时 我的真正意思是 特
  • 避免回绕的 timeGetTime 的最佳替代品是什么?

    time获取时间 http msdn microsoft com en us library dd757629 VS 85 aspx查询系统时间似乎相当不错 然而 它的返回值仅为 32 位 因此大约每 49 天环绕一次 在调用代码中检测翻转
  • 内核与系统中的 Windows 进程

    我有一些与内核和用户模式下的 Windows 进程相关的问题 如果我有一个 hello world 应用程序和一个公开新系统调用 foo 的 hello world 驱动程序 我很好奇一旦处于内核模式 我能做什么和不能做什么 对于初学者来说
  • 将 HttpApi 与 I/O 完成端口结合使用

    我刚刚偶然发现了微软的HTTP 服务器 API http msdn microsoft com en us library aa364510 28v vs 85 29 aspx 简介中写道 HTTP 服务器 API 使应用程序能够通过 HT
  • win32 API 和 .NET 框架之间的选择

    我必须开发一个适用于 Windows 的应用程序 该应用程序将能够通过网络摄像头识别手势来控制鼠标 我将使用 vc 2008 进行开发 但我很困惑是使用 NET 框架还是核心 win32 API 性能对于我的应用程序非常重要 根据 Ivor
  • Windows:列出并启动与扩展关联的应用程序

    如何确定与特定扩展名 例如 JPG 关联的应用程序 然后确定该应用程序的可执行文件所在的位置 以便可以通过调用 System Diagnostics Process Start 来启动它 我已经知道如何读取和写入注册表 注册表的布局使得以标
  • 操作系统什么时候清除进程的内存

    进程在某些操作系统上成功或异常终止 操作系统何时决定擦除分配给该进程的内存 数据 代码等 在退出时或当它想为新进程分配内存时 这个清除内存分配过程在所有操作系统 winXP Win7 linux Mac 上都相同吗 据我了解 页表具有该进程
  • 如何确定登录的Windows帐户是否已在域上进行身份验证[重复]

    这个问题在这里已经有答案了 可能的重复 在客户端 服务器应用程序中使用 Active Directory 对用户进行身份验证 https stackoverflow com questions 1337923 authenticating
  • SC创建binpath错误

    我正在尝试在 PowerShell 中运行以下命令 sc create StrongSwan binpath C Users Kanishk Desktop Strong Strong stronswan strongswan 5 6 3
  • 在 Windows 上使用 docker compose 进行卷绑定

    我最近在 Windows 10 上升级了 Docker Toolbox 现在我的卷挂载不再起作用 我已经尝试了一切 这是当前的挂载路径 volumes C Users Joey Desktop backend var www html 我收
  • 使用 CreateRestrictedToken(LUA_TOKEN) 从提升的进程创建低/中进程

    我正在尝试从提升的进程创建中或低完整性进程 我知道还有其他类似的问题 但它们主要关注使用资源管理器或任务计划程序等解决方法 我想坚持使用CreateRestrictedToken CreateProcessAsUser 我认为一定可以以某种
  • 在 WSL Ubuntu 20.04 上安装 npm 后,我收到消息“/usr/bin/env: ‘bash\r’: No such file or directory”

    运行时我看到以下消息npm install or npm来自终端的命令 执行中node按预期工作 gt npm install usr bin env bash r No such file or directory 2023 年 7 月更
  • Node.js + Socket.io + Windows 7 / 8?

    我一直在到处寻找 但似乎找不到解决方案 是否可以在 Windows 7 上的 Node js 上安装 Socket io 如果没有 是否有某种替代方案 或者您知道未来有任何 Windows 支持吗 通常使用 Node js 包管理器 但是我
  • 在 C# 中使用反射列出枚举中的值

    我正在尝试使用反射来列出一个 Visual Studio 解决方案内的各个项目中的一些类的公共成员和方法 我尝试访问的所有类都是 C 的 并且它们都是从 C 类访问的 我用来进行这些调用的代码如下 public void PopulateE
  • 使用 Windows 任务计划程序安排 [Virtualenv 相关] Python 脚本

    I want to schedule a python script to start at 3AM and break at 5PM every weekday However the problem arises when I need

随机推荐