Mostrando entradas con la etiqueta script. Mostrar todas las entradas
Mostrando entradas con la etiqueta script. Mostrar todas las entradas

Python.- Ayudando con el fingerprinting

Hace un par de días me puse a repasar Google/Bing Hacking para ver si habían actualizado algo y porque lo tenia medio olvidado y necesitaba darle caña. 

Bueno, la verdad es que en medio de todas las pruebas con diferentes buscadores me harté. Porque esta bien si estas haciendo pruebas ir escribiendo la misma búsqueda en cada buscador pero cuando llevas unas cinco búsquedas cansa. Así que escribí un cutre-script en Python para hacer la búsqueda automáticamente a cuantos buscadores quisiera.  Lo podéis ver en el blog [StateX]

Pero al final no me gustó como quedó y empece a añadirle algunas cosas, ha hacer mas legible el código y al final esta mañana he decidido añadirle una GUI. Cutre si, pero una GUI 


Espero que os guste, ha sido una chorrada para aprender pero me lo he pasado genial con ella y ademas es útil. 

Os dejo mi GitHub por si le quereis dar un ojo al script: 
Sed Buenos ;) 

Python like a Newbie.- Metiendo la mano en lo Forense

Hace unas semanas que prometí meter las zarpas al ámbito forense y mezclarlo con Python. La ida es crear un script que, preservando el grado de volatilidad de los datos detallado en el RF 3227, me permita crear una lista con el hardware de la maquina, directorios concretos, un pantallazo del escritorio tal cual esté y ese tipo de cosas que pueden facilitarle el día a un Forense.


Bueno, ante de presentaros el script solo deciros que lo iré mejorando en este blog en futuras entradas y que no estará subido a GitHub hasta que no esté mucho mas completo y presentable. Pero, si que agradecería toda la colaboración posible ^^ 

Librerias que utilizadas: 

Aquí tenéis el código por si lo queréis probar. (Of course, está en Python 2.7 ya que muchas librerías solo tiran en esta versión. Puede que me piense su potabilidad a la 3.X mas adelante. No lo descarto)


#!/usr/bin/env python
# -*- coding: utf-8 -*-

import time
import os
import platform
from PIL import ImageGrab


def guardar(algo, algomas = "<-- Info del sistema"):
     d3 = open('InformacionUtil.doc', 'a+')
     d4 = str(algo + algomas)
     d3.writelines(d4 + """

""")
     d3.close()

print "Analizando el sistema"
d0 =  platform.uname()
da =  str(d0)
guardar(da)
print "Datos guardados"
print ""
print "Indica las rutas y tipos de archivos que prefieres (empezar por c:/users y Tipo de archivo en blanco. Para guardar todos los directorios.)"
d1 = raw_input("Ruta: ")
d2 = raw_input("Tipo de archivo: ")
for root, dirs, files in os.walk(d1):
     for item in files:
         if item.endswith(d2):
             guardar(root,item)
print "Voy a tomar una captura de la pantalla, minimiza esta pantalla antes de 5 segundos."
time.sleep(5)
ImageGrab.grab().save("screen_capture.jpg", "JPEG")

Espero que os guste y eso,  espero vuestras opiniones ^^

Sed Buenos, sobretodo con lo tomar capturas de pantalla ;)

Python,- HTML Crawler E-mail Extractor Newbie Style

Hace unas semanas Francisco Javier me dio la oportunidad de formar parte de esta comunidad y de escribir algún articulo. Así que, empecé a curiosear la pagina, a ver perfiles de los otros autores y ver cual era la mejor manera de empezar a escribir aquí. La verdad es que no quería publicar nada hasta que no tuviera una buena idea y viendo el nivel de mis compañeros posiblemente sea el mas Newbie de todos. Suponiendo esto y puestos a lanzar la novatada, he decidido reutilizar dos script que hice con Python para mi blog y me parece que puede quedar genial. 


Scripts usados:

