前言

本篇是基础教程,带大家了解Windows常用用户及用户组,本地提取用户密码,远程利用Hash登录到本地破解Hash。初步掌握Windows基础安全知识。

目录

  • 第一节 初识Windows
  • 第二节 Windows密码安全
  • 第三节 利用Hash远程登录系统

正文

第一节 初识Windows

1.1、什么是Window

Microsoft Windows,是美国微软公司研发的一套操作系统,它问世于1985年,起初仅仅是Microsoft-DOS模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。Windows采用了图形化模式GUI,比起从前的DOS需要键入指令使用的方式更为人性化。随着电脑硬件和软件的不断升级,微软的Windows也在不断升级,从架构的16位、32位再到64位, 系统版本从最初的Windows 1.0 到大家熟知的Windows 95、Windows 98、Windows ME、Windows 2000、Windows 2003、Windows XP、Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10 和 Windows Server服务器企业级操作系统。

1.2、Windows常用用户

  • SYSTEM:本地机器上拥有最高权限的用户。
  • Administrator:本地机器上拥有最高权限的用户。
  • Guest:只拥有相对较少的权限,默认被禁用。

1.3、Windows常见用户组

Administrators,管理员组,默认情况下,Administrators中的用户对计算机/域有不受限制的完全访问权。分配给该组的默认权限允许对整个系统进行完全控制。所以,只有受信任的人员才可成为该组的成员。

Power Users,高级用户组,Power Users 可以执行除了为 Administrators 组保留的任务外的其他任何操作系统任务。分配给 Power Users 组的默认权限允许 Power Users 组的成员修改整个计算机的设置。但Power Users 不具有将自己添加到 Administrators 组的权限。在权限设置中,这个组的权限是仅次于Administrators的。

Users:普通用户组,这个组的用户无法进行有意或无意的改动。因此,用户可以运行经过验证的应用程序,但不可以运行大多数旧版应用程序。Users 组是最安全的组,因为分配给该组的默认权限不允许成员修改操作系统的设置或用户资料。Users 组提供了一个最安全的程序运行环境。在经过 NTFS 格式化的卷上,默认安全设置旨在禁止该组的成员危及操作系统和已安装程序的完整性。用户不能修改系统注册表设置、操作系统文件或程序文件。Users 可以关闭工作站,但不能关闭服务器。Users 可以创建本地组,但只能修改自己创建的本地组。

Guests:来宾组,按默认值,来宾跟普通Users的成员有同等访问权,但来宾帐户的限制更多。

Everyone:顾名思义,所有的用户,这个计算机上的所有用户都属于这个组。

1.4、Windows文件夹权限

①完全控制(Full Control):
该权限允许用户对文件夹、子文件夹、文件进行全权控制,如修改资源的权限、获取资源的所有者、删除资源的权限等,拥有完全控制权限就等于拥有了其他所有的权限;

②修改(Modify):
该权限允许用户修改或删除资源,同时让用户拥有写入及读取和运行权限;

③读取和运行(Read & Execute):
该权限允许用户拥有读取和列出资源目录的权限,另外也允许用户在资源中进行移动和遍历,这使得用户能够直接访问子文件夹与文件,即使用户没有权限访问这个路径;

④列出文件夹目录(List Folder Contents):
该权限允许用户查看资源中的子文件夹与文件名称;

⑤读取(Read):
该权限允许用户查看该文件夹中的文件以及子文件夹,也允许查看该文件夹的属性、所有者和拥有的权限等;

⑥写入(Write):
该权限允许用户在该文件夹中创建新的文件和子文件夹,也可以改变文件夹的属性、查看文件夹的所有者和权限等。

第二节 Windows密码安全

工具一、Quarks PwDump

Quarks PwDump 是一个Win32环境下的系统授权信息导出工具,目前除此之外没有任何一款工具可以导出如此全面的信息,支持这么多的OS版本,且相当稳定。它目前可以导出 :- Local accounts NT/LM hashes + history 本机NT/LM哈希+历史登录记录 – Domain accounts NT/LM hashes + history 域中的NT/LM哈希+历史登录记录 – Cached domain password 缓存中的域管理密码 – Bitlocker recovery information (recovery passwords & key packages) 使用Bitlocker的恢复后遗留的信息支持的操作系统 : XP/2003/Vista/7/2008/81 / USAGE

