Está en la página 1de 45

Ezine #3

La tercera entrega de esta eZine se ha hecho


esperar.quizs mas de la cuenta, pero la
espera habr merecido la pena.
Este ejemplar se plantea mas breve y con
menos artculos, pero no por ello de menos
calidad. HackHispano es una comunidad libre donde
Todo el equipo que desarrolla esta ezine, todo el mundo es bienvenido, donde nadie
se ha empleado a fondo para llevarla a cabo, es extranjero, donde todos buscamos algo
y a los cuales quiero dedicar mi primer ydonde todos loofrecemos.
agradecimiento. Tambin a todos nuestros Nuestra comunidad no es ms que un punto de
lectores, que cada dia haceis que esto siga encuentro para todos los que estis perdidos
adelante. en este cada vez ms confuso mundo de la
En esta ezine se tratan temas de programacin, sobreinformacin, donde encontrareis
seguridad, tica hacker, y novedades gente como vosotros que intentar ayudaros
tecnolgicas, las cuales han acontecido en y donde seguro encontrareis alguienque
este periodo. precisa de vuestra ayuda.
Esperamos que disfrutis la lectura, y os
animis a participar con nosotros. Sed bienvenidos a HackHispano.

Indice:
OLPC - One Laptop Per Child.......................2

Maquinas Virtuales en nuestro PC.................13

Modificar cdigo en tiempo de ejecucin.


Api WIN32+ensamblador............................25

Procesos en un sistema.
Introducin a la api de windows (iii parte)......32

Configurar la red en Windows 2000/XP


por consola......................................38

Hackers, Una Cultura.............................42

Pg 1
ezine hackhispano
#OLPC#

OLPC Desgraciadamente el ambicioso plan de Ne-


O n e L a p t op P e r C h i l d groponte ha sido retrasado por el peso de su idea.
Companias lucrativas no quicieron quedarse fuera
Desde el lanzamiento de este proyecto, he de esta idea, e introducieron sus propias versiones
estado muy interesado por su idea revolucionaria y o adaptaciones para este proyecto, y generar com-
sus intenciones. En este artculo me propongo co- petencia. Posteriormente Hablaremos sobre ello y
mentar todo lo relacionado con este proyecto, ha- haremos algunas comparaciones.
blar de las XO, de Sugar, informacion, tcnica y con-
tratiempos del mismo, ademas de la competencia Aun as, Negroponte se ve optimista, ya que
que ha recivido por parte de otras empresas. sostiene que su meta no es vender laptops, OLPC
no es un negocio de venta de laptops, es un plan
Qu es OLPC ? educativo

Una Laptop por Nio OLPC por sus siglas en Es valido aclarar, que desde su concepcion, el
ingles ( One Laptop Per Child ), es una asociacin sin precio de las laptops ha dejado de ser de 100 dla-
fines de lucro creada para desarrollar una laptop de res, ya que sus costos han aumentado, ( costos de
100 dlares. embalaje, etc ) actualmente su precio es casi el do-
Esta idea fue de Nicholas Negroponte, cientifi- ble, 199.5 dlares es su precio actual, lo cual ha echo
co estadounidense del MIT, que con sus laptops de declinar a algunos pases.
100 dlares pretende disminuir la brecha tecnolgi-
ca entre nios del primer mundo y los paises menos L a co m p t e n e c i a :
desarrollados.
Esto se puede resumir en dos nombres: Intel
Un poco de Historia... y Microsoft.
Los motivos por los cuales estas dos empre-
La idea fue presentada en 2005 en Tunez, y sas casi hermanas, quieren introducirse en el mun-
luego en enero del 2006, en el Foro Econmico do de las laptops de bajo costo, ser explicado, con
Mundial de Davos, bajo OLPC, despues de esto, los mi punto de vista ms adelante, ahora citar unas
lideres del mundo y corporaciones se han conver- cuantas noticias, de portales de internet, haciendo
tido en benefactores de este proyecto sin fines de referencia a OLPC y sus competidores:
lucro.
Classmate, la alternativa Intel al porttil de
Algunos de los benefactores del proyecto son: 100 dlares
Google, AMD, Red Hat, News Corp, Brighstar ms
otras empresas. Intel no est dispuesta a perder el suculento
mercado que representan los pases en desarrollo.
Pero cerca de tres aos ms tarde, solo 2000 Mientras AMD apuesta fuertemente por la iniciativa
nios en planes pilotos han recibido computadoras de Nicholas Negroponte (OLPC), Intel viene desa-
de OLPC. Hasta ahora mi pas Uruguay, ha sido el rrollando su propia alternativa que destaca por su
pionero y uno de los pocos en hacer una orden de mayor potencia y prestaciones pero tambin ms
100.000 laptops, las XO. cara.
La meta de Negroponte es alcanzar 150 millo-
nes de usuarios para el termino del 2008. Un poco http://www2.noticiasdot.com/publica-
utpico desde mi punto de vista. ciones/2006/1106/2111/noticias211106/noti-
cias211106-371.htm

Pg 2
ezine hackhispano
#OLPC#

Intel intenta competir con OLPC en Argentina

Ya se vende en la Argentina una laptop para estudiantes. Se trata del modelo Classmate PC, fabrica-
do por Intel, que de esta manera sac ventaja frente al equipo que propicia Negroponte. Esteban Galuzzi,
gerente General de Intel Cono Sur, explic los detalles del equipo.

http://hackingrioplatense.com.ar/foro/index.php?topic=410.0

Intel y Microsoft, contra el proyecto OLPC

El proyecto One Laptop Per Child est despertando el inters de los grandes de la informtica mun-
dial. Tanto Intel como Microsoft parecen haber firmado acuerdos de colaboracin con la organizacin que
lidera Nicholas Negroponte, pero ambas empresas juegan a dos bandas. Microsoft est vendiendo Win-
dows y Office a 3 dlares en China --y puede que pronto en otros pases-- e Intel no quiere dejar escapar su
oportunidad con su porttil ClassMate, un competidor directo del XO de la OLPC

http://hackingrioplatense.com.ar/foro/index.php?topic=422.0

Comparacion, entre las laptops de bajo costo, actualmente en el mercado

imagen original en: http://www.javipas.com/wp-content/tablaUMPCs.jpg

Pg 3
ezine hackhispano
#OLPC#

Con respecto a la electicidad, tiene una bate-


Haciendo una comparacion entre la Classma- ria con estas caracterisitcas :
te y la XO, la XO pierde en procesador y RAM, aun Empaque sellado duro/rgido; removible por el
as, veo ms viable la opcin, de la XO, por sus carac- usuario
teristicas tcnicas y su enfoque hacia los nios. Tipo de empaque: Configuracin de 4 celdas, 6V
Y personalmente tengo mejor visto a AMD y a en serie
un SO GNU/Linux en una maquina que a Intel y Win- Dos alternativas
dows de Microsoft, ya que estas dos ltimas, buscan NiMH, con capacidad de 16.5 watt-hora
la domesticacin del usuario, y vamos.. que es por LiFeP, con capacidad de 22 watt-hora
eso que han entrado a competir, Intel No fabrica
Laptops ! y Microsoft, no quiere a un nio criado La forma de cargar la bateria puede ser usan-
con un sistema GNU/Linux ( Sugar, Red Hat ) sino su do una manija, ideal para lugares donde no se pue-
Windows Adaptado. de acceder a la electricidad.
Por muchos ms detalles: http://wiki.laptop.
Con respecto a la Asus EEE, otra opinion per- org/go/Hardware_specification
sonal, seria interesante, verla implementada en un
plan de educacin secundaria, ya que es la ms po- So f t w a r e :
tente de las 3, y sigue estando dentro de la gama
barata. En tanto el tema de Software, las XO, usan un
Caracteristicas Tcnicas sistema operativo basado en Fedora, la rama gratui-
ta de Red Hat, el sistema se llama Sugar y utliliza el
Comencemos por el hardward que contiene la ncleo Linux 2.6.22.
XO, y luego hablaremos del SO y caracteristicas de He podido probar el sistema, y este est com-
su seguridad. pletamente diseado para los nios, su interface
grfica consta de pocos botones, lo cual lo hace
Har dwar e: todo muy sencillo e instintivo.

Las XO tienen una pantalla simil LCD, la cual Algunos de sus contenidos para explorar:
consume poca electricidad, Color y se le puede ele-
gir para blanco y negro, con dimensiones de 7.5 Un navegador web basado en Firefox.
El diseo de la pantalla permite que se pueda Un visor de documentos basado en Evince.
leer en ella mientras el sol le da de frente. Un lector de RSS Feeds.
Aunque no viene incluido en la distribucion es-
Pesa 1.5 Kg. tandar, se puede instalar Opera, y utilizarlo.
Tiene un procesador AMD Geode LX-700@0.8W
de 433 MHz Herramientas para la Expresin
Memoria DRAM: 256 MiB
No usa disco duro, usa memoria flash de 1Gb. TamTam, un sintetizador y compositor de msi-
ca.
Tiene un chip de red inalambrico con mayor Un editor de texto basado en Abiwords
rango de recepcion que los estandar, y utiliza un Etoys, una herramienta Similar a LOGO, ms in-
tipo de red mesh http://es.wikipedia.org/wiki/Red_ formacin: http://laptop.org/OLPCEtoys.pdf
inalmbrica_Mesh Record, una herramienta que permite grabar so-
nido y video
Un Diario

Pg 4
ezine hackhispano
#OLPC#

