免定金黑客:看我怎么检测暗码抓取神器Mimikatz的履行

访客4年前黑客资讯671

此前,我阅读了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-
免定金黑客:看我怎么检测暗码抓取神器Mimikatz的履行
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;
看我如何检测密码抓取神器Mimikatz的执行
· 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);

------无法除去

}
本文标题:免定金黑客:看我怎么检测暗码抓取神器Mimikatz的履行

相关文章

北京的名胜古迹有哪些?北京有哪些旅游景点?

北京的名胜古迹有哪些?北京有哪些旅游景点?

世界最大的皇家宫殿 故宫是明、清朝两代皇宫,也是世界上保存最完整、规模最大的古代皇宫建筑群。 游览故宫,除了欣赏丰富多彩的建筑艺术,更要观赏陈列于宫中的稀世珍宝。故宫博物院的文物收藏主要来源于清代...

央视曝光 伴游 内幕 白天陪玩晚上陪睡-【时宛海】

“央视曝光 伴游 内幕 白天陪玩晚上陪睡-【时宛海】” 经历过种种挫折苦难,惟愿修一颗达观的心~性别:男昵称:ipx27每一个伴游模特经纪人,他们的方向也都是非常难以寻找的,而且最主要的是如果你有...

什么牌子眼霜比较好用?2018年最好用的5款眼霜(

什么牌子眼霜比较好用?2018年最好用的5款眼霜(

现在很多朋友眼睛总是出现各种问题,特别是眼袋和黑眼圈,然后就是眼周细纹。这可是一定要重视的,眼睛一老,整个人就老了,重要的是眼睛一老,实在太难看了。我也是眼睛老的快,也不知道是怎么回事,以前倒是没觉得...

qq怎么才能秒绑手机密保(密保手机怎么秒换绑)

qq怎么才能秒绑手机密保(密保手机怎么秒换绑)

本文目录一览: 1、如何跳过验证密保修改手机 QQ无需验证密保解绑/更换密保手机方法? 2、qq怎么才能不设置密保 直接设置密保手机? 3、qq怎么绑定密保手机号 如何跳过验证密保修改手机...

提升 APP 以外的用户体验,为什么如此重要?

提升 APP 以外的用户体验,为什么如此重要?

在互联网行业,特别是移动互联网,“用户体验”是一个很火热的词。如果一款产品的用户体验很差劲,那么基本上是没有用户愿意持续使用的,也就不用谈什么用户价值和商业价值了。 01 为什么需要注意并重视APP...

在线小游戏:原谅帽大作战,更新地址

最近原谅帽稀奇火,原谅帽这个梗源自哆啦A梦的一张恶搞图,机器猫与静香寻欢,乐成给大熊戴上绿色的原谅帽。 绿都绿了,还能怎么办,固然选择原谅他。 神亚游戏出了一款同观点的创意小游戏:原谅帽大作战。...