The Information Systems and Computer Applications examination covers material that is usually taught in an introductory college-level business information systems course.

News

Configurar interfaces de red con PowerShell by Sergio San Roman

Acostumbrados al uso de interfaces gráficas y de aplicaciones con dicha interfaz, muchas veces nos olvidamos de la potencia y versatilidad que nos proporcionan herramientas de línea de comandos como PowerShell. Vamos a ver una serie de cmdlets con los que podremos configurar nuestras tarjetas de red.

Lo primero es identificar la interfaz de red que queremos configurar para ello, como es lógico primero deberemos identificarla, para lo cual usaremos el cmdlets:

  • Get-NetAdapter

image

Figura 1 – Get-NetAdapter

También podemos ver una configuración más detallada de un adaptador en concreto usando:

  • Get-NetAdapter –name ‘nombre de la interfaz’ | format-list

image

Figura 2 – Configuración detallada.

Si deseamos obtener toda la información disponible de la interfaz solo deberemos añadir “ * ”, al final del cmdlet:

  • Get-NetAdapter –name ‘nombre de la interfaz’ | format-list *

Una vez obtenida la información e identificado el adaptador que vamos a configurar vamos a hacer uso de una variable para configurar nuestra interface.

  • $netadapter = get-netadapter –name ethernet

Ahora disponemos de una variable que hace referencia a la interfaz de red que deseamos configurar. Ahora solo debemos utilizar esta variable para asignar:

  • Direccionamiento IP:
    • netadapter | new-netipaddress –addressfamily IPv4 –ipaddress Direccion IP –prefixlengthMascara de red –type unicast –defaultgateway Puerta de enlace
  • DNS:
    • $netadapter | set-dnsclientserveraddress –interfacealias Ethernet –serveraddresses Servidor dns

En los campos Dirección IP, Puerta de enlace y Servidor dns, obviamente deberéis introducir las direccines ip correspondientes, pero al introducir la Máscara de red no deberéis introducirla en la dotación que estamos acostumbrados, si no que deberéis introducir el prefijo, es decir, en el caso de tener la típica mascara de red 255.255.255.0, deberéis introducir 24. Recordar que el prefijo nos indica el número de bits que están asignados a la porción de red.

Si quieres aprender más secretos, configuraciones, integraciones, desarrollo de PowerShell te recomendamos leer el libro de Pablo González y Ruben Alonso “PowerShell: La navaja suiza de los administradores de sistemas. Si quieres conocer las novedades y secretos de la nueva versión del sistema operativo servidor de Microsoft te recomendamos Windows Server 2012 para IT Pros. Si quieres aprender mucho más sobre los secretos de lo sistemas Microsoft Windows, te recomendamos leer el libro de Sergio de los Santos “Máxima Seguridad en Windows: Secretos Técnicos”.

Además  si te ha gustado el artículo puedes suscribirte al Canal RSS de Windows Técnico, o seguirnos por el Canal Google+ de Windows Técnico o  Twitter para estar al día de las novedades e información técnica de interés.

image_thumb6_thumb

Advertisements

Crear un chroot con únicamente una shell y el comando ssh by Jordi Prats

Vamos a ver cómo crear un entorno con chroot con lo mínimo necesario para que un usuario se pueda conectar y realizar conexiones por ssh pero poca cosa más (una máquina de salto).

 

Para configurar esta máquina de salto, nuestro servidor ssh debe ser como mínimo la versión OpenSSH 4.9. Primero crearemos el chroot en /home con la shell bash:

cd /home
mkdir chroot
cd chroot/
ls
mkdir {bin,dev,lib,etc}
cp -p /bin/bash bin/
for i in $(ldd bin/bash 2>&1 | sed 's@\([^/]*\)\([/lib/]\?[^ ]*\).*@\2@'); do cp $i lib/; done
mknod dev/null c 1 3
mknod dev/zero c 1 5
mknod dev/urandom c 1 9
mknod dev/tty c 5 0
chmod 0666 dev/{null,zero}

A continuación copiaremos el comando ssh y todas sus librerías:

for i in $(ldd /usr/bin/ssh | sed 's@[^/]*\(/\?[/a-z0-9\._-]\+\)\?.*@\1@'); do mkdir -p $(dirname ${i:1}); cp $i $(dirname ${i:1}); done
cp /lib/libnss_files.so.2 lib/
mkdir -p usr/bin
cp /usr/bin/ssh usr/bin
cp /etc/nsswitch.conf etc/
cp /etc/resolv.conf etc/

Y prepararemos la home para el usuario, en este caso “ftl” para el usuario con id 99:

mkdir -p home/ftl/
echo -e 'root:x:0:0:root:/root:/bin/bash\nftl:x:99:99:jump!:/home/ftl:/bin/bash' > etc/passwd

Y para acabar la configración, deberemos dar una configuración incial al cliente ssh. En este caso usamosStrictHostKeyChecking no ya que no va a tener permiso de escritura en ninguna parte del chroot:

mkdir etc/ssh
echo -e 'Protocol 2\nStrictHostKeyChecking no\n\nHost *\tGSSAPIAuthentication yes' > etc/ssh/ssh_config

A continuación deberemos configurar el servidor ssh para que use el chroot, añadiendo la siguiente configuración:

Match Group chroot
ChrootDirectory /home/chroot

Y modificando la siguiente:

Subsystem sftp internal-sftp

A continuación deberemos crear un usuario con el grupo chroot (que indicamos con Match Group) con el id que hemos definido en el etc/passwd del chroot y su home:

useradd -o -u 99 -g 99 -G chroot -d /home/ftl ftl

Una vez aplicada la configuración, si accedemos con dicho usuario veremos que únicamente tenemos la shell y el comando ssh:

# ssh localhost -l ftl
ftl@localhost's password: 
Last login: Thu Feb 21 06:33:15 2013 from 1.2.3.4
-bash-3.2$ ls
-bash: ls: command not found
-bash-3.2$ pwd
/home/ftl
-bash-3.2$ echo a > ~/test
-bash: /home/ftl/test: Permission denied
-bash-3.2$ echo a > /test
-bash: /test: Permission denied
-bash-3.2$ echo a > /tmp/test
-bash: /tmp/test: No such file or directory
-bash-3.2$ ssh
usage: ssh [-1246AaCfgkMNnqsTtVvXxY] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-e escape_char] [-F configfile]
           [-i identity_file] [-L [bind_address:]port:host:hostport]
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
           [-R [bind_address:]port:host:hostport] [-S ctl_path]
           [-w tunnel:tunnel] [user@]hostname [command]

Tags: 

Relacionados

 

Enhanced by Zemanta

HBO y Apple añadirán contenido al Apple TV by Jordi Giménez

 HBO y Apple añadirán contenido al Apple TV

Según Bloomberg, Apple y HBO dos de las compañías mas fuertes de Estados Unidos, cada una en su sector, se unirán para ofrecer todo el contenido de HBO en el Apple TV de Apple.

HBO son las siglas de Home Box Office uno de los canales de televisión por cable y satélite más populares de los Estados Unidos. Es propiedad de Time Warner y su programación está basada en el estreno de películas ya exhibidas anteriormente en el cine, pero también de películas y series de producción propia, entre las que destacan…

 

series mundialmente conocidas como: The Sopranos (los Sopranos), Band of Broters (Hermanos de Sangre) Game of Thrones (Juego de Tronos) entre otras muchas. También retransmiten combates de boxeo bajo la denominación de HBO Boxing & B.A.D, y otros eventos deportivos como torneos de tenis o la misma NFL.

Los suscriptores de HBO go, podrán ver más de 600 horas de películas y programas de televisión en el Apple TV, según las fuentes de ambas partes, que pidieron no ser identificadas porque las negociaciones aún son privadas.

En algún momento durante el primer semestre de 2013 se llevará a cabo esta fusión. De momento en España, seguimos esperando que alguna empresa de el paso en firme para este tipo de contenido online, ya que puede abrir un mercado que hoy por hoy, es muy pobre en nuestro país y va creciendo en el resto del mundo.