使用说明:

quarks-pwdump.exe <options>
Options :
-dhl  --dump-hash-local
-dhdc --dump-hash-domain-cached
-dhd  --dump-hash-domain (NTDS_FILE must be specified)
-db   --dump-bitlocker (NTDS_FILE must be specified)
-nt   --ntds-file FILE
-hist --with-history (optional)
-t    --output-type JOHN/LC (optional, if no=>JOHN)
-o    --output FILE (optional, if no=>stdout)
 
Example: quarks-pwdump.exe --dump-hash-domain --with-history

工具二、SAMInside

SAMInside为一款俄罗斯出品的Windows密码恢复软件,支持Windows NT/2000/XP/Vista操作系统,主要用来恢复Windows的用户登录密码。

使用说明:

导入本地系统和文件,当然,也可以从项目文件、文件导入,注意SAM文件是系统的SAM文件,一般在C:\WINDOWS\system32\config路径下,看下图:

按快捷键“F4”,视密码复杂程度、密码长度和机器性能,有时很快就等到结果,如果时间过长,还可以暂停,保存破解状态留待下次接着运行。

工具三、Mimikatz

大神们都知道的东西吧,渗透测试常用工具。法国一个牛B的人写的轻量级调试器,可以帮助安全测试人员抓取Windows密码。

使用说明:

第一条:privilege::debug
                //提升权限
第二条:sekurlsa::logonpasswords
              //抓取密码

首先你需要知道自己操作系统的位数
右键我的电脑属性

如果您的电脑是64位,则会明确标明“x64”,如果没有标明则说明您的电脑是32位的。

第三节 利用Hash远程登录系统

第二节我们获取到的Hash:

44EFCE164AB921CAAAD3B435B51404EE:32ED87BDB5FDC5E9CBA88547376818D4

打开Metasploit

use exploit/windows/smb/pse xec //没办法,请去掉中间空格,在一起会被屏蔽

设置一下攻击参数

设置Payload

无法利用怎么办?

本地暴力破解Hash

本地软件下载彩虹表进行暴力破解我这里就不讲解了。
给大家一个在线破解的网站,方便快捷。
http://www.objectif-securite.ch/ophcrack.php

小技巧:Windows2003-Shift后门

Shift后门制作

sethc.exe就是Windows的粘滞键,我们备份一下。

将cmd.exe改成sethc.exe

在用户登录界面连按五次shift

结束语

勿忘初心,方得始终。

文章首链:http://bbs.ichunqiu.com/thread-8826-1-1.html

感谢您的阅读,如果您学到了,请点赞(码字不易)!

欢迎热心园友补充!

作者:zusheng