Lo que queremos es un script que pueda leer el código fuente de una pagina y la interprete guardando los correos electrónicos en un .txt, en el caso de detectar alguno en el código, o, si encuentra un enlace, prosiga su búsqueda en la siguiente pagina y vuelva a comprobar si hay algún correo. Bueno,  por si no queda claro aquí os dejo el código: 

import re
import urllib

web =  raw_input("pega aqui la Url: ")
emails = []

patron= re.compile('''href=["'](.[^"']+)["']''')
patron2= re.compile("[-a-zA-Z0-9._]+@[-a-zA-Z0-9_]+.[a-zA-Z0-9_.]+")

busqueda = re.findall(patron, urllib.urlopen(web).read())
busqueda2= re.findall(patron2,urllib.urlopen(web).read())

emails.append(busqueda2)
d1 =  str(busqueda2)
ListaEmails = open('correos.txt','a+')
ListaEmails.write("--> "+ d1 +" <--")
ListaEmails.close()

for i in busqueda:
busqueda3 = re.findall(patron2,urllib.urlopen(i).read())
emails.append(busqueda3)
d2 =  str(busqueda3)
ListaEmails = open('correos.txt','a+')
ListaEmails.write("--> "+ d2 +" <--")
ListaEmails.close()
busqueda4 = re.findall(patron, urllib.urlopen(i).read())

for e in busqueda4:
busqueda5 = re.findall(patron2,urllib.urlopen(e).read())
emails.append(busqueda5)
d3 =  str(busqueda5)
ListaEmails = open('correos.txt','a+')
ListaEmails.write("--> "+ d3 +" <--")
ListaEmails.close()

print "Correos Guardadas con Exito."

Si, es una forma muy chapurrera de hacerlo, pero soy un Newbie y mas con Python. Así que, estoy abierto a criticas y a posibles mejoras. 

Lo he probado con esta web, una forma genial para garantizar mi permanencia, y este a sido el resultado: 


Como veis el script ha encontrado, aparte del noreply de blogger, el correo electrónico de Francisco Javier varias veces y el de dergli. También habréis visto en el código el programa se basa en el siguiente patrón para usar la librería re (Regular Expresions) y dar con los correos [-a-zA-Z0-9._]+@[-a-zA-Z0-9_]+.[a-zA-Z0-9_.]+ Lo cual comporta que si alguien ha escrito, como es en este caso, tod@s se nos mete en la lista. 

También en la ejecución de este script después de introducir la url de la pagina web, al encontrar una url la cual no pueda abrir, el programa parará de guardar correos electrónicos mostrándonos el siguiente problema. 


La verdad es que me lo he pasado bastante bien jugando con este script y creo que si le dedico un poco mas de tiempo puede salir algo muy chulo. Para los que queráis el script os dejo en enlace a GitHub aquí abajo: 
Acepto criticas y/o propuestas de mejora. 

Sed Buenos con esto ;) 

Hackers use PowerShell script to carry out malicious task

PoweShell a Microsoft scrip language is a new technique in use by hackers nowadays. Symantec has identified a new script that works as a “Backdoor.Trojan” in a mysterious way, and is capable of injecting malicious code into “rundll32.exe”. By doing so, it can hide itself as a backdoor file.

If we see the image, it shows complicated script that averts users from realizing the clear text. However, this script used a parameter named “EncodedCommand” to encode the whole script in base64. When you decode the script, it still looks complicated.



The script again tries to decode itself from base64 into plain text and uses decompression task for the decoded script. This decompressed data will be functioned via the “Invoke Expression” command.



The attacker then uses “CompileAssemblyFromSource” command to assemble and perform embedded code. Then, the assembled code will execute “rundll32.exe” in a debarred state, add malicious code in the recently created process, and resume the “rundll32.exe”. Therefore, it can hide itself on the computer.

The injected code tries to find a remote computer for connection and waits for further instructions. The code will store these instructions with EXECUTE_READWRITE permissions to work in a silent way.

The below image shows how the injected code assigns the memory and gets the instructions.


Symantec has recommended some useful steps like update the virus software on time, avoid unknown PowerShell scripts from execution, and make a strong restriction in PowerShell default execution setting, so that potential malicious scripts will not work.