渗透(1)

前言

保完研把之前学的东西总结一遍,正好最近在上工程实训的课,借着复习一遍了,仅作为我的学习记录,没有高超的技术分享。

此系列主要是利用已有工具(脚本小子)进行攻击。

简单介绍

渗透测试就是利用学习掌握的技能通过一种模拟攻击的技术与方法,挫败目标系统的安全控制策略并获得控制访问权的安全测试方法,对网站进行渗透,发现其中的漏洞风险,并撰写报告告知客户,客户依据我们攥写的报告对漏洞和风险进行修补,防止攻击。

渗透测试的主要依据是CVE(Common Vulnerabilities and Exposures通用漏洞披露,会为漏洞命个名称,帮助用户共享数据)已经发现的安全漏洞,进行模拟黑客或入侵者的攻击,对网站应用、服务器系统和其他网络设备进行非破坏性质的攻击性测试

常见端口及漏洞

1
2
3
4
5
6
7
8
9
10
21 —— FTP,查看是否存在匿名访问;
22 —— SSH,查看是否存在弱口令;
80 —— HTTP,常见web漏洞;
443 —— openssl,心脏出血;
445 —— smb、ms08‐067、ms17‐010;
1433 —— mssql,弱口令;
1521 —— oracle,弱口令;
3389 —— win远程桌面,弱口令;
6379 —— redis未授权访问,弱口令;
8080 —— tomcat漏洞

基本流程

图片

专业术语

漏洞:硬件、软件、协议等等的可利用安全缺陷,可能被攻击者利用,对数据进行篡改,控制等

CVE: CVE 的英⽂全称是“Common Vulnerabilities & Exposures”公共漏洞披露。CVE为⼴泛认同的信息安全漏洞或者已经暴露出来的弱点给出㇐个统一的漏洞编号标准

PoC:全称“Proof of Concept”,中文“观点证明”,用于证明某种技术、漏洞或安全问题的存在。常指一段漏洞证明的代码,使得读者能够确认这个漏洞是真实存在的。
假设某个网站存在一个SQL注入漏洞,允许攻击者通过恶意输入执行数据库查询。一个POC可能是一段代码,可以在该网站的搜索框中注入恶意SQL语句,并获取敏感数据。这个POC可以证明该漏洞的存在,并帮助网站的管理员意识到需要修复这个问题。

Exp:全称“Exploit”,中文“漏洞利用”,指利用系统漏洞进行攻击的活动。EXP通常是用于利用已知漏洞的程序或脚本,以获取对目标系统的未授权访问、控制或执行特定操作的能力。PoC 是用来证明漏洞存在的,Exp 是用来利用漏洞的,两者通常不是一类,或者说,PoC 通常是无害的,Exp 通常是有害的,有了 PoC,才有 Exp。

Payload:中文“有效载荷”,指成功 exploit 之后,真正在目标系统执行的代码或指令。Payload 有很多种,它可以是 Shellcode,也可以直接是一段系统命令。同一个 Payload 可以用于多个漏洞,但每个漏洞都有其自己的 Exp,也就是说不存在通用的 Exp。

小例子:
假如你是一名侦探,此时你正在监视某人,有一天你发现他家的窗户没关好,这可能是一个漏洞,你去推了推,发现推开了,那这就是一个Poc,你验证了这个漏洞的存在。第二天你你推窗进去了,查看了机密文件,并安装了窃听器,那这一套动作做的就是一个Exp,在他家所做的事情就是不同的Payload,窃听器就是一个Payload。

总结:
“Poc”相当于侦探发现并验证了窗户未关好的漏洞。
“Exp”相当于侦探利用这个漏洞进入房间,并且查看了文件,安装了窃听器。
“Payload”可以指侦探在房间里进行的各种行动,比如查看文件或安装窃听器。

还有其他一些通俗易懂的名词,比如shell、提权、后门、木马等等不过多赘述。

价值作用

渗透测试是我接触网安以来感觉最像黑客的事情,能获得系统的权限,更改系统的内容,进行信息的获取和修改,狠狠满足了黑客梦,对于就业来说也有相关的岗位,不过安全没有小厂,全都是大厂,这也就意味着门槛高薪资高。