Más información – Reproduce cualquier vídeo de tu Mac en tu Apple TV gracias a Beamer

Fuente – 9to5mac

El artículo HBO y Apple añadirán contenido al Apple TV ha sido originalmente publicado en Soy de Mac.

 

Enhanced by Zemanta

ASUS integrará control por gestos al estilo Kinect en sus computadoras by Juan Pablo Oyanedel

Unos ocho meses atrás les presentamos el proyecto Leap Motion, consistente en un pequeño dispositivo que sirve para detectar gestos y movimientos corporales, a modo de poder controlar acciones en una computadora al estilo Microsoft Kinect. En esa época, sus desarrolladores independientes prometían soporte para sistemas operativos Windows, OS X y Linux, comenzando la preventa del dispositivo por USD$70, a despacharse a comienzos del 2013.

Hoy, ya estamos en esa fecha límite y antes de hacer la entrega de los Leap Motion a los consumidores que los hayan reservado, la empresa anunció la firma de un acuerdo con el fabricante ASUS para llevar esta tecnología de manera integrada a equipos de escritorio All-in-One y notebooks de rango alto.

El sistema se complementa con el desarrollo de aplicaciones y herramientas pensadas por programadores de todo el mundo, quienes durante meses han recibido cerca de 12.000 muestras del Leap Motion para idear nuevas utilidades destinadas al dispositivo. El aparato pretende hacer su lanzamiento en gloria y majestad este año 2013 primero de la mano de ASUS y luego, estrenando el ecosistema de aplicaciones que dará la posibilidad a los clientes de controlar con las manos en el aire la pantalla de su computadora.

Link: New Asus PCs will ship with Leap Motion gesture control technology (The Verge)

 

Enhanced by Zemanta

Windows Server 2012: Personalizar Server Manager by Francisco Javier Santiago

Tras la instalación de un sistema operativo, es el turno a la personalización de éste, ya que cada persona se organiza o trabaja de maneras diferentes, no existen dos formas de personalización iguales, por lo que cada individuo busca sentirse cómodo en el lugar donde permanecerá muchas horas durante el día.

 

clip_image002[6]

Imagen 1: Server Manager

 

Y es que cada usuario accede por rutas diferentes al mismo lugar del sistema operativo, por ejemplo la forma de organizar el Server Manager, en el menú Tools cabe la posibilidad que muestre carpetas donde se podría poner algunos accesos directos a aplicaciones.

 

El menú Tools lee su contenido de la carpeta “Administrative Tools” (Herramientas administrativas). Para acceder a esta carpeta sería necesaria la siguiente ruta: “Control Panel/ All control panel ítems/Administrative Tools

 

clip_image004[6]

Imagen 2: All Control Panel Items

 

A continuación se debe crear una carpeta para añadir ahí las aplicaciones que se desee, pero no dejará crear ninguna carpeta ahí, lo que permitirá es copiar carpetas creadas en otro lugar.

Así  que se crea una carpeta en otro lugar por ejemplo con nombre “aplicaciones” y se copia a “Administrative Tools”.

 

clip_image006[6]

Imagen 3: Administrative Tools (Herramientas administrativas)

 

Para finalizar dentro de la carpeta “aplicaciones” se copia las aplicaciones que se desee tener, con lo cual a partir de éste momento a la hora de ir a “Tools” aparecerá la carpeta “aplicaciones”  con las aplicaciones preferidas que se copiaron anteriormente dotando de ésta manera de una forma más fácil y rápida de acceder a ellas.

 

Si quieres aprender más secretos, configuraciones, integraciones, desarrollo de PowerShell te recomendamos leerel libro de Pablo González y Ruben Alonso “PowerShell: La navaja suiza de los administradores de sistemas”. Si quieres conocer las novedades y secretos de la nueva versión del sistema operativo servidor de Microsoft te recomendamos Windows Server 2012 para IT Pros. Si quieres aprender mucho más sobre los secretos de los sistemas Microsoft Windows, te recomendamos leer el libro de Sergio de los Santos “Máxima Seguridad en Windows: Secretos Técnicos”.

