前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[网络安全] 四十五.Windows安全基础、注册表和安全常用DOS命令(2)

[网络安全] 四十五.Windows安全基础、注册表和安全常用DOS命令(2)

作者头像
Eastmount
发布2021-12-02 20:27:22
6.5K0
发布2021-12-02 20:27:22
举报

文章目录:

  • 一.Windows基础知识 系统目录 服务 端口 注册表 系统目录 服务 端口 注册表
  • 二.黑客常用的DOS命令 ping和ipconfig等网络命令 关机及对话命令 文件及目录操作命令 net命令 netstat命 at命令
  • 三.Powershell
  • 四.总结

作者的github资源:

  • 逆向分析:https://github.com/eastmountyxz/ SystemSecurity-ReverseAnalysis
  • 网络安全:https://github.com/eastmountyxz/ NetworkSecuritySelf-study

声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。网站目前可以访问,后续应该会关闭,初学者可以试试,但切勿破坏。


一.Windows基础知识

Windows基础知识包括系统目录、服务、端口、注册表。

1.系统目录

熟悉系统目录方便我们进行渗透操作。包括系统自身创建的目录、程序或人为创建的目录。比较重要的几个目录包括Windows、Program files/Program files(x86)、ProgramData、用户等。

(1) Windows Windows系统目录指操作系统的主要文件存放的目录。目录中的文件直接影响到系统是否正常工作,了解这些目录的功能,对使用系统会有很大的帮助。

其中的核心目录包括System32,该文件夹下config/SAM是存储加密过的系统帐号的密码文件。该文件被系统占用无法打开,但PE系统下能操作管理员密码,也可以通过lc5、彩虹表、PwDum7.exe获取。

PwDum7.exe软件读取SAM文件,此时为密文。

pass.exe软件获取密码“123.com”,必须管理员权限才能读取。

另一个核心文件为Windows\ System32\ drivers\etc\hosts文件,相当于本地的小型DNS,定义了域名和IP。

打开如下图所示:

注意,hosts文件的优先级高于DNS服务器。如果我们直接ping百度,它会返回百度的真实IP地址(115.239.210.27),如下图所示。

但如果在hosts文件中增加域名解析记录,则它会优先ping本地hosts文件中的记录(1.1.1.1)。如果你的hosts文件被污染,则就是DNS欺骗或钓鱼网站,后面作者会分享:

  • DNS欺骗和钓鱼网站原理详解及漏洞还原

域名解析(Domain Name Resolution) 是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。

例如,当企业员工电脑访问该购物网站时,会去DNS服务器进行解析;然后找到地址2.2.2.2,并返回给企业员工电脑;最后访问该购物Web服务器,假设是IIS,它会将购物网站的首页返回给你的浏览器。


(2) Program files/Program files(x86) 操作系统各种程序默认安装到的目录,包括32位和64位。其文件夹包括:Common Files(提供程序中的一些共享配置文件)、 Internet Explorer(网络浏览器)、NetMeeting(网络聊天软件)、Microsoft Office(办公软件集合)、Windows Media Player(媒体播放器)等。

比如腾讯QQ、微信通讯软件。


(3) Perflogs 它是Windows系统的日志信息,如磁盘扫描错误信息、测试信息等,该目录不建议删除,删除反而会重新生成并降低系统速度。

(4) ProgramData C盘的一个系统文件夹(隐藏),它是公用的被创建文件夹或文件存放的地方,由创建者完整控制,程序运行或启动生成的临时文件通常存放该目录,电脑病毒也比较喜欢感染该目录。

(5) 用户 存放系统账号相关的文件或文件夹。在Web渗透中该目录有什么用呢?当我们提取某个服务器后,通常会去查询该目录中存在的用户名,该目录是信息深入收集所必须查找的目录,包括桌面、我的文档等敏感信息或文件。

比如QQ的文件接收信息。如果存在敏感文件,是不是就会泄露了相关信息。


