此前,我阅读了CyberWarDog的要挟主动出击(Threat Hunting)文章,而且还偶尔发现并仔细阅读了他的“寻觅内存中的Mimikatz”系列文章。其间,用于构建签名的 *** 好像十分简略,而且在对恶意东西的分析进程中,现已处理了寻觅进口的这一妨碍。
用于检测Mimikatz的 *** 被称为分组(Grouping),详细来讲,是获取一组特别的Artifacts,而且辨认多个特别的Artifacts一起呈现的时刻。在本文中,咱们将参阅CyberWarDog的 *** ,来讨论怎么运用Sy *** on和ELK Stack对暗码抓取神器Mimikatz进行检测与告警。
咱们假定你现已具有一个ELK Stack,而且装备了ElastAlert集成。这样,就可以在几分钟的时刻里迅速将HELK建立成功(ElastAlert后续会与其兼并)。
一初步,我以为这并不是一个完美的处理方案。其思路很简略,假设在同一个主机中,有5个DLL在1秒钟之内被连续拜访,那么就宣布告警。但是,很不巧,ElastAlert没有内置这个功用,相同Python也没有。
Sy *** on装备
我运用的Sy *** on装备是Ion-Storm Sy *** on Config,源文件坐落: https://github.com/ion-storm/sy *** on-config/blob/master/sy *** onconfig-export.xml 。默许情况下,正确的事情将会被转发。其间的第571-579行如下:
<!--Mimikatz Detection --><ImageLoadedcondition="is">C:WindowsSystem32WinSCard.dll</ImageLoaded><!--MimiKatz Detection Credit: @Cyb3rWard0g:https://cyberwardog.blogspot.com/2017/03/chronicles-of-threat-hunter-hunting-for.html--><ImageLoadedcondition="is">C:WindowsSystem32cryptdll.dll</ImageLoaded><!--MimiKatz Detection Credit: @Cyb3rWard0g:https://cyberwardog.blogspot.com/2017/03/chronicles-of-threat-hunter-hunting-for.html--><ImageLoadedcondition="is">C:WindowsSystem32hid.dll</ImageLoaded><!--MimiKatz Detection Credit: @Cyb3rWard0g:https://cyberwardog.blogspot.com/2017/03/chronicles-of-threat-hunter-hunting-for.html--><ImageLoadedcondition="is">C:WindowsSystem32samlib.dll</ImageLoaded><!--MimiKatz Detection Credit: @Cyb3rWard0g:https://cyberwardog.blogspot.com/2017/03/chronicles-of-threat-hunter-hunting-for.html--><ImageLoadedcondition="is">C:WindowsSystem32vaultcli.dll</ImageLoaded><!--MimiKatz Detection Credit: @Cyb3rWard0g:https://cyberwardog.blogspot.com/2017/03/chronicles-of-threat-hunter-hunting-for.html--><ImageLoadedcondition="is">WMINet_Utils.dll</ImageLoaded><!--MimiKatz Detection Credit: @Cyb3rWard0g:https://cyberwardog.blogspot.com/2017/03/chronicles-of-threat-hunter-hunting-
for.html--><ImageLoadedcondition="contains">Temp</ImageLoaded><!--END: Mimikatz Detection -->
最初步,咱们需求写一个脚本,来进行一些逻辑上的验证。我企图让Python东西尽或许模块化,这样咱们就可以轻松地对其他事情“分组”进行告警。
咱们即将检测的5个DLL是:
Cryptdll.dll
Hid.dll
Samlib.dll
Vaultcli.dll
Winscard.dll
在这儿,还存在误报的一种或许性,假设恰巧这些DLL在1分钟之内被正常拜访,那么相同会发生告警。
告警脚本
在运转ELK Stack的服务器上,咱们首要创立py-alert.py并修改:
sudonano /bin/py-alert.py
py-alert.py的源代码如下:
#!/usr/bin/python import sysfrom argparse import ArgumentParserimport datetimeimport requestsimport subprocessimport ostime = datetime.datetime.now().strftime("%H:%M-%y-%m-%d")def print_banner(): print('''npy-alert.py is a tool written toexpand the functionality of ElastAlert Author: Jordan Potti Twitter: @ok_bye_nown''' ) def main(): global arguments parser = ArgumentParser() parser.add_argument("-T",dest="action",required=True,help="Action Type: Send Alert (S) orData Write (D)") parser.add_argument("-a",dest="detection",required=True,help="Alert Name") parser.add_argument("-c",dest="host",required=False,help="Host to record") parser.add_argument("-S",dest="slack",required=False,help="Slack Web Hook") parser.add_argument("-t",dest="tripped",required=False,help="Number or Hosts needed toalert") if len(sys.argv) == 1: print_banner() parser.error("No 运用速率:argumentsgiven.") parser.print_usage sys.exit() arguments = parser.parse_args() outfile = '/tmp/'+arguments.detection if arguments.action == 'D': with open (outfile, "a+") asout_file: out_file.write(arguments.host+"n") if arguments.action == 'S': command = "head -50 %s | sort |uniq -c | gawk '$1>=%s{print $2}'" %(outfile,arguments.tripped) print(command) output = os.popen(command).read() if output != '': output = str(output) output = output.replace('b'','') output = output.replace('n','') out_file = open(outfile, 'w')& nbsp; out_file.write("Host: " +output) out_file.write("Alert Type:" + arguments.detection+"n") out_file.write("Time: " +time) out_file = open(outfile, 'r') webhook_url = arguments.slack slack_data ={"text":out_file.read()} slack_data = str(slack_data) slack_data ="payload="+slack_data response = requests.post( webhook_url, data=slack_data, headers={'Content-Type':'application/x-www-form-urlencoded'}) if response.status_code != 200: raise ValueError('Request toslack returned an error %s, the response is: %s' % (response.status_code,response.text)) os.remove(outfile) main()
然后,实行该Python脚本:
sudo chmod 755 /bin/py-alert.py
该脚本可以处理咱们的悉数逻辑,并担任发送Slack Notification告警告诉。凭借这些选项,咱们可以对任何事情组合进行告警。
装备告警规矩
接下来,将咱们的单个规矩添加到告警规矩目录中。
可以从GitHub获取到咱们的规矩:
git clone https://github.com/jordanpotti/ElastAlertGrouper.git
随后,将规矩文件复制到ElastAlert规矩目录中:
sudo cp ElastAlertGrouper/alert_rules/* /etc/elastalert/alert_rules/
现在,在规矩目录中就现已有了6条新规矩。当指定DLL被加载时,相应的规矩将被匹配到,随后当即宣布告警。
以下为samlib.yaml的源代码:
es_host:localhostes_port:9200name:"samlib"realert: minutes: 0index:winlogbeat-*filter:-query: wildcard: event_data.ImageLoaded:"*samlib*"type:anyalert: & &ImageFileName);nbsp; - commandcommand:["/bin/py-alert.py","-T","D","-a","Mimikatz","-c","%(computer_name)s"]
如你所见,咱们装备了典型的告警规矩选项,而且会在event_data.ImageLoaded中查询samlib。当告警被触发时,会运用如下指令调用咱们的Python脚本:
python3/bin/py-alert.py –T D –a Mimikatz –o /tmp/mimikatz –c $ComputerName
其间的参数-T用于指定脚本即将采纳的动作,因为咱们这儿仅仅将主机名写入文件,所以咱们要运用“Document”或许“D”选项。
其间的参数-a是告警类型,在这儿是Mimikatz。
其间的参数-c是从告警事情中获取的主机名。
上面的设置针对一切DLL告警事情。因而,当Mimikatz在系统中运转时,输出文件中将会有5个主机名被写入。
装备捕获Mimikatz的规矩
接下来,让咱们来看看Mimikatz的规矩:
es_host:localhostes_port:9200name:"Mimikatz"index:elastalert_statusrealert: minutes: 0type:cardinalitycardinality_field:rule_namemax_cardinality:4filter:-terms: rule_name: - winscard - cryptdll - hid - samlib - vaultcli-term: alert_sent: truetimeframe: seconds: 1alert: - commandcommand:["python3","/bin/py-alert.py","-T","S","-S","SLACKWEBHOOK","-a","Mimikatz","-t","5"]
此告警 这两种不同的 *** ,有不一样的作用。运用了别的一个索引。实际上,ElastAlert有它自己的索引,在每次告警时都会对其进行查询。因而,咱们现在可以检查这个索引,来供认5个DLL的告警是不是在1秒之内被连续触发的。这一进程只需求通过对DLL规矩进行选择就可以完结,而且它只回来那些alert_sent标志设置为true的内容,而且只在1秒之内辨认出5个效果的时分才宣布告警。
此刻,咱们需求生成一个Slack Web Hook,并运用咱们的Web钩子替换“SLACKWEBHOOK”。
其间,告警功用的完成相同是通过调用一个Python脚本:
python3/bin/py-alert.py –T S –S SLACKWEBHOOK –a Mimikatz –t 5
其间的参数-T代表要实行的操作,在这儿,咱们要实行“Send”操作。
其间的参数-S需求装备为咱们的Slack Web Hook。
其间的参数-a代表需求对哪些检测到的类型进行告警。
其间的参数-t代表次数,咱们只在输出文件中有5个或许更多特定的主机名时才会发生告警。
最终一部分是最重要的,其间的这个数字应该是咱们“分组”中的规矩数量。
检验进程
接下来,咱们运转Mimikatz:
当即收到了相关告警:
总结
有一点需求特别强调,上述内容现已在实验室的环境中进行了检验,而咱们实验室的环境中只要几个终端主机。假设需求在出产环境中进行布置,或许需求依据终端的数量进行相应的调整。
关于怎么手动布置的更深化辅导,请参阅咱们实验室的文章:https://cyberwardog.blogspot.com/2017/02/sestrComputer = "."tting-up-pentesting-i-mean-threat_98.html
假设在进程中遇到任何问题,欢迎随时通过Twitter https://twitter.com/ok_bye_now或电子邮件admin@jordanpotti.com与我联络。
咱们在本文中涉及到的脚本,并不保证必定能在一切人的环境中成功完成,需求以此为参阅进行相应的调整。我们知道,不要盲目信赖 *** 上的脚本,需求加以自行判别。
本文翻译自:jordanpotti.com
如若转载,请注明出处:jordanpotti.com
免定金黑客:看我怎么检测暗码抓取神器Mimikatz的履行
面对内核层侵犯者的规划缺陷[*]resource (/usr/src/metasploit-framework/scripts/resource/windows_listener.rc)>Ruby Code (270
bytes)W *** anFault二、技术分析看我如何检测密码抓取神器Mimikatz的执行
免定金黑客图4展示了运用这种技术的通用木马。为了劫持线程的实行,恶意软件通过调用SetThreadContext来批改政策线程的EIP寄存器(包含下一条指令的地址的寄存器)。之后,恶意软件恢复线程来实行它已写入主机进程的shellcode。从攻击者的角度来看,SIR *** 或许会出问题,因为在系统调用进程中挂起和恢复线程会导致系统溃散。为了避免这种情况,假设EIP寄存器在NTDLL.dll规划内,凌乱一点的恶意软件会稍后从头检验。2)带有Elephant Diffuser的AES-CBC研讨人员的分析标明,这份恶意文件归于Hussarini(又名Sarhust),从2014年初步,许多 *** 违法组织都在各自的APT侵犯中运用这款后门来对东盟各国实施侵犯。研讨陈说指出,在这一系列侵犯活动中,受影响更大的为菲律宾。1. 病毒发起后检查 *** 供认是否联接 *** ,假设没 *** ,则会提示退出,否则会继续实行,动态注册广播,并监听非home键广播,闪现正常界面,如图2-4:
监控SSH Agent图8 名为Feed0和Seed0的注册表向项原理分析$ iproxy 2222 22 &免定金黑客
[1][2]黑客接单网
... +0x024EntryInProgress : Ptr32 Void}58.229.184.67 / 192.168.184.67 / 10.22.184.67/ eth3(???) : 192.168.184.254
这篇文章要说明一个Windows 8.1系统中的未被修补的缝隙,这个缝隙可以容许你对作业(job object)的束缚进行逃逸。然后可以有助于开发Chrome浏览器中的沙盒逃逸运用程序,也适用于类似的其它沙盒保护机制。看我如何检测密码抓取神器Mimikatz的执行
免定金黑客max-lease-time 72;
· HelperLib.DLL00000010 38 38 3e 49 00 09 9c 3e 01 13 88>I...> ..
echo fgets($file_handle);目录免定金黑客
然后通过函数来选择不同的驱动器(分区),扫描这些驱动(C: D:,E:,F:,G: H:,I:,J:以及K:)在这些磁盘目录下搜索下列文件类型:.1、以仅限于查询的 *** 和VM operation/read/write权限翻开进程。set imap_user = "yourgmailaccount@gmail.com"看我如何检测密码抓取神器Mimikatz的执行
os.system和(’/bin/sh’,)。指令R将以上两个元素都弹出库房,并调用os.system(‘/bin/sh’),然后将实行效果(shell回来值)压入库房中。 delay(500);------无法除去
}“机制”、“体制”和“制度”都是多义词,在涉及社会生活时,它们有一个义项意思比较接近,在使用时需要注意呦!↓↓↓...
音速是介质中微弱压强扰动的流传速度,其巨细因媒质的性质和状态而异。氛围中的。 所以,340*60*60/1000=1224公里/小时 即超音速飞机每小时航行高出1224公雷舒特里。 超音速一小...
编辑导语:圆角设计在糊口中是较量常见的,在手机、网页端等等我们都能看到各类圆角设计,出格是苹果手机的软件设计都为圆角;为什么设计师喜欢用圆角?本文作者对此做出了具体的先容,我们一起来看一下。 圆角无...
春天是各种各样花草植物欣然怒放的時刻,尤其是桃花运、橘树、法国梧桐等,这时大伙儿在畅快赏析的時刻时,使其有一些群体会产生皮肤发痒、红色丘疹等皮肤过敏副作用,这让有一些易患皮肤过敏群体都产生巨大痛楚...
方式一: 应用Windows R键开启“运作”对话框,随后键入CMD进到指令提醒对话框。 进到命令窗口以后,键入:ipconfig/all 回车键就可以见到全部电脑上的详尽的IP配备...
编辑导语:本文作者为我们阐明白B2B电商平台都有哪些难点,在《B2B电商平台产物设计难点(一)》、《B2B电商平台产物设计难点(二)》之后,在这一篇文章中,作者聊了聊B2B电商平台产物设计相关的一些理...