VIM y Nano, como editores de texto por ejemplo acceder a la cmara, o acceder a in-
ternet. El sistema realiza un seguimiento de estos
Herramientas para la Comunicacin: derechos, y el programa es luego ejecutado en un
ambiente en el cual slo los recursos requeridos es-
Chat tn disponibles. Esto est implementado mediante
Video Chat ( en desarrollo ) una mquina virtual contenedora completamente
Cliente para VoIP ( en desarrollo ) desarrollada.
E-mail a a travs de Gmail
Un Cliente de correo nativo ( en desarrollo ) Por defecto, el sistema no permite ciertas com-
binaciones de derechos; por ejemplo, un programa
Otras Herramientas: no tendra permisos para acceder a la cmara y ac-
ceder a internet a la vez. Cualquiera puede escribir y
Una calculadora distribuir programas que requieran combinaciones
Un shell y un debugger de derechos permitidas. Los programas que requie-
Escritorio Remoto, para cotrolar la maquina a ran combinaciones de derechos no aprobadas ne-
distancia cesitan una firma criptogrfica de alguna autoridad.
El usuario de la laptop puede utilizar el panel de se-
Juegos: guridad includo para otorgar derechos adicionales
a cualquier aplicacin.
Muchos juegos, de memoria y estrategia
Contratos anti-robo
Por ms informacion y detalles de las aplica-
ciones y bibliotecas: http://wiki.laptop.org/go/Soft- Las laptops solicitan un nuevo contrato a un
ware_components servidor de la red central una vez al da. Estos con-
tratos llegan con una fecha de vencimiento (nor-
Su sistema de Seguridad: malmente un mes), y la laptop deja de funcionar
si todos sus contratos han expirado. Los contratos
Bitfost, es el sistema que utilizan las XO, tie- tambin pueden ser otorgados por un servidor en
ne algunas caracteristicas interesantes, y llaman la la escuela, o mediante un dispositivo USB. Aquellas
atencin algunas de ellas. laptops que hayan sido reportadas como robadas
no pueden obtener un nuevo contrato.
Caracteristicas:
El pas que adquiere la laptop puede determi-
No se requiere ninguna contraseas para ac- nar si se utiliza este sistema de contratos, y seleccio-
ceder a la computadora. Ni siquiera el root tiene nar el tiempo de vencimiento de los mismos.
contrasea. Lo cual me ha llamado mucho la aten-
cion, pero tras una preguntas y averiguaciones, me Microfono:
dijeron que el root no lleva passwd ya que en el mo-
mento del desarrollo, seria una complicacion ms El micrfono y la cmara includos en la laptop
que una ventaja. Despues cuando sean entregadas se encuentran conectados directamente a un LED,
la institucion pertinente ( Ministerio de educacin, as el usuario puede saber en todo momento si es-
escuela, aula, maestro ) puede implementar una. tn encendidos. Esto no puede ser desabilitado por
software.
Cualquier programa, al momento de ser ins-
talado, requiere ciertos conjuntos de derechos, Informacin extraida de la wikipedia

Pg 5
ezine hackhispano
#OLPC#

Emulando Sugar: $ wget http://dev.laptop.org/pub/virtualbox/


OLPC-625.zip
Espero que toda esta introduccin te haya en-
tusiasmado como para probar el sistema, y por qu
OLPC-625, es la ltima versin actualmente.
no, aportar al testeo y desarrollo de Sugar.
En el caso de que tengamos que interrumpir la
descarga, podemos volver agregando wget -c
Pondre dos manuales, uno echo por mi, para
Ms informacin:
GNU/Linux con Virtual Box, y otro para Windows, man wget
echo por un compaero de la facultad, Yasim Zeba-
llos. Una vez descargado el zip, extraemos
Las licencias de los mismos son Creative Com- el contenido del mismo.
mons.
La mia: $ unzip OLPC-625.zip/OLPC-625.zip_FILES
$ ls olpc-625.vmdk OLPC-625.vmx

La de Yasim es:

Ante cualquier modificacion, contactarse con


los autores respectivos, con Yasim en:
yasim (AT NO SPAM) adinet (dot) com (dot) uy

Y conmigo a a travs de Hack Hispano o Hac-


king Rioplatense.
webmaster (AT NO SPAM) hackingrioplatense
(dot) com (dot) ar

M a n u a l p a r a GNU / L i n u x :

Lo primero que tenemos que hacer, es bajarnos


las imagenes del sistema, son imagenes del disco duro.
Las imagenes nos las podemos bajar de aqui:

http://dev.laptop.org/pub/virtualbox/

Yo elegi la ltima vercion, la 625 ( En el momento


que escribi el manual, era esa versin, ahora es la 666 )
Para bajarlo, NO vamos a usar al navegador, ya que si
se llega a interrumpir la descarga, no hay vuelta atras.
Para descargar la imagen, nos vamos a un terminal
y escribimos:

Pg 6
ezine hackhispano
#OLPC#

Ahora iniciamos virtualbox:

Ahora lo que tenemos que hacer, es agregar el disco duro vitual :) Archivo > Administrador de discos
Duros

Pg 7
ezine hackhispano
#OLPC#

Clickeamos en agregar, y nos vamos a donde descomprimimos a la carpeta creada tras descomprimir el
zip

Selecionamos el archivo y Aceptar, Aceptar - facil, verdad ? Listo, ahora vamos a crear nuestro sistema !
Ponemos Nueva > Siguiente Ahora elegimos el nombre de nuestra maquina, y selecionamos el ncleo
del sistema, Recordar que este sistema operativo es un sistema GNU/Linux basado en Fedora. Usaremos
el kernel 2.6

Y Siguiente.. Ahora elegiremos la memoria RAM que virtualizara, ponganle 512 Mb, aunque yo la anduve
corriendo con 256 tambin :P

Pg 8
ezine hackhispano
#OLPC#

Siguiente.. Ahora selecionaremos la imagen del disco duro, se acuerdan ? lo que hicimos al prinicipio :D
Selecionamos, Existente > Y clickeamos en Selecionar

Ahora Siguiente y ya casi Terminamos !!

Ahora tenemos que configurar unas pocas cosas ;) Nos vamos a configuracin Dejamos todo como est
en general y nos vamos a Sonido:

Pg 9
ezine hackhispano
#OLPC#

Seleccionamos el controlador de audio ALSA Y Listo, pueden configurar ustedes un poco ms, todo el
asunto de pen drives CDs y red, pero con esto ya es suficiente. Ahora solo queda clickear en iniciar y listo !
;) Ya lo pueden probar.

Pg 10
ezine hackhispano
#OLPC#
Ahora el manual para Windows, escrito por Yasim : 5.3) Vamos al directorio donde est el descompren-
Funcionamiento de la sor que bajamos, (en el que tambin debera de es-
O L P C e n WIND O WS X P. tar la imagen) y escribimos :
Referencia rpida :
bzip2.exe -k -d -v nombre_muy_largo_y_aburrido_
de_escribir.img.bz2
1) Bajarse el emulador de mquina osea
http://www.h6.dion.ne.jp/~kazuw/qemu-win/ bzip2.exe -k -d -v olpc-redhat-stream-
qemu-0.9.0-windows.zip (Est en zip) development-devel_ext3.img.bz2

2) Descomprimirlo en c:\program files\Qemu (NO 6) Finalmente ponemos la imagen que acabamos


EN OTRO LADO, AH SI O SI) de descomprimir (que pesar 1GB ms o menos) en
la carpeta que
3) De las miles de imgenes que hay en http://olpc.
download.redhat.com/olpc/streams/development/ contiene a qemu.exe, y escribimos
Bajarse por ejemplo :
qemu.exe olpc-redhat-stream-development-devel_
ext3.img
http://olpc.download.redhat.com/olpc/streams/
development/LATEST-STABLE-BUILD/devel_ext3/ Debera de iniciarse...
olpc-redhat-stream-development-devel_ext3.img. 7) Ah seleccionamos OLPC for qemu target (Sca-
bz2 led)

(Fue elegida ARBITRARIAMENTE pero con criterio Problemas que pueden surgir
:D).
Si dice que no encuentra el bios cuando tratamos
4) Infelizmente, no es un .zip sino un .bz2 as que de ejecutar qemu.exe olpc-redhat..., debemos lo-
nos tenemos que bajar el programa que descom- calizar el archivo bios.bin, suponiendo que se en-
prima eso: cuentre en : D:\qemu-0.9.0-windows\bios.bin, para
Vamos a http://www.bzip.org/downloads.html y ejecutar todo debemos :
descargamos el descomprensor. O en su defecto,
buscamos algun descomprensor que aparte de .zip qemu.exe -L d:\qemu-0.9.0-windows olpc-redhat-
stream-development-devel_ext3.img
descomprima .bz2.
Sugerencia Alternativa
5) La infelicidad prosigue, no tiene entorno grfico,
por eso, cuando le hacemos dobleclick se nos cierra,
1) Poner el qemu-0.9.0-windows en D:\qemu-0.9.0-
esto no es que funciona incorrectamente, sino que
windows
tenemos que agregar varios pasos ms.
2) Poner la imagen de 1 GB en D:\qemu-0.9.0-win-
dows\olpc-redhat-stream-development-devel_
5.1) Vamos a Inicio -> Ejecutar, y escribimos cmd.
ext3.img
exe
3) Hacer cmd.exe en Inicio -> Ejecutar.
5.2) Se nos tiene que abrir una ventana de DOS
4) En C:\Documents and Settings\fulano> poner
D:
5) En D:\ poner
cd qemu-0.9.0-windows
6) Ya en D:\qemu-0.9.0-windows> poner
qemu.exe -L d:\qemu-0.9.0-windows olpc-redhat-
stream-development-devel_ext3.img

Pg 11
ezine hackhispano
#OLPC#

(Todo esto para aquellos que tengan 2 discos o ms Por ltimo quisiera mostrarles los blogs de las
discos, si se tiene un disco solo hay que hacer todo escuelas, donde el proyecto se probo como plan pi-
trabajando en el C:\ loto:

Mejoras: Blog experimental de la escuela


http://cardal-ceibal.blogspot.com/
Si vemos que nos va muy lento, podemos setear ms Blog de Cuarto ao
memoria ram al qemu, esto se hace con la opcion http://cuarto-cardal.blogspot.com/
-m [RAM para agregarle] Blog de Quinto ao
http://cardal24-quinto.blogspot.com/
Nuestro comando quedara : Blog de Sexto ao
http://cardal24-sexto.blogspot.com/
qemu.exe -L d:\qemu-0.9.0-windows -m 256 olpc-
redhat-stream-development-devel_ext3.img
Como nota final, espero que este artculo les
haya echo conocer todos los aspectos o los ms im-
(256 hay que ponerlo si se tiene MAS que 256 MB
portantes del proyecto OLPC y las XO, este ao, creo
RAM, osea, podemos poner el nmero que desee-
que aqu en Uruguay se van a distribuir a todos los
mos).
nios de las escuelas pblicas. Le tengo mucha f a
este proyecto y a sus intenciones, Arriba OLPC ! :)
Podemos instalarle un acelerador tal como lo indi-
ca:
Fuentes de la informacin:
http://wiki.laptop.org/go/Using_QEMU_on_Win-
dows_XP#Troubleshooting
laptops.org
(para ir directamente a bajarse el acelerador :
wikipedia.org
http://fabrice.bellard.free.fr/qemu/kqemu-
fing.edu.uy
1.3.0pre11.tar.gz )

Los pasos estn bastante bien, as que no los voy a Cypress


explicar. para Hack Hispano y Hacking Rioplatense hackin-
grioplatense.com.ar :)
HOTKEYS :
Una vez atrapados dentro de la emulacin pode- Agradezco especialmente a Yasim por sus colabo-
mos salir con alt+tab raciones y correciones, l es parte de este articulo
ctrl+alt+F1 nos lleva a la consola de comandos tambin.
ctrl+alt+F3 nos devuelve a el entorno grfico.

Pg 12
ezine hackhispano
#Virtualizacion#

