Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - apuromafo CLS

#131
buscar en el foro las chinchetas, de seguro has visto tu mismo un nombre "Sentinel" son mochilas o dongle, busca a partir de esas 2 palabras en el foro (este)

comienza además viendo este
Tutoriales sobre emulación, estudio y desempacado de dongles, mochilas
En este hilo se habla sobre las posibles soluciones a cómo emular o evitar el uso de las comúnmente llamadas "mochilas" (dongle en inglés).
Enlace: https://foro.elhacker.net/ingenieria_inversa/tutoriales_sobre_emulacion_estudio_y_desempacado_de_dongles_mochilas-t328593.0.html
#132
los parches se deben hacer de forma dinámica, por otro lado muchas veces se relaciona con apis de integridad, quizas no es themida este tutorial pero te ayudará a quitarte la duda

puedes usar google traductor si no entiendes alguna palabra
Citar
Patching the Winlicense 2.0.5.0 Checksum.
by quosego/snd
------------------------------------------

Intro;
In this tut I'll try to explain how Winlicense checks if the app has been
tampered with and how to patch it.

The checking;
Winlicense his anti patching procedure only holds an simple checksum check, it 
uses imagehlp.CheckSumMappedFile to compute this checksum and then compares it
to the one stored by Winlicense and if it isn't the same it fails.

To be exactly it does the following,
-Alloc an memorybuffer to store itself from disk.
-Store the PE in this memorybuffer.
-Use GetProcaddress to obtain CheckSumMappedFile.
-Use CheckSumMappedFile to compute a checksum.
-Use some logical instructions to modify the checksum.
-Compare the checksum to the one stored at the end of the file.
-If it passes proceed, if it fails give an error.

Analysis;
If you'd breakpoint GetProcaddress and wait for quite some while sooner or later
WL will obtain the CheckSumMappedFile location. If you'd then bp this api and
return to WL code you'll end up somwhere similar to here;
(If the app is using cisc VM, risc VM has a different VM entry.)

0112A5AF           68 2C31AA09        PUSH 9AA312C
0112A5B4         ^ E9 3B7BF9FF        JMP 010C20F4

This'll of course leads you to nowhere since it's VM and studying it obfuud is
greatly annoying. However if you look at the stack and scroll up four dwords
you'll see the following;