【渗透攻防】深入了解Windows的更多相关文章

  1. 【渗透攻防WEB篇】SQL注入攻击初级

    前言不管用什么语言编写的Web应用,它们都用一个共同点,具有交互性并且多数是数据库驱动.在网络中,数据库驱动的Web应用随处可见,由此而存在的SQL注入是影响企业运营且最具破坏性的漏洞之一,这里我想问 ...

  2. 【web渗透技术】渗透攻防Web篇-SQL注入攻击初级

    [web渗透技术]渗透攻防Web篇-SQL注入攻击初级 前言不管用什么语言编写的Web应用,它们都用一个共同点,具有交互性并且多数是数据库驱动.在网络中,数据库驱动的Web应用随处可见,由此而存在的S ...

  3. 【渗透攻防Web篇】SQL注入攻击高级

    前言 前面我们学习了如何寻找,确认,利用SQL注入漏洞的技术,本篇文章我将介绍一些更高级的技术,避开过滤,绕开防御.有攻必有防,当然还要来探讨一下SQL注入防御技巧. 目录 第五节 避开过滤方法总结 ...

  4. 渗透攻防工具篇-后渗透阶段的Meterpreter

    作者:坏蛋链接:https://zhuanlan.zhihu.com/p/23677530来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 前言 熟悉Metasploit ...

  5. 认识二进制安全与漏洞攻防技术 (Windows平台)

    二进制漏洞是指程序存在安全缺陷,导致攻击者恶意构造的数据(如Shellcode)进入程序相关处理代码时,改变程序原定的执行流程,从而实现破坏或获取超出原有的权限. 0Day漏洞 在计算机领域中,0da ...

  6. 【渗透测试】NSA Windows 0day漏洞+修复方案

    这个漏洞是前段时间爆出来的,几乎影响了全球70%的电脑,不少高校.政府和企业都还在用Windows服务器,这次时间的影响力堪称网络大地震. ------------------------------ ...

  7. 内网渗透之信息收集-windows系统篇

    windows 用户相关 query user #查看当前在线的用户 whoami #查看当前用户 net user #查看当前系统全部用户 net1 user #查看当前系统全部用户(高权限命令) ...

  8. 内网渗透 day6-msf后门植(windows)

    后门植入 目录 1. 持续化后门 2. 手动上传木马并加入注册表中 3. 上传nc 4. 开3389-->shift后门-->远程登入 5. at调用 1. 持续化后门 在提权后的mete ...

  9. 内网渗透----使用mimikatz获取windows登陆口令

    使用mimikatz提取windows密码 以管理员运行后,可以随机打一些字符,进入如下界面 输入aaa::aaa,可展示所有模块: 可采用log命令,保存日志 获取hash与明文用户口令 privi ...

随机推荐

  1. ABAP开发相关事务代码

    事务代码 事务描述 事务代码 事务描述 SE37 ABAP/4函数编辑器 BAPI BAPI 浏览器 SE38 ABAP编辑器 LSMW 数据导入工具 SE39 ABAP分屏编辑器 PFCG 权限管理 ...

  2. js如何获取点击<li>标签里的内容值

    路:为li对象添加单击事件→事件触发后利用innerHTML获取li的文本.实例演示如下: 1.HTML结构 <ul id="test"> <li>Glen ...

  3. hbase-数据恢复流程

    引用<https://blog.csdn.net/nigeaoaojiao/article/details/54909921> hlog介绍: hlog构建: 从图中可以看出,对于一个hl ...

  4. EasyPR源码剖析(9):字符识别

    在上一篇文章的介绍中,我们已经通过相应的字符分割方法,将车牌区域进行分割,得到7个分割字符图块,接下来要做的就是将字符图块放入训练好的神经网络模型,通过模型来预测每个图块所表示的具体字符.神经网络的介 ...

  5. ASCII,Unicode 和 UTF-8

    ASCII: 英文的编码方式,规定了128个字符的编码,使用了一个字节的后七位表示. Unicode : 每个国家的字符集都不同,世界上所有的字符远远超过128个.Unicode,就是一种所有符号的编 ...

  6. 2018-2019-2 《网络对抗技术》 EXP0 KALI安装 20165213 Week1

    kali安装过程 一.从官网下载kail 下载地址为:https://www.kali.org/downloads/ 选择下图中的kali下载 二.用VMware打开虚拟机 打开VMware,点击打开 ...

  7. vue-cli 第二章 (常见问题修正)

    一.编译打包多出 *.map 文件处理   当执行 npm run build 后根目录下会编译出一个 dist 的文件夹,如下:     其中 css 和 js  文件夹下会多出一些 *.map 的 ...

  8. LNMP支持 多版本PHP

    1.到 http://www.php.net/downloads.php(http://www.php.net/downloads.php) 选择合适的版本号,如 5.6.34 2.到 LNMP 1. ...

  9. Java中子类对象初始化的过程

    Java中的继承机制看似简单,实际上包含了很多细节.最近在刷题过程中屡屡跳坑,于是自己仔细再学习了一下Java中子类初始化的细节,与大家分享. class Father { Father(){}; } ...

  10. go基本使用方法

    一,变量 var:声明变: var 变量名  数据类型 :同时还需要指定数据的类型 var 变量名 = 值  : 声明变量,根据变量值判断变量类型 :=   :省略var,直接可以(变量名:= 值), ...