Maquinas Virtuales en nuestro PC

Una de las grandes desventajas de los sistemas operativos de la actualidad es la incompatibilidad de


sus aplicaciones. Bien sea por motivos de hardware como puede ser el abismo existente entre las arqui-
tecturas powerPc y las x86, o bien sea por motivos de software como ocurre en los entornos privativos de
Windows, que muchas de sus libreras no han sido traducidas a entornos libres.
Aun salvando estas distancias, seguro que a alguno de nosotros nos ha ocurrido estar trabajando en
un sistema Windows y tener que usar un entorno Unix Like para alguna cuestin.
Para esto dedicamos este articulo, para ver que opciones tenemos en uno de estos problemas Eje-
cutando varios ordenadores y/o sistemas operativos dentro de un mismo hardware de manera simul-
tnea.
No vamos a hacer demasiado hincapi en la historia de esta tecnologa, ya que puede recabarse en
Internet o en cualquier libre de computacin, pero si debemos hacer unos pequeos apuntes.
Una de las primeras ideas es lanzada por Vmware, el Mware Virtual Plataform, que a comienzos de
1999 era capaz de virtualizar arquitecturas x86.
A partir de ah, surge un mercado de tratar de unir las ventajas de todos los sistemas bajo una misma
mquina.
Quizs uno de los entornos mas extendidos en el mercado sea el Vmware, proveniente de la casa
EMC. Este software es capaz de ejecutarse en sistemas tan dispares como Windows, MacOS y Unix.
Una de las desventajas de este software es que es un software propietario, y necesitamos un licencia
para poder correrlo en nuestros equipos. Lo mismo le
va a ocurrir a Virtual PC, su homnimo de la casa Mi-
crosoft (que aunque no fue desarrollado por ellos si lo
adquieron por una importante suma), y que tambin
, como es tradicin en la compaa de Bil Gates, es
software privativo. La diferencia entre ambos es que
Vmware esta ejecutando la emulacin directamente
sobre el hardware que nosotros poseemos, Virtual Pc
lo que realiza es una traduccin simultaneas de las op-
eraciones requeridas, traducindolas.
Nosotros, sin embargo, siguiendo la filosofa
hacker, nos vamos a servir de una herramienta libre, lla-
mada Virtual Box. Como bien sabis, no todo el monte
es organo, y en sus orgenes fueron comerciales. Vir-
tualBox es un programa de virtualizacin creado por
la empresa alemana de desarrollo de software innotek GmbH. El programa es comercial y propietario, si
bien en enero de 2007, despus de muchos aos de desarrollo, se lanz una versin limitada de VirtualBox
bajo licencia GPL.
VirtualBox est disponible para su ejecucin en sistemas Windows y Linux de 32-bits (aunque hay
tambin una versin beta para MacOS X) y es capaz de virtualizar Windows, Linux (versin del ncleo 2.x),
OS/2 Warp, OpenBSD y FreeBSD.

Pg 13
ezine hackhispano
#Virtualizacion#

Lo primero que tenemos que hacer es descargar-


nos el paquete de su web oficial, para vamos a www.
virtualbox.org y buscamos el link de descarga. En prin-
cipio usaremos un entorno Windows como Host an-
fitrin.
Aqu debemos destacar otra virtud de Virtual-
Box, que es su reducido peso respecto a sus homlo-
gos privativos. Apenas si pesa 10 Mb, con respecto a
los ms de 100 de sus competidores.

Una vez descargado en nuestro equipo , pro-


cederemos a la instalacion. Dicho ejecutable nos gui-
ara paso a paso , eso si, en ingles , y nos ire preguntan-
do cuestiones que vamos a explicar detalladamente.
Este es el primer rotulo que se nos presenta en la
instalacin de Virtual Box, el cartel de presentacin, en el que simplemente destacaremos la versiones que
hemos usado para el articulo, y proseguiremos haciendo clic en siguiente.

Llegamos a un punto importante de la insta-


lacin del programa. En la parte final de la instalacin
nos aparece este cartel que nos avisa que este software
no ha pasado la prueba del logotipo de Windows; esto
sucede porque Windows verifica todo el hardware que
hay instalado en el equipo, en principio para verificar
el correcto funcionamiento entre el tandem hard-
ware-software, y para evitar incompatibilidades. Aho-
ra bien, si indagamos un poco mas podramos encon-
trarnos patentes, marcas, acuerdos, licencias, que las
pequeas empresas de hard no pueden permitirse, y
aunque son 100 % compatibles, no superan el criterio
de Microsoft. Tambin apuntamos otra cosa. Windows
XP , nos lanza este aviso, pero nosotros continuare-
mos y no volver a quejarse por ninguna otra cosa. Si
quisiramos realizar la prueba en Windows Vista, seria
imposible, ya que Vista no concibe nada que no sea aprobado por la prueba del logotipo de Windows, es
decir, si no esta firmado, no es posible instalarlo. Es como la antitesis del slogan que apareca ltimamente
en TV, si no es bueno para nosotros no es bueno para ti .

Pg 14
ezine hackhispano
#Virtualizacion#

Veamos ahora las opciones que tiene


nuestro programa. Dentro de los diferentes
mens, podemos ver aqu las opciones ms
importantes. El men File, nos va a dar la
herramientas para configurar nuestro Vir-
tual Box, tanto el programa en si como cada
una de las maquinas virtuales por separado.
Tambien podemos observar que existen
una serie de atajos de teclado, que nos fa-
cilitaran el movernos mejor por el programa,
y tambin por las diferentes maquinas que
hayamos configurado. La primera de las op-
ciones de este men, nos permite gestionar
los discos duros virtuales, es decir, el espacio
de nuestro disco que cederemos para usar
como si fuesen particiones reales.
El siguiente men es el VM (virtual machine o maquina virtual). Este men nos va a permitir crear
nuevas maquinas virtuales o editar y modificar las ya creadas por nosotros.

Pg 15
ezine hackhispano
#Virtualizacion#

El ultimo de los mens es el Help, que nos mostrara las caractersticas de Virtual Box, con enlace di-
recto a su web oficial , y con su propio men de ayudas.

Bueno y sin ms prembulos vayamos a la parte interesante de este tutorial. Para crear una nueva
maquina virtual vamos al men VM y le decimos new machine o presionamos Ctrl+ N. Nos saldr la si-
guiente pantalla. En ella especificaremos el nombre y el tipo de sistema que vamos a crear. En mi caso
probare la distro WifiSlax, que tiene un kernel 2.6 .

Pg 16
ezine hackhispano
#Virtualizacion#

En la siguiente pantalla nos va a requerir que indiquemos la cantidad de memoria que queremos
dedicar. Aqu ya va a depender de la configuracin de nuestro PC. Yo en mi caso estoy usando un Celeron
Hacer con 16 Ghz con 1 Gb de RAM, y dedicare 256 Mb.

El Siguiente paso del asistente nos va a preguntar si queremos usar una particin virtual o si quer-
emos que se ejecute desde el propio CD. En nuestro caso, vamos a decirle que crearemos una nueva par-
ticin virtual, para ello pincharemos el boton New.
Tambien podriamos reutilizar una existente, o como hemos dicho, no usar ninguna.

Para el siguiente paso, necesitaremos hacer varios pasos.

Pg 17
ezine hackhispano
#Virtualizacion#

Primero deberemos verificar que tenemos suficiente espacio en el disco y que sistema utilizaremos,
para saber cuanto espacio de disco debe-
mos de asignar. Tras ello nos aparecer la
siguiente ventana, en la cual le pondremos
nombre a nuestra particin (que nos ser
muy til si queremos usar varios sistemas
operativos con caractersticas comunes.)

En mi caso voy a utilizar la distrubu-


cion WifiSlax, especializada en auditorias
y seguridad inalambrica, y le voy a asignar
una particin virtual de 195 Gb.
Tras ello no saldra una ventana re-
sumen con las principales caractersticas
de nuestra particin virtual. Cabe desta-
car la ubicacin de las misma, que tanto en
Windows como en entornos GNU/Linux, se
guarda en la carpeta de los perfiles de usu-
arios. Tras ello pulsaremos en Finish para ter-
minar el proceso.

Pg 18
ezine hackhispano
#Virtualizacion#

Una vez creada, volvemos al men anterior de creacin de nueva maquina, y le tenemos que decir
que usaremos una exitente (la que acabamos de crear). Debemos de mencionar que la extensin por de-
fecto de Virtual Box es vdi, por si alguna vez nos surge la duda .

Pg 19
ezine hackhispano
#Virtualizacion#

Pulsaremos siguiente y nos saldr un resumen general de la maquina que hemos creado para que fi-
nalicemos estableciendo los cambios. Recordad que si queremos editar algo posteriormente lo podremos
hacer desde el men VM.

Aqu vemos como queda nuestro programa tras la nueva instalacion. Para arrancar el equipo virtual
solo deberemos pulsar el boton Start. Si por el contrario quisiramos borrar la maquina virtual existente,
usaramos el delete. El New es para repetir los pasos anteriores y crear una nueva VM, y el settings es para
modificar las opciones de una existente.

Pg 20
ezine hackhispano
#Virtualizacion#

En este ultimo podemos ver las siguientes caracteristicas.

Hard Disk edita los disco duros, los cuales pueden establecerse como primario y secundario, mestro
y esclavo, segn la conveniencia.

Pg 21
ezine hackhispano
#Virtualizacion#

Floppy nos montaria la disquetera, aunque casi tiende a desaparecer .

Lo mismo va a ocurrir con el CD/DVD, y tambien nos dejara usar una imagen iso.

Pg 22
ezine hackhispano
#Virtualizacion#

Tambien tenemos la opcion de configurar el driver de audio y la red. La red asigna un DHCP con una
montado de NAT, con la MAC de nuestro equipo.

Otro punto de inflexin es la configuracin de los dispositivos USB. Los mismos, los haremos del
siguiente men:

Si marcamos la pestaa de Enable USB Controller, vamos a permitir el uso de dispositivos USB en
nuestra maquina, desde pendrives hasta impresoras. El propio programa detecta automticamente cada
dispositivo, y tan solo deberemos conectarlo y presionando el segundo de los botones de la derecha, nos
dir los que va reconociendo. En mi caso me ha detectado, como vemos en la imagen un pendrive marca
Kingston. Si por un casual, no reconoce el dispositivo, deberemos rellenar cada uno de los campos que
ahora aparecen deshabilitados manualmente. La ultima opcion es tan simple como un visor remoto, con
varias opciones de configuracin. No podria ser util en servidores Unix, como gestor de las X.

Pg 23
ezine hackhispano
#Virtualizacion#

Por ultimo, quiero dejar una prueba de cmo funciona en vivo este programa

