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

访客5年前黑客资讯698

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

相关文章

什么一怒为红颜(有什么典故)

什么一怒为红颜(有什么典故)

“少年悬印” 无论对于东西方历史,1644年都可谓决定命运走向的一年。在英格兰,克伦威尔指挥的英国国会军在7月2日于马斯顿荒原一举击溃王军,这次转折性的胜利导致5年后英国斯图亚特王朝的查理一世走上了...

honor play3指纹识别如何设置

系统版本为EMUI10.1.0.92,荣誉Play3并沒有配置显示屏指纹验证,因此 没法开展指纹密码锁的设定,该手机上仅适用登陆密码和面部识别开启。客户能够在打开显示屏补光和抬手亮屏作用后完成迅速面部...

中国富豪移民的新闻越来越多,而且越来越受到人们的关注

这几年香港移民潮持续盛行,尤其是我国的富商,香港移民的关注度也是上涨下不来。许多 富商在开展资产的资本原始积累以后,都是会逐渐下手提前准备香港移民的事宜,因此近些年来,有关中国富豪香港移民的新闻报道愈...

商标转让怎么操作(2020年商标转让流程及所需资料)

商标转让怎么操作(2020年商标转让流程及所需资料)

国家商标局核查商标注册申请办理时,必须对商标logo开展形式审查,实审,之后商标logo必须历经基本核准公示、申请注册公示。 若一切正常,商标logo被审批为商标注册必须14个月上下...

律法(律法女娲加点)

基本LF采取4G1速度的做法~~~5G也行不过速度跟不上的G在高也是在LF和LF的战斗中基本1回合定胜负的LF这召唤兽在PK上不会活到第。 普遍力敏加点法4力1敏或者3力2敏考虑有高反击技能如果是变异...

房产知识:住房公积金卡里的钱能取出来吗

相信现在有很多的朋友们对于住房公积金卡里的钱能取出来吗都想要了解吧,那么今天小编就来给大家针对住房公积金卡里的钱能取出来吗进行一个介绍吧,希望小编介绍的内容能够为大家起到帮助哦 住房公积金账户里的钱可...