elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Mensajes
Páginas: [1]
1  Seguridad Informática / Hacking / Ese regalo sospechoso (Evadiendo los antivirus con Veil) - PARTE II en: 2 Junio 2015, 03:56 am
Preparando el regalo para nuestra víctima

Según lo visto en la entrada anterior, gracias a Veil-Evasion ya teniamos nuestro ejecutable indetectable (si me disculpan la rima) listo. Pero tenemos un problema. Si miramos nuestro ejecutable desde Windows veremos que no luce muy confiable.

Que podemos hacer para que nuestro hermoso ejecutable sea más "confiable" e invite al usuario a hacer click??? Bueno, podemos buscarle un lindo ícono. Si recordamos, le habíamos puesto de nombre tetris.exe así que buscaremos alguna linda imagen del mítico juego (Esto de cambiar iconos es todo un arte jeje).

Además, en algún entorno Windows (vamos a trabajar desde ahí) instalaremos Res-Hacker

Qué funciones realiza esta herramienta? Bueno, veamos que dice en su web site:

"Resource HackerTM is a freeware utility to view, modify, rename, add, delete and extract resources in 32bit & 64bit Windows executables and resource files (*.res). It incorporates an internal resource script compiler and decompiler.

Viewing Resources: Cursor, Icon, Bitmap, GIF, AVI, and JPG resource images can be viewed. WAV and MIDI audio resources can be played. Menus, Dialogs, MessageTables, StringTables, Accelerators, Delphi Forms, and VersionInfo resources can be viewed as decompiled resource scripts. Menus and Dialogs can also be viewed as they would appear in a running application.

...

Modifying Resources: Resources can be modified by replacing the resource with a resource located in another file (*.ico, *.bmp, *.res etc) or by using the internal resource script compiler (for menus, dialogs etc). Dialog controls can also be visually moved and/or resized by clicking and dragging the respective dialog controls prior to recompiling with the internal compiler.

Adding Resources: Resources can be added to an application by copying them from external resource files (*.res)...."

Basicamente, podemos hacer modificaciones a los recursos de los archivos ejecutables. Entre esas modificaciones se encuentra el cambio de iconos...

Una vez que instalamos Res-Hacker comenzamos:

Luego de ejecutar la aplicación vamos a file, abrimos nuestro archivo tetris.exe y ampliamos la opción "icon"

Allí veremos, como se deben imaginar, el ícono del archivo. Para modificarlo hacemos click en Replace Resources

Luego elegimos Open file with new icon y seleccionamos el ícono de tetris que descargamos anteriormente. Guardamos y nos generará un nuevo archivo pero con el ícono que nosotros seleccionamos. Con eso, ya tenemos listo nuestro ejecutable camuflado!

Para ver el artículo completo (con las imágenes y la configuración de metasploit) ingresar a:

http://mamaquieroserpentester.blogspot.com.ar

Saludos y...

HAPPY HACKING!
2  Seguridad Informática / Hacking / Pasá tranquilo (Evadiendo los antivirus con VEIL) en: 1 Abril 2015, 01:52 am

HERRAMIENTA: VEIL-EVASION

Hola otra vez. En esta entrada veremos como bypassear los antivirus utilizando esta magnífica herramienta.

Como ya sabemos, el uso de la ingeniería social es una de las formas mas sencillas de lograr que una persona ejecute un programa malicioso. Pero el trabajo no termina ahí, es necesario que "disfracemos" de la mejor manera posible nuestro programa para que no salten las alarmas de los antivirus, sino toda nuestra tarea previa no serviría de nada. En esta tarea nos asistirá, Veil Evasion.

VEIL-EVASION forma parte de VEIL-FRAMEWORK y nos permite generar ejecutables cargados con payloads. Pero esa no es su principal virtud, su fuerza reside en que el ejecutable generado será practicamente indetectable por la mayoría de los antivirus.

Instalación de Veil en Kali

Para instalar Veil utilizamos el comando: 

apt-get install veil

Una vez instalado buscamos la carpeta que contiene el archivo setup.sh:

cd /usr/share/veil-evasion/setup/

Lo ejecutamos haciendo:

./setup.sh