Espero que este articulo os sriva de ayuda, y os empieze a motivar a probar tecnologas de Software
libre y para hacer pequeas incursiones en sistemas operativos GNU/Linux y porque no decirlo en un fu-
turo Unix o BSD .

Clarinetista

Pg 24
ezine hackhispano
#Programacin#

M O DIFI C AR C DIG O EN ejecucin del programa, apuntar a una direccin


TIEM P O DE E J E C U C I N . especificada por el registro CS. Cabe pensar que si
dicho registro es de 32 bits, entonces virtualmente
A P I WIN 3 2 + ENSAM B L AD O R
slo se puede acceder a 4GB virtuales para los pro-
cesos, y as es, por tanto para no tener tal limitacin
En este artculo veremos cmo modificar el se utiliza la denominada memoria virtual, para el ac-
cdigo de un programa en tiempo de ejecucin. ceso a cada uno de los distintos niveles dentro de
la jerarqua de memoria (cach, memoria principal
Sabemos que cuando el sistema operativo RAM, disco duro, etc..., que se hace traduciendo la
crea un nuevo proceso, ya sea lanzado automti- direccin virtual del procesador, es decir la direc-
camente o bien por parte del usuario, crea una se- cin del registro EIP, concatenada con una direc-
rie de estructuras de datos para la gestin de ste, cin contenida en una tabla de pginas, obtenin-
adems de ello, debe especificarle al procesador dose as una direccin fsica que es la que accede
del sistema en qu punto debe comenzar a ejecutar a la memoria correspondiente de la jerarqua). El
las instrucciones del programa que se va a ejecu- acceso a cada uno de los distintos niveles de dicha
tar y en qu zona se van a almacenar los datos que jerarqua es totalmente diferente, y depender no
necesita temporalmente para la ejecucin. Para ello slo del nivel, sino del tipo de memoria dentro del
el procesador dispone de una serie de registros: CS nivel. Por ejemplo el acceso a una memoria cach
(cdigo), DS (datos), SS (pila), etc... (para ms infor- de mapeado directo atacada por direcciones virtu-
macin sobre procesos del sistema, leer el artculo ales se suele implementar simplemente a partir de
Procesos del Sistema: Introduccin a la API de Win- la direccin virtual, obteniendo a partir de sta, la
dows - III Parte) etiqueta, el ndice y el desplazamiento adecuado
para el acceso al dato correspondiente. Del mismo
Windows protege el segmento de cdigo de modo el acceso a una cach completamente asocia-
un programa ante la escritura. Por defecto es solo tiva, atacada por direcciones fsicas, se hace concat-
lectura. Es decir los bytes almacenados en el seg- enando la direccin virtual del procesador con una
mento de la memoria del proceso en cuestin solo direccin contenida en una tabla de pginas. Y esto
se pueden leer. es totalmente distinto para el acceso a un dato en
memoria principal o en disco (mayores tiempos de
Utilizando la funcin de la API VirtualProtect acceso y mayor capacidad), en donde es necesario
es posible asignar nuevos permisos a una pgina incorporar buffers para el almacenamiento de datos
completa de memoria sobre el proceso actual. Ex- y de incorporar puentes (chipset) para controlar las
iste a su vez otra funcin anloga VirtualProtectEx distintas transferencias. Por ejemplo el puente norte
que realiza la misma funcin pero para gestionar los para el acceso a RAM.
permisos en el espacio de memoria de otro proceso.
Es bastante interesante para temas de inyeccin de Por tanto cabe pensar que si logramos en
cdigo en el espacio de memoria de otro proceso, nuestro programa la obtencin del puntero de in-
por ejemplo til para muchos virus y otros progra- struccin (EIP), para as simplemente hacer algo
mas con el fin de saltarse protecciones del sistema como MOV [EIP], valor, pues ya tendramos el prob-
o para escalar privilegios en el sistema, o simple- lema resuelto. Pero resulta que el registro EIP no es
mente para modificar el normal funcionamiento del accesible por cdigo. Es decir el procesador no in-
proceso en cuestin. corpora en su juego de instrucciones un modo de
direccionamiento como el antes mencionado (MOV
Como sabemos, la direccin de la siguiente EIP, VALOR). As que nos la ingeniaremos para inven-
instruccin a ejecutar est contenida en el regis- tar un pequeo truco, aprovechando la pila para
tro EIP (32 bits) del procesador. Al principio de la obtener la direccin actual.
Pg 25
ezine hackhispano
#Programacin#

