怎样运用Keying Payloads停止渗入渗出测试 | 申博官网
登录
  • 欢迎进入申博官网!
  • 如果您觉得申博官网对你有帮助,那么赶紧使用Ctrl+D 收藏申博官网并分享出去吧
  • 这里是申博官方网!
  • 申博官网是菲律宾sunbet官网品牌平台!
  • 申博开户专业品牌平台!

怎样运用Keying Payloads停止渗入渗出测试

弁言

我一直是Ebowla项目的忠厚粉丝,经由过程该项目,我发明无论是在规范渗入渗出测试照样在红队的运作过程当中,能够或许主动天生密钥的Payload都是异常有价值的。应用情况密钥不只有助于完成沙箱逃逸、增添终端安全产品的检测难度,同时还能够或许下降事宜响应的反应速度。现实上,能够或许同时对上述一切的防御步伐产生影响的手艺是异常少见的。

我一般应用剧本言语(如PowerShell/VBS/JS)作为垂纶的初始实行向量,或用于完成持久性接见。我曾沉迷于GoGreen,由于它连系了情况密钥功用,能够经由过程该功用为剧本言语供应珍爱。在这篇文章中,我们不只会为读者引见密钥天生手艺的优缺点,还会演示怎样经由过程整合其他密钥生产手艺来进一步革新payload。

之前的事情

如上所述,Ebowla不只是具有密钥天生功用的payload,同时也是Josh Pitt在研讨这项手艺过程当中的重大成果。在继承阅读本文之前,请读者起首查阅Josh Pitt供应的幻灯片和他演讲资料,由于这些资料是明白本文的基本。

别的,也能够阅读@Killswitch_GUI引荐的关于HTTP密钥手艺的文章。

情况密钥综述

起首,为何情况密钥功用云云壮大?站在更高的层面来看,是由于该手艺能够或许用预期存在于目的机械上的一系列变量作为密钥来加密“歹意payload”(比方CACTUSTORCH)。这些变量能够是你希冀的文件途径,或许你以为Photoshop能够装置在“C:Program files 86AdobePhotoshop CS6”。 或许,这些密钥也能够是预期的用户名、体系架构和域名:“jdoeamd64contoso.com”。

现实上,在末级payload中并没有包罗这些变量的值,也就是说,payload中不会含有响应的解密密钥。抵达目的体系后,它会搜刮体系上的一切文件途径,接见情况变量,然后实验将二者连系起来作为密钥来解密末级payload,若是解密胜利的话,就会实行末级payload。再次重申,若是还没搞清楚的话,或许想相识更多信息,请参阅后面引荐的阅读资料。

基于GoGreen的情况密钥手艺

GoGreen采用了Ebowla的很多功用,并将其应用于PowerShell(v2 +)、JScript或VBScript。
为了完成情况密钥手艺,payload会从一个肇端目次(如C:Program Files)最先爬取/遍历目次树,并将找到的文件途径悉数收集起来。接下来,它会读取代码中指定的一切情况变量(能够经由过程设置装备摆设文件指定),并建立一切能够的组合(而不是分列)。然后实行以下步调:

1.  轮回遍历一切文件途径

2.  关于每一个文件途径,轮回遍历情况变量的每一个组合

3.  应用以下体式格局构建密钥:sha512([文件途径] [情况变量组合])

4.  将下面的sha512哈希值的前32个字符作为密钥,实验是不是能够或许准确解密

5.  若是失足,或(解密后的)sha512与payload哈希值不一致,则实验下一个密钥 

下面展现的是GoGreen的示例设置装备摆设文件。依据这个设置装备摆设,它会从C:Program Files (x86)处最先爬取文件途径,(这里斟酌到机能题目)深度设为两层目次。现实的密钥是PathKey,以是终究可否在目的机械上盘算出准确的密钥,关键是看目的机械下面是不是装置了Office。另外,该设置装备摆设固然包孕了依据列出的5个情况变量天生一切能够的组合,然则现实上仅应用了3个。

{
"Language": "jscript",
"WSHAutoVersion": "Yes",
"StartDir": "C:Program Files (x86)",
"Depth": "2",
"PathKey": "C:Program Files (x86)Microsoft Officeroot",
"EnvVars": {
"USERNAME": "jdoe",
"COMPUTERNAME": "win7pc35",
"USERDNSDOMAIN": "contoso",
"PROCESSOR_ARCHITECTURE": "",
"LOGONSERVER": ""
},
"Payload": "",
"PayloadPath": "/tmp/CACTUSTORCH.js",
"MinusBytes": "3"
}

应用情况密钥手艺时须要考量的要素

如你所见,设置装备摆设文件中的爬取深度只设置了2层。如许做的优点是,能够尽快收集一切的文件途径以进入实验解密环节;然则,若是你基础不设定深度的话,它会间接抓取肇端目次下的一切文件夹和文件,如许一来,能够的途径组合就会更少。固然,在现实布置的时刻,你必需斟酌并明白本身的需求。须要注重的是,情况变量和文件/文件夹途径越多,须要消费的时候就会越长,同时,CPU的应用率也会激增。 

GoGreen的局限性

情况密钥手艺与剧本言语一同应用时,其不足之处在于一旦情况密钥或目的体系被辨认,就很轻易解密并找到末级payload。明显,由于剧本言语是明文的(而不是编译的二进制文件),以是很轻易经由过程修正GoGreen的输入来找到末级payload。

举例来讲,假定在我的情况中发明了一个活泼的垂纶进击。经由一番勤奋后,我失掉了payload,即HTA。在检察源代码以后,发明它正试图应用情况变量作为密钥完成解密,以是,我应用“eval”做了一个符号:  

怎样运用Keying Payloads停止渗入渗出测试 怎样运用Keying Payloads停止渗入渗出测试

