系统目录
- Windows
- Program Files
- 用户
- PerfLogs
用户(Users)
用户目录存放的是用户个人的配置文件。举一个简单的例子,每一个用户都可以为自己设置开机启动程序,这个开机启动程序的列表就可以在“用户”系统目录下查看,我用自己的Win10作为例子:
AppData应该是隐藏文件夹,记得要把它设成可视。也就是说,用户一旦登陆,被置放在这个文件夹中的程序就会自动启动,当然就包括木马病毒。
Windows
这是系统的安装目录,这个目录下,有个很重要的“System32”目录,这个目录中保存的是系统的配置文件,一般来说这里面的东西都不要乱动,举个例子,在System32\config下有一个SAM文件,这个文件就是用来保存用户的账号和密码的。
对于win10系统来说,进到这个目录,首先就需要管理员权限。其次就算你进来了,这个文件已经被锁定,在系统启动的时候他就已经被系统调动了,如果你想打开这个文件,电脑首先就会显示此文件已经被占用,具体的显示内容为“另一个程序正在使用此文件,进程无法访问”。
这是一个很有用的东西,假设现在我们需要尝试渗透一个系统的一块软件数据,那么我们首先就要登陆进这个系统,打开软件才能拷贝数据,登陆系统还不能修改密码。
这种解决方法就是,首先把SAM拷贝出来一份,然后用PE工具把他清掉,再登录系统的时候就可以不需要密码了,然后该做什么做什么,做完了以后重新进入PE,把之前我们备份的SAM再放进去。
- Windows Preinstallation Environment(Windows PE),Windows预安装环境,是带有有限服务的最小Win32子系统,基于以保护模式运行的Windows XP Professional及以上内核。它包括运行Windows安装程序及脚本、连接网络共享、自动化基本过程以及执行硬件验证所需的最小功能。
- Windows PE 不是设计为计算机上的主要操作系统,而是作为独立的预安装环境和其他安装程序和恢复技术(例如 Windows 安装程序、Windows 部署服务 (Windows DS)、系统管理服务器 (SMS) 操作系统 (OS) 部署功能包以及 Windows 恢复环境 (Windows RE))的完整组件使用的。
- Windows PE 可作为带有适当授权协议的面向客户的独立产品,它是一个集成了许多Windows技术 [包括 Windows 安装程序和 Windows 部署服务 (Windows DS)] 的组件。
- 大多数人获得的Windows PE是用Windows PE定义制作的操作系统,可简单地直接使用。Windows PE大小有时是由自定义制作决定的。
其实PE本身已经足够我们直接进入系统,但我们要知道,如果没有最终以用户的形式进入那个系统的话,我们就算找到了那个软件,那个软件本身也是不可读的,所以还是要有这种先将用户密码清除在从用户进入的过程。
还有一个重要的目录的介绍,同样是在System32下,有一个drivers驱动目录,进去以后选择etc,用文本打开其中的hosts,其中的资料主要用来解析域名。
Program Files
总是可以看见与之并列的还有一个叫做Program Files(x86)的目录,这就是最基本的,64位程序在Program Files目录下下,而32位程序安装在Program Files(x86)目录下。
PerfLogs
是日志目录,系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。系统日志包括系统日志、应用程序日志和安全日志。
如果想查看日志,参考下图。
服务
服务是一种应用程序类型,在后台运行,服务应用程序通常可以在本地和通过网络为用户提供一些功能,例如客户端/服务器应用程序,Web服务器,数据库服务器以及其他给予服务器的应用程序。
服务的类型有很多,我们在这里首先最基本要掌握的东西是,怎么打开服务,这些服务有什么作用,常见的服务有哪些。
那么首先我们思考,怎么去区分这些服务呢,大家用的都是一个IP,如果我的服务器上开了很多个服务,那怎么区分我访问的具体是哪个呢,答案就是,用端口。
大家用的IP都是一样的,那么就是靠端口了,根据端口的不同区分服务的不同,比如我的网站服务器,就只会监听80端口,客户访问xxx.xxx.xxx.xxx:80的时候,我就直接交给网站服务器来解决。
在常规情况下,1到1024所有的端口功能都是默认固定的,但是你也可以修改他们,而且一经改动立即生效,并不会影响到他们继续提供服务。
服务说到底就是监听端口,只要有人访问了特定的端口,就交给特定的服务来处理。
打开服务
最简单的方法,右键此电脑,打开“管理”,里面有一个目录叫“服务和应用程序”。(Win10)
也可以用内置的快捷键来达到目的,使用ctrl + R打开运行,输入services.msc来打开计算机管理。
服务的作用决定了计算机的一些功能是否被启用,不用的服务会提供不同的功能,通过计算机提供的服务可以有效实现资源共享。
常见的服务列举一下:
Web服务
Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。DNS服务(域名解析)
域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。DHCP服务
两台连接到互联网上的电脑相互之间通信,必须有各自的IP地址,由于IP地址资源有限,宽带接入运营商不能做到给每个报装宽带的用户都能分配一个固定的IP地址(所谓固定IP就是即使在你不上网的时候,别人也不能用这个IP地址,这个资源一直被你所独占),所以要采用DHCP方式对上网的用户进行临时的地址分配。也就是你的电脑连上网,DHCP服务器才从地址池里临时分配一个IP地址给你,每次上网分配的IP地址可能会不一样,这跟当时IP地址资源有关。当下线的时候,DHCP服务器可能就会把这个地址分配给之后上线的其他电脑。这样就可以有效节约IP地址,既保证了网络通信,又提高IP地址的使用率。
在一个使用TCP/IP协议的网络中,每一台计算机都必须至少有一个IP地址,才能与其他计算机连接通信。为了便于统一规划和管理网络中的IP地址,DHCP(Dynamic Host Configure Protocol,动态主机配置协议)应运而生了。这种网络服务有利于对校园网络中的客户机IP地址进行有效管理,而不需要一个一个手动指定IP地址。
- 邮件服务
- Telnet服务
Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。
为了测试本机与虚拟机之间互联。先要开启Telnet功能。
首先是Win10开启:
虚拟环境下的Windows2003:
因为刚刚勾选的是Telnet客户端,所以Win10作为客户端开始Telnet:
Telnet的意义其实就是在客户机上完成对服务器的操作,这种时候就直接输入你在server上的用户名和密码就可以登陆了。
顺便说一下,建立链接但长时间未登陆进去的话,链接也是会断开的。
- SSH服务
SSH服务,多用于Linux,与Telnet类似,SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
- 传统的网络服务程序,如:ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的, 就是很容易受到“中间人”(man-in-the-middle)这种方式的攻击。
- 所谓“中间人”的攻击方式, 就是“中间人”冒充真正的服务器接收你传给服务器的数据,然后再冒充你把数据传给真正的服务器。服务器和你之间的数据传送被“中间人”转手做了手脚之后,就会出现很严重的问题。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、PoP、甚至为PPP提供一个安全的"通道"
从客户端来看,SSH提供两种级别的安全验证。
首先是基于口令的安全验证,只要你知道自己的帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。
其次是基于密钥的安全验证,这需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。
用这种方式,你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。
第二种级别不仅加密所有传送的数据,而且“中间人”这种攻击方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能需要10秒。
- FTP服务
即文件传输协议(英文:File Transfer Protocol,缩写:FTP)是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。它属于网络传输协议的应用层。
TCP/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20。FTP的任务是从一台计算机将文件传送到另一台计算机,不受操作系统的限制。
需要进行远程文件传输的计算机必须安装和运行ftp客户程序。在windows操作系统的安装过程中,通常都安装了tcp/ip协议软件,其中就包含了ftp客户程序。但是该程序是字符界面而不是图形界面,这就必须以命令提示符的方式进行操作。
启动ftp客户程序工作的另一途径是使用IE浏览器。(在CMD命令行下也可以用上述方法连接,通过put命令和get命令达到上传和下载的目的,通过ls命令列出目录,除了上述方法外还可以在cmd下输入ftp回车,然后输入open IP来建立一个连接,此方法还适用于linux下连接ftp服务器)
通过IE浏览器启动ftp的方法尽管可以使用,但是速度较慢,还会将密码暴露在IE浏览器中而不安全。因此一般都安装并运行专门的ftp客户程序。
FTP程序使用基础步骤
1.在本地电脑上登陆到国际互联网
2.搜索有文件共享主机或者个人电脑(一般有专门的FTP服务器网站上公布的,上面有进入该主机或个人电脑的名称,口令和路径)。
3.当与远程主机或者对方的个人电脑建立连接后,用对方提供的用户名和口令登陆到该主机或对方的个人电脑。
4.在远程主机或对方的个人电脑登陆成功后,就可以上传你想跟别人分享的东西或者下载别人授权共享的东西(这里的东西是指能放到电脑里去又能在显示屏上看到的东西).
5.完成工作后关闭FTP下载软件,切断连接
- smb服务
这也是一个比较偏向实际操作的服务,其实理解起来很简单,我们只要共享一个文件夹,smb服务就已经打开了。
在电脑上选中一个文件夹,点击属性,打开共享,正常来说这里默认都是“不共享此文件”,我们要共享这个文件,就先将他设置成“共享此文件”。
然后在接下来,就顺便讲一讲权限的问题。
我们进入这个属性界面的安全界面,可以在里面看到用户名称,即Administrator和SYSTEM,只有这些用户才对这个文件具有完全控制权,而为了成功的共享这个文件,我们需要在权限中为他添加一个Everyone用户,这才能让其他的人可以成功对其进行访问。然后Everyone被加入我们的用户之后,方便一点先直接给一个完全控制权限。
在cmd中输入“\\xxx.xxx.xxx.xxx”来打开共享文件夹。
顺便提一下,我们创建文件用的是windows server 2003的操作系统,相比于现在的win10版本差太大,当时使用的SMB1协议现在已经过失,在这里判断这是一个不安全的协议。这个时候,我们可以回到win10操作系统的控制面板-程序-功能中找到SMB1.0文件共享支持的功能并勾选上。
在勾选中这个功能之后甚至还需要重启你的电脑,很麻烦。
重启这项功能之后我们就可以和这个虚拟机连接上了。你会发现明明已经在虚拟机中将这个共享文件的权限设置成Everyone了,为什么我在链接他的时候依然需要输入账号密码?
在之前,我们确实在用户这里添加了Everyone,但是在文件夹属性中的共享界面下,还有一个共享权限可供设置。
直到这时,这个文件夹才可以被访问者直接访问。