Como bien sabemos, cada vez que se hace haberme enrollado demasiado), he realizado un
una llamada, CALL a un procedimiento o una fun- programa de ejemplo, implementado en Delphi,
cin (una subrutina en general), se almacena en la con el cual espero aclarar conceptos.
pila la direccin de retorno. Pues bien, si la subru-
tina a la que llama contiene en sus dos primeras in- Describiendo el funcionamiento, tras la ini-
strucciones un POP REGISTRO, sacamos de la pila di- cializacin de los registros necesarios, punteros de
cha direccin y la almacenamos en dicho REGISTRO. pila y dems (PUSH EBP y MOV EBP,ESP), lo primero
Posteriormente hemos de insertar nuevamente en es llamar a la subrutina o procedimiento GetEIP. Ha-
la pila dicha direccin de retorno para que todo vaya ciendo sto habremos metido en la pila la direccin
correctamente (PUSH REGISTRO) tras el RET, que es de retorno (es un CALL). Cuando entre en la subru-
quien verdaderamente saca de la pila la direccin tina GetEIP, lo primero que haremos ser sacar di-
de retorno y accede al registro EIP para continuar la cha direccin de retorno de la pila y guardarla en el
ejecucin del programa tras la llamada. registro EBX. Es importante no destrozar el contexto
sobre el que se trabaja, ya que podramos romper el
Teniendo ya en dicho REGISTRO la direccin buen funcionamiento del programa, y ser necesa-
de nuestro cdigo (antes de la llamada), pues ha- rio escoger un registro no utilizado, o bien, utilizar
ciendo algo como MOV [REGISTRO+offset], VALOR, uno cualquiera y restaurarlo al final tal y como esta-
siendo el offset el desplazamiento hacia donde ba. Yo he usado EBX, puesto que estaba inutilizado.
queremos escribir la nueva instruccin, supuesta- Tras haber sacado la direccin de la pila, y guardan-
mente debera funcionar (porque si pertenece a un dolo en EBX, no debemos olvidar volverlo a meter
modo de direccionamiento del procesador). en la pila, para que tras finalizar la rutina se vuelva a
la ejecucin normal del cdigo.
Pero no tan deprisa, aunque parezca que ya En dicha subrutina he aprovechado y he
hemos visto la luz, recordemos que nuestro querido puesto en EBX el offset o desplazamiento sobre el
Windows protege dicha zona de memoria de c- que queremos modificar el cdigo, aunque podra-
digo, y aun debemos dar el permiso de escritura mos haberlo puesto fuera de dicha subrutina, pero
correspondiente, y aqu es donde entra la funcin es ms correcto as, ya que ser pasado como argu-
VirtualProtect, que recibe como: mento a la funcion VirtualProtect.
A continuacin llamamos a VirtualProtect, con-
primer parmetro: la direccin cuyos permisos tenida en Kernel32.dll, pasndole como parmetro
queremos modificar, la direccin a la que queremos cambiar los per-
segundo parmetro: el nmero de pginas so- misos. Como el cdigo del programa es pequeo,
bre los que tendr efecto el cambio de permisos, he puesto que solo modifique una pgina, y que de
tercer parmetro: es una constante que indica permisos de lectura y escritura (PAGE_READWRITE,
el nuevo permiso, constante de valor 4), y el ltimo parmetro es el
y el cuarto parmetro: es un puntero a la direc- puntero sobre el cual se van a guardar los viejos
cin para guardar los permisos anteriores y poder permisos de dicha direccin.
restaurarlos ms adelante. Una vez ejecutada dicha funcin, ya ten-
dremos desprotegida la pgina del segmento de
Tras la llamada a VirtualProtect, si todo ha ido cdigo de nuestro programa, con lo cual, ya si po-
exitoso, habremos cambiado el permiso al que de- demos escribir directamente en dicha zona.
seemos. Tras lo cual, haciendo la operacin de MOV He puesto una serie de NOPs, (No OPeration,
[REGISTRO+offset], VALOR, pondremos dicho VAL- de cdigo 90 en hexadecimal, cuya funcin es ocu-
OR en la direccin que queramos modificar, macha- pa un byte y no hacer nada), que sern los bytes
cando literalmente la instruccin que exista. que modifiquemos, para dejarlo lo ms claro posi-
Para llevar a cabo toda la teora, (espero no ble. Por tanto en EBX+Offset se encuentra el primer
Pg 26
ezine hackhispano
#Programacin#

NOP.
Es importante tener en cuenta el detalle de Sin ms enrollarme, he aqu el cdigo del pro-
que lo que se escribe debe tener el mismo tamao grama:
que lo que haba antes, si no, corremos el riesgo de
una bonita excepcin de desbordamiento jejeje. program Project1;
El primer MOV BYTE PTR [EBX],184 sirve para
function VirtualProtect(lpAddress: Pointer;
sustituir el primer NOP (90), por un MOV EAX, ... dwSize, flNewProtect: LongWord;
(B8). lpflOldProtect: Pointer): LongBool;
El segundo MOV DWORD PTR [EBX+1],00 sirve stdcall;
para especificar el operando fuente del MOV ante- external kernel32.dll name
rior. Observar que ahora es EBX+1, puesto que tras VirtualProtect;
ejecutar el primer MOV ya habremos ocupado 1 var
byte, y la siguiente instruccin a escribir se encon- dir, vieja: Pointer;
trar en el byte siguiente. Adems he especificado
DWORD porque la instruccin MOV a utilizar va a procedure GetEIP;
mover un dato de 32 bits. (para poner EAX a 0: MOV begin
asm
EAX,0 ser el resultado final). pop ebx
El tercer y ltimo MOV BYTE PTR [EBX+5],64, push ebx
ya corresponde a la ltima instruccin que vamos add ebx,28h //EBX+28 es la direccin a
a insertar, corresponde a un INC EAX (incrementa machacar (los NOPs)
EAX en una unidad). No olvidar que debemos poner mov dir,ebx
end;
EBX+5, puesto que los dos MOV anteriores (es decir, end;
el MOV EAX,0, ocupa 5 bytes), y por tanto hemos de
insertar la siguiente instruccin 5 bytes despus.
Podramos haber ido incrementando lo cor- begin
respondiente el registro EBX tras cada MOV, pero asm
call GetEIP
bueno como son poquitas, pues por ahorrar instruc- end;
ciones...jejeje. VirtualProtect(dir, 1, 4, @vieja);

asm
mov ebx,divr
mov byte ptr [ebx],184 //184 es B8 en
Hex: un MOV EAX,...
mov dword ptr [ebx+1],00 //pon el
operando fuente al MOV anterior: MOV EAX,0
mov byte ptr [ebx+5],64 //64 es 40 en
Hex: un INC EAX
nop
nop
nop
nop
nop
nop
nop
nop
nop
end;
end.

Pg 27
ezine hackhispano
#Programacin#

Compilado y enlazado con Delphi, aqu est el programa Project1.exe desensamblado con OllyDbg,
un depurador para Windows. Como todos sabris, tiene 4 secciones, la superior izquierda con el cdigo de-
sensamblado, la superior derecha para ver el estado de los registros y de las banderas, la inferior izquierda
para ver el cdigo hexadecimal y editarlo, y la inferior derecha que es la pila.

Aqu un resumen de cada una de las instrucciones del programa desensamblado:

Pg 28
ezine hackhispano
#Programacin#

Los MOV justo anteriores a la lista de NOPs son los que sobrescribirn a stos.
El primer y ltimo CALL sirve para asignar y liberar respectivamente un Handle al proceso en cuestin.
Como ya sabemos Windows maneja todo a travs de un identificador o manejador. Esto ocurre en todos
los procesos Windows.

Trazamos con F8 hasta el segundo CALL (para no entrar en el primero), y con F7 entraremos en el
segundo CALL para observar la subrutina GetEIP:

Observamos la Pila como inserta la direccin de retorno, tras ejecutar la subrutina (seguimos tra-
zando con F8), tendremos en EBX dicha direccin, pero le habremos sumado el correspondiente despla-
zamiento hacia la direccin en la que vamos a sobreescribir, en este caso hacia el primer NOP:

Pg 29
ezine hackhispano
#Programacin#

Ahora llamamos a VirtualProtect, para ello como hemos usado el estandar stdcall para las llamadas,
los parmetros son pasados por pila de derecha a izquierda (se inserta en la pila del ltimo parmetro al
primero), de ah la sucesin de los PUSH.

Seguimos trazando con F8, no har falta entrar en la llamada a VirtualProtect, hasta situarnos en el
primer MOV: MOV BYTE PTR DS:[EBX],0B8:

Y ahora es cuando observaremos los resultados (Observad los NOPs):

Pg 30
ezine hackhispano
#Programacin#

Por ultimo ejecutamos el ltimo MOV que nos queda, para cambiar un NOP ms por un INC EAX:

Hasta este punto, probablemente te ests preguntando y para qu quiero yo poder hacer esto? pues
bueno esta fricada depender del uso que tu le quieras dar... Desde simplemente volver loco a un Cracker
para proteger tu cdigo, es decir, que mientras est depurando vea delante de sus narices como el cdigo
se va cambiando a medida que realiza una traza... Bonita debe ser la cara que se le quede... jejeje, hasta un
simple uso como ejecutar instrucciones aleatoriamente... imaginad una funcin random, o simplemente
usar las rutinas de servicio del DOS, para capturar por ejemplo la hora y fechas del sistema (con INT 21 y
AH=2Ch) y que ejecute cdigo en funcin de la hora de ste, perdn por poner un ejemplo tan friqui. Solo
quera demostrar un ejemplo. Probablemente si lo hace se lleve a cabo ms de una excepcin o quien
sabe!!!, a lo mejor das con un superprograma que haga maravillas...

Lo curioso para aadir no es slo la posibilidad que ofrece Windows a poder cambiar los permisos
de la zona de cdigo de nuestro proceso, sino de cualquier proceso en Windows. Esto es posible gra-
cias a la funcin VirtualProtectEx, anloga a la comentada en este artculo, pero para procesos externos al
nuestro.

Con lo cual, es posible acceder al espacio de memoria de otro proceso y cambiarle las instrucciones
a nuestro antojo, logrando as que dicho programa (por ejemplo Internet Explorer, MSN, Notepad o Soli-
tario) trabaje a nuestro gusto. O hablando en trminos hackers, no slo cambiando sus instrucciones,
sino inyectando las nuestras propias (de nuestro cdigo de cosecha propia) para que se ejecute con los
privilegios del programa inyectado. til por ejemplo para saltarse numerosas protecciones de firewalls y
antivirus, o simplemente para ejecutar cualquier tipo de instruccin privilegiada y que si es accesible por
dicho programa vctima.

Samir Sabbagh Sequera (HySTD)

Pg 31
ezine hackhispano
#Windows#

P R O C ES O S EN UN SISTEMA . que no haya dependencias de datos, y muchas ms.


INTR O DU C I N A L A A P I Pero todas estas tcnicas de optimizacin no son
tema de este captulo.
DE WIND O WS ( III P ARTE )
En un computador, existen diferentes jerar-
En este captulo, nos iniciaremos en el manejo
quas de memoria, (registros del procesador, ca-
de los procesos en Windows.
chs, memoria principal o RAM, discos, etc...),. Esto
es as para aumentar las prestaciones y la rentabili-
Primero describiremos brevemente el funcio-
dad del sistema, ya que no slo depende de cuantas
namiento de un computador actual a nivel de hard-
instrucciones es capaz de ejecutar un procesador a
ware, y luego sabiendo lo que ocurre a este nivel,
la vez, o en cuantas etapas, sino, que tambin afecta
nos abstraeremos a un nivel superior, desde el pun-
el hecho de que el procesador tiene que ir a buscar
to de vista del Sistema Operativo.
a la memoria la instruccin, trarsela, y ejecutarla.
Este tiempo de acceso a memoria, ser ms peque-
Para empezar debemos saber exactamente
o cuando se logre que desde que el procesador
qu es un proceso. Un proceso no es ms que un
solicita una instruccin o un dato, hasta que se le es
programa en ejecucin, y un programa es una
devuelto por la memoria, sea lo ms pequeo po-
secuencia de instrucciones que es capaz de ejecu-
sible, la latencia sea mnima (actualmente del orden
tar el computador por s solas, de forma automtica.
de 4 nanosegundos). Por ello por ejemplo una me-
Los programas se almacenan en memoria, de forma
moria cach actual tiene menor tiempo de acceso
que el procesador (CPU) toma la primera instruc-
que una SDRAM DDR2.
cin de la memoria y la ejecuta, luego la siguiente
y as sucesivamente hasta finalizar el algoritmo del
Dicho esto veamos de forma general y muy
programa. Evidentemente un sistema ser ms rent-
resumida, cmo funciona un computador.
able cuando el tiempo de ejecucin de un progra-
ma (desde que se inicia la primera instruccin hasta
El programa se encuentra en el disco. Se hace
que finaliza la ltima) sea lo ms pequeo posible.
una llamada al sistema para que lo cargue en me-
Para ello existen tcnicas de optimizacin tanto
moria principal (RAM, es decir un nivel inferior en
hardware como software, por ejemplo a nivel hard-
la jerarqua de memoria) y comience a ejecutarlo.
ware existen tcnicas mediante las cuales el proc-
Cargarlo en memoria significa reservar espacio en
esador es capaz de ejecutar varias instrucciones a
sta para ubicar la secuencia de instrucciones del
la vez, (procesadores superescalares), que sea capaz
programa, y reservar otro espacio distinto en la me-
de procesar mltiples datos a la vez (procesadores
moria para almacenar los datos que se vayan neces-
vectoriales, presentes sobre todo en sistemas para
itando a lo largo de la ejecucin de ste. El sistema
el procesamiento de imgenes, tarjetas grficas,
operativo se encarga de realizar esta tarea de car-
etc...), que el procesador sea capaz de ejecutar el
ga, para ello debe indicarle al procesador dnde
mayor nmero de instrucciones en el tiempo (tenga
se encuentra la primera instruccin a ejecutar, y a
mayor frecuencia de trabajo), que el procesador sea
partir de dnde se guardarn los datos que se vayan
capaz de dividir las instrucciones en etapas de man-
necesitando. Para ello graba en un registro del pro-
era que en cada etapa se puede ejecutar varias eta-
cesador (registro CS, segmento de cdigo para ar-
pas distintas de distintas instrucciones, sin que ello
quitecturas x86), la direccin dnde comienzan las
afecte a la dependencia de datos, tcnica conocida
instrucciones, y en otro registro (DS, segmento de
como segmentacin o pipeline, y un largo etc. Y
datos para arquitecturas x86), para indicar a partir
tcnicas software principalmente hay que destacar
de donde se almacenarn los datos que se neces-
que el algoritmo del programa sea lo ms eficiente
iten (por ejemplo las variables del programa, y to-
posible, la reordenacin por parte del compilador,
das las estructuras de datos que utilice durante la
de las instrucciones del programa en memoria para
Pg 32
ezine hackhispano
#Windows#

ejecucin), as como la pila de ejecucin, (registro de reloj, como pueden ser las actuales DDR o DDR2.
SS, segmento de pila), para indicar a partir de qu (Que transfieren el doble y el cudruple de datos re-
direccin se van a ir guardando los datos auxiliares spectivamente en el mismo periodo de tiempo).
y los parmetros de las funciones locales, como una
pila de platos). Por cada proceso existe una pila, pero Pero, qu ocurre si la cach ya est llena y no
por cada llamada a una funcin existe un fragmen- caben ms bloques que se necesitan? Pues existe la
to dentro de esa pila, denominado StackFrame, es poltica de reemplazo en la cach. Viene implemen-
decir, la pila en el estado actual de ejecucin de di- tada a nivel de hardware, y existen 4 tcnicas para el
cha funcin. El acceso a dicho StackFrame siempre reemplazo, siendo las ms utilizadas las aleatorias y
vendr referenciado por un puntero almacenado la denominada LRU. La primera sustituye el bloque
en un registro del procesador (SP, puntero de pila), que se trae de memoria por un bloque aleatorio de
que apunta hacia el ltimo elemento introducido la cach ya ocupado. Y la segunda sustituye aquel
en la pila. En arquitecturas x86, la pila no crece ha- bloque que menos se ha usado recientemente.
cia arriba, como hemos indicado con el ejemplo de Otras polticas, que prcticamente no se usan son
pila de platos, sino que lo hace hacia abajo, hacia la FIFO (se sustituye el primer bloque que entr en
direcciones mas bajas. la cach) y la LFU (se sustituye el bloque que menos
veces ha sido accedido por el procesador)
Una vez cargado en memoria, el procesador
accede a la cach (que suponemos vaca al prin- Este proceso se sucede continuamente hasta
cipio, ya que el programa recordemos que est en finalizar el algoritmo completo del programa.
la RAM), mediante la direccin virtual que genera,
evidentemente ah no estn los datos ni las instruc- Visto de forma muy genrica y simplificada
ciones, asi que se produce un fallo de acceso. Debe cmo funciona un computador, ahora nos centrare-
entonces acceder, traduciendo la direccin virtual a mos desde el punto de vista del Sistema Operativo,
fsica, a la memoria principal, pero al ser sta ms es decir sin importarnos cmo est implementado el
lenta que la cach, se debe esperar cierto tiempo hardware, ni si el procesador es segmentado, super-
para que se logre traer los datos correctamente (Se escalar, o si funciona a ms de 4GHz, o si la memoria
produce una penalizacin de tiempo por no encon- tiene un tiempo de acceso pequeo, o las instruc-
trarse en la cach). Evidentemente se puede pensar ciones se encuentran o no en cach, o reordenadas
que sto puede pasar con las siguientes instruc- de la mejor forma posible en memoria.
ciones y retrasar por tanto la ejecucin del progra-
ma, por ello, ya que se accede a la RAM, en vez de Windows, como todo sistema operativo pro-
traer solamente el dato o la instruccin solicitada, vee de unas llamadas al sistema que hacen cargar o
se trae los consecutivos, ya que probablemente la descargar un proceso de la memoria. Al estar tratan-
siguiente instruccin a acceder sea la consecutiva a do con sistemas multitareas, es decir es posible re-
la anterior, es decir se trae un bloque completo de alizar ms de una tarea al mismo tiempo, (los proce-
instrucciones y las almacena en la cach, de forma sos presentes se cargan en memoria y cada proceso
que la siguiente vez que se vaya acceder, la instruc- tiene un espacio distinto en memoria identificado
cin ahora si se encuentra en la cach y no habr por su segmento de datos y segmento de cdigo
que esperar (no habr penalizacin de tiempo). Re- distinto) no slo carga el cdigo en memoria, sino
ducir la penalizacin de tiempo debida al acceso a que se crean las estructuras de datos necesarias
la memoria principal se consigue aumentando las para poder gestionar todos los procesos presentes
prestaciones de la RAM. Existen tcnicas que per- de la mejor forma posible, ya que el procesador
miten acceder en modo rfaga (como pueden ser las slo puede ejecutar una instruccin en un instante
antiguas BEDO), aunque ya en desuso, hoy en da ex- de tiempo (a excepcin de los superescalares). Es-
isten las DRAM Sncronas que trabajan bajo una seal tas estructuras de datos son la cola de procesos y
Pg 33
ezine hackhispano
#Windows#