2.服务

服务是一种应用程序类型,它在后台运行。服务应用程序通常可以在本地和通过网络为用户提供一些功能,例如客户端/服务器应用程序、Web服务器、数据库服务器以及其他基于服务器的应用程序。如果某个服务未打开,你就不能享受对应这个服务的功能。

在运行中输入“services.msc”打开服务。

显示如下图所示,可以打开描述查看具体信息。

比如虚拟机的网络服务,需要打开才能让虚拟机连接上网。

除了计算机内置的服务,我们软件也需要注册相关的服务,包括后面要讲metasploit安装后面的软件,也需要安装相关的服务。

服务决定了计算机的一些功能是否被启用,不同的服务对应的功能不同,通过计算机提供的服务可以有效地实现资源共享。常见的服务包括:

  • Web服务:搭建网站
  • DNS服务:用于域名解析
  • DHCP服务:用于客户机配置可用IP
  • 邮件服务:发送邮件
  • Telnet服务:Windows远程连接
  • SSH服务:通过ssh服务连接该主机
  • FTP服务:文件传输协议服务,为互联网提供文件存储和访问
  • SMB服务:用于Web连接和客户端与服务器之间的信息沟通

服务是可以设置“自动”(启动)、“手动”、“禁用”三种类型,后面用到时会具体讲解。

在CMD中输入 “netstat -an” 显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接(IP+端口)正在运作。

Cracer老师的安全工具包提供了各种工具,推荐大家尝试学习。

前面我们介绍过如利用Hydra工具进行Telnet远程服务器密码爆破,如下图所示,也推荐大家阅读前面作者的文章 。如果想提高爆破成功率,字典和社工(目标生日、姓名)非常重要。

  • BurpSuite和Hydra密码爆破及Python加密Post请求

3.端口

(1) 端口的作用 我们知道,一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎么区分不同的网络服务呢?显然不能只靠IP地址,因为IP地址与网络服务的关系是一对多的关系,实际上是通过“IP地址+端口号”来区分不同的服务的。

需要注意的是,端口并不是一一对应的。比如你的电脑作为客户机访问一台WWW服务器时,WWW服务器使用“80”端口与你的电脑通信,但你的电脑则可能使用“3456”这样的端口。如下图所示:

(2) 端口的分类 端口共1-65535号,知名端口范围从0到1023,这些端口号一般固定分配给一些服务,大家尽量不要使用。比如21端口分配给FTP服务,25端口分配给SMTP邮件传输协议服务,80端口分配给HTTP服务,135端口分配给RPC远程过程调用服务等等。

动态端口的范围从1024到65535,这些端口号一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。比如1024端口就是分配给第一个向系统发出申请的程序,在关闭程序进程后,就会释放所占用的端口号。注意,端口冲突就不能正常工作。

同时,动态端口号也常常被病毒木马程序所利用,如冰河默认连接端口号是7626、WAY 2.4连接端口号是8011、Netspy 3.0连接端口号是7306、YAI病毒连接端口号是1024等等。

(3) 常见的端口

(4)黑客通过端口可以干什么

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

4.注册表

注册表(Registry,繁体中文版Windows称之为登录档)是微软Windows系统中的一个重要的数据库,用于存储系统和应用程序的设置信息。早在Windows 3.0退出OLE技术的时候,注册表就已经出现。随后推出的Windows NT是第一个从系统级别广泛使用注册表的操作系统。但是,从Microsoft Windows 95开始,注册表才真正成为Windows用户经常接触的内容,并在其后的操作系统中继续沿用至今。在安全领域,注册表是非常强大且常用的。

(1) 打开注册表 运行中输入“regedit”

打开如下图所示,包括五个根键,每个键值控制的内容不一样。


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

如果我们的电脑中了木马,怎么清除对应的木马呢?

第一种方法,开机自启动是植入木马常用的操作,进行查找及清除。

