渗透测试专业名词解释
今天主要对渗透测试中的专业名词进行解释,POC/EXP,Payload/Shellcode,后门/Webshell,木马/病毒, 反弹,回显,跳板,黑白盒测试,暴力破解,社会工程学,ATT&CK 等 。相信大家和我一样,搞不清这些专业名词的区别,所以我来整理一下。
渗透测试常用专业术语
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。
Shellcode与Shellshcok不是一个,Shellshock特指14年发现的Shellshock漏洞。
Payload模块
在Metasploit Framework 6大模块中有一个Payload模块,在该模块下有Single、Stager、Stages这三种类型,Single是一个all-in-one的Payload,不依赖其他的文件,所以它的体积会比较大,Stager主要用于当目标计算机的内存有限时,可以先传输一个较小的Stager用于建立连接,Stages指利用Stager建立的连接下载后续的Payload。Stager和Stages都有多种类型,适用于不同场景。
总结
想象自己是一个特工,你的目标是监控一个重要的人,有一天你怀疑目标家里的窗子可能没有关,于是你上前推了推,结果推开了,这是一个POC。之后你回去了,开始准备第二天的渗透计划,第二天你通过同样的漏洞渗透进了它家,仔细查看了所有的重要文件,离开时还安装了一个隐蔽的录音笔,这一天你所做的就是一个EXP,你在他家所做的就是不同的Payload,就把录音笔当作Shellcode吧!
攻击篇
攻击工具
肉鸡:所谓“肉鸡”是一种很形象的比喻,比喻那些可以被攻击者控制的电脑、手机、服务器或者其他摄像头、路由器等智能设备,用于发动网络攻击。
僵尸网络:僵尸网络 Botnet 是指采用一种或多种传播手段,将大量主机感染病毒,从而在控制者和被感染主机之间所形成的一个可一对多控制的网络。僵尸网络是一个非常形象的比喻,众多的计算机在不知不觉中如同中国古老传说中的僵尸群一样被人驱赶和指挥着,成为被攻击者执行各类恶意活动(DDOS、垃圾邮件等)利用的一种基础设施。
木马:就是那些表面上伪装成了正常的程序,但是当这些程序运行时,就会获取系统的整个控制权限。
网页木马:表面上伪装成普通的网页或是将恶意代码直接插入到正常的网页文件中,当有人访问时,网页木马就会利用对方系统或者浏览器的漏洞自动将配置好的木马服务端植入到访问者的电脑上来自动执行将受影响的客户电脑变成肉鸡或纳入僵尸网络。
Rootkit:Rootkit是攻击者用来隐藏自己的行踪和保留root(根权限,可以理解成WINDOWS下的system或者管理员权限)访问权限的工具。通常,攻击者通过远程攻击的方式获得root访问权限,或者是先使用密码猜解(破解)的方式获得对系统的普通访问权限,进入系统后,再通过对方系统存在的安全漏洞获得系统的root或system权限。然后,攻击者就会在对方的系统中安装Rootkit,以达到自己长久控制对方的目的,Rootkit功能上与木马和后门很类似,但远比它们要隐蔽。
蠕虫病毒:它是一类相对独立的恶意代码,利用了联网系统的开放性特点,通过可远程利用的漏洞自主地进行传播,受到控制终端会变成攻击的发起方,尝试感染更多的系统。蠕虫病毒的主要特性有:自我复制能力、很强的传播性、潜伏性、特定的触发性、很大的破坏性。
勒索病毒:主要以邮件、程序木马、网页挂马的形式进行传播。该病毒性质恶劣、危害极大,一旦感染将给用户带来无法估量的损失。这种病毒利用各种加密算法对文件进行加密,被感染者一般无法解密,必须拿到解密的私钥才有可能破解。
挖矿木马:一种将PC、移动设备甚至服务器变为矿机的木马,通常由挖矿团伙植入,用于挖掘比特币从而赚取利益。
攻击载荷:攻击载荷(Payload)是系统被攻陷后执行的多阶段恶意代码。通常攻击载荷附加于漏洞攻击模块之上,随漏洞攻击一起分发,并可能通过网络获取更多的组件。
嗅探器(Sniffer):就是能够捕获网络报文的设备或程序。嗅探器的正当用处在于分析网络的流量,以便找出所关心的网络中潜在的问题。
恶意软件:被设计来达到非授权控制计算机或窃取计算机数据等多种恶意行为的程序。
监听:一种能够在用户不知情的情况下,在其电脑、手机上安装后门,具备收集用户信息、监听、偷拍等功能的软件。
后门:入侵者在利用某些方法成功的控制了目标主机后,可以在对方的系统中植入特定的程序,或者是修改某些设置,用于访问、查看或者控制这台主机。
弱口令:指那些强度不够,容易被猜解的,类似123,abc这样的口令(密码)。
漏洞:漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。
远程命令执行漏洞:由于系统设计实现上存在的漏洞,攻击者可能通过发送特定的请求或数据导致在受影响的系统上执行攻击者指定的任意命令。
0day漏洞:0day漏洞最早的破解是专门针对软件的,叫做WAREZ,后来才发展到游戏,音乐,影视等其他内容的。0day中的0表示Zero,早期的0day表示在软件发行后的24小时内就出现破解版本。在网络攻防的语境下,0day漏洞指那些已经被攻击者发现掌握并开始利用,但还没有被包括受影响软件厂商在内的公众所知的漏洞,这类漏洞对攻击者来说有完全的信息优势,由于没有漏洞的对应的补丁或临时解决方案,防守方不知道如何防御,攻击者可以达成最大可能的威胁。
Nday漏洞:指已经发布官方补丁的漏洞。通常情况下,此类漏洞的防护只需更新补丁即可,但由于多种原因,导致往往存在大量设备漏洞补丁更新不及时,且漏洞利用方式已经在互联网公开,往往此类漏洞是黑客最常使用的漏洞。
挂马:就是在别人的网站文件里面放入网页木马或者是将代码潜入到对方正常的网页文件里,以使浏览者中马。
挖洞:指漏洞挖掘。
溢出:简单的解释就是程序对输入数据没有执行有效的边界检测而导致错误,后果可能是造成程序崩溃或者是执行攻击者的命令。
缓冲区溢出:攻击者向一个地址区输入这个区间存储不下的大量字符。在某些情况下,这些多余的字符可以作为“执行代码”来运行,因此足以使攻击者不受安全措施限制而获得计算机的控制权。
SQL注入:注入攻击最常见的形式,主要是指Web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在Web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询或其他操作,导致数据库信息泄露或非授权操作数据表。
注入点:即可以实行注入的地方,通常是一个涉及访问数据库的应用链接。根据注入点数据库的运行帐号的权限的不同,你所得到的权限也不同。
免杀:就是通过加壳、加密、修改特征码、加花指令等等技术来修改程序,使其逃过杀毒软件的查杀。
暴力破解:简称“爆破”。黑客对系统中账号的每一个可能的密码进行高度密集的自动搜索,从而破坏安全并获得对计算机的访问权限。
洪水攻击:是黑客比较常用的一种攻击技术,特点是实施简单,威力巨大,大多是无视防御的。从定义上说,攻击者对网络资源发送过量数据时就发生了洪水攻击,这个网络资源可以是router,switch,host,application等。洪水攻击将攻击流量比作成洪水,只要攻击流量足够大,就可以将防御手段打穿。DDoS攻击便是洪水攻击的一种。
SYN攻击:利用操作系统TCP协调设计上的问题执行的拒绝服务攻击,涉及TCP建立连接时三次握手的设计。
DoS攻击:拒绝服务攻击。攻击者通过利用漏洞或发送大量的请求导致攻击对象无法访问网络或者网站无法被访问。
DDoS:分布式DOS攻击,常见的UDP、SYN、反射放大攻击等等,就是通过许多台肉鸡一起向你发送一些网络请求信息,导致你的网络堵塞而不能正常上网。
端口扫描:端口扫描是指发送一组端口扫描消息,通过它了解到从哪里可探寻到攻击弱点,并了解其提供的计算机网络服务类型,试图以此侵入某台计算机。
反弹端口:有人发现,防火墙对于连入的连接往往会进行非常严格的过滤,但是对于连出的连接却疏于防范。于是,利用这一特性,反弹端口型软件的服务端(被控制端)会主动连接客户端(控制端),就给人“被控制端主动连接控制端的假象,让人麻痹大意。
网络钓鱼:攻击者利用欺骗性的电子邮件或伪造的Web 站点等来进行网络诈骗活动。诈骗者通常会将自己伪装成网络银行、在线零售商和信用卡公司等可信的品牌,骗取用户的私人信息或邮件账号口令。受骗者往往会泄露自己的邮箱、私人资料,如信用卡号、银行卡账户、身份证号等内容。
社会工程学:一种无需依托任何黑客软件,更注重研究人性弱点的黑客手法正在兴起,这就是社会工程学黑客技术。通俗而言是指利用人的社会学弱点实施网络攻击的一整套方法论,其攻击手法往往出乎人意料。世界第一黑客凯文·米特尼克在《反欺骗的艺术》中曾提到,人为因素才是安全的软肋。很多企业、公司在信息安全上投入大量的资金,最终导致数据泄露的原因,往往却是发生在人本身。
拿站:指得到一个网站的最高权限,即得到后台和管理员名字和密码。
提权:指得到你本没得到的权限,比如说电脑中非系统管理员就无法访问一些C盘的东西,而系统管理员就可以,通过一定的手段让普通用户提升成为管理员,让其拥有管理员的权限,这就叫提权。
横移:指攻击者入侵后,从立足点在内部网络进行拓展,搜寻控制更多的系统。
跳板:一个具有辅助作用的机器,利用这个主机作为一个间接工具,来入侵其他主机,一般和肉鸡连用。
网马:就是在网页中植入木马,当打开网页的时候就运行了木马程序。
黑页:黑客攻击成功后,在网站上留下的黑客入侵成功的页面,用于炫耀攻击成果。
Webshell:Webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做是一种网页后门,可以上传下载文件,查看数据库,执行任意程序命令等。
跨站攻击:通常简称为XSS,是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的HTML代码,从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。
中间人攻击:中间人攻击是一种“间接”的入侵攻击,这种攻击模式是通过各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,通过拦截正常的网络通信数据,并进行数据篡改和嗅探,而这台计算机就称为“中间人”。
攻击者
黑产:网络黑产,指以互联网为媒介,以网络技术为主要手段,为计算机信息系统安全和网络空间管理秩序,甚至国家安全、社会政治稳定带来潜在威胁(重大安全隐患)的非法行为。例如非法数据交易产业。
暗网:暗网是利用加密传输、P2P对等网络、多点中继混淆等,为用户提供匿名的互联网信息访问的一类技术手段,其最突出的特点就是匿名性。
黑帽黑客:以非法目的进行黑客攻击的人,通常是为了经济利益。他们进入安全网络以销毁、赎回、修改或窃取数据,或使网络无法用于授权用户。这个名字来源于这样一个历史:老式的黑白西部电影中,恶棍很容易被电影观众识别,因为他们戴着黑帽子,而“好人”则戴着白帽子。
白帽黑客:是那些用自己的黑客技术来进行合法的安全测试分析的黑客,测试网络和系统的性能来判定它们能够承受入侵的强弱程度。
红队:通常指网络攻防演练中的攻击队伍。
蓝队:通常指网络攻防演练中的防守队伍。
编辑搜图