Al ejecutar este comando veremos que nos pedirá instalar el interprete de Python junto con Pywin y Pycrypto (ya se deben estar imaginando porque todo esto). Esto es, porque Veil utiliza cifrados para los archivos, haciendo que los antivirus lo vean como una aplicación "normal" dado que no lo reconoce entre sus firmas.

Ejecutando Veil

Para ejecutar Veil utilizamos el comando:

veil-evasion

Tenemos para elegir entre varios payloads. Con el comando list podemos verlos

Seleccionamos un payload con el comando use seguido del número de payload correspondiente.

En este caso utilizaré python/shellcode_inject/aes_encrypt

Luego debemos elegir como queremos que se genere nuestro payload. Debemos settear con Yes todo lo que deseemos incorporarle. En mi caso seleccionaré que además utilice pyherion encrypter (podemos ver de que se trata aquí). Luego usamos generate.


Nos dá a elegir siqueremos utilizar msfvenom o si queremos pasarle una shellcode, en este caso utilizaré msfvenom.

Configuramos nuestro payload.


Luego elegimos un nombre para el archivo (siempre la termina ligando el tetris) y el método con el que crear el ejecutable:


Y listo! Ya tenemos nuestro ejecutable en /root/veil-output/compiled/ (en la imagen aparece tetris1.exe dado que ya tenía otro ejecutable con el mismo nombre) preparado para enviar a la víctima.

Así como lo recomienda Veil, yo también recomiendo que no suban el ejecutable a ninguna página que compruebe si tiene malware dado que estos sitios guardan los archivos y los analizan reportándolos a las compañías de antivirus.

Eso es todo por ahora, diviértanse con Veil un rato! En la próxima entrada estaremos enviando nuestro ejecutable a la vícitma y ganando (espero) alguna que otra shell jeje.

Pueden ver el tutorial completo con imágenes en:

http://mamaquieroserpentester.blogspot.com.ar/2015/03/pasa-tranquilo-evadiendo-los-antivirus.html

Saludos!


3  Programación / Scripting / Creando nuestro port Scanner en python! en: 28 Febrero 2015, 17:08 pm
Hola nuevamente. En esta entrada me gustaría mostrarles como crear un scanner de puertos sencillo. Como reza el título, lo haré en Python. El código se encuentra en el libro "Violent Python" , igualmente (para el que no quiera bajarse el PDF) colocaré el enlace al script al final del artículo. Para que se entienda el funcionamiento, voy a mostrar el script por porciones e iré explicando que acciones va realizando.

Para este script usaremos las librerias "optparse" y "socket"

optparse: Nos sirve para parsear opciones de línea de comando (quizás ahora suene extraño pero ya comprenderemos su funcionamiento al utilizarlo).

Código:
Warning! ---> Deprecated since version 2.7: The optparse module is deprecated and will not be developed further; development will continue with the argparsemodule. (no importa, sirve a nuestros fines jeje)

socket: Esta librería, como se imaginarán, nos permite manejar los sockets; ponerlos a la escucha, recibir, enviar,data etc.


Descripción aquí ---> http://docs.Python.org/library/socket.html

En la descripción veremos todas las funciones que posee esta librería. Las que nos interesan para nuestro port scanner son las siguientes:


Citar
socket.gethostbyname(hostname) – This function takes a hostname such
as www.google.com and returns an IPv4 address format such as
69.163.177.2.

socket.gethostbyaddr(ip address) – This function takes an IPv4 address
and returns a triple containing the hostname, alternative list of
host names, and a list of IPv4/v6 addresses for the same interface
on the host.

socket.socket([family[, type[, proto]]]) – This function creates an
instance of a new socket given the family. Options for the socket
family are AF_INET, AF_INET6, or AF_UNIX. Additionally, the socket
can be specified as SOCK_STREAM for a TCP socket or SOCK_DGRAM for
a UDP socket. Finally, the protocol number is usually zero and is
omitted in most cases.

socket.create_connection(address[, timeout[, source_address]]) – This
function takes a 2-tuple (host, port) and returns an instance of a
network socket. Additionally, it has the option of taking a timeout
and source address.

Comenzamos..

