网络安全综合实践Lab3-1(王美珍老师)
实验环境
要求
实验要求要在校园网下两人组队完成,需要调整虚拟机的网络配置
在VMware中,Edit - Virtual Network Editor中修改桥接的网卡
默认设置是Automatic,但是实际测试有点不太行,建议手动选择到对应的无线网卡
在寝室进行实验时也请选择无线网卡,在无线的校园网中进行实验,有线接入还是不太行
在靶机和攻击机的Virtual Machine Settings中,也需要将网络适配器选择到桥接模式
靶机
靶机使用老师上传的metasploitable2-linux靶机
Metasploitable download | SourceForge.net
任务要求中需要在获取shell后通过shadow文件找到用户密码的hash,然后使用hashcat进行暴力破解。为尽量降低暴力破解的难度,将注意力更多放在渗透过程上,需要手动把密码改简单一点。
用户名 | 默认密码 | 修改后 |
---|---|---|
msfadmin | msfadmin | 1234 |
root | 5678 |
队友zsd的靶机ip:10.12.170.131
修改密码命令,如果不加sudo还需要输入原密码:
sudo passwd {user_name}
攻击机
攻击机继续使用kali,从官网上获取的最新的Get Kali | Kali Linux
我的攻击机ip:10.12.169.118
以下内容均在msfconsole中完成
实验过程
扫描服务
Nmap基础复习
TCP 扫描 -sT
使用操作系统网络功能建立连接,扫描程序向目标发送 SYN数据包。如果端口开放,目标会返回 ACK 消息,然后扫描程序向目标发送 ACK 报文,成功建立连接,这就是所谓的三次握手过程。连接打开后立即终止,
容易被防火墙和 IDS 检测到。
SYN 扫描 -sS
不会与目标建立完整的连接。不使用操作系统的网络功能,而是生成原始 IP 包并监视响应报文。如果目标端口是开放的,目标会响应 ACK 消息,然后扫描程序会发送 RST 结束连接。
又称为半开扫描。这也被认为是一种隐蔽扫描技术,可以避免被一些防火墙和 IDS检测到。
UDP 扫描 -sU
一种无连接扫描技术,因此,无论目标是否收到数据包,都不会返回信息给扫描程序。如果目标端口关闭,则扫描程序会收到 ICMP 端口不可达的消息。如果没有消息,扫描器会认为端口是开放的。
由于防火墙会阻止数据包,此方法会返回错误结果,因此不会生成响应消息,扫描器会报告端口为打开状态。
操作系统识别 -O
有点奇怪,在msf中使用nmap无法正常进行扫描,但是在命令行里用nmap就可以
开放端口服务的版本检测 -sV
比上面-O参数扫出来的结果多很多应用的版本信息,这些版本信息可以用来从官网上找漏洞
利用漏洞
vsftpd_234_backdoor
举个例子,靶机上的ftp是vsftp 2.3.4
通过search工具可以查找有没有可以用的脚本
填充信息如下,默认使用了cmd/unix/interact
运行即可得到结果,但是不知道为什么每次都要运行两次才成功
unreal_ircd_3281_backdoor
由于上面那个例子被舍友用过了,这里再举个例子,看irc
用18号试试,先填充好信息
这个没有默认的payload,手动选择一个payload,我选的是5号payload/cmd/unix/reverse
然后果不其然地跑起来了,还一步到位拿到了root
破解密码
在shell中可以查看shadow文件
将密码保存在文件中,使用hashcat进行暴力破解,破解过程大约20分钟一个,结果如下
经测试可以完成登录
在登录的时候加了个参数,原因如下
SSH returns: no matching host key type found. Their offer: ssh-dss - Ask Ubuntu
metasploitable2-linux上的ssh版本有点低,使用的认证算法已经在现在的kali上被禁用了
流量分析
这里分析的是老师给出的流量包
定位攻击者
从wireshark中可以看到非常密集的红白条纹,仔细看内容为SYN与RST的TCP报文
结合上面说到的Nmap的SYN扫描,可以确定攻击机192.168.2.183正在对服务器192..168.2.222进行SYN扫描
其中返回[SYN, ACK]的端口是有服务正在运行的端口,在SYN扫描后,攻击者还进一步确定了服务器的服务版本
定位攻击方式
由于老师事先提供信息,这是她自己做的第一次实验的内容,于是可以确定会有shadow文件的查看命令
在wireshark中搜索Packet Bytes中String类型的shadow内容,得到结果如下
右键相关包,跟踪进入TCP流,“Follow” - “TCP Stream"得到以下内容,可以看到攻击机进行了
- 创建新用户 newuser并设置密码anewuser
- 将
/etc/passwd
和/etc/shadow
打包到user.tgz文件中 - 创建了hello.sh文件但是没有保存就退出了
- 查看了newuser用户下的文件
可以看到上面的报文内容是在获取shell之后的,所以获取shell应该是在上方不远处,通过最上面的tcp报文顺着往上找,可以发现有ftp登陆的过程,且用户名十分奇怪。结合上面看到的vsftp的版本,可以在指导书中找到对应的漏洞。推测是通过CVE-2011-2523漏洞进行的攻击。
结合上面SYN扫描后
获取攻击结果
上一节可以确定是将shadow内容打包到了user.tgz中,再通过同样的方式查看user.tgz在何处被下载
可以看到,user.tgz通过FTP被下载到了攻击机上
详细查看FTP连接内容,可以看到正是通过newuser进行下载的
通过顺序查找报文可以找到传输user.tgz的报文
将报文内容按照raw(原始格式)保存
解压缩后可以得到shadow和passwd文件,通过hashcat可以暴力破解密码:adminmsf