(these are simply the arguments pushed into CheckSumMappedFile)
(http://msdn.microsoft.com/en-us/library/ms679281(VS.85).aspx)

0007FF6C              012A0000
0007FF70              000B41FC
0007FF74              0112A4D0   cisc_+_f.0112A4D0
0007FF78              0112A4D4   cisc_+_f.0112A4D4

and their meaning;

PIMAGE_NT_HEADERS CheckSumMappedFile(
  __in   PVOID BaseAddress,
  __in   DWORD FileLength,
  __out  PDWORD HeaderSum,
  __out  PDWORD CheckSum
);

The checksum is the most important (located at 0112A4D4). If you'd check out
that dword you'll find the checksum. You can, if you've patched WL, feed it here
the correct checksum. But that would include hooking the WL decrypting routines
or GetProcAddress or similar. There are easier methods.

WL does not directly compare the CheckSumMappedFile generated checksum with a
checksum it has stored, instead it does some computations before comparing the
checksum.

In my case it did the following computations, extracted from the Cisc Virtual
Machine.

ROL {checksum}, {last byte checksum}
;ROL 000B6D92,92                  = B648002D
XOR B648002D,2AC8914C               = 9C809161
ADD 9C809161,87C05B78               = 2440ECD9
XOR 2440ECD9,6D10B8E2               = 4950543B

In this case 4950543B is considered the final calculated checksum. If you now set
a memory breakpoint on access on the BaseAddress of the mapped PE (see the
CheckSumMappedFile structure) in the memory map. You'll see the VM accessing the
very last dword in the mapped file. This will if the executable is unmodified be
the same as the calculated checksum. WL will next do a compare and fail or proceed.

Patching the checksum;
So if you've modified your WL protected app you must update the checksum located in
a dword at the end of the file, however as I stated all calculations of this
checksum are done within the VM and it would be tedious to extract them everytime.

However WL stores the calculated checksum in the VM registers before comparing it
with the stored one. So to find it easily you can do the following;

- When you've returned from CheckSumMappedFile API memory bp the BaseAddress on
  access in the memory map. Press shift-f9. (It now has obtained the last dword of
  the mapped PE.)
- Follow edi in dump and look for the first dword that appears two times, this is
  the calculated checksum. In cisc VM's it should be [edi+4] and [edi+8], in risc
  VM's it should be further down with some empty dwords between it.
- Copy the calculated checksum to the end of the file (search for the old one or
  just scroll down). It'll now run again with it's new checksum.

Have fun,
q.

------------------------------------------
#133
Cita de: betocas en 24 Enero 2019, 00:30 AM
buen dia compañeros, he tratado de quitar la limitación del programa con OllyDBG, no soy experto, me podran ayudar les dejo el link del programa 
nunca reviso links ajenos, casi siempre vienen llenos de malware y mas

dime que sistema operativo usas, que estrategia estas usando, que manuales de ingenieria inversa has leido en el ultimo tiempo, en que parte estas estancado, como podria alguien de aqui ayudarte sin que pase a ser denunciable por la empresa ?


Saludos Cordiales
Apuromafo
pd:mi sugerencia en estos casos es leer el faq, y aprender, si se puede bien, si no, desistir, pero no dejar de insistir, todo puede ser derrotado si se logra entender como funciona, aveces son demo y no se puede hacer nada, pero se puede dejar mejor que el original


#134
en el ultimo tiempo hay emuladores que prometen mejor que el bluestack, como por el ejemplo NOX emulator, te lo sugiero, saludos Apuromafo
#135
Cita de: josue9243 en 20 Enero 2019, 18:28 PM
¿Cómo se parchean?, todos los check integrity de themida son iguales pero nunca encontre un tutorial o algo que explique como parchearlos.

Lo que se es que leen sections y partes de códigos etc, tengo los ADDRESS de donde estan etc, si alguien es tan amable de explicarme que retornar o hacer xD.

themida posee crc , el cual usan script , ejemplo el de LCF de tuts4you,

Lo que pasa es que themida tiene máquina virtual, en esa emulacion hay codigos que son iguales siempre y ahi cae en una parte donde compara el valor original, versus el parchado, encontrar ese lugar es como de aguja en un pajar, pero como verás, hay personas que han logrado estudiar a fondo el packer, a pesar de tan grandes protecciones.


Asi que eso , las macros, son protecciones sdk de programa, y que cada uno elige si colocarlas o no


Saludos Apuromafo

pd: en crackslatinos hay tutoriales que apuntan a inline en themida, otros tambien apuntan a desempacado manual por completo, y otros a parcharlos en runtime (mientras se ejecutan)


#136
Aquí algo para ayudar
CitarSerial válido: howyoudidit?


tutorial es de  alex_ls
Citar******************************************
      * Target: Virt by NeoN                   *
      * Release date: 26. Aug, 2007            *
      * Solution by: alex_ls                   *
      * Coded in: C++                          *
      * Difficulty: 6                          *
      * Protection: Obfuscated code       *
      * Tools: Just softice and a little brain *     
      ******************************************

-         VALID SERIAL IS "howyoudidit?"



-             I part (How I did it?)

I tried to dissasemble this crackme but the code is very obfuscated
and I had no time to work on it,
So let's set breakpoint at GetDlgItemTextA, input random serial and click "Check" button.
Let's trace it from 004016b9

.text:004016B9                 push    offset String     ; our random string
.text:004016BE                 push    100h
.text:004016C3                 push    offset word_403000;offset to VM tab
.text:004016C8                 call    CheckSerial    ;main function
.text:004016CD                 or      eax, eax          ; check for exit type
.text:004016CF                 jnz     short loc_4016E1
.text:004016D1                 push    10h             ; uType
.text:004016D3                 push    0               ; lpCaption
.text:004016D5                 push    offset aSorryWrongKeyT ; lpText
.text:004016DA                 push    0               ; hWnd
.text:004016DC                 call    MessageBoxA

The main function that realises Virtual Machine algorythm is - call CheckSerial(.text:004016C8)
Tracing this function it becomes clear that VM-algo is based on the table by the address(403000)
So I'll describe some nodes of the table:

.403190 28F3FFFFFF   - opcode:Our Key length + F3FFFFFF
.40319F 29A9010000      - opcode:If Our Key Length !=0 Jump to .4031a4
.4031a4 2600000000   - opcode:Exit

Analyzing this stuff I got the valid length of the serial:
SERIALLENGTH-0XD=0 so the length of the serial must be 0Ch, because
algo uses the end of the string - 0h.

After reversing some instructions, I've got the main table nodes (28h,2ch,29h,26h) with
the opcodes:
- 28h - adding stuff
- 2ch - substruction stuff
- 29h - checking for 0
- 26h - exit

I set the breakpoints at opcodes that processing this nodes:

opcode .401388 (node - 29h)
opcode .401457 (node - 28h)

And I've got the final string for 20 minutes!

   word1=0xb75ede4e-0x23432342-0x98304283-0x82740921;
   word2=0x46bb1982-0x34283203-0xa92e7210;
   word3=0x453ab788-0xd3a329e2-0x32232442;

where word1="howy",word2="oudi",word3="dit?"

OUR SERIAL:
      howyoudidit?

And the last message string:

         word1+=0xc0fbf1e8;
   word2+=0x0904e0b1;
   word3+=0x2ced0c10;

OUR MESSAGE:
      Pas: Virtual
   

-             II part (CONCLUSION )

OK, we have a valid serial -  howyoudidit?
So try it to check if it works!

-
I liked the VM algorythm, but the opcode table is very short.
In particular I've resolved it for 2 hours!!!
-

My greetings to all!
(В особенности Neon-у и всем хакерам из стран СНГ!)

CitarCrt2Base
//----------------------------------------------
// Crt2Base - extract text from Dino2's hlam!!!
//----------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

//----------------------
//Name: Main()
//----------------------
int main(int argc,char *argv[])
{
   char p_name[0xC];
   
   DWORD word1,word2,word3;
   
   word1=0xb75ede4e-0x23432342-0x98304283-0x82740921;
   word2=0x46bb1982-0x34283203-0xa92e7210;
   word3=0x453ab788-0xd3a329e2-0x32232442;

   strncpy(p_name+0,(char*)&word1,4);
   strncpy(p_name+4,(char*)&word2,4);
   strncpy(p_name+8,(char*)&word3,4);
   
   p_name[0xc]=0;
   printf("Serial Key is:   %s\n", p_name);
   
   word1+=0xc0fbf1e8;
   word2+=0x0904e0b1;
   word3+=0x2ced0c10;
   
   strncpy(p_name+0,(char*)&word1,4);
   strncpy(p_name+4,(char*)&word2,4);
   strncpy(p_name+8,(char*)&word3,4);
   
   p_name[0xc]=0;
   printf("Final String is: %s\n",p_name);
   
   printf("\npress any key for exit!\n");
   getchar();

   return 0;
}


#137
Seguridad / Re: Me han hackeado
16 Enero 2019, 05:49 AM
leyendo  siempre lo mas sano es intentar cambiar los correos y pedir disculpas a quienes corresponda, entiendo que aveces hay servicios buenos que nos permiten usar alias, pero aveces faltan filtros , yo apostaría que tienen comprometido a la web o al correo mismo si fuera por la sesión, pero algo me hace ruido, quizas es poquito:

Yo comenzaría cambiando del equipo de celular , no de contraseña ni nada de ello, has evidenciado todo en el equipo y validacion con celular, pero no se lee que hubieras respaldado algo del celular y reiniciarlo de fábrica... el celular se puede infectar de diferentes formas y tambien evidenciar resultados como el que comentas, si pasas por twitter y youtube, puedes evidenciar que en android hay muchas formas de infectar nuestros teléfonos y tener acceso a ellos cuando se requieran.

yo aunque parezca menos experto de todos los anteriores , primero tomaria el .doc y lo analizaría, a través de  algun analisis en virustotal o algo, para sacar alguna idea de lo que hace, casi siempre los análisis de documentos con malware deben hacerse en linux bajo plataformas con analisis de estilo forense, nunca en el host donde están afectado, casi siempre tienen macros con scripts hacia powershell y cosas raras. ejemplo https://app.any.run/

por otro lado :pensemos que tiene la cookie correcta de tu sesion, entonces pidio autorizacion para otro correo, o que importe imap por ti, ahi aun asi seria necesario no cambiar de contraseña sino de autorización, ejemplo usar pgp junto con el correo para validar la validación, o bien que alguien ha hackeado tu propio celular, entonces accede al celular y envia los mails de ahi sin drama..no me cabe duda que es una forma facil de no tener que estar cambiando de clave, tu ya tienes logueado el mail del celular.

por otro lado, nadie dice que el correo debe ser enviado de tu pc, fue enviado del mismo correo, pero puedes usar analisis de headers para verificar el origen de ello, hay herramientas publicas de apoyo


consejos de inexperto:
1) resetear de fábrica ese celular luego de respaldar los documentos importantes