el PCB (Process Control Block, es decir, bloque de otro proceso. Posteriormente el proceso descarga-
control de procesos). Entre otros datos, en el PCB se do se vuelve a cargar en la memoria para continuar
almacena un identificador de proceso (PID, que es con su ejecucin, por donde lo dej. Este proceso de
nico para cada proceso), usuario al que pertenece, carga y descarga se sucede continuamente cuando
tiempo que lleva en ejecucin, prioridades, etc... existen muchos procesos en ejecucin, cosa que
ocurre muy a menudo. Evidentemente el tiempo de
Por tanto el sistema operativo debe repartir el descargar, guardar en disco, leer del disco y volver a
tiempo de uso del procesador entre cada proceso, cargar es algo que consume bastante tiempo. El ac-
es decir, decide si durante 2 segundos el proceso A ceso al disco es muchsimo ms lento que el acceso
va a ocupar el procesador, durante el segundo si- a la RAM, principalmente porque ste es mecnico
guiente va a ocuparlo el proceso B, y as sucesiva- y la memoria es elctrica.
mente. O bien si existen prioridades, decidir que
proceso tiene mayor prioridad para ocupar el pro- Este mtodo de guardar temporalmente en el
cesador. Al cambiar de proceso, se cambia todo el disco y volver a cargar, es decir de darle la cualidad
contexto, se escriben los registros CS, DS, SS, IP, etc, al sistema de poder direccionar todo el espacio de
referentes al proceso a ejecutar por el procesador. memoria direccionable por el procesador, que de-
Todo sto se conoce como planificacin de pro- pende del bus de direcciones de se (si por ejemplo
cesos. Existen muchas tcnicas para implementar es de 32 lineas de direccin, pues direccionar hasta
el planificador de procesos de un Sistema Opera- 4GB), se conoce como Memoria Virtual. Los proce-
tivo. Uno de los ms conocidos es el Round Robin, sos descargados se almacenan en una zona reser-
aunque no tiene en cuenta las prioridades, reparte vada en el disco y las transferencias necesarias entre
equitativamente los tiempos de ocupacin del pro- memoria principal y el disco se realizan mediante
cesador, dando mayor sensacin de paralelismo. Es un fichero especial denominado Fichero de pag-
decir, se decide que un proceso no puede estar ms inacin (PageFile.sys en Windows)
de un periodo de tiempo ocupando el procesador,
y si lo supera, se suspende y se le cede el turno al Entendiendo un poco la mecnica de funcio-
siguiente proceso de la cola, y as sucesivamente. namiento de un computador actual y la misin del
El proceso que se suspendi al principio volver a Sistema Operativo:
ocupar el procesador cuando todos los existentes
en la cola de procesos hayan hecho uso ya de l. Existe algn mecanismo que me permita a
mi personalmente ubicar un proceso en memoria?
Probablemente, te ests preguntando que si Evidentemente si. Cuando haces doble clic sobre
el sistema es multitarea, qu puede ocurrir si to- un programa que se encuentra almacenado en el
dos los procesos existentes no caben en la memo- disco. O bien desde tu aplicacin haciendo las lla-
ria principal? Pues efectivamente, hoy da la may- madas correspondientes al sistema. (funcin Open-
ora de los sistemas actuales suelen correr alrededor Process de Window)
de unos 15 procesos como mnimo, cada uno de el-
los con su espacio de memoria. Evidentemente si
se ejecutan muchos ms o simplemente uno slo Puede un proceso invadir el espacio de di-
que ocupe mucha memoria, no dejara espacio para recciones de memoria de otro proceso?
seguir ubicando ms procesos. Por tanto existe un Depende de la robustez del sistema opera-
mecanismo de virtualizacin que consiste en des- tivo y de cmo gestione la memoria. En sistemas
cargar un proceso de la memoria, ubicarlo tempo- Windows sto es posible mediante unas tcnicas
ralmente en el disco duro (que si es de mucha ms de inyeccin de cdigo. (DLL injection). Usada fre-
capacidad que la memoria principal), dejando un cuentemente por los virus y malwares actuales para
hueco en la memoria principal (RAM), para ubicar saltarse las protecciones de los antivirus. Existen
Pg 34
ezine hackhispano
#Windows#

varias formas de llevar a cabo esta tcnica, las ms llamadas al sistema (API), acceder a dichos recursos
frecuentes son creando hilos de ejecucin remotos de ring0. Sin embargo un virus que simplemente
en otros procesos (CreateRemoteThread), y usan- quiere saltarse el antivirus o hacerse residente en
do ganchos (SetWindowsHookEx). memoria, slo tiene que hacer las llamadas al sis-
tema correspondientes para realizar dicha accin
A partir de Windows95/98, ya se incorpora un (DLL injection).
mecanismo de proteccin basado en anillos. Crear
dos espacios virtuales distintos para procesos del Por ejemplo una tcnica bastante sencilla
sistema operativo y procesos de usuario. El primero, de inyeccin DLL consistira en crear una DLL con
tambin conocido como modo kernel, es el ms el cdigo a inyectar (el que queremos que se eje-
privilegiado y puede acceder a cualquier espacio de cute en el espacio de direcciones de otros proceso
direcciones de otro proceso, ya sea del modo kernel de usuario), y simplemente cargndola en aquellos
o de usuario. El segundo slo permite acceder a es- procesos que usen user32.dll sera posible hacer
pacios de direcciones en modo usuario. Es decir prcticamente un virus inmortal.
un programa de usuario no puede acceder al modo
kernel, pero si viceversa. Windows permite realizar esta accin simple-
mente aadiendo la ruta de la DLL con el cdigo
Para un procesador de 32 bits de direccin, a inyectar en la siguiente ruta del registro de win-
en el que se pueden direccionar hasta 4GB de me- dows:
moria virtual. El sistema operativo reserva 2GB
para procesos de usuario (modo usuario o anillo3 HKEY_LOCAL_MACHINE\Software\Microsoft\
WindowsNT\CurrentVersion\Windows
ring3), y otros 2GB para procesos del sistema
(modo kernel, o anillo0, ring0).
Todos las rutas de DLL que se encuentren en la
clave AppInit_DLL, sern cargadas en los procesos
Por ello, es por lo que actualmente, por ejem-
que usen user32.dll, es decir, carguen este mdulo
plo en un Windows2000 o XP, si estando en modo
mediante una llamada al sistema: LoadLibrary(),
usuario se quiere realizar por ejemplo un programa
que prcticamente sern todos los procesos de usu-
para mandar informacin al puerto paralelo del sis-
ario.
tema, o si se intenta cerrar un proceso del sistema,
no se podr. El mecanismo que permite realizar
Si comprobais dicha ruta observad que no haya
dicha accin es el driver. El driver permite a un
ninguna ruta a una DLL sospechosa, puesto que si la
usuario acceder al modo kernel, para gestionar un
hay, empezara por pasar algn tipo de antivirus, ya
dispositivo o un proceso en ring0, haciendo las re-
que es bastante utilizado, sobre todo para Spywares.
spetivas llamadas al sistema y tratndolo como un
fichero, por tanto el driver se crea, se abre, se llama,
El tema de DLL injection a nivel de progra-
se cierra, usando las funciones de descriptores de
macin lo comentaremos en otros artculos.
fichero: CreateFile( ), ReadFile( ), WriteFile( ), etc...
Muy por encima, conocemos a groso modo
La API de Windows, le pasa una estructura IRP
el funcionamiento tanto a nivel hardware como
al driver que es un paquete que contiene la infor-
software de una maquina que ejecuta programas
macin sobre las rutinas a ejecutar, por ejemplo:
simultneamente por s sola. Pero probablemente
Read( Klrp IRP );
quieras gestionar procesos de usuario desde Win-
dows, bajo tu aplicacin. Esto es posible gracias a
Por tanto un virus por ejemplo, para poder
la API de Windows que nos facilita la labor para re-
acceder a un dispositivo o un proceso del kernel,
alizar las llamadas necesarias al sistema.
debe instalar un driver que le permita, mediante las
Pg 35
ezine hackhispano
#Windows#

lemas de menor tamao, optimizando por tanto la