Como mencionamos arriba, utilizaremos las librerias optparse y socket, así que a darle al import:

Código
  1. import optparse
  2. import   socket
  3. from socket import *
  4.  
  5. Luego,  definimos la función que se conectará al host:
  6.  
  7. def connScan(tgtHost, tgtPort):   #definimos la función y le pasamos los parámetros
  8.    try:
  9.         connSkt = socket(AF_INET, SOCK_STREAM) '''definimos la familia de socket e indicamos que es un socket TCP'''
  10.  
  11.         connSkt.connect((tgtHost, tgtPort)) #Nos conectamos al host y puerto elegidos
  12.         connSkt.send('Hi') #Enviamos algo al destino
  13.         results = connSkt.recv(100) #Guardamos la respuesta
  14.         print '[+]%d/tcp open'% tgtPort
  15.         print '[+] ' + str(results) #Mostramos los resultados
  16.         connSkt.close()
  17.    except:
  18.         print '[-]%d/tcp closed'% tgtPort    '''si nos devuelve un error, mostramos en pantalla que el puerto esta cerrado'''
  19.  
  20.  
  21. def portScan(tgtHost, tgtPort):  #definimos la función que escaneará el puerto
  22.   try:
  23.         tgtIP = gethostbyname(tgtHost) '''utilizamos la función gethostbyname para resolver el host'''
  24.   except:
  25.         print "[-] Cannot resolve '%s': Unknown host"%tgtHost
  26.         return
  27.   try:
  28.      tgtName = gethostbyaddr(tgtIP) #Resolvemos el hostname pasandole la ip
  29.      print '\n[+] Scan Results for: ' + tgtName[0] #Mostramos el hostname resuelto
  30.   except:
  31.      print '\n[+] Scan Results for: ' + tgtIP
  32.      setdefaulttimeout(1)
  33.   print 'Scanning port ' + str(tgtPort)
  34.   connScan(tgtHost, int(tgtPort)) '''Llamamos a la función que se conectará para traernos el resultado open/close y luego, si está abierto el puerto realizará el banner grabbing'''
  35.  
  36. Definimos la función principal:
  37.  
  38. def main():
  39.  
  40. '''Acá esta lo que comentaba mas arriba, gracias a optparse podemos manejar mucho mejor las lineas de comando a la hora de solicitar al usuario que ingrese datos. Nos permite mostrar opciones cuando el usuario no ingresa una opción (valga la redundancia cíclica jeje) o utiliza el comando help'''
  41.  
  42. parser = optparse.OptionParser('usage %prog -H ' +  '<target host> -p <target port>')
  43. parser.add_option('-H' , dest='tgtHost', type='string' ,  help='specify target host')
  44. parser.add_option('-p' , dest='tgtPort', type='int' ,  help='specify target port')
  45.  
  46. (options, args) = parser.parse_args()
  47. tgtHost=options.tgtHost
  48. tgtPort=options.tgtPort
  49. if (tgtHost == None) | (tgtPort==None): '''Si uno de los dos parámetros no está hacemos que vuelva a ejecutarse el script (con exit(0)), mostrando el mensaje de opciones que deben ingresarse'''
  50.      print parser.usage
  51.               exit(0)
  52.        portScan(tgtHost, tgtPort)
  53.  
  54. main()
  55.  
Espero que sea de utilidad.

Pueden ver mas en:

http://mamaquieroserpentester.blogspot.com.ar/2015/02/armando-un-port-scanner-en-python.html

Mod: al publicar posts usa las etiquetas adecuadas (code, quote, GeSHi, etc) y publicalo en la sección correcta, esto es scripting
4  Foros Generales / Foro Libre / Mi blog sobre Pentesting y Ethical Hacking! en: 10 Febrero 2015, 13:55 pm
Hola amigos de elhacker, este es mi primer post y quiero compartir con ustedes el enlace a mi blog dedicado al pentesting y ethical hacking:

http://xxxxxxxxxxxxxxxx.blogspot.com.ar/

Espero que les sea de utilidad!


Saludos y happy hacking!

[MOD] Post editado. se considera SPAM. Si quieres promocionar tu Blog, puedes hacerlo en tu firma.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines