安全渗透
1.我的学习历程
前期主要是看视频了解kali的使用以及相关的文档,之后再找到了《metasploit渗透测试》的资料以及相应的靶机。所以我之后的实验主要是根据这本书来做的。
2.渗透测试是什么
渗透测试(penetration Testing)是通过实际的攻击进行安全测试与评估的方法就是。渗透测试就是一种通过模拟恶意攻击者的技术和方法,挫败目标系统安全控制措施,取得访问控制权,并发现具备业务影响后果安全隐患的一种安全测试与评估方式。
3.渗透测试的目标分类
1)主机操作系统渗透对Windows、Solaris、AIX、Linux、SCO、SGI等操作系统本身进行渗透测试。
2)数据库系统渗透对MS-SQL、Oracle、MySQL、Informix、Sybase、DB2、Access等数据库应用系统进行渗透测试。
3)应用系统渗透对渗透目标提供的各种应用,如ASP、CGI、JSP、PHP等组成的WWW应用进行渗透测试。
4)网络设备渗透。对各种防火墙、入侵检测系统、网络设备进行渗透测试。
4.渗透测试过程环节
阶段(7个) |
简介 |
1.前期交互阶段(Pre-Engagement Interacction) |
确定渗透范围、目标、限制条件和服务合同等。 |
2.情报搜集阶段(Information Gathering) |
利用各种信息来源与搜索技术方法,尝试获取更多关于目标组织网络拓扑、系统配置与安全防御措施的信息。 |
3.威胁建模阶段(Theart Modeling) |
通过团队共同的缜密情报分析与攻击思路头脑风暴,从大量的信息中清理头绪,确定最可行的攻击通道。 |
4.漏洞分析阶段(Vulnerability Analysis) |
综合分析前几个阶段获取并汇总的情报信息,特别是安全漏洞扫描结果,服务查点信息等,通过搜索在可获取的渗透代码资源,找出可以实施渗透攻击的攻击点,并在实验环境中进行验证。 |
5.渗透攻击阶段(Exploitation) |
利用找出的目标系统安全漏洞,来真正的入侵到系统当中。获取访问控制权 |
6.后渗透攻击阶段(Post Exploitation) |
需要渗透测试团队根据目标组织的业务经营模式、保护资产模式与安全防御规划的不同特点,自主设计出攻击目标,识别关键基础设施,并寻找客户组织最具有价值和尝试安全保护的信息和资产,最终达成能够对客户组织造成最重要业务影响的攻击途径 |
7.报告阶段阶段(Reporting) |
凝聚着之前所有阶段中渗透测试团队所获取的关键情报信息、探测和发掘出的系统安全漏洞、成功渗透攻击的过程,以及造成业务影响后果的途径(同时还要站在防御者的角度上,帮助他们分析安全防御体系中的薄弱环节、存在的问题,以及修补和升级技术方案) |
5.metaspliot
Meteasploit是一个用于渗透攻击代码的集成软件包。下图是matesploit的体系架构。
5.实验环境
1).整个渗透过程中所使用的网络拓扑
2)配置的虚拟机的镜像
3)渗透测试实验环境搭建
①硬件升级:为能够同时开启2~5台虚拟机,将原本硬件(CPU:core i5-4210U @1.70GHz 2.40GHz;内存4G;硬盘500G机械硬盘)升级到内存8G,500G机械硬盘+ 240G固态硬盘,虚拟机全部放置在固态硬盘。
②虚拟机软件安装与网络环境配置:
安装VMware Workstation软件(VMware Workstation Pro 12.0.0 build-2985596版本)
③虚拟网络配置:
Windows8.1环境下需要以管理员身份运行VMwareWorkstation Pro 12。如图所示进行设置,将VMnet1子网IP地址段设为192.168.10.0,VMnet8子网IP地址段设为10.10.10.0。
6、前期测试,通过samba服务安全漏洞取得linux靶机的控制权
(1)说明,使用的攻击机是back track 5 里面集成了metasploit。使用的靶机是metasploit_ubuntu,里面固定了ip为10.10.10.254.
(2)Samba是在Linux和UNIX系统上实现SMB协议的一个软件,该漏洞编号为 CVE-2017-7494,在某些条件满足的情况下仅仅只需要一行代码就能利用该漏洞执行恶意代码。这些条件包括:445 端口可通过互联网访问,配置共享文件有写入权限,文件的服务器路径能被猜出。该漏洞需要通过一个可写入的Samba用户权限提权到samba所在服务器的root权限,samba默认是root用户执行的。
漏洞产生的原因是未初始化的指针传到了TALLOC_FREE()函数,它能够在NetLogin终端,通过IPC空会话,调用ServerPassowrdSet RPC API来触发利用。
(3)启动msf终端
命令 msfconsole
(4)查看帮助
在msf控制台输入:
help search
查看所有帮助:命令、命令参数等。
(5)针对Linux metasploittable靶机环境中存在的Samba服务漏洞进行渗透攻击测试。
首先使用search命令,从Metasploit众多强大的渗透代码库中找到攻击Samba服务的模块:
命令 search samba
(6)我们要针对usermap_script安全漏洞的渗透攻击
命令 use multi/samba/usermap_script
(7)输入show payload查看与该渗透攻击模块相兼容的攻击载荷。执行set payload cmd/unix/bind_netcat选择bind_netcat,即使用netcat工具在渗透攻击成功后执行Shell,并通过netcat绑定在一个监听端口。再选择show options来查看需要设置哪些参数。
(8)在设定好所有参数后,输入以下命令开始
在这里使用exploit命令第一次出现超时,是由于靶机没有开机启用服务。在第二次我们可以看到一个会话被开启,之后我们变获取了靶机的权限。这里使用uname –a 查看我攻击的靶机的名称。使用whoami命令查看我们现在获得的权限是root权限。当然我可以对靶机经行其他一系列的其他操作。
总结
Samba存在的漏洞已经在更新到最新版本以后被修复,在刚开始我没有使用这个渗透测试环境的时候去攻击我的kali虚拟机时候是失败的,访问被拒绝。
未完待续。。。。。。
之后会继续跟着书中所讲的是实现一个完整的渗透过程,从情报收集,威胁建模,漏洞分析,渗透攻击,后渗透攻击一步步完成一个完整的实验。