文章目录:
作者的github资源:
声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。网站目前可以访问,后续应该会关闭,初学者可以试试,但切勿破坏。
一.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欺骗或钓鱼网站,后面作者会分享:
域名解析(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的文件接收信息。如果存在敏感文件,是不是就会泄露了相关信息。
显示如下图所示,可以打开描述查看具体信息。
比如虚拟机的网络服务,需要打开才能让虚拟机连接上网。
除了计算机内置的服务,我们软件也需要注册相关的服务,包括后面要讲metasploit安装后面的软件,也需要安装相关的服务。
服务决定了计算机的一些功能是否被启用,不同的服务对应的功能不同,通过计算机提供的服务可以有效地实现资源共享。常见的服务包括:
服务是可以设置“自动”(启动)、“手动”、“禁用”三种类型,后面用到时会具体讲解。
在CMD中输入 “netstat -an” 显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接(IP+端口)正在运作。
Cracer老师的安全工具包提供了各种工具,推荐大家尝试学习。
前面我们介绍过如利用Hydra工具进行Telnet远程服务器密码爆破,如下图所示,也推荐大家阅读前面作者的文章 。如果想提高爆破成功率,字典和社工(目标生日、姓名)非常重要。
(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)黑客通过端口可以干什么
注册表(Registry,繁体中文版Windows称之为登录档)是微软Windows系统中的一个重要的数据库,用于存储系统和应用程序的设置信息。早在Windows 3.0退出OLE技术的时候,注册表就已经出现。随后推出的Windows NT是第一个从系统级别广泛使用注册表的操作系统。但是,从Microsoft Windows 95开始,注册表才真正成为Windows用户经常接触的内容,并在其后的操作系统中继续沿用至今。在安全领域,注册表是非常强大且常用的。
(1) 打开注册表 运行中输入“regedit”。
打开如下图所示,包括五个根键,每个键值控制的内容不一样。
(2) 注册表的作用 注册表是Windows操作系统中的一个核心数据库,其中存放着各种参数,直接控制着Windows的启动、硬件驱动程序的装载以及一些Windows应用程序的运行,从而在整个系统中起着核心作用。这些作用包括了软硬件的相关配置和状态信息,比如注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据等,联网计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件部件的描述、状态和属性,性能记录和其他底层的系统状态信息,以及其他数据等。
如果我们的电脑中了木马,怎么清除对应的木马呢?
第一种方法,开机自启动是植入木马常用的操作,进行查找及清除。
在运行中输入“msconfig”,可以查看开机自启动程序和服务,如下图所示,图中“计算器”就是之前另一篇文章植入的“木马”。当木马设置成开机自启动服务时,是非常可怕的一件事,参考作者前文。
如果电脑被植入木马,我们可以通过其位置找到对应的木马并清除,下图显示的是VBS木马。
如果程序未放置在开机自启动的位置,而是插入注册表中,又怎么清除呢?
第二种方法,通过注册表查找并清除木马。
通过查找注册表的内容,然后再获取键值的位置并进行清除。
第三种方法,通过网络远程连接查询和外部交互的IP地址和端口。 输入“netstat -an” 或 “netstat -o”,显示如下图所示。如果每当我们开机,它就会自动连接远程某个地址和端口,说明我们中了木马且肉鸡自动上线。
(3) 注册表结构
(4) 入侵中常用的注册表
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:连接远程终端。
color:改变cmd颜色,比如“color a”。
shutdown -s -t 180 -c “你被黑了,系统马上关机”:设置关机,如果需要取消,则输入“shutdown -a”
msg:用于系统命令弹框提示,比如输入msg administrator “hello hacker”。如果某台电脑同时被两名黑客攻击,可以通过该方法和对方交流。
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:树形列出文件夹结果
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”,可以看到其为管理员组。
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盘共享。
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”。
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等。