在运行中输入“msconfig”,可以查看开机自启动程序和服务,如下图所示,图中“计算器”就是之前另一篇文章植入的“木马”。当木马设置成开机自启动服务时,是非常可怕的一件事,参考作者前文。

  • WinRAR漏洞复现(CVE-2018-20250)及恶意软件自启动劫持
  • 木马原理详解、远程服务器IPC$漏洞及木马植入实验

如果电脑被植入木马,我们可以通过其位置找到对应的木马并清除,下图显示的是VBS木马。

如果程序未放置在开机自启动的位置,而是插入注册表中,又怎么清除呢?

第二种方法,通过注册表查找并清除木马。

通过查找注册表的内容,然后再获取键值的位置并进行清除。


第三种方法,通过网络远程连接查询和外部交互的IP地址和端口。 输入“netstat -an” 或 “netstat -o”,显示如下图所示。如果每当我们开机,它就会自动连接远程某个地址和端口,说明我们中了木马且肉鸡自动上线。

(3) 注册表结构

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

(4) 入侵中常用的注册表


二.黑客常用的DOS命令

1.ping和ipconfig等网络命令

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

inconfig:查看ip地址,比如“ipconfig /all”,包括计算机名称、IP地址、MAC地址、DNS等。

ipconfig /release:释放ip

ipconfig /renew:重新获得ip

systeminfo:查看系统信息,主要用来检测是否安装了补丁

arp -a:显示ARP缓存的命令,它可以显示电脑上所有的ARP缓存条目。ARP协议是将IP地址映射为MAC地址的协议,其在协议上使用ARP请求及ARP应答报文来实现。

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

telnet:连接远程终端。


2.关机及对话命令

color:改变cmd颜色,比如“color a”。

shutdown -s -t 180 -c “你被黑了,系统马上关机”:设置关机,如果需要取消,则输入“shutdown -a”

msg:用于系统命令弹框提示,比如输入msg administrator “hello hacker”。如果某台电脑同时被两名黑客攻击,可以通过该方法和对方交流。


3.文件及目录操作命令

dir:查看当前目录,目录“DIR”表示文件夹,其余表示文件。还包括文件大小和修改时间。

cd:切换目录。输入“cd …”表示返回上一层目录,“cd Software”表示去到当前目录,“D:”表示切换至D盘。

start www.baidu.com:打开网页

start 123.txt:打开123.txt文件,也可以使用“notepad 123.txt”。

del 123.txt:删除文件,删除之后再次打开则会提示找不到该文件。

copy con c:\abc.txt:创建abc.txt文件,并填写内容,输入“Ctrl+Z+回车”创建成功。

type abc.txt:在CMD中打开文件内容,渗透中经常使用。

md file_name:创建目录。

rd file_name:删除文件夹。

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

copy:复制文件

move:移动文件

tree:树形列出文件夹结果


4.net命令

net use k:\192.168.1.1\c :Windows渗透测试中常用命令。比如输入“net use K: \192.168.3.100\c ”,此时磁盘映射多了个C盘。

net use k:\192.168.1.1\c$ /del

增加的C盘如下图所示,并且能访问或修改相关的文件。

net start:查看开启的服务。

net start 服务名:开启服务,比如“net start telnet”、“net start schedule”。

net stop 服务名:停止服务。

net user:查看有哪些用户。调用“net user”查看计算机当前用户。

net uesr 用户名 密码 /add:建立用户。调用“net user xiao /add”添加新用户“xiao”。

net password 密码:更改系统登录密码。

net localGroup administrators 用户名 /add:把用户添加到管理员中,使其具有管理员权限,注意administrator后加s用复数。我们将“xiao”用户添加到管理员中。

net user 账户名:查看账户的属性。输入“net user xiao”,可以看到其为管理员组。

代码语言:javascript
复制
C:\Users\xxxx>net user

\\DESKTOP-xxx 的用户帐户