Además  si te ha gustado el artículo puedes suscribirte al Canal RSS de Windows Técnico o al Canal Google+ de Windows Técnico para estar al día de las novedades e información técnica de interés.

clip_image008[6]


Google Play, ocultación de malware y ExynosAbuse > Pwned! by Contribuciones

Hace algo más de mes y medio tuve la oportunidad de acudir a la No cON Name 2012 con la ponencia Being smarter than G00gle! en la que presentaba una técnica para inyectar código malicioso en aplicaciones Android que a priori son inofensivas.
Este verano Nicholas J. Percoco y Sean Schulte presentaron enBlackHat USA 2012 una ponencia titulada “Adventures in Bouncerland” (podéis encontrar el whitepaper aquí) en la que explicaron cómo se podía convertir una aplicación inofensiva en maliciosa a través de JSBridge. Simplemente comentar que esta técnica se aprovecha de los puentes que se crean entre código Javascript (de ahora en adelante JS), que interpreta la aplicación a través del componente WebView, y métodos de código nativo de la aplicación. De esta forma, es posible acceder a métodos de la aplicación (como enviar un SMS) a través de JS; como hacían aplicaciones como Facebook (versión HTML5).
A continuación se muestra un ejemplo sencillo que ilustra esta técnica:

 

 

Si bien es una técnica muy interesante que permite modificar dinámicamente el comportamiento de la aplicación (a partir del código HTML/JS de las páginas que se abren con el componente WebView), el código nativo que ejecuta siempre está presente en la aplicación y éste no puede modificarse salvo que se actualice la aplicación.
Visto el inconveniente que supone el uso de JSBridge, se me ocurrió que podía ser interesante hacer uso de las posibilidades que nos ofrece Java en cuanto a la carga dinámica de clases en memoria, para crear malware modular que permita mantener una aplicación inofensiva (sin código sospechoso ni comportamiento malicioso) a la que se le agreguen las distintas capacidades en función de lo que requiera en cada momento (y dependiendo del dispositivo, firmware y demás características en las que se esté ejecutando).
Además, haciendo uso de este tipo de técnicas, podemos evitar los mecanismos de seguridad implementados en Google Play (la tienda de aplicaciones oficial de Android) y más recientemente a nivel del dispositivo (las versiones 4.2+ comprueban si las aplicaciones instaladas desde fuentes desconocidas contienen malware) puesto que un análisis automático de la aplicación no es capaz de encontrar ningún código ni comportamiento malicioso porque a priori no existe en la aplicación (ni siquiera parte del código como ocurría con la técnica de JSBridge).
Para ver más en detalle el funcionamiento de esta técnica utilizaremos de ejemplo una aplicación que simula ser una galería con las últimas siete fotografías utilizadas en el buscador Bing.

 

La aplicación BingImages ha estado publicada en Google Play desde el 6 de septiembre de 2012 (la acabo de retirar) para demostrar que el uso de estas técnicas es totalmente factible. También es importante destacar que este tipo de situaciones (uso de librerías) es normal y por ello, puesto que no se ejecuta ningún tipo de código malicioso durante el análisis que realiza Bouncer, su detección es complicada. Además se podría hacer uso de técnicas de ‘fingerprinting’ para detectar si estamos siendo analizados por Bouncer y, en ese caso, camuflarnos aun más si cabe (se puede leer más acerca de FP de Bouncer en el whitepaper ‘Dissecting de Android Bouncer’ de Charlie Miller yJon Oberheide).
El código de las aplicaciones (tanto BingImages como BingUpdater -actualizador que incluye el payload malicioso-) puede ser descargado desde mi página.
Con respecto al código que se utiliza en BingImages para contactar con el servidor de comando y control que le indicará si tiene que descargarse algún payload y cómo ejecutarlo, y posteriormente su carga en memoria:

 

 