Hasta ahora hemos supuesto que los procesos velocidad.
en un sistema multitarea son independientes, pero Esta tcnica de multihilos, se utiliza frecuente-
puede ocurrir que exista dependencia entre ellos, o mente en aplicaciones grficas (mientras un hilo se
bien que un proceso existente lance otro proceso encarga de realizar los clculos, el otro se encarga
heredando sus atributos (proceso padre y proceso de atender las peticiones del usuario en la interfaz
hijo), siendo el hijo una copia exacta del padre, grfica), y tambin es muy usada en aplicaciones
eso s cada uno de ellos tendr su propio identifi- web, sobre todo en Servidores.
cador (distinto PID), y espacios de memoria distin-
tos. Ejemplos de sto lo podemos encontrar en los A parte de sto, comentar que por ejemplo no
procesos daemons (demonios) de Linux (como por slo se gestionan hilos a nivel del Sistema Opera-
ejemplo un servidor web funcionando, Apache por tivo, sino tambin a nivel de procesador. Ejemplo de
ejemplo), o los conocidos svchost de Windows. Esta ello lo podemos encontrar en la familia de los Intel,
tcnica de bifurcacin, la podemos implementar, en procesadores actuales, conocida como Hyper-
en vez de con varios procesos, mediante hilos de Threading.
ejecucin distintos (Threads), consiguiendo as
que un proceso realice una tarea, como si fueran La forma en que el sistema permite comunicar
varios procesos distintos en ejecucin trabajando dos procesos distintos, ya sean hilos, o varios proce-
en la misma tarea. sos padre e hijo, es mediante tuberas (pipe |). De
manera que se ejecutan estos procesos en el sistema,
Para aclarar este importante concepto, pon- pero es posible redireccionar la salida estandar de
gamos un ejemplo: Supongamos que queremos re- uno a la entrada estandar de otro. Supongo que
alizar un programa para que encuentre los nmeros ms de una vez lo habris usado... para el caso de
primos del 1 al 1000000. Si lo realizamos mediante Windows por ejemplo podemos hacer lo siguiente
un algoritmo lineal, es decir, comprueba el 1, mira desde una consola:
si es primo, y continua con el 2, y as sucesivamente
hasta el 1000000... probablemente observemos una C\:>DIR|more => la salida estandar del comando
DIR, la introducimos en la entrada estandar de
sensacin de bloqueo en el sistema, debida a que MORE. (Dos procesos que se han comunicado entre
el planifiador del Sistema Operativo conmuta entre s).
nuestro proceso y los dems, consumiendo prcti-
camente el 100% de uso del procesador. Si ahora Para el caso de Linux, podemos poner por
creamos por ejemplo un hilo de ejecucin en nue- ejemplo:
stro programa para calcular los nmeros primos, el $ ls-l /etc | grep [0-9]

resultado visto desde el punto de vista del Sistema


Operativo sern dos hilos de ejecucin diferentes, Esto por ejemplo nos mostrara los archivos y
uno para el clculo y otro el que ya exista en nues- directorios del directorio /etc que contienen al me-
tro programa. Evidentemente el hilo encargado de nos un dgito. Tenemos el mismo caso, dos proce-
realizar los clculos consumir recursos del sistema, sos distintos que se ejecutan y la salida de uno se le
pero el perteneciente a nuestra aplicacin no se pasa como entrada a otro.
ver afectado (habr desaparecido la sensacin de
bloqueo). No obstante creando un segundo hilo de Otra manera de comunicar dos procesos en
ejecucin no mejoramos, para este ejemplo, el ren- ejecucin consiste en el paso de mensajes.
dimiento. Pero, si creamos varios hilos de ejecucin
de manera que cada hilo, que se comporta como un En el capitulo anterior, vimos como manipular
proceso distinto, realice una parte del clculo, en- una ventana de otra aplicacin a travs de la nuestra,
tonces habremos dividido el problema en subprob- mediante el paso de mensajes entre aplicaciones.
Pg 36
ezine hackhispano
#Windows#

Dentro del conjunto de los procesos que existen


en Windows, podramos hacer un subconjunto de
aquellos procesos que se gestionan mediante ven-
tanas. Son los ms conocidos por los usuarios en en-
tornos grficos. (Aplicaciones de escritorio). En las
que comnmente existe un botn en la parte supe-
rior para poder cerrar todo el proceso, es decir cer-
rar la aplicacin (descargar el proceso de memoria).

Recordar que en Windows, todo se controla y


se gestiona mediante un puntero al objeto. Es decir,
un Handle o manejador que nos permite manipu-
larlo como queramos. Pues bien, es posible lanzar o
cerrar un proceso, es decir cargarlo o descargarlo de
la memoria, solicitar informacin sobre el proceso,
etc... a partir del Handle de ste.

Las funciones de la API WIN32 ms impor-


tantes, entre otras, para la gestin de procesos son:
CreateProcess(), OpenProcess(), CloseHandle().

Estas funciones las trataremos desde el prin-


cipio en el siguiente captulo, ya que debido a su
extensin (muchas estructuras de datos, bastantes
parmetros, etc...), no queda espacio suficiente en
este artculo para ello.

Espero haber aclarado los conceptos previos


sobre procesos antes de iniciarnos a la escritura de
cdigo.

Samir Sabbagh Sequera (HySTD)

Pg 37
ezine hackhispano
#Windows#

Configurar la red racin de red... hay varios, aunque todos son simi-
en Windows 2000/ lares. Otra opcin es utilizar el Windows XP Pro (si
X P po r co n s ol a : no quieres salirte de Windows por supuesto)... Pero,
hay otras, especialmente una que es en la que voy
Como muchos de vosotros sabis, hay varas a centrar este pequeos apuntes... utilizar NETSH...
versiones de Windows XP, entre ellas, la Home, Pro- porque algunas limitaciones solo son tal si no sabes
fesional, TablectPC, MediaCenter... la base de todas utilizar las herramientas adecuadas, ya que en las
es la misma, pero, de cara al usuario hay grandes utilidades del SO hay limitaciones que no existen si
diferencias. te bajas a la lnea de comandos.

Una de esas diferencia es la que provoco este Bueno, tambin haba la opcin de configu-
artculo, la versin Home viene de serie capada para rar en su casa la red con unos parmetros similares
que solo puedas tener una configuracin de red a los utilizados en la Universidad, pero esa sera una
por tarjeta de red, lo que en cristiano significa que si solucin vlida para esta ocasin, normalmente no
eres de los que anda con el porttil de aqu para all, es un solucin viable.
pues a cada sitio que llegues y quieras conectarte
en red, o en todas tienes la misma direccin, puerta
de enlace o tienes que cambiar manualmente tu
la configuracin... NETSH
Y, que coo es NETSH? pues es el mini shell
Motivo del texto para configurar los servicios DHCP, servicios de red
Bien, un conocido mi que est estudiando y enrutamiento y el servio RAS, entre otras cosas...
en la Universidad, resulta que se acaba de encontrar por ah veris que muchos se refieren a el como
con esta contrariedad en su nuevo porttil, pues es- NetWork Shell o su abreviatura NetShell, y es que
tos das se va a estudiar a la Universidad y no vuelve eso es exactamente el NETSH, es el equivalente al
hasta la noche (est a vueltas con los exmenes), CMD pero referido a la red... y es en el que se basan
pero como le gusta aprovechar el tiempo (y la su- esos programas comentados antes... porque con el
perconexin a Internet que tiene la Biblioteca de NETSH se puede cambiar una direccin IP, la puerta
la Universidad) pues se lleva el porttil y utiliza la de enlace, agregar ms direcciones de red a un mis-
conexin de uno de los PCs de la Biblioteca (hay mo dispositivo de red...
una zona Wifi, pero est algo capadilla)... y ah est
el problema, claro cuando vuelve a casa pues tiene Pero comencemos con el NETSH:
que reprogramar la conexin a red para seguir con
el trabajo en casa por la noche, ya se sabe el eMule Para comenzar conozcamos nuestra configu-
no duerme ;-) racin de red, para eso utilicemos el comando IP-
CONFIG
Debido a lo anterior, me llamo pidindome
ayuda para no tener que desperdiciar su valioso ti- C:\>ipconfig
empo de estudio en andar configurando la red cada
Configuracin ID de Windows 2000
vez que llega a un nuevo sitio, y bueno, decid ayu-
darle... Ethernet adaptador Ethernet00:

Sufijo DNS especfico de conexin:


Posibles soluciones Direccin IP.............:192.168.0.10
Bien, hay varas soluciones a su problema, Mscara de subred..........:255.255.255.0
la primera es que se baje alguno de los programas
que con solo pulsar un botn te cambia la configu-
Pg 38
ezine hackhispano
#Windows#

NOTA: Como muchos os habris dado cuenta, Pero pongmonos manos a la obra. Ahora
los ejemplos los hago con Windows 2000, pero tran- que ya tenemos los datos actuales de nuestra con-
quilos, el XP no es ms que una actualizacin menor exin, y a salvo nuestra actual configuracin, pues
del Windows 2000 (versin NT 5.1 frente a NT 5) con vamos jugar con el NETSH. Para empezar, cambiar
mejores capacidades para Multimedia y Juegos. Yo, toda la configuracin:
aunque estoy probando el Windows Vista, sigo con-
fiando en el Windows2000 para la mayor parte de C:\>netsh
netsh>interface
mis horas de trabajo. interface>ip
interface ip>set address ethernet00 static
Antes de mostraros las ordenes NetSH, pues 10.100.0.10 255.0.0.0 10.0.0.1 1
Command Succesfully
no sera mala idea de que guardarais la configu- netsh>quit
racin de red que tengis en este momento, para
que as, si sois de los que no se conforman con leer, NOTA: El mensaje Command Succesfully
pues no tengis nada de que preocuparos, ya que puede cambiar, incluso en el mismo SO, por efecto
tenis asegurado volver a la configuracin tal como de ServicePacks, actualizaciones..., en algunos te
la tenis en este momento. Primero os pongo la or- pregunta si quieres proceder (o Aceptar), en otros ...
den para guardar en un archivo la configuracin ac- pero bueno en caso de que te pregunte le dices que
tual. Despus la necesaria para volver a la anterior si o Aceptar y listo.
configuracin utilizando el archivo de salvaguarda
que creasteis con la orden anterior: NOTA2: el 1 final es obligatorio si se pro-
ducen cambios en la puerta de enlace... sin el no
netsh dump > configred.dmp
funciona, tiene un porqu, pero escapa al motivo
netsh exec configred.dmp de este mini artculo.

NOTA: No hace falta que lleve la extensin Haced un IPConfig y veris:


dmp, pero es la que suele usar MS en la documen-
tacin tcnica y yo suelo usarla. En lugar de confi- C:\>ipconfig

greg podis poner el nombre que queris. Configuracin ID de Windows 2000

Aparte de para guardar/recuperar una con- Ethernet adaptador Ethernet00:

exin de red, esas simples ordenes tienen muchos Sufijo DNS especfico de conexin:
otros usos, desde configurar un equipo y usar esa Direccin IP.............:10.100.0.10
configuracin para el resto de los equipos de la red Mscara de subred..........:255.0.0.0
Puerta de enlace predeterminada...:10.0.0.1
(solo habra que cambiar ligeramente la direccin
de red, algo ms rpido que repetir la configuracin
Pero, seguramente, muchos de vosotros me
en muchos equipos), aprovechar algn fallido de
diris, joder eso ya lo hago yo y sin tener que sa-
seguridad del algn que otro Windows pero esa
berme ni un comando, es cierto, pero es que con
es otra historia. Por cierto, los programitas comen-
NETSH se puede hacer muchas otras cosas, darme
tados en posibles soluciones suelen basarse justa-
unas pocas lneas ms y os lo demostrare...
mente en est pareja de ordenes

Pg 39
ezine hackhispano
#Windows#

Procedamos a agregar una direccin de red Hacer el correspondiente IPConfig de turno


completa a ese adaptador (motivo del artculo), con y veris:
su puerta de enlace y todo. Es muy similar al ante-
rior, bsicamente la diferencia radica que en lugar C:\>ipconfig
de asignar una configuracin (con SET) se agregan Configuracin ID de Windows 2000
nuevas configuraciones (con ADD), y adems ahora
no se utiliza el parmetro modificador static. Ethernet adaptador Ethernet00:

Sufijo DNS especfico de conexin:


C:\>netsh Direccin IP.............:192.168.0.10
netsh>interface Mscara de subred..........:255.255.255.0
interface>ip Puerta de enlace predeterminada...:10.0.0.1
interface ip>add address ethernet00 192.168.0.10
255.255.255.0 192.168.0.1 1
Command Succesfully Pero claro borraste la direccin, pero no la
netsh>quit puerta de enlace correspondiente a esa direccin,
con lo cual ahora os presento la orden que adems
Ahora hacer un nuevo IPCONFIG y veris la de la direccin borra la puerta de enlace:
diferencia:
delete address ethernet00 10.100.0.10
C:\>ipconfig 10.0.0.1

Configuracin ID de Windows 2000


Si hacis el IPCONFIG despus de la orden
Ethernet adaptador Ethernet00: anterior en lugar de la mostrada unas lneas ms ar-
riba os encontraras con:
Sufijo DNS especfico de conexin:
Direccin IP.............:10.100.0.10
Mscara de subred..........:255.0.0.0 C:\>ipconfig
Direccin IP.............:192.168.0.10
Mscara de subred..........:255.255.255.0 Configuracin ID de Windows 2000
Puerta de enlace predeterminada...:10.0.0.1
Ethernet adaptador Ethernet00:

Tambin se poda haber agregado una se- Sufijo DNS especfico de conexin:
gunda direccin de red, con su respectiva mascara Direccin IP.............:192.168.0.10
Mscara de subred..........:255.255.255.0
de red pero sin puerta de enlace, en ese caso, la or- Puerta de enlace predeterminada...:192.168.0.1
den ADD sera:
Aunque no lo mostraba, el 192.168.0.1 es-
add address ethernet00 192.168.0.10
255.255.255.0 taba presente, aunque la predefinida era la otra, y
ah est el truco... y es que pasaba como en los Win-
Al igual que se pueden agregar nuevas di- dows 9x, en donde podas tener muchsimas puer-
recciones, tambin se pueden borrar: tas de enlace, pero cuando preguntabas al sistema
solo te deca la primera, aunque las otras tambin
delete address ethernet00 10.100.0.10 estaban activas.

Pg 40
ezine hackhispano
#Windows#

Por cierto, la mayor parte de estas ordenes,


aunque yo las lance en varas lneas, pues pueden
lanzarse en una sola lnea. Ejemplo:

netsh interface ip set address ethernet00


static 192.168.0.10 255.255.255.0 192.168.0.1 1

Adems de poder cambiar y agregar direc-


ciones de red, pues NETSH nos permite muchsimas
ms cosas, realmente sirve para configurar todos los
parmetros de red. Entre otras cosas, permite cam-
biar DNS, WINS os pongo un ejemplo de agregar
una DNS y una direccin WINS:

netsh interface ip set dns ethernet00 static


88.42.202.56
netsh interface ip set wins ethernet00 static
192.168.0.46

Y alguno dir coo todo cojonudo pero, y


que pasa cuando hay que utilizar DHCP?, pues NetSH
tambin puede trabajar con DHCP. Las rdenes son
iguales que las anteriores, pero en lugar de utilizar
como parmetros direcciones, se utiliza el parmet-
ro dhcp, con lo que las rdenes quedaran de la
siguiente forma:

netsh interface ip set address ethernet00


dhcp
netsh interface ip set dns ethernet00 dhcp
netsh interface ip set wins ethernet00 dhcp

Llegados a este punto, solo har un peque-


o inciso ms, yo a lo largo de todo el texto utilice
ethernet00 porque yo tengo ms de una tarjeta de
red. Cuando solo se tiene una tarjeta de red, lo que
se suele usar es Conexin de Area local (con Win-
dows en espaol) o Local Area Connection (con
Windows en ingls).

NETSH es esto y mucho ms, tal vez otro da os
muestre alguna caracterstica ms..., pero eso otro
da, ya que lo aqu mostrado no es ms que la punta
del iceberg.

Un Saludo
iberhack@gmail.com
Iberhack
Pg 41
ezine hackhispano
#Hackers#

HA C K ERS , UNA C U L TURA y simplemente buscan el reconocimiento de una


Cuando mi amigo clarinetista me pidi que cultura que simplemente los repudia. Entonces el-
escribiera este articulo, no me dijo sobre que quera los se refugian en una subcultura de individuos de
que escribiese. Le las anteriores ezines en busca de similares caractersticas en las que ellos mismo se
una inspiracin y tengo que reconocer que no se regodean de sus pseudo-logros. Hubo un tiempo
me ocurri nada original e innovador. Tal vez tratar que los hackers los llamaron lammers, pero esta
sobre las nuevas formas de ataque a redes basadas etiqueta ya esta en desuso. El motivo del desuso
en encriptacin o hablar de cmo evolucionan las es que ellos mismos se etiquetaban a si mismos y
formas de malware o la eminente profesionalizacin a otros de nivel inferior. Un loco que le dice loco a
de tcnicas de spammers. otro loco deja de serlo automticamente?
Mi vida gira en torno a la informtica. La gente Sin embargo no debemos llevarnos a engao.
no sabe que soy un hacker, no saben que soy exper- Estos personajes no son unos machateclados a se-
to en sistemas y redes y que he ayudado a empresas cas. Algunos tienen formacin acadmica y cono-
y particulares en problemas
ms o menos importantes
en su lucha cotidiana con-
tra el destrozo informtico.
Los hackers estamos
muy mal vistos en la so-
ciedad. He ledo mucho en
foros de otras temticas de
cmo los admin se que-
jaban de que los hackers
les destrozaban sus sites,
como ellos decan como si
hicieran grafitis. He tenido
que fingir que no se de
que me hablan y obviar el
tema de su falsa sensacin
de estar bajo el uso de la
verdad absoluta. Tambin
estoy harto de ser blanco
de descalificaciones por
medios de comunicacin
medio analfabetos que no
sabran diferenciar, el spam del spoofing. Sin em- cimientos avanzados de programacin en diversos
bargo queridos lectores, esta poca ya ha tenido lu- lenguajes y saben moverse bajo diferentes sistemas
gar. Cualquiera que lea la historia del hacktivismo se operativos. Me encontr en el IRC algunos de ellos
dar cuenta que llueve sobre mojado. con conocimientos casi brillantes.
El problema ahora es que la difusin y expan- Bien, vimos hasta aqu las similitudes, pero
sin de la red de redes los exploits y las tcnicas la diferencia es bsica y a la vez fundamental. Ellos
antes reservadas a autnticos hacker y gurs de la carecen de tica. Recuerdo una vez, en mis comien-
seguridad estn al alcance de cualquier incauto que zos que revele una vulnerabilidad en un foro a un
quiere jugar a ser dios. La mayora de estos intrpi- webmaster novato. El pobre no supo repararla y casi
dos prueba-herramientas tienen una edad corta pierde su foro en el intento y tuve que darle consejo

Pg 42
ezine hackhispano
#Hackers#

en numerosas ocasiones. y que tenemos ms medios para protegerla.


Ahora estos defaces como comnmente son Yo no soy ningn gur. Mis conocimientos no
conocidos son totalmente indiscriminados. Estos llegan a esos extremos, ya que no tengo un dominio
smbolos de la protesta hacker se convirtieron en absoluta de ninguna materia, ni de todas ellas. Pero
una forma de expresin y de lucha contra objetivos si que soy hacker. Yo comulgo con la filosofa hacker,
claramente marcados como pornografa infantil, y adems, trato de inculcarla a los que se interesan
violencia, odio, racismo, xenofobia. Ahora tan solo por ella. A pesar de que me siguen preguntando si
son bsquedas powered by. se arreglar microondas y que mis colegas me pre-

Pero no lleguemos a la conclusin errnea guntan si puedo encender la webcam de los veci-
que quieren convencernos los que desconocen este nos con fines lujuriosos.
mundo de culpar a toda
una filosofa por la infamia
de quien la desconoce. No
culpare al budismo por el
despropsito de un budis-
ta. No hare con esto una
excepcin.
Hace no demasia-
do, en un canal de IRC de
hackers autnticos, me re-
fiero a canales en los que
se debate sobre filosofa
del soft libre o si es bueno
automatizar iptables en
lugar de programarlo 100
% por citar dos ejemplos
sencillos de comprender,
se hablaba sobre el futuro
de la filosofa hacker. El
oscurantismo ya paso y estamos en una poca de En mis horas de charlas con hackers noveles
transicin. Muchos hackers se convierten en audi- y amantes de la seguridad descubro que la magia
tores, empresarios y comerciales en general, abrien- no se ha perdido porque algunos magos descubran
do las puertas a un mundo que nos odia porque no sus trucos. Siempre hay quien logra sorprenderte.
nos entiende. No entiende que gracias a gente as Dedicado a mis amigos de HackHispano y de
tenemos sistemas potentes seguros y fiables. Que CulturaHack.
tenemos acceso a un software gratuito y de calidad. Ronaldo
Tambin que nuestra privacidad es ms controlada

Pg 43
ezine hackhispano
Staff:

Redactores:
Cypress
Samir Sabbagh Sequera (HySTD)
Iberhack
Clarinetista
Ronaldo

Correcin:
Esk

Maquetacin y Diseo:
mystery-man

Direccin del Proyecto:


Clarinetista

Pg 44
ezine hackhispano

También podría gustarte