------------------------------------------------------------------
Administrator            DefaultAccount           Guest
WDAGUtilityAccount       xxxx
命令成功完成。

C:\Users\xiuzhang>net user xiuzhang
用户名                 xixx
全名
注释
用户的注释
国家/地区代码          000 (系统默认值)
帐户启用               Yes
帐户到期               从不

上次设置密码           ‎2020/‎2/‎3 12:28:17
密码到期               从不
密码可更改             ‎2020/‎2/‎3 12:28:17
需要密码               No
用户可以更改密码       Yes

允许的工作站           All
登录脚本
用户配置文件
主目录
上次登录               ‎2020/‎2/‎20 11:33:08

可允许的登录小时数     All

本地组成员             *Administrators
全局组成员             *None
命令成功完成。

C:\Users\xiuzhang>

-net localgroup:查看本地组。

请大家注意,“Remote Desktop Users”为远程桌面组,绕过安全狗可能会遇到该组。下图展示了将其添加到远程桌面组的代码“net localgroup “remote desktop users” xiao /add”。

net user guest /active:yes:激活guest用户。

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

服务器提权不建议大家创建用户登录,尽量避免管理员看到新增用户,可以启用guest并创建密码,再增加到管理员组或远程桌面组。相对比直接创建用户更隐蔽,最后会进行还原与痕迹清除。所以,安全防火墙和日志是非常重要的安全保护数段。

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

net share ipc :开启ipc 共享(中间无空格,但由于Markdown语法问题作者加空格)。

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

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


5.netstat命令

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

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

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

netstat -an:显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接(IP+端口)正在运作。

tasklist:查看系统进程。调用“taskkill /im cmd.exe”可以结束进程。

netsh:网络工具。常用来创建无线,比如“netsh wlan set hostednetwork mode=allow ssid=cc key=1122334455”。


6.at命令

at id号:开启已注册的某个计划任务,如下图所示,“22:51”执行该关机任务。

AT命令已启用,改用schtasks.exe。

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

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

at:查看所有的计划任务。

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

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

批处理文件是DOS命令的组合文件,写在批处理文件的命令会被逐一执行,后缀名为“.bat”。比如创建一个批处理文件“x.bat”,包含3条DOS命令。

DIR查看已经已经创建成功。

本地C盘的批处理文件“x.bat”如果被执行或加载到自启动项,则会执行该命令。

可以看到,创建的管理员用户“cr”已经存在,后续会执行关机。


三.Powershell

Powershell在安全领域也是非常重要的技能,推荐大家阅读作者两篇前文。

Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能。它引入了许多非常有用的新概念,从而进一步扩展了您在 Windows 命令提示符和 Windows Script Host 环境中获得的知识和创建的脚本。


四.总结

写到这里,这篇文章就介绍完毕,主要讲解Windows基础知识及DOS命令,包括计算机目录、注册表、计算机服务名称、常用端口及对应服务、常用黑客DOS命令、Powershell等。

  • 一.Windows基础知识 系统目录 服务 端口 注册表 系统目录 服务 端口 注册表
  • 二.黑客常用的DOS命令 ping和ipconfig等网络命令 关机及对话命令 文件及目录操作命令 net命令 netstat命 at命令
  • 三.Powershell
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 娜璋AI安全之家 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.服务
  • 服务是一种应用程序类型,它在后台运行。服务应用程序通常可以在本地和通过网络为用户提供一些功能,例如客户端/服务器应用程序、Web服务器、数据库服务器以及其他基于服务器的应用程序。如果某个服务未打开,你就不能享受对应这个服务的功能。
  • 在运行中输入“services.msc”打开服务。
  • 3.端口
  • 4.注册表
  • 二.黑客常用的DOS命令
    • 1.ping和ipconfig等网络命令
      • 2.关机及对话命令
        • 3.文件及目录操作命令
          • 4.net命令
            • 5.netstat命令
              • 6.at命令
              • 四.总结
              相关产品与服务
              网站渗透测试
              网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档