术语备忘录
推荐学习视频
一些协议
CDP协议
CDP是Cisco Discovery Protocol的缩写,它是由思科公司推出的一种私有的二层网络协议,它能够运行在大部分的思科设备上面。
通过运行CDP 协议,思科设备能够在与它们直连的设备之间分享有关操作系统软件版本,以及IP地址,硬件平台等相关信息。
术语解释
此笔记用于记录学习时遇到的一些不理解的术语。
什么是漏洞?
安全漏洞是信息系统在生命周期的各个阶段(设计、实现、运维等过程)中产生的某类问题,这些问题会对系统的安全(即机密性、完整性、可用性)产生影响。
什么是攻击?
利用网络存在的漏洞和安全缺陷对网络系统的硬件、软件及其系统中的数据进行的攻击。包括:主动攻击:篡改、伪造消息数据和拒绝服务式攻击(DDOS)等,被动攻击:流量分析、窃听等。
什么是入侵?
网络入侵(Hacking)通常是指具有熟练地便携和调试计算机程序的技巧,并使用这些技巧来获得非法或未授权的网络或文件的访问权限,入侵进入公司内部网络的行为。
后门
绕过安全控制而获取对程序或系统访问权限的方法,设置后门的主要目的是方便入侵者以后再次秘密进入或控制系统。
webshell
指以asp、php、jsp等网页文件形式存在的一种命令执行环境,也可以称其为网页后门。
0day漏洞
通常指还没有补丁的漏洞,即官方还没有发现或者官方发现了但尚未开发出安全补丁的漏洞。
exp
全称号exploit,即漏洞利用。
PoC
Proof Of Concept,即概念验证,常见于证明漏洞存在的分析报告。
渗透中 PoC、Exp、Payload 与 Shellcode 的区别
PoC,全称“Proof of Concept”,中文“概念验证”,常指一段漏洞证明的代码。
Exp,全称“Exploit”,中文“利用”,指利用系统漏洞进行攻击的动作。
Payload,中文“有效载荷”,指成功 exploit 之后,真正在目标系统执行的代码或指令。
Shellcode,简单翻译“shell 代码”,是 Payload 的一种,由于其建立正向/反向 shell 而得名。
几点注意:
PoC 是用来证明漏洞存在的,Exp 是用来利用漏洞的,两者通常不是一类,或者说,PoC 通常是无害的,Exp 通常是有害的,有了 PoC,才有 Exp。
Payload 有很多种,它可以是 Shellcode,也可以直接是一段系统命令。同一个 Payload 可以用于多个漏洞,但每个漏洞都有其自己的 Exp,也就是说不存在通用的 Exp。
Shellcode 也有很多种,包括正向的,反向的,甚至 meterpreter。
提权
提高自己在服务器中的权限,常见于入侵网站时,通过各种漏洞提升webshell权限以夺取该服务器的最高权限。
跳板
攻击者为了隐藏自己的地址,让别人无法查到自己的位置。
拖库
网站遭到入侵后,黑客窃取其数据库。
撞库
撞库是黑客通过收集互联网已泄露的用户和密码信息,生成对应的字典表,尝试批量登陆其他网站后,得到一系列可以登录的用户。(由于很多用户在不同网站使用的是相同的帐号密码,因此黑客可以通过获取用户在A网站的账户从而尝试登录B网址)
社会工程学
简称"社工",一种通过对受害者心理弱点、本能反应、好奇心、信任、贪婪等心理陷阱进行注入欺骗、伤害等危害手段取得自身利益的手法。
DDoS
DDoS(Distributed Denial of Server)分布式拒绝服务攻击, 利用合理的请求造成资源过载,导致服务不可用。分布式拒绝服务攻击,将正常请求放大了若干倍,通过若干个网络节点同时发起攻击,以达成规模效应。
APT攻击(Advanced Persistent Threat)
高级可持续威胁攻击,简称APT攻击,也称为定向威胁攻击,利用先进的攻击手段对特定对象展开持续有效的攻击活动。这种攻击活动具有极强的隐蔽性和针对性,通常会运用受感染的各种介质、供应链和社会工程学等多种手段实施先进的、持久的且有效的威胁和攻击。
水坑攻击(Watering Hole)
水坑攻击,黑客攻击方式之一,是在受害者必经之路设置了一个“水坑(陷阱)”。最常见的做法是,黑客分析攻击目标的上网活动规律,寻找攻击目标经常访问的网站的弱点,先将此网站“攻破”并植入攻击代码,一旦攻击目标访问该网站就会“中招”。
虚拟机逃逸(Escape Exploit))
指进程越过虚拟机范围,进入到宿主机的操作系统中,攻击者可以通过虚拟机逃逸感染宿主机或者在宿主机上运行恶意软件。如:病毒逃离虚拟机,对真实主机造成危害。
摆渡攻击
摆渡攻击,是一种专门针对移动存储设备,从与互联网物理隔离的内部网络中窃取文件资料的信息攻击手段。简单地说,摆渡攻击就是利用U盘、移动硬盘等存储介质作为“渡船”,达到间接从内网中秘密窃取文件资料的目的。
暴力破解(Brute Force)
是指黑客利用密码字典,使用穷举法猜解出用户口令。(更多信息请见此处)
验证码(CAPTCHA)
CAPTCHA,即是Completely Automated Public Turing Test to Tell Computers and Humans Apart (全自动区分计算机和人类的图灵测试)的简称,一般译作验证码。
XSS攻击(Cross Site Scripting)
XSS英文为Cross Site Scripting, 中文名跨站脚本攻击,是指恶意攻击者往Web页面里面插入恶意代码,当用户浏览该页之时,嵌入Web中的恶意代码就会被执行,从而达到恶意攻击者的目的。没有用CSS做简称是因为CSS早已是层叠样式表(英文全称:Cascading Style Sheets)的简称。
XSS攻击一般分为3中:反射型、存储型、Dom型。 (更多信息请见此处)
XSS攻击的危害:(1)盗取用户cookie、账号 (2)挂马 (3)蠕虫攻击
HW
国家"护网行动"的简称,网络上有"HVV,虎王行动"等防和谐代称,由国家企事业单位参加,定期组织对相关单位的网站和信息系统展开渗透测试攻防演练。(一般分红、蓝队,且贴近真实环境)。旨在检验企事业单位关键信息基础设施安全防护能力,提升网络安全应急处置队伍应对能力,完善应急处置流程和工作机制,提升安全事件应急处置综合能力水平。
SSRF
SSRF, Server-Side Request Forgery,服务端请求伪造,是一种由攻击者构造形成、由服务器端发起请求的一个漏洞。 一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。
形成原因:服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤和限制。
JSON劫持
JSON 劫持又为“ JSON Hijacking ”,最开始提出这个概念大概是在 2008 年国外有安全研究人员提到这个 JSONP 带来的风险。 其实这个问题属于 CSRF( Cross-site request forgery 跨站请求伪造)攻击范畴。 当某网站通过 JSONP 的方式来跨域(一般为子域)传递用户认证后的敏感信息时,攻击者可以构造恶意的 JSONP 调用页面,诱导被攻击者访问来达到截取用户敏感信息的目的。
漏洞原理:目标网站以JSON形式输出数据,且其中包含用户敏感信息,攻击者通过第三方站点以CSRF手段使用户浏览器请求目标站点得到包含敏感信息的JSON数据,进而劫持到该站点用户的敏感信息。
和 csrf 的区别:csrf只管发送http请求,但是json-hijack的目的是获取敏感数据。
JSONP劫持
jsonp(json with padding)是基于 JSON 格式的为处理跨域请求资源而产生的处理方案,远程调用 JSON 文件来实现数据传递。利用script元素的开放策略,网页可以得到从其他来源动态产生的json数据,因此可以用来实现跨域。
解决方法: 其实json劫持和jsonp劫持属于CSRF( Cross-site request forgery 跨站请求伪造)的攻击范畴,所以解决的方法和解决csrf的方法一样。
抵御CSRF攻击关键:在请求中放入攻击者所不能伪造的信息,并且该信息不存在于Cookie之中。
- 验证 HTTP Referer 头信息;
原因如下:
根据HTTP协议,在HTTP头中有一个字段叫Referer,它记录了该HTTP请求的来源地址。
在通常情况下,访问一个安全受限页面的请求必须来自于同一个网站。
如果果攻击者要对银行网站实施CSRF攻击,他只能在自己的网站构造请求,当用户通过攻击者的网站发送请求到银行时,该请求的Referer是指向攻击者的网站。
- 在请求中添加 csrf_token 并在后端进行验证;
- 1.在请求地址中添加token并验证
系统开发者可以在HTTP请求中以参数的形式加入一个随机产生的token,并在服务器端建立一个拦截器来验证这个token, 如果请求中没有token或者token内容不正确,则认为可能是CSRF攻击而拒绝该请求。
- 2.在HTTP头中自定义属性并验证(推荐) ``` 自定义属性的方法也是使用token并进行验证, 和前一种方法不同的是,这里并不是把token以参数的形式置于HTTP请求之中,而是把它放到HTTP头中自定义的属性里。 通过XMLHttpRequest这个类(这里是),可以一次性给所有该类请求加上csrftoken这个HTTP头属性,并把token值放入其中。 这样解决了前一种方法在请求中加入token的不便,同时,通过这个类请求的地址不会被记录到浏览器的地址栏,也不用担心token会通过Referer泄露到其他网站。
```
ref: - JSON劫持攻击汇总 - 验证HTTP Referer字段
污点分析(Taint Analysis)
污点分析是指将程序从外部获取的数据标记为污点,然后观察污点在程序执行过程中的传播,从而得到程序中的信息流等信息,里面涉及编译原理中的词法语法分析会多一些,主要被应用于恶意软件分析、攻击代码检测等软件安全性分析研究中。
反编译
反编译算是编译的逆过程,即将可执行程序转换成程序源码的过程,如果是转换成汇编语言,我们通常称为反汇编;如果是其它语言的(比如C、Java、C#等等),我们统称为反编译。
不同语言的编译过程还不一样,比如Java是通过JVM虚拟机将字节码转换成CPU认识的指令,而C是直接由编译器转换机器码供CPU执行的,因此它们的反编译过程也不一样。
RAT
RAT (Remote Administration Tool) 远程管理工具,功能类似远控。
工具科普
BeEF
1、BeEF是一款浏览器利用框架。 2、Beef用于利用XSS漏洞,它专注于客户端攻击。一旦受害者访问了与BeEf链接的XSS易受攻击的站点,攻击者上运行的BeEf服务器就会钩住目标浏览器。 3、控制浏览器后,攻击者将完全控制浏览器。攻击者可以安装或卸载插件,显示弹出窗口,重定向到恶意URL。使用此框架,您可以使受害者下载恶意软件或您的木马。 4、Kali Linux 自带有BeEf框架,有GUI界面,使用简单!
LOIC网络压力测试器
1、LOIC(Low Orbit Ion Cannon)通过向服务器发送 TCP 或 UDP 数据包,以破坏特定主机的服务,在目标站点上执行拒绝服务攻击(DOS攻击或由多个人使用的DDoS攻击)。很多黑客或黑客组织会使用LOIC工具, 来加入僵尸网络,实施网络攻击。 2、在软件界面,可以在url处输入想要测试的网站网址,也可以输入ip地址,输入完之后要点击右侧的lock on,输入的网站地址会自动填充selected target中,默认条件下,就可以进行发包攻击了。
W3AF
1、W3AF是阿根廷人Anfres Riancho所创建的一个开源项目,它是一个Web应用程序攻击和审计框架,它旨在识别和利用所有的Web应用程序漏洞。这个软件提供了图形用户界面和命令行两种安装方式。 2、W3af支持各类插件拓展,其核心及其他插件完全用Python编写。该项目有130多个插件,可以识别和利用SQL注入,跨站点脚本(XSS),远程文件包含等等。
BruteXSS
Github - 已停止维护
BruteXSS是一个非常强大和快速的跨站点脚本暴力注入。它用于暴力注入一个参数。该BruteXSS从指定的词库加载多种有效载荷进行注入并且使用指定的载荷和扫描检查这些参数很容易受到XSS漏洞。得益于非常强大的扫描功能。在执行任务时, BruteXSS是非常准确而且极少误报。BruteXSS支持POST和GET请求。
Cain工具(全名:Cain&Abel)
下载 软件名字源自圣经典故。
- Cain主要是针对Microsoft操作系统的免费口令恢复和网络嗅探测试工具,在黑客圈或渗透测试人员应用很是广泛。
- Cain可以进行网络嗅探,网络欺骗,破解加密口令、解码被打乱的口令、显示口令框、显示缓存口令和分析路由协议,甚至还可以监听内网中他人使用VOIP拨打电话。