学得好可以去hvv做红方,23年我朋友去的时候一天1500,自从苕皮哥事件后,今年我问了问只有几百了,大不如前但相比别的事情还是很多。

有时候别太大胆了什么都测一下,不要被警察叔叔约谈了

前言

首先了解MSF,刚入门实力达不到自己写exp、payload所以就先当脚本小子,后面慢慢去熟悉其中的原理和利用细节。

MSF简介

目前最流行、最强大、最具扩展性的渗透测试平台软件基于Metasploit进行渗透测试和漏洞分析的。

框架集成了渗透测试标准 (PTES) 思想一定程度上统一了渗透测试和漏洞研究的工作环境新的攻击代码可以比较容易的加入框架开发活跃版本更新频繁(每周)早期版本基于社区力量维护,被 Rapid 7收购后打造出其商业版产品目前分化为四个版本,社区版本依然十分活跃。

Metasploit Framework(MSF)是一款开源安全漏洞检测工具,附带数千个已知的软件漏洞,并保持持续更新。Metasploit可以用来信息收集、漏洞探测、漏洞利用等渗透测试的全流程,被安全社区冠以“可以黑掉整个宇宙”之名。刚开始的Metasploit是采用Perl语言编写的,但是再后来的新版中,改成了用Ruby语言编写的了。

通俗理解就是MSF里面集成好了各种exp,可以当脚本小子直接用。

MSF分类

图片
有这几种不同的版本,在kali里面用终端的免费版就够了。

MSF模块

MSF所有的漏洞测试都是基于模块。

auxiliary

负责执行信息收集、扫描、嗅探、指纹识别、口令猜测和Dos攻击等功能的辅助模块。

辅助模块能在渗透之前得到目标系统丰富的情报信息,从而发起更具目标性的精准攻击。包括针对各种网络服务的扫描与查点、构建虚假服务收集登录密码口令破解、敏感信息嗅探、fuzz、实施网络协议欺骗等模块。

exploits

利用系统漏洞进行攻击的动作,用于利用漏洞和传递有效负载的模块。有远程漏洞利用、本地漏洞利用、权限提升漏洞利用、客户端漏洞利用、Web 应用程序漏洞利用和许多其他漏洞。metasploit框架中渗透攻击模块可以按照所利用的安全漏洞所在的位置分为主动渗透攻击与被动渗透攻击两大类。

payloads

成功exploit之后,真正在目标系统执行的代码或指令。比如反弹shell的代码。分为3种类型的payload,分别是single、stages、和stagers。
single:一个完整的payload,不需要外部库,all-in-one
stager:目标计算机内存有限,先传输一个较小的payload用于建立连接
stages:利用stager建立的连接下载后续的payloadstager与stages有多种类型,适用于不同场景,shellcode是特殊的payload,其主要用于与目标主机建立shell。
图片

1
2
#Stager/Stage Payload的格式为:
<target>/ <stage> / <stager> 如:windows/meterpreter/reverse_tcp

encoders

编码器模块主要包含各种编码工具,对payload进行编码加密,以便绕过入侵检测和过滤系统用于有效负载编码和加密的模块,例如 base64、XOR、shikata_ga_nai 等。这有助于混淆以规避防病毒或NIDS(网络入侵检测系统)、EDR(端点检测和响应)等防御。

各大厂商已经针对msf做了防御,免杀需要额外进行编码加壳。

nops

metasploit框架中的空指令模块,用来在攻击载荷中添加空指令区,以提高攻击可靠性的组件。在渗透攻击构造恶意数据缓冲区时,常常要在真正要执行的Shellcode之前添加一段空指令区, 这样当触发渗透攻击后跳转执行Shellcode时,有一个较大的安全着陆区,从而避免受到内存地址随机化、返回地址计算偏差等原因造成的Shellcode执行失败,提高渗透攻击的可靠性。

post

后期渗透模块。在取得目标系统远程控制权后,进行一系列的后渗透攻击动作,如获取敏感信息、跳板攻击,安装后门、记录键盘记录、屏幕捕获等操作。

evasion

躲避模块,用来生成免杀payload 用于规避防御的模块,例如防病毒规避、AppLocker 绕过、软件限制策略 (SRP) 绕过等。


渗透(1)
https://lan041221.github.io/1/
作者
l1nk
发布于
2024年9月2日
许可协议