———————————————-

申博|网络安全巴士站【www.bus123.net】

申博|网络安全巴士站是一个专注于网络安全、系统安全、互联网安全、信息安全,全新视界的互联网安全新媒体。。

———————————————-

摘自GoGreen JScript输入,这里突出了显现“eval”语句

若是存在这些变量的话,就会针对解密后的payload实行”eval”语句。我们也能够编纂HTA中的JScript代码,用Wscript.Echo替代“eval”,并将其写入新的.js文件。最初,我们能够经由过程多种手段让这个剧本在一切目的终端用户机械上实行。若是预期的情况变量存在,这个剧本就会将末级payload输入到屏幕上。然后,我就失掉shellcode或C2服务器地点了。 

这类手艺在绕过沙箱检测或终端安全产品方面,异常有价值,而且它还能影响事宜响应速度。固然,若是应用Ebowla编译的二进制文件的话结果会更好,不外如许一来,这里就必需起首逆向二进制文件,然后应用准确的情况值对payload停止静态剖析。 

固然,作为一位职业渗入渗出测试职员,若是蓝队的冤家在响应这类payload方面有分歧的想法主意或要领的话,请告诉我一声!

经由过程HTTP密钥手艺强化GoGreen

在我想法让本身的payload给事宜响应者制作更大的难题的时刻,想起了一篇关于HTTP密钥手艺的博客文章。我注重到,在Veil 3.0中曾经不再供应这类payload范例的Veil,然则,你依然能够在不供应支撑的Veil-Evasion版本中应用它。 

HTTP密钥是如许一种手艺,您能够在互联网上的某个中央托管一个网页,然后,payload会跟这个网页停止交互,盘算HTML响应的哈希值,并将该哈希值用作解密payload的密钥。如许做的优点是,您能够完整掌握这个解密密钥,而且能够将其删除,由于只需您情愿的话,能够随时变动页面的内容。下面是这个简朴的例子,经由过程它们您会发明这类手艺到底有何等壮大:

建立一个网页,设置HTTP密钥,然后变动其内容。让payload继承搜检并实验解密。守候几个小时后,将网页切换回本来的内容,如许payload就可以解密和实行您的低层payload了。

这只是一个能够进一步扩大的例子。 我们来看看GoGreen的事情道理。 我决议让GoGreen起首设置HTTP密钥手艺代码,然后应用情况密钥手艺隐藏HTTP密钥手艺代码。具体步调以下: 

GoGreen应用情况密钥(目次/情况变量)来解密和实行代码
解密的代码将处置惩罚HTTP密钥
新实行的代码将接见HttpKeyUrl对应的页面并盘算该页面的哈希值
新实行的代码将应用这个哈希值来解密并实行payload

怎样运用Keying Payloads停止渗入渗出测试 怎样运用Keying Payloads停止渗入渗出测试

GoGreen流程图 

如许做的优点是,乍一看payload是经由过程情况变量作为密钥来实行解密的,基础没有启动HTTP挪用。关于PowerShell来讲,这意味着这里没有应用“Net.WebClient”。

斟酌到文本的哈希盘算和加密操纵的反作用、分歧字符集和其他要素(如分歧言语),GoGreen会输入一个“tester”文件,用于考证HTTP密钥的设置是不是准确。为了制止这些贫苦,发起应用一个简朴的网页。即使是规范的Microsoft 403页面也行,如许更易于应用。 

综合应用

下面,我们解说怎样综合应用下面的学问。假定我们曾经为情况密钥设置装备摆设了:Office文件夹途径,和预期目的用户名“username”。另外,还经由过程设置装备摆设文件让其抓取给定URL处的HTTP密钥,并在摒弃和加入之前重试300次。关于GoGreen的更多信息,请参阅GitHub页面上的自述文件。 关于那些不想装置Golang的用户,也供应了Windows、Linux和Mac的二进制版本。 

怎样运用Keying Payloads停止渗入渗出测试 怎样运用Keying Payloads停止渗入渗出测试

GoGreen示例设置装备摆设和实行情况

GoGreen将天生所需的一切密钥和代码,同时还将接见设置装备摆设中供应的站点并肯定HTTP密钥。 若是您情愿的话,也能够应用GoGreen -httpkey <HttpKey>来指定一个自定义密钥。最初将输入payload文件和一个HTTP密钥“tester”文件。 我发起应用HTTP密钥页面来运转tester文件,以确保payload花样天生相反的密钥。 

怎样运用Keying Payloads停止渗入渗出测试 怎样运用Keying Payloads停止渗入渗出测试

运转HTTP密钥tester文件以确保密钥/哈希算法能够或许一般事情。

payload文件如今预备好了,接下来就可以够或许布置到您的目的机械下面了! 

总结

我以为带有密钥天生功用的payload对更有利于主动性防御运动。若是应用剧本言语来取得持久性的话,那末很轻易被蓝队发明,以是这类体式格局风险很大。
固然这些密钥天生手艺并不是没法辨认,但它们无疑延长了您停留在收集中的时候,同时也为您的进击运动和对象供应了响应的珍爱。另一方面,关于蓝队来讲,这也意味着须要进修一些新东西,以便做好越发充足的预备。
支撑密钥天生手艺的payload是纵深入侵的一个新的存眷核心,若是与业内盛行的殽杂手艺搭配应用的话,红队的基本设施就会变得越发刁悍。

本文翻译自:https://adapt-and-attack.com/2017/11/15/keying-payloads-for-scripting-languages/ ,如若转载,请说明原文地点: http://www.4hou.com/penetration/8589.html


申博|网络安全巴士站声明:该文看法仅代表作者自己,与本平台无关。版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明怎样运用Keying Payloads停止渗入渗出测试
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址