Simplemente comentar que, si el servidor de comando y control indica que existen actualizaciones, descarga el APK indicado en el JSON, lo carga en memoria haciendo uso del cargador DexClassLoader (se le indica una ruta temporal donde creará el DEX y que posteriormente eliminaremos -método cleanTemporalyFiles()-) y ejecuta el método inicial (indicado también en el JSON). De esta forma, el payload puede tener la estructura que nosotros queramos, sin tener que “atarnos” a una fija que pueda limitarnos en un futuro.
La ocultación se realiza a nivel aplicación (indicamos al DexClassLoader la ruta en la que tiene que crear los archivos DEX temporales) haciendo que el código malicioso esté disponible sólo en memoria y únicamente durante su ejecución puesto que posteriormente el recolector de basura de Java se encarga de eliminarlo sin necesidad de tener que liberar espacio en memoria de forma manual o reiniciar el dispositivo. Si bien siempre quedan evidencias (p.e la caché Dalvik en la que se almacenan los DEX optimizados para evitar su creación en cada ejecución -y que no podríamos eliminar salvo con un exploit o si el dispositivo está ‘rooteado’-), esta técnica complica un nivel más el estudio del especímen de malware y/o el análisis forense del dispositivo infectado(a priori se encontrarían con un dispositivo que ha sido infectado sin tener claro qué aplicación es la culpable).
Un ejemplo de un payload sencillo podría ser un módulo que envíe al servidor de comando y control todos los ficheros que se estén almacenando en la carpeta Whatsapp de la SDCard (sólo necesitaríamos permisos de internet, la lectura de la SDCard no tienen ningún tipo de restricción -este permiso tendría que estar declarado en la aplicación ‘padre’-). Y como ya comentó Alex hace un tiempo, el cifrado no sería un problema.

 

 

Siempre que hablo sobre este tema comento que uno de los usos de esta técnica podría ser el crear una aplicación ‘padre’ que únicamente tenga el permiso internet (es muy fácil justificarlo) y que los módulos se aprovechen de vulnerabilidades que permitan la escalada de privilegios (vulnerabilidades en aplicaciones stockvulnerabilidades en Androiddebugging…) o ‘bypass’ de los permisos, etc.
Hace más de una semana que se está hablando de la famosa vulnerabilidad descubierta en los teléfonos Samsung con procesadores Exynos 4210 y 4412 (podeis acceder a una buena explicación del tema en el artículo de Una al día). Básicamente la vulnerabilidad se encuentra en la asignación de los permisos del fichero/dev/exynos-mem que permite el acceso a toda la memoria RAM del dispositivos a cualquier usuario del dispositivo. Podéis acceder al exploit en este post del foro de XDA-Developers.
¿Y si el módulo que descarga nuestro malware comprueba si se encuentra entre los modelos afectados -comprobar la existencia de dicho fichero y sus permisos- y descarga el exploit? ¡Tendríamos una aplicación en la tienda de aplicaciones de Android que es capaz de ejecutar permisos como root sin que el dispositivo tenga que estar rooteado ni notificar al usuario en ningún momento!
En el código publicado de BingUpdater se presentan dos ejemplos, uno en el que se copia la base de datos ‘fb.db’ de la aplicación de Facebook a la SDCard (contiene, entre otra mucha información, los tokens de autenticación) y el segundo que hace ‘root’ al dispositivo.
A continuación se muestra un video de todo el proceso (descarga de una aplicación del Google Play que acaba siendo un malware con acceso completo al dispositivo):

 

Popout

 

Podéis acceder al código de las aplicaciones y demás material en:
Artículo cortesía de Luis Delgado 


Catch-up by Jonathan Lewis

Looking back at the comments audit trail on wordpress I see that I’ve got nearly two months of comments waiting for answers – and some of those answers need serious thought that I haven’t had time to supply yet. But I’ve got a (fairly) free day on Thursday so I’ll see what I can do to bring the comments up to date.

I’ve just had a great day at the Trivadis CBO days – Maria Colgan (the optimizer lady) on the 20th anniversary of the CBO, then Joze Senegacnik on transformations, me on Strategies for Statistics in 11g, ending with Randolf Geist on Parallel Execution (including a reference to one of my older blog items which I now think could well be wrong – so I may have to spend Thursday reviewing it and looking at his analysis instead of working through the comments).

 

 

Enhanced by Zemanta