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

访客4年前黑客资讯668

此前,我阅读了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的履行

相关文章

快递单“裸奔”APP过度索权 信息保护面临新挑战

快递单“裸奔”、APP过度索权等老问题没解决,人脸识别等带来的新问题又来了 新老问题叠加,个人信息保护面临新挑战 阅读提示 快递面单隐私泄露、APP过度索权、违规收集使用个人信息等问题仍突出,人...

Word 2013有什么新功能

  Word 2013新作用。 新护眼模式   做为Office 2013的关键部件,Word 2013的护眼模式显著对于平板而提升,以护...

怎么监控别人微信聊天不被发现(远程实时监控他人微信聊天记录)

在线接单平台QQ很多人发现,即使我们删除了微信记录,但是删除的并不是很彻底,微信缓存并没有减少,微信聊天记录到底怎么彻底删除?想知道真正删除微信聊天记录不被恢复的方法,一起往下看。 1.微信自带删...

找黑客恢复吊销驾驶证-黑客能帮忙追款吗(怎么才能找到黑客帮忙追钱

想做一个黑客应该学点什么聚师网有没有退款成功的(聚师网怎么申请退款)黑掉什么级别微信的黑客属于黑客软件监控别人手机摄像头(手机摄像头驱动软件)关于如何成为黑客的书籍黑客学的是什么(怎么学黑客技术)黑客...

窃听老婆了犯法吗_窃听老婆手机软件

窃听老婆了犯法吗_窃听老婆手机软件 俗话说得好:珍爱生命,远离赌博,这句话告诉我们,赌博是一件非常危险的事情,它不仅会害人家破人亡,还可能会让赌博者走上一条违法犯罪的道路。四川珙县,一名男子沉迷...

箱包服饰店铺取名大全(412个四个字名字)

创业公司两个字箱包衣饰店肆取名一个字箱包衣饰店肆名字大全 丁税箱包衣饰直销店肆   线、韭、砬   榅桲箱包衣饰官方店肆   律、细、浆   彩塑箱包衣饰旗舰店肆   锤、束、闪   夏装箱包衣...