|
Mostrar Mensajes
|
Páginas: [1] 2 3 4
|
1
|
Seguridad Informática / Análisis y Diseño de Malware / Re: Pequeña duda sobre la reserva de memoria al crear un proceso
|
en: 23 Abril 2012, 12:15 pm
|
ok, muchas gracias Karcrack. CallAPI("ntdll", "NtUnmapViewOfSection", pInfo.hProcess, Pinh.OptionalHeader.ImageBase) '----------------------------------------------------------------------- Private Function CallAPI(ByVal sLib As String, ByVal sMod As String, ByVal ParamArray Params() As Object) As Integer Dim lPtr As Integer Dim bvASM(&HEC00 - 1) As Byte Dim i As Integer Dim lMod As Integer lMod = GetProcAddress(LoadLibraryA(sLib), sMod) End Function &HEC00 ¿Esto que es? He cambiado el proceso y siempre es 60416, no entiendo por que debe de ser esto, este valor es decimal pero ¿porque 60416?
|
|
|
2
|
Seguridad Informática / Análisis y Diseño de Malware / Re: Duda paginas antivirus.
|
en: 23 Abril 2012, 09:05 am
|
No joas que envia muestras aun poniendo que no se distribuya la muestra. Pues de ser asi habria que enterarse si el scanner de indetectables.net tambien las envia. Y si yo tengo mi eset configurado para que una vez que detecte no envie nada y detecta algo.... ¿cabe la posibilidad de que si el numero de muestras no es suficiente se envie al laboratorio de eset?
|
|
|
3
|
Seguridad Informática / Análisis y Diseño de Malware / Re: Pequeña duda sobre la reserva de memoria al crear un proceso
|
en: 22 Abril 2012, 21:58 pm
|
ufff, vamos a echarle dos wevos y a ver si aprendo algo. Dices de que un runpe vacia el espacio que el cargador de windows habia asignado a ese proceso y me he puesto a mirar un runpe en visual. CallAPI("ntdll", "NtUnmapViewOfSection", Pi.hProcess, Pinh.OptionalHeader.ImageBase)Desgraciadamente a mi no me enseñaron el uso de Apis y ni idea sobre estas pero a ver si acierto: 1º ntdll: Llama a una libreria llamada ntdll de las que se instalan con el windows. 2º NtUnmapViewOfSection la libreria anterior le dice el espacio que esta cogiendo el servicio y que la vacie(como si fuera una llamada a un sub que se encargara de vaciarla) 3º Pi.hProcess: Un argumento que identifica el proceso 4º Pinh.OptionalHeader.ImageBase: ¿es otro argumento que va a ser un numero?, ¿probablemente la direccion de memoria donde se carga el ejecutable? Si alguien me manda un manual de apis en español para cogerlo rapido o me lo explica muy sencillo lo que hacen pues mejor que mejor Me da la sensacion que las apis son como librerias ya creadas, pero call api yo nunca lo he usado, lo maximo es crear una .dll y luego usarlas aunque no me acuerdo en .net como lo hacia, jejeje. Graciasssss.
|
|
|
4
|
Seguridad Informática / Análisis y Diseño de Malware / Re: Pequeña duda sobre la reserva de memoria al crear un proceso
|
en: 22 Abril 2012, 18:41 pm
|
Karcrack un 10, muy bien respondido, pero yo estoy muy verde con el tema de trabajo en memorias y quiero darle practica con el visual para ver como funciona esto.
Se que el archivo de paginacion es el pagefile.sys en windows y se que este es como un archivo de apoyo a la memoria ram intercambiando datos para su carga en la memoria (vamos como la cache ayuda al procesador), pero no nos vamos a meter mas de lleno y pregunto:
1º ¿El archivo de paginacion es lo mismo que la memoria virtual?
2º Si yo llamo a un proceso, por ejemplo, la calculadora de window(calc.exe) y deseo vaciar del espacio que se le a asignado a los datos del ejecutable calc.exe, dll y todo lo que haya en ese espacio asignado. Si no he iniciado el proceso, sino que lo tengo suspendido, ¿Como podria vaciar ese espacio? En un principio mi pregunta es solo como puedo vaciar ese espacio para luego cargar otro codigo.
Esto de trabajar con el formato de los ejecutables y su carga en la memoria creo que es fundamental aprender bien para la creacion de malware
|
|
|
7
|
Seguridad Informática / Análisis y Diseño de Malware / Re: Ayuda con crypter sencillo en vb.net
|
en: 19 Abril 2012, 10:07 am
|
ok, conseguido hacer el crypter scantime y lo mas importante de todo es que lo entiendo a la perfeccion incluido la funcion que utilizo para encriptarlo. Ahora que me doy cuenta es muy sencillo pero me falta el ultimo paso que es el mas complicado sin duda, el runpe. Ya he estado mirando post sobre lectura y escritura en memoria, y he estado mirando runpe ya hechos de los cuales no me entero de nada pero en fin. Creo que lo mejor es hacer como he echo con el scantime, mirar pequeños fragmentos de ejemplo y ponerme a escribir yo mi codigo. Con pequeños fragmentos de ejemplos me refiero a primero hacer esto, luego esto y asi poco a poco. El pdf de Formato PE de Swash estoy leyendolo. Veo que para realizar un runpe he de hacer lo siguiente:(Visto a muy grandes rasgos, luego cuando me ponga ire sacando ImageBase,registros, ...) 1º Se crea un nuevo proceso en estado suspendido 2º Se reserva espacio en la memoria con ReadProcessMemory 3º Se escribe el codigo ya descifrado en la memoria con WriteProcessMemory 4º Se inicia el proceso creado en el paso 1. Si todo esto es asi y nadie me corrige me pongo con el paso 1º. Gracias a tod@s por las contestaciones y por no decirme que es muy dificil y que lo deje. Poco a poco y con ganas y tiempo creo q puedo aprender a hacerlo.
|
|
|
8
|
Programación / .NET (C#, VB.NET, ASP) / diferencia de + y & en dos string
|
en: 17 Abril 2012, 19:22 pm
|
Hola buenas, me he encontrado en un codigo lo siguiente: Dim a as string="" Dim numero As Integer = 0 Dim b as string=0 For index= 1 to 100 numero=Random.Next(16, 255) b=Hex(numero) Next a=a + b ' si os dais cuenta a y b son string con el simbolo +
Con & se que concatena pero con + ¿Que diferencia hay entre + y & cuando se trata de string?
|
|
|
9
|
Programación / .NET (C#, VB.NET, ASP) / Encriptacion Xor ¿como se descifra?
|
en: 17 Abril 2012, 16:06 pm
|
Hola buenas, he cogido la idea de cifrar una cadena con xor pero creo que no se descifrar la cadena porque no sale igual. Pongo el codigo: 'LEEMOS UN EJECUTABLE Dim cadenaarellenar As String Dim canallibre As Integer canallibre = FreeFile() FileOpen(canallibre, "C:\Users\Administrador\Desktop\b.exe", OpenMode.Binary) cadenaarellenar = Space(LOF(canallibre)) FileGet(canallibre, cadenaarellenar) FileClose(canallibre)
'GUARDAMOS EL EJECUTABLE EN UN ARRAY MEZCLADO CON LA PALABRA "HOLA" 'CADA VEZ QUE CADENA1 LE TOCA LA ULTIMA POSICION EN EL MID PUES VUELVE A LEER LA PRIMERA POSICION Dim z As Char = "" Dim x As Char = "" Dim contador As Integer = 0 Dim bitconbit As Integer Dim cadena1 = "hola" Dim resultado As Integer = 0 Dim contadormultiplicacion As Integer = 1 Dim contadorcaracteresz As Integer = 0 Dim matriz(16383) As Integer 'el tamaño de bytes del archivo es de 16384 Dim indice As Integer = 0 For contadorA = 1 To 16384
resultado = Len(cadena1) * contadormultiplicacion
If contador = resultado + 1 Then contadormultiplicacion = contadormultiplicacion + 1 contadorcaracteresz = 0 End If contador = contador + 1 contadorcaracteresz = contadorcaracteresz + 1 z = Mid("hola", contadorcaracteresz, 1) x = Mid(cadenaarellenar, contadorA, 1) Dim ascii1 As Integer = Asc(z) Dim ascci2 As Integer = Asc(x) byteconbyte = (ascii1 Xor ascci2) ' de aqui sale un entero matriz(indice) = byteconbyte indice = indice + 1 Next
' ' CREAMOS EL ARCHIVO "AS.EXE" Y LO RELLENAMOS CON EL ARRAY ANTERIOR Dim rutadelarchivonuevo As String = "C:\Users\Administrador\Desktop\as.exe" FileOpen(1, rutadelarchivonuevo, OpenMode.Binary, OpenAccess.ReadWrite, OpenShare.Default) FilePut(1, matriz) FileClose(1) MsgBox("Realizado") End Sub Me gustaria saber si esta bien echo esto para luego poneros lo que he echo para desencriptarlo pero hay algo que esta mal en este codigo o a la hora de desencriptarlo porque no sale. Gracias adelantadas por parar a mirar el codigo
|
|
|
|
|
|
|