2) Lograr que alguien de analisis de malware pueda verificar el .doc/zip del documento infectado ejemplo
https://app.any.run/

) lograr conversar con la plataforma o mail para cambiar de servicio (si, cambiar) hasta cuando se solucione

4) verificar que no tengas plugins adicionales al navegador que no has instalado (recuerda que podemos tener hasta sincronizado que bajen x plugins al navegador con x correo)

5) cuidar y velar el estado de seguridad de las tarjetas bancarias y transacciones.

6 )verificar tu router o donde te conectes a internet, hay muchas opciones aun

comenzar a usar firewall que te permitan ver conexiones entrantes y salientes,
verificar en el router si hay mas mac en las ip, etc


Saludos Cordiales

Apuromafo


#138
Ingeniería Inversa / Re: KeyGenME fary - v1.0
16 Enero 2019, 04:16 AM
Cita de: fary en 11 Enero 2019, 23:10 PM
Ya que esta esto resuelto, diré que la contraseña maestra es: f4RyKeY    :laugh:
;-)
#139
Softdat@CLS Scarlett
->

Objetivos:
    -Obtener una validación.
    -Crear keygen.
    -Crear tutorial.


obtener una validación
apuromafo:27p4jR2Pj-1556990277

---------------------------
Info
---------------------------
Good boy
---------------------------
Aceptar   
---------------------------

Crear Keygen
:
https://github.com/apuromafo/RCE_Lab/tree/master/SoftDat/Scarlett%20Crackme/Solucion%20Apuromafo%20Abel


Tutorial:
use x64dbg, y fui paso a paso recodeando como funcionaba, lo hice por enero del 2018